OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2721|回复: 5

新手求助,请问CAN的错误帧和过载帧需要自己编写代码?

[复制链接]

3

主题

11

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2018-5-17
在线时间
4 小时
发表于 2018-5-19 16:58:57 | 显示全部楼层 |阅读模式
1金钱
请问CAN的错误帧和过载帧需要自己编写代码还是硬件自己会检测发送呢 ? 请大家指教一下,谢谢

最佳答案

查看完整内容[请看2#楼]

由CAN控制器自动完成。1、主动错误 因为主动错误标识由6个显性位组成,可以理解为破坏“位填充”原则,一个节点发现通信错误时,它会主动将帧彻底破坏掉,让其他节点知道它接收出错了; CAN总线的特点是“广播”,也就是总线上一个节点发出,其余所有节点均能正确接收,如果有一个或多个节点由于某种原因出现接收错误,那么这个节点会主动站出来,通过发送不符合“位填充”规则的帧错误帧,来彻底把这一帧破坏掉,以通知其他节 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2018-5-19 16:58:58 | 显示全部楼层
本帖最后由 275891381 于 2018-5-19 17:48 编辑

由CAN控制器自动完成。1、主动错误
因为主动错误标识由6个显性位组成,可以理解为破坏“位填充”原则,一个节点发现通信错误时,它会主动将帧彻底破坏掉,让其他节点知道它接收出错了;
CAN总线的特点是“广播”,也就是总线上一个节点发出,其余所有节点均能正确接收,如果有一个或多个节点由于某种原因出现接收错误,那么这个节点会主动站出来,通过发送不符合“位填充”规则的帧错误帧,来彻底把这一帧破坏掉,以通知其他节点“这一帧我接收错了,不算数,重来”,其他节点也许没有错,但是也会在收到主动错误标识后发出一个主动错误标识;发送节点在发送的同时也会监听总线数据,当发现数据被其他节点“破坏”后,会主动进行数据重发。
错误不多,不是我导致的,我主动发送错误标识,通知其他节点放弃这一帧,我正常收发;
2、被动错误
错误比较多,很可能错误是由我导致的,我通知其他节点有错但是不干扰他们正常收发数据,也不要求重发,同时我不能连续发送了,得再插入8位隐性位的“延迟传送”段;这样是为了让其他正常节点(处于主动错误)优先使用总线;
被动错误的节点很可能存在硬件故障,不能让它拖累整个网络;
3、总线关闭
   错误太多,是我的问题,我停止收发并脱离总线;
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2018-5-17
在线时间
4 小时
 楼主| 发表于 2018-5-19 17:00:38 | 显示全部楼层
  求助  
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2018-5-17
在线时间
4 小时
 楼主| 发表于 2018-5-19 17:02:37 | 显示全部楼层
顶一下
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2018-5-17
在线时间
4 小时
 楼主| 发表于 2018-5-19 17:56:30 | 显示全部楼层
275891381 发表于 2018-5-19 17:46
由CAN控制器自动完成。1、主动错误
因为主动错误标识由6个显性位组成,可以理解为破坏“位填充”原则,一 ...

噢 这样啊 谢谢 就是如果错误了 CAN收发器自己能调整, 如果错了不能调整 跑死了怎么办?需要我们在main里面加一个喂狗函数处理这种情况么?
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2018-5-19 18:36:56 | 显示全部楼层
本帖最后由 275891381 于 2018-5-19 18:39 编辑
GX851428 发表于 2018-5-19 17:56
噢 这样啊 谢谢 就是如果错误了 CAN收发器自己能调整, 如果错了不能调整 跑死了怎么办?需要我们在main ...

111111111.png
所以你说的对吧,可以复位单片机等于重新初始节点,也可以程序重新初始化节点,图上来看,检测到128次11位连续隐形位也会自动复位,没研究过不过

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 05:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表