CAN总线采用的是一种叫做“载波监测,多主掌控/冲突避免”(CSMA/CA)的通信模式。这种总线仲裁方式允许总线上的任何一个设各都有机会取得总线的控制权并向外发送数据。如果在同一时刻有2个或2个以上的设各要求发送数据,就会产生总线冲突,CAN总线能够实时地检测这些冲突并对其进行仲裁,从而使具有高优先级的数据不受任何损坏地传输。
当总线处于空闲状态时呈隐性电平,此时任何节点都可以向总线发送显性电平作为帧的开始。如果2个或2个以上同时发送就会产生竞争。CAN总线解决竞争的方法同以太网的CSMA/CD(Carrier Sense Multiple Access with Collislon Detection)方法基本相似,如图1所示。此外,CAN总线做了改进并采用CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)访问总线,按位对标识符进行仲裁。各节点在向总线发送电平的同时,也对总线上的电平读取,并与自身发送的电平进行比较,如果电平相同继续发送下一位,不同则停止发送退出总线竞争。剩余的节点继续上述过程,直到总线上只剩下1个节点发送的电平,总线竞争结束,优先级高的节点获得总线的控制权。
图1 Ethernet采用的CSMA/ CD总线访问过程
CAN总线以报文为单位进行数据传输,报文的优先级结合在44位标识符中(扩展帧的标识符29位),具有最小二进制数的标识符的节点具有最高的优先级。这种优先级一旦在系统设计时确定就不能随意地更改,总线读取产生的冲突主要靠这些位仲裁解决。之所以CAN总线不采用以太网使用的延时避免冲突,主要是为了保证具有更高优先级的节点能够完整地实时传输,而且CSMA/CA可以有效地避免冲突。
如图2所示,节点A和节点B的标识符的第lO、9、8位电平相同,因此两个节点侦听到的信息和它们发出的信息相同。第7位节点B发出一个“1”,但从节点上接收到的消息却是“0”,说明有更高优先级的节点占用总线发送消息。节点B会退出发送处于单纯监听方式而不发送数据;节点A成功发送仲裁位从而获得总线的控制权,继而发送全部消息。总线中的信号持续跟踪最后获得总线控制权发出的报文,本例中节点A的报文将被跟踪。这种非破坏性位仲裁方法的优点在于,在网络最终确定哪个节点被传送前,报文的起始部分已经在网络中传输了,因此具有高优先级的节点的数据传输没有任何延时。在获得总线控制权的节点发送数据过程中,其他节点成为报文的接收节点,并且不会在总线再次空闲之前发送报文。
图2 CAN总线节点访问总线过程
图3为CAN总线上节点的电平逻辑,总线上的节点电平对于总线电平而言是相与的关系,只有当3个节点的电压都等于1(隐性电平),总线才会保持在ycc(隐性电平)状态。只要有1个节点切换到0状态(显性电平),总线就会被强制在显性状态(0)。这种避免总线冲突的仲裁方式能够使具有高优先级的消息没有延时地占用总线传输。
图3 CAN总线上节点的电平逻辑
关键字:CAN总线 仲裁
引用地址:
CAN总线的仲裁
推荐阅读最新更新时间:2024-05-02 21:29
基于CAN总线可通信智能电流继电器的设计
0 引言 传统继电器检测和保护功能多由电磁器件完成,其动作时间长,保护精度低,已不能满足现代输、配电系统自动化的需要。智能化低压电器在国外取得很大进展,其强大功能的充分发挥,必须依赖于低压配电与控制系统网络化。国外主要低压电器制造商开发的新一代低压产品,其技术特点主要是可通信,能与现场总线连接,这种技术给低压电器带来革命性的变化,为此对低压电器提出了可通信要求。因此,能实现联网通信、集中监控的智能化电器越来越成为需要。其主要特征是在智能化的基础上具备基于现场总线的可通信特点。
本文研究的电力系统限时速切继电器的保护功能,是采用微处理技术和现场总线技术等设计的可通信的智能化继电器。在以可通信的智能化电器系统应用中,现场
[嵌入式]
超实用的汽车电子CAN总线开发测试方案
是否还在为没有高端CAN测试仪器,无法进行CAN总线开发而发愁?今天告诉你:CAN卡同样能让你玩转汽车CAN总线开发测试。 CAN总线多用于汽车领域,在CAN总线的开发测试阶段,需要对其单节点性能,多节点组网通讯,网络拓扑结构等进行开发测试,需要虚拟、半虚拟、全实物仿真测试平台,并且必须测试各节点是否符合ISO11898中规定的错误响应机制等,所以CAN总线的开发需要专业的开发测试工具,并且在生产阶段也需要一批简单易用的生产线测试工具。 CAN总线开发测试工具主要有CANScope、CANalyst-II、Passiontech DiagRA、canAnalyser、X-Analyser、AutoCAN、CANspider等。
[测试测量]
采用ADuM1201的CAN总线隔离方法
采用ADuM1201的CAN总线隔离方法 can(controller area network) 总线又称控制局域网络,最早由德国bosch公司推出,用于汽车内部测量与执行部件之间的数据通信。can已被公认为几种最有前途的现场总线之一。其总线规范已被iso国际标准组织制订为国际标准。can的主要优点:1、为多主工作方式,可以很方便地构成多机备份系统;2、可以点对点、点对多点及广播方式收发数据,通信速率最高可达1mb/s(此时通信距离最长为40m),实际节点数可达100个,直接通信距离最远可达10km(速率在5kb/s以下);3、can网络上的节点可分为不同的优先级,以满足不同的实时要求;4、采用非破坏性仲裁技术,能够有效地
[模拟电子]
基于车联网的车辆信息远程搜集数据系统
车联网,是指装载在车辆上的电子标签通过无线射频等识别技术,实现在信息网络平台上对所有车辆的属性信息和静、动态信息进行提取和有效利用,并根据不同的功能需求对所有车辆的运行状态进行有效的监管和提供综合服务。 车联网的概念在20世纪60年代已经先后出现在美国、欧洲与日本等发达国家和地区,并先后发展起ITS、IVHS、RTI、VICS等车联网系统。在国内,全国第四届GPS运营商大会,车联网的概念被首次提出,得到广大专业人士的认同;在无锡举行的中国国际物联网大会上,国家将车联网列为我国重大专项第三专项中的重要项目,中国的车联网由此起步。到现今,一些供应商所提供的车载系统中,已经基本实现智能导航、保养预约、咨询查询等功能,更方便车辆出行,在一
[嵌入式]
CAN总线节点的可靠性设计
CAN总线通讯已经从汽车电子行业逐渐向各行各业铺开使用了,例如轨道交通、矿井监控等。在设计CAN总线接口电路时需要注意哪些问题呢? 对于提高CAN总线节点的可靠性而言,离不开隔离、总线阻抗匹配、总线保护等,在设计CAN节点时要注意这些点以提高总线电路可靠性和安全性。 一、隔离 信号隔离 隔离收发器可将总线和控制电路进行电气隔离,将高压阻挡在控制系统之外,可以有效地保证操作人员的人身及系统安全。不仅如此,隔离可以抑制由接地电势差、接地环路引起的各种共模干扰,保证总线在严重干扰和其它系统级噪声存在的情况下不间断、无差错运行。如图 1所示,使用隔离收发器后,可以有效防止形成地环路,总线参考地可跟随共模电压的波动而波动
[嵌入式]
C8051F040的车用CAN总线智能节点设计
电气与电子系统是车辆的重要组成部分,其工作状态直接影响车辆的性能。按照传统设计思想设计车辆电气系统时,往往采取堆积各种子系统的途径来提高系统的性能,因此车辆内部各子系统之间单纯面向任务而不考虑与全局的关系。随着子系统及装置数量不断增加,传统设计方法遇到了一系列问题:线路增多、布线复杂、电磁干扰增加、系统可靠性下降、检查维修困难等。为了解决上述问题,现代车辆采用了综合电子系统。总线是综合电子系统的基础,通过总线节点,综合电子系统可采集、使用、分配和共享车内所有电子系统的各种信息,达到弱化矛盾、增强整体功能的目的。CAN总线由于具有性价比高、可靠性高、实时性好、灵活性强等特点,得到广泛应用。本文针对CAN总线,提出了一种基于C8
[单片机]
CAN总线中主动错误和被动错误的通俗解释
首先建议把广泛使用的“主动错误”和“被动错误”概念换成“主动报错”和“被动报错”。 1. 主动报错站点
只要检查到错误,它立即“主动地”发出错标识。所谓“出错标识“,它本身就是一个“错误的位序列”(连续的6个显性位,不满足CAN协议的“最多5个连续的同性位”要求),目的是“主动地”告诉大家:即使你们没有发现“刚才我已发现”的错误,现在我“以身作则”出错啦!你们该看到这个错误了吧!
2. 被动报错站点
如果检查到错误,它只能干瞪眼“被动地”等别人(主动报错站点)报错,等待的时候它可不能去动总线,直到识别出由主动报错站点发出 的“错误的位序列”,它才松了一口气:有人正式报错了!然后他就可
[嵌入式]
看整车厂如何实现信号电压幅值的一致性
CAN总线设计规范对于CAN节点的输出电压有着严格的规定,单个节点的输出电压如果不符合规范,则在现场组网后容易出现信号电平不可靠的情况,导致错误帧的出现,各节点间无法进行通信。具体要求如表 1所示,为测试标准 ISO 11898-2输出电压标准 。 表 1 ISO 11898-2输出电压标准 测试参数测试值(V)条件 最小值典型值最大值 显性VCAN_H输出电压2.753.54.5总线负载电阻60 显性VCAN_L输出电压0.51.52.25总线负载电阻60 显性Vdiff输出电压1.52.03.0总线负载电阻60 显性Vdiff输出电压 (高负载)1.41.93.0总线负载电阻
[测试测量]