CAN总线中节点ID相同会怎样?
时间:2017-08-30 16:22来源:21Dianyuan
摘要:当两节点同时发送ID相同数据不同的报文时,将发生数据场填充错误;当两节点同时发送ID相同数据也相同的报文时,若有其他节点应答则不发生错误,若无其他节点应答则发生应答错误。因此,我们在设计CAN总线时应避免ID段相同的情况出现。
CAN-bus网络中原则上不允许两个节点具有相同的ID段,但如果两个节点ID段相同会怎样呢?
实验前,我们首先要对CAN报文的结构组成、仲裁原理有清晰的认识。
二、仲裁原理
三、实验一“ID段相同但数据不同”
图4 报文对应波形对比
四、实验二“ID相同数据也相同”
实验前,我们首先要对CAN报文的结构组成、仲裁原理有清晰的认识。
一、CAN报文结构
目前使用最广泛的 CAN-bus 网络标准是V2.0版本,该标准又分为A、B两部分,它们主要的区别在仲裁区域的ID码长度。其中 CAN2.0A(标准帧)为11位ID,CAN2.0B(扩展帧)为29位ID。下表1为CAN报文结构:
二、仲裁原理
CAN 总线的仲裁是基于“线与原理”,如图1所示。当个收发器同时发出不同电平信号时,隐性电平总是被显性电平覆盖。CAN 控制器在发送报文的同时会监听总线状态与自己发送的电平是否一致,如果不一致发生在ID段则会发生仲裁,如果发生在其他区域则会触发相应错误。
二、仲裁原理
CAN总线的仲裁是基于“线与原理”,如图1所示。当个收发器同时发出不同电平信号时,隐性电平总是被显性电平覆盖。CAN控制器在发送报文的同时会监听总线状态与自己发送的电平是否一致,如果不一致发生在ID段则会发生仲裁,如果发生在其他区域则会触发相应错误。
三、实验一“ID段相同但数据不同”
使用一个CAN卡发送ID为000H数据为01020304050607H的CAN帧,使用另一个CAN卡发送ID为000H数据为02020304050607H的CAN帧。CANScope监听的数据如图3所示,可以观察到有大量的数据场填充错误。
为什么会这样呢?我们首先分别获取两个CAN卡发送报文对应的波形,如图4。因为两针报文同为标准数据帧,且每帧包含8个字节数据,所以两帧报文对应的波形在ID段、RTR、IDE、R0以及DLC段完全一致。因此,仲裁作用失效,两节点都认为自己获得了优先权,继续发送数据
图4 报文对应波形对比
现在我们聚焦数据段,第一个字节数据相同,均为为00H;第二个字节数据不同,分别为01H、02H。图5箭头标示处可以看到两者对应位的逻辑分别为0和1。前面我们提到CAN节点在发送报文的同时会检测总线电平是否与自己发送的电平一致,若不一致发生在非仲裁区域则触发相应错误,因此若这两帧报文同时发送到总线上必将发生位发送错误。因为位发送错误会引起节点发送违反填充规则的6个显性位(主动错误破坏该帧数据),故出现数据场填充错误,如图3。
四、实验二“ID相同数据也相同”
同时使用两个CAN卡发送ID为000H数据为01020304050607H的CAN帧,CANScope做通信监控。首先,我们不勾选“总线应答”选项,使CANScope工作在仅监听模式。实验结果如图6所示,出现的是应答定界符格式错误。
为什么会发生这种错误呢?发送报文的节点会在ACK段发送两个隐性位,若在第一个位期间接收到显性电平则认为该帧被正确接收。由于仲裁段相同时两节点都认为自己取得仲裁权,在ACK段等待应答,但该网络中仅存在两个节点,因此在ACK段不能收到应答,进而发生应答定界符错误。简单说来这种情形就类似于总线中只有一个节点将不能实现数据发送。图7是在ACK段有无应答时的波形对比。
我们勾选上总线应答,再次开始实验(此时总线中相当于有3个节点)。这时如图8所示,总线数据收发正常。
总结:当两节点同时发送ID相同数据不同的报文时,将发生数据场填充错误;当两节点同时发送ID相同数据也相同的报文时,若有其他节点应答则不发生错误,若无其他节点应答则发生应答错误。因此,我们在设计CAN总线时应避免ID段相同的情况出现。
免责声明:本文若是转载新闻稿,转载此文目的是在于传递更多的信息,版权归原作者所有。文章所用文字、图片、视频等素材如涉及作品版权问题,请联系本网编辑予以删除。
我要投稿
近期活动
- 仪器使用操作视频教程时间:2023年12月31日 - 2024年01月31日[立即参与]
- 安森美汽车&能源基础设施白皮书下载时间:2023年04月03日 - 2023年11月30日[立即参与]
- 2023年安森美(onsemi)在线答题活动时间:2023年08月01日 - 2023年08月31日[查看回顾]
- 【在线答题活动】PI 智能家居热门产品,带您领略科技智慧家庭时间:2023年06月15日 - 2023年07月15日[查看回顾]
- 2023年安森美(onsemi)在线答题活动时间:2023年06月01日 - 2023年06月30日[查看回顾]
分类排行榜
- 汽车电子电源行业可靠性要求,你了解多少?
- 内置可编程模拟功能的新型 Renesas Synergy™ 低功耗 S1JA 微控制器
- Vishay 推出高集成度且符合 IrDA® 标准的红外收发器模块
- ROHM 发布全新车载升降压电源芯片组
- 艾迈斯半导体推出行业超薄的接近/颜色传感器模块,助力实现无边框智能手机设计
- 艾迈斯半导体与 Qualcomm Technologies 集中工程优势开发适用于手机 3D 应用的主动式立体视觉解决方案
- 维谛技术(Vertiv)同时亮相南北两大高端峰会,精彩亮点不容错过
- 缤特力推出全新商务系列耳机 助力解决开放式办公的噪音难题
- CISSOID 和泰科天润(GPT)达成战略合作协议,携手推动碳化硅功率器件的广泛应用
- 瑞萨电子推出 R-Car E3 SoC,为汽车大显示屏仪表盘带来高端3D 图形处理性能
编辑推荐
小型化和稳定性如何兼得?ROHM 推出超小型高输出线性 LED 驱动器 IC,为插座型 LED 驱动 IC 装上一颗强有力的 “心脏”
众所周知,LED的驱动IC担负着在输入电压不稳定的情况下,为LED提供恒定的电流,并控制恒定(可调)亮度的作用。无论是室内照明,还是车载应用,都肩负着极为重要的使命。
- 关于反激电源效率的一个疑问
时间:2022-07-12 浏览量:9678
- 面对热拔插阐述的瞬间大电流怎么解决
时间:2022-07-11 浏览量:8435
- PFC电路对N线进行电压采样的目的是什么
时间:2022-07-08 浏览量:9050
- RCD中的C对反激稳定性有何影响
时间:2022-07-07 浏览量:6848
- 36W单反激 传导7~10M 热机5分钟后超标 不知道哪里出了问题
时间:2022-07-07 浏览量:5587
- PFC电感计算
时间:2022-07-06 浏览量:3808
- 多相同步BUCK
时间:2010-10-03 浏览量:37797
- 大家来讨论 系列之二:开机浪涌电流究竟多大?
时间:2016-01-12 浏览量:43081
- 目前世界超NB的65W适配器
时间:2016-09-28 浏览量:59954
- 精讲双管正激电源
时间:2016-11-25 浏览量:127240
- 利用ANSYS Maxwell深入探究软磁体之----电感变压器
时间:2016-09-20 浏览量:107361
- 【文原创】认真的写了一篇基于SG3525的推挽,附有详细..
时间:2015-08-27 浏览量:99860