This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
背景情况:两个产品都使用F28374s,每个产品的CANA和CANB都使用了,都是500kbps,中断的方式读写数据。CANB连接两个产品之间的通信,1ms周期一个节点仅发送,另外一个节点仅接收。两个产品的CANA都另外有使用。发送节点的Rx和Tx的波形延迟约500ns。
问题现象:两个产品的CANB发送和接收异常,进入busoff故障,开通ABO模块自动恢复后,配置ABO的时间最快可以做到4ms接收到一个包。如果外挂一个CAN盒,可以正常1ms收到一个CAN包。
初步定位是接收节点发出的ACK位异常,加入CAN盒后,CAN盒可以正确回复ACK。
请求支持:
1)CANA和CANB同时使用时,使用了各自的中断函数,函数中都调用了Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP9);这个是一起恢复的,有办法剥离CANA还是CANB吗?
2)怎么配置CAN的位采样?以上busoff是否与总线传输延迟有关?有何解决措施。
3)是否有F28374S芯片的CANA和CANB同时中断使用的配置例程?
谢谢
1. 没有办法,清中断只能按group来清;这个其实不用担心,比如响应CANA中断时CANB中断也发生,CANB的中断状态会被锁存;
2. 请看一下spruhx5g_TMS320F2837xS Microcontrollers Technical Reference Manual (Rev. G)第2356页21.12.1 Bit Time and Bit Rate;
3. 没有。最接近的只有ex3:C:\ti\c2000\C2000Ware_5_00_00_00\driverlib\f2837xs\examples\cpu1\can
同时使用了CANA和CANB,但是只有CANB使用了中断。
另外这两个文档供参考: