电机控制如何向外传输数据?
在不影响 控制电机 的基础上传输 , 28335 sci 支持 dma么 ? 用SCI/SPI/eCAN这些模拟向外传. 通信速率见相应模块说明。 但是在中断中传输 数据的时候会影响pwm 电机控制就不好了28335的dma你搞过没sci能dma么 我看资料上面没写支持只是看到支持 fifo但是好像是中断不知能否指点一下 。 本帖最后由 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来管。 多谢明白了svpwm低电压看波形很好 但是电压一高 就不好了 你遇到过这个问题没 可以 利用空闲时刻,向外传输数据。这样比较好 要传输什么参数?通信接口都是常用的方式啊 优先级设置通信为最低,通信不会连不上,但是你必须在通信程序里设置自恢复功能,万一长时间没有连上,主动查询等,我用sci模块,在电机实时运行,实时通信过程中没有问题。 如果 向dsp传数据呢 要经常传 那样遇到dsp内部中断 那样数据就丢失了 rz1981 发表于 2012-11-12 13:10 static/image/common/back.gif
如果 向dsp传数据呢 要经常传 那样遇到dsp内部中断 那样数据就丢失了
看你怎么传了,通过程序设计,还是可以保证在一定的限度内不受影响的。DSP的通信接口一般都有缓存,存的数据先放在缓存里,等CPU有空了再来读取。
希望对你有所帮助。 多谢 暂时放主程序 不大影响 rz1981 发表于 2012-11-30 15:56 static/image/common/back.gif
多谢 暂时放主程序 不大影响
对了,想起来了,你可以制定通讯协议,DSP和别的机器通信,要符合协议规定,对于丢掉的信息,要求重传。这个有点像TCP/IP的 味道了。你这样做的话,可以保证两者通信的完整性,我们以前的项目也是这样的,通信协议订得比较简单,判断头尾就可以了。
页:
[1]