打印

试探TM4C123的 CAN模块故障模式

[复制链接]
1516|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shiqiaocanxue|  楼主 | 2018-5-25 22:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用TM4C123GH6PM芯片做有关CAN总线的应用开发,普通的收发功能都可以实现没问题,但考虑到系统可靠性的问题,想试试模拟出CAN总线上可能出现的故障模式。首先试的是CAN总线突然断开的问题,也就是TM4C单片机作为一个节点与总线突然断开了,我用了USB转CAN转换器,首先让单片机一直周期性地发送数据,我电脑通过转换器能一直接收到,然后我突然拔掉USB线。这时候通过CCS观察寄存器的值,CANSTS寄存器 是0x00000060 ,而CANERR寄存器是0x00000080.也就是说CAN模块处于被动错误状态 ,且是发送错误计数器到了128就不变了。但是我觉得CAN模块应该一直出错,并且到busoff的状态啊,但计数器到了128就不再增加了 ,BOFF位也是0.而且LEC位并没有给出上一个错误的模式,所以感到很费解。

评分
参与人数 1威望 +10 收起 理由
xyz549040622 + 10 是否可以这样理解,usb断开后,can被动错误,发送计数器累加计数,计数到128后,can自动纠正错误,重新正常发送,哪怕你接收端是离线的。

相关下载

相关帖子

沙发
dirtwillfly| | 2018-5-27 19:04 | 只看该作者
@xyz549040622 帮忙看看这个问题

使用特权

评论回复
评分
参与人数 1威望 +10 收起 理由
xyz549040622 + 10 不可以回复,但可以评分回复,哈哈!
板凳
xyz549040622| | 2018-5-28 08:05 | 只看该作者
是否可以这样理解,usb断开后,can被动错误,发送计数器累加计数,计数到128后,can自动纠正错误,重新正常发送,哪怕你接收端是离线的。

使用特权

评论回复
地板
shiqiaocanxue|  楼主 | 2018-5-28 09:15 | 只看该作者
xyz549040622 发表于 2018-5-28 08:05
是否可以这样理解,usb断开后,can被动错误,发送计数器累加计数,计数到128后,can自动纠正错误,重新正常 ...

我设置的发送can报文的周期是20ms,拔掉usb口之后,状态寄存器和错误计数寄存器瞬间变成了上述值。错误计数不应该是慢慢变化的吗,单片机为什么错误计数累加得这么快?还有,单片机为什么自动纠错?按照can协议不应该一直累加直到busoff吗?

使用特权

评论回复
5
xyz549040622| | 2018-5-30 09:47 | 只看该作者
shiqiaocanxue 发表于 2018-5-28 09:15
我设置的发送can报文的周期是20ms,拔掉usb口之后,状态寄存器和错误计数寄存器瞬间变成了上述值。错误计 ...

你这个提问太高大上,没搞过can,只能是爱莫能助了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

41

帖子

0

粉丝