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

TMS570 CAN总线发送偶尔丢帧

我公司正研制一套车载控制设备,核心处理器使用的是TMS570LS3137芯片。目前测试中发现该处理器使用CAN总线发送数据时偶尔出现发送不出去情况,情况较严重,很容易通过CAN调试器监测出来。具体情况如下:

1)  总线波特率设置为500K(1M也试过,存在相同问题),每秒钟整个系统大约发送300帧数据。

2)  整个系统CAN通信板卡总共10个,其中使用570芯片做处理器的有4个板卡。

3)  CAN帧ID使用扩展帧方式,即29Bits帧ID编码。数据使用8Bytes的短帧结构。

4)  发送方式采用中断方式:

A) CAN数据发送函数,首先将发送数据存入缓存区。

B) 发送周期处理函数(约5ms循环一次)周期检测CAN发送缓存中是否存在待发送数据,若存在,则使用CAN_SendMsg(后附该函数定义)函数启动发送第一帧数据。

C) 第一帧数据发送后,程序响应“Status Change Interrupts”中断函数,若ES寄存器中TxOK有效,则启动发送下一帧数据,直至将数据发送完毕。(注:在测试中没有发现ES中PER、BOff、EWarn、EPass出现错误)。

求助问题:

1)  该种CAN数据发送方式是否存在问题?如何解决?

2)  导致TMS570CAN数据发送丢失的原因还有什么?有什么好的建议?

gaoyang9992006:

http://embed.21ic.com/hardware/can/201706/46432.html

看看有没有这个文章中提到的情况。你也可以去bbs.21ic.com发帖咨询一下看看。

赞(0)
未经允许不得转载:TI中文支持网 » TMS570 CAN总线发送偶尔丢帧
分享到: 更多 (0)