



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
。CAN总线是一种基于优先级的串行通信网络,采用载波监听多路转换冲突避免协议,CAN总线中传输的数据帧的起始部分为数据的标识符,标识符可以区分消息又可以表示消息的优先级(0的优先级最高)。CAN总线为多主工作方式,网络上任意一节点均可在任意时刻主动向网络上的其它节点同时发送消息。若两个或两个以上的节点同时开始传送报文,就会产生总线访问冲突,根据逐位仲裁原则,借助帧开始部分的标识符,优先级低的节点主动停止发送数据,而优先级高的节点继续发送信息。在仲裁期间,CAN总线作“与”运算,每一个节点都对节点发送的电平与总线电平进行比较,如果电平相同,则节点可以继续发送。如规定0的优先级高,当某一个节点发送1而检测到0时,此节点知道有更高优先级的信息在发送,它就停止发送消息,直到再一次检测到网络空闲。CAN总线采用的是一种叫做“载波监测,多主掌控冲突避免”(CSMACA)的通信模式。这种总线仲裁方式允许总线上的任何一个设各都有机会取得总线的控制权并向外发送数据。如果在同一时刻有2个或2个以上的设各要求发送数据,就会产生总线冲突,CAN总线能够实时地检测这些冲突并对其进行仲裁,从而使具有高优先级的数据不受任何损坏地传输。当总线处于空闲状态时呈隐性电平,此时任何节点都可以向总线发送显性电平作为帧的开始。如果2个或2个以上同时发送就会产生竞争。CAN总线解决竞争的方法同以太网的CSMACD(Carrier Sense Multiple Access with Collislon Detection)方法基本相似,如图1所示。此外,CAN总线做了改进并采用CSMACA(Carrier Sense Multiple Access with Collision Avoidance)访问总线,按位对标识符进行仲裁。各节点在向总线发送电平的同时,也对总线上的电平读取,并与自身发送的电平进行比较,如果电平相同继续发送下一位,不同则停止发送退出总线竞争。剩余的节点继续上述过程,直到总线上只剩下1个节点发送的电平,总线竞争结束,优先级高的节点获得总线的控制权。图1 CSMA CD总线访问过程CAN总线以报文为单位进行数据传输,报文的优先级结合在44位标识符中(扩展帧的标识符29位),具有最小二进制数的标识符的节点具有最高的优先级。这种优先级一旦在系统设计时确定就不能随意地更改,总线读取产生的冲突主要靠这些位仲裁解决。之所以CAN总线不采用以太网使用的延时避免冲突,主要是为了保证具有更高优先级的节点能够完整地实时传输,而且CSMACA可以有效地避免冲突。如图2所示,节点A和节点B的标识符的第10、9、8位电平相同,因此两个节点侦听到的信息和它们发出的信息相同。第7位节点B发出一个“1”,但从节点上接收到的消息却是“0”,说明有更高优先级的节点占用总线发送消息。节点B会退出发送处于单纯监听方式而不发送数据;节点A成功发送仲裁位从而获得总线的控制权,继而发送全部消息。总线中的信号持续跟踪最后获得总线控制权发出的报文,本例中节点A的报文将被跟踪。这种非破坏性位仲裁方法的优点在于,在网络最终确定哪个节点被传送前,报文的起始部分已经在网络中传输了,因此具有高优先级的节点的数据传输没有任何延时。在获得总线控制权的节点发送数据过程中,其他节点成为报文的接收节点,并且不会在总线再次空闲之前发送报文。图2 CAN总线节点访问总线过程CAN非破坏性逐位仲裁示例图:图3为CAN总线上节点的电平逻辑,总线上的节点电平对于总线电平而言是相与的关系,只有当3个节点的电压都等于1(隐性电平),总线才会保持在vcc(隐性电平)状态。只要有1个节点切换到0状态(显性电平),总线就会被强制在显性状态(0)。这种避免总线冲突的仲裁方式能够使具有高优先级的消息没有延时地占用总线传输。Node1 Node2 Node3 Bushigh high high highhigh low high lowlow low high low High:隐性位(1) Low:显性位(0) 按位仲裁是CAN总线特有的仲裁方式,显性位覆盖隐性位。优先级高的报文根据此机制抢占总线,优先级低的报文退出竞争。正因为CAN有这样的仲裁机制,它难以抵抗高优先级攻击和重发报文攻击。举例:1因为CAN的模块在发送数据的时候,也同时会对总线进行监听,假设两个节点同时发送数据,A节点发送的前3个位是100,B节点为101,在前2个位发送完毕的时候,两个节点都会认为自己发送成功,但是当发送到第三个位的时候,B节点会失去仲裁,因为0的优先级高于1的优先级,B节点监听到总线上不是1,因此失去仲裁,等待重新发送数据。CAN节点在仲裁丢失后,根据CAN2.0B协议规范,会自动重发。如果高优先级的报文一直占用着总线,则其他低优先级的报文将无法获得仲裁,但是会尝试重新发送。只有当高优先级报文不再占用总线时,低优先级的报文才可能发送成功。否则低优先级报文会出现“假饿死”状态。(例如在CAN_NM的逻辑环网络管理中,利用T_max,T_type等定时器来防止报文假饿死)2如果在某一时刻CAN总线上的多个单元同时向总线发送数据,优先级高的继续发送,那么怎样保证优先级低的数据不丢失呢?如果整个can网络都是自己管理的,那么可以通过应用层协议来调整每个节点的发送时间,无论优先级高低,如果发送时间过长(长短程度这个根据您的项目来把握)则暂停发送,让其他节点发送。或者每个节点都在某个特定时间触发发送,以便每个节点都有机会。总的意思就是一定要做时间管理。如果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年三基三严考试题题库(含答案)
- 2025年公共营养师之三级营养师通关考试题库带答案解析
- 2024年特种设备安全技术考试试题和答案
- 摄影基础知识培训课件讲座
- 施工技术期末试题及答案
- 2025关于共同合作合同范本
- 2025装载机租赁合同书范本
- 2025租赁合同纠纷范文
- 知识题库-人社练兵比武劳动竞赛试题及答案(二十四)
- 搬运车安全知识培训内容课件
- 轧钢厂安全检查表
- 艺术课程标准(2022年版)
- 卫生部手术分级目录(2023年1月份修订)
- YC/T 199-2006卷烟企业清洁生产评价准则
- YY 0666-2008针尖锋利度和强度试验方法
- GB/T 6663.1-2007直热式负温度系数热敏电阻器第1部分:总规范
- GB/T 5184-1996叉车挂钩型货叉和货叉架安装尺寸
- GB/T 19355.2-2016锌覆盖层钢铁结构防腐蚀的指南和建议第2部分:热浸镀锌
- 小沈阳《四大才子》欢乐喜剧人台词
- 机械制造技术基础(课程精完整版)课件
- 护士注册健康体检表下载【可直接打印版本】
评论
0/150
提交评论