新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > CAN总线通信原理分析

CAN总线通信原理分析

作者:时间:2012-05-18来源:网络收藏

4 仲裁机制

仲裁,是指当上有多个节点在同时发送数据时总线协议的处理方法。总线采用的是无破坏性的仲裁机制,即若总线上的多个节点同时发送数据,具有高优先级数据包的节点仲裁胜出,可以继续发送数据,而其它仲裁失败的节点将退出发送状态而转为接收节点,与其他总线仲裁机制(例如局域网的CSMA/CD)相比,其不仅不会破坏已发送的数据,并且不会造成发送数据的延迟,是总线与其他总线相比的优点之一,其主要是通过CAN总线所具备的如下两个特点实现:1)CAN总线的线与特性,即当总线上多个节点同时发送显性和隐形电平时,总线电平表现为显性电平。2)CAN控制器即使在发送数据的同时也在监控总线电平状态,即当在仲裁时,当控制器发送隐性电平但检测到总线为显性电平时,节点仲裁失败,转为接收节点。

5 CAN总线鲁棒性

CAN总线的鲁棒性是通过其对节点和总线数据包安全性的实时检测与监控来实现的,另外,CAN总线通过采用的差分信号对外界干扰信号有较强的抑制作用。具体论述如下。

5.1 实时监控总线波形

CAN控制器不仅在上电后会一直监测总线上其它节点发送的的数据包,并且在自己发送数据包得过程中也在实时监测自己发送的数据,一旦检测到位错误、填充错误、CRC错误、格式错误或者应答错误,该节点就会根据其所处的错误状态(错误激活状态或者错误认可状态)发送相应的错误标志,实际上笔者认为只有错误激活站点发送激活错误标识(即6个连续的显性位后接8个隐性位的错误标识界定符)会对总线及总线上的节点产生影响,而处于错误认可状态的节点发送的错误认可标识实际对总线没有任何影响(发送的6个隐性电平与总线空闲状态是一致的)。

5.2 实时监控节点状态判定节点权限

节点会根据总线上数据包的情况实时改变自身的状态(错误激活、错误认可或者总线关闭状态),处于错误激活的节点正常参与总线,错误认可的单元参与总线,但是在其启动下一个发送之前需要发送8个额外的隐性位。对于总线上发送的数据包,如表1所示,15位的CRC序列实现了对起始位、仲裁域、控制域以及数据域(如果有的话)的监控,接收站点在接收到数据后会根据与发送节点相同的算法生成该数据包的CRC序列,并与接收到的CRC序列做比较,如果不同则说明有错,接收节点不会对该数据包做出应答,发送节点就会检测到应答错误并重新发送该数据包。总之,CAN总线通过数据链路层以及物理层就已经实现了较高的总线的数据安全性和总线的稳定性。

6 结论

文中以ISO11898协议规范为基础,从的角度详细了CAN总线的节点同步机制、节点地址机制、总线仲裁机制(即总线冲突解决机制)及总线鲁棒性的实现和基础,同时简要介绍了CAN总线的应用特性以及将其应用于实际系统中时总线的系统分层结构,对深入理解CAN总线协议和将CAN总线应用到具体工程项目中,以及研究或开发特定要求的总线系统具有指导意义。

滤波器相关文章:滤波器原理


滤波器相关文章:滤波器原理


路由器相关文章:路由器工作原理


数字通信相关文章:数字通信原理


通信相关文章:通信原理


路由器相关文章:路由器工作原理


尘埃粒子计数器相关文章:尘埃粒子计数器原理

上一页 1 2 下一页

关键词: 分析 原理 通信 总线 CAN

评论


相关推荐

技术专区

关闭