TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28034: eCAN模块使用过程中,遇到外部干扰,出现所有发送邮箱都标记成了忙碌状态。

Part Number:TMS320F28034

如题,我在使用eCAN模块的时候,正常情况下都是没问题的。 但是其中有一个系列的电源板可能相对干扰比较大。在带电机运行过程中,我以20ms通讯一次的周期在两台机器之间进行CAN通讯。   大概运行几分钟后出现通讯掉线现象,经排查,发现所有发送邮箱都处于忙碌状态导致无法正常发送数据。   当周期改成200ms试,大概坚持了半个多小时还是出现了这个现象。 相同程序用在另外一款机器上就没有类似现象,估计是板件干扰比较大。   我想通过软件解决这个问题,试过在检测到所有邮箱出现忙碌状态后利用发送请求复位寄存器CANTRR强制终止数据发送。可惜没有成功,现象表现为:当前周期确实清除了忙碌状态,当下一个发送数据指令到来时,邮箱还是无法正常发送数据,又出现了一直处于忙碌状态。  请问,我需要怎么设置才能有效的解决这个干扰问题(偶尔的数据丢失是被允许的)。   如果实在不行的话是否可以在出现这个现象后重新初始化eCAN模块,不知道这样操作有没有作用。

user4077200:

其实简单的概括就是,如何在发送数据不成功的时候,终止此次数据的发送,并且不能影响到下次数据的发送

,

Green Deng:

我看到像F280049等DCAN的CAN模块有一个CAN_CTL.Init位,置位的话可以复位CAN模块。但是我看F28034应该是没有这个位的,不知道CANES.CCE能不能起到复位CAN模块的作用

,

user4077200:

谢谢回复,我目前使用的方法是遇到这种全部邮箱忙碌的情况直接重新初始化eCAN模块再进行通讯。 临时先这样解决问题。 后续我再研究下看看还有没有其他办法。     有个问题,请问一般是什么样的情况下才会出现让一个邮箱一直显示忙碌,确又不发送数据。

,

Green Deng:

说实话,一般情况下还真不太会邮箱一直忙碌,除非波特率实在设置太快了数据量又比较大。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28034: eCAN模块使用过程中,遇到外部干扰,出现所有发送邮箱都标记成了忙碌状态。
分享到: 更多 (0)