rz1981 发表于 2012-11-9 10:19

电机控制如何向外传输数据?

在不影响 控制电机 的基础上传输   , 28335 sci 支持 dma么   ?

hitbuyi 发表于 2012-11-9 10:42

用SCI/SPI/eCAN这些模拟向外传. 通信速率见相应模块说明。

rz1981 发表于 2012-11-9 13:03

但是在中断中传输 数据的时候会影响pwm 电机控制就不好了28335的dma你搞过没sci能dma么 我看资料上面没写支持只是看到支持 fifo但是好像是中断不知能否指点一下 。

hitbuyi 发表于 2012-11-9 15:56

本帖最后由 hitbuyi 于 2012-11-9 15:58 编辑

rz1981 发表于 2012-11-9 13:03 static/image/common/back.gif
但是在中断中传输 数据的时候会影响pwm 电机控制就不好了28335的dma你搞过没sci能dma么 我看资料上面没 ...

这就是程序设计要注意的事了: 你设置传数据之类的中断优先级为低一点,PWM控制中断优先级高,这样,电机控制核心代码不受影响,而传数据之类的工作对时间要求不高,可以传快点慢点都没有关系。

28XX的DMA我没有搞过,只用过SCI,这个难度不大吧,会设置相关的寄存器就行了,如果你用DMA,更不用担心DMA影响PWM中断之类,因为DMA运行时,不需要CPU来管。

rz1981 发表于 2012-11-9 16:45

多谢明白了svpwm低电压看波形很好 但是电压一高 就不好了 你遇到过这个问题没

flyingford 发表于 2012-11-10 11:54

可以 利用空闲时刻,向外传输数据。这样比较好

sphinz 发表于 2012-11-12 06:06

要传输什么参数?通信接口都是常用的方式啊

小静 发表于 2012-11-12 08:39

优先级设置通信为最低,通信不会连不上,但是你必须在通信程序里设置自恢复功能,万一长时间没有连上,主动查询等,我用sci模块,在电机实时运行,实时通信过程中没有问题。

rz1981 发表于 2012-11-12 13:10

如果 向dsp传数据呢 要经常传 那样遇到dsp内部中断 那样数据就丢失了

hitbuyi 发表于 2012-11-30 12:35

rz1981 发表于 2012-11-12 13:10 static/image/common/back.gif
如果 向dsp传数据呢 要经常传 那样遇到dsp内部中断 那样数据就丢失了

看你怎么传了,通过程序设计,还是可以保证在一定的限度内不受影响的。DSP的通信接口一般都有缓存,存的数据先放在缓存里,等CPU有空了再来读取。

希望对你有所帮助。

rz1981 发表于 2012-11-30 15:56

多谢 暂时放主程序 不大影响

hitbuyi 发表于 2012-11-30 16:04

rz1981 发表于 2012-11-30 15:56 static/image/common/back.gif
多谢 暂时放主程序 不大影响

对了,想起来了,你可以制定通讯协议,DSP和别的机器通信,要符合协议规定,对于丢掉的信息,要求重传。这个有点像TCP/IP的 味道了。你这样做的话,可以保证两者通信的完整性,我们以前的项目也是这样的,通信协议订得比较简单,判断头尾就可以了。
页: [1]
查看完整版本: 电机控制如何向外传输数据?