_控制器局域网CAN总线技术规范

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 控制器局域网CAN技术协议
5.1、CAN总线简介 5.2、CAN总线通信模式 5.3、CAN总线的性能特点 5.4、CAN总线技术规范
5.1、CAN总线简介
控制器局域网络( Controller Area Network 简称CAN) 主要用于各种过程(设备)监测及控制。 CAN 最初是由德国 的Bosch 公司为汽车的监测与控制设计的,但由于 CAN 总线 本身的突出特点,其应用领域目前已不再局限于汽车行业, 而向过程工业、机械工业、机器人、数控机床、医疗器械及 传感器等领域发展。由于其高性能、高可靠性及独特的设计, CAN 总线越来越受到人们的重视,国际上已经有很多大公司 的 产 品 采 用 了 这 一 技 术 。 CAN 已 经 形 成 国 际 标 准 (ISO11898 ),并已成为工业数据通信的主流技术之一。
5.2 CAN总线的通信模式
CAN总线定义了四种不同的帧,用于总线通讯。 1、最常用的是“数据帧”,用于一个节点传送信息到其它任
一或所有节点;
2、“远端帧”,基本上是一个数据帧但其中的 RTR 位被置1, 表明这是一个“远端发送请求”,用于一个节点主动要求其它节 点发送信息;
3 、“错误帧”,如果节点在接收过程中检测到任一在CAN 总线协议中定义了的错误信息,它就会发送一个错误帧。
5.2 CAN总线的通信模式wenku.baidu.com
二、基于报文的通讯
CAN总线是一个基于报文而不是基于站点地址的协议。 也就是说报文不是按照地址从一个节点传送到另一个节点。 CAN总线上报文所包含的内容只有优先级标志区和欲传送的数 据内容。所有节点都会接收到在总线上传送的报文,并在正确 接后发出应答确认。至于该报文是否要做进一步的处理或被丢 弃将完全取决于接收节点本身。同一个报文可以发送给特定的 站点或许多站点,就看你怎样去设计你的网络和系统。
5.2 CAN总线的通信模式
第一,“载波监测,多主掌控 /冲突避免
这就允许在总线上的任一设备有同等的机会取得总线的控制权 来向外发送信息。如果在同一时刻有两个以上的设备欲发送信息, 就会发生数据冲突, CAN总线能够实时地检测这些冲突情况并 作出相应的仲裁而不会破坏待传之信息;
第二,信息报文在传送时不是基于目的站点地址;
这就允许不同的信息以“广播”的形式发送到所有节点并且
可在不改变信息格式的前提下对报文进行不同配置;
第三, CAN总线是一种高速的,具备复杂的错误检测 和恢复能力的高可靠性强有力的网络。
5.2 CAN总线的通信模式
一、CSMA/CD —载波监测,多主掌控 /冲突避免
“载波监测”的意思是指在总线上的每个节点在发送信息报 文前都必须监测到总线上有一段时间的空闲状态。
5.2 CAN总线的通信模式
如何实现非破坏性的位仲裁?
为了达到这种“非破坏性的位仲裁方式”, CAN 总线协议 必须满足一些前提条件。首先,必须定义两种逻辑状态 ——在这 里叫作“支配位( DOMINANT )” ( 又称“显性”电平 ) 和 “顺从位( RECESSIVE )”(又称 “隐性”电平);然后, 节点在发送过程中必须检测刚刚发出的状态是否就是信息中所 描述的内容。在 CAN 总线的定义中,逻辑 0为支配位,逻辑 1 为顺从位。
如,汽车中的中央安全系统会频繁地更新一些象安全气袋 等关键传感器的信息。
但是有些信息如油压传感器或电池电压传感器可能不会也 不需要经常收到。为了确保了解这些设备是否工作正常,系 统必须定期地要求此类设备发送相关的信息以便检查整个系 统的工作情况。设计人员就可以利用这一“远端发送请求” 特性来减少网络的数据通讯量,同时维持整个系统的完整性。
4、“过载帧”,当一个节点正忙于处理接收的信息,需要 额外的等待时间接收下一报文时,可以发送过载帧,通知其它 节点暂缓发送新报文。
5.2 CAN总线的通信模式
三、 CAN总线是一种高速的,具备复杂的错误检测和 恢复能力的高可靠性强有力的网络
(1)高速性: CAN总线一开始是为汽车工业而设计的,如 果要使这一市场能够接受它,一个能高效处理出错情况的通 讯协议是至关重要的。在发布了 2.0B 版的CAN总线技术规范 后,其最大的通讯速率已经比 1.0 版提高了8倍,达1M 位/ 秒, 在这种速率下,即便是对时间要求非常关键的参数也可以通 过CAN 总线传输而不必担心其时延。
5.2 CAN总线的通信模式
如何冲突仲裁?
支配位一定会在和顺从位的判别过程中获胜,换句话说,报 文标记区(报文仲裁专用区域)的值越小,其优先级就越高。举 个例子,假定有两个节点在同一时刻发送一个报文,每个节点都 会监测总线以便了解欲发送的信息状态是否确实出现在总线上。 一个优先级较低的报文在某一时刻会发送一个“顺从位”但是检 测回来的却是“支配位”。此时这个节点被仲裁为发送权取消, 立刻停止发送报文的工作。优先级较高的报文继续发送直到完整 的报文发送完毕。在刚才冲突仲裁中被取消发送权的节点将等待 总线的下一个空闲期并自动地再次尝试发送。
基于报文的这种协议另外一个好处是新的节点可以随时方便 地加入到现有的系统中,而不需对所有节点进行重新编程以便 它们能识别这一新节点。一旦新节点加入到网络中,它就开始 接收信息,判别信息标识,然后决定是否作处理或直接丢弃。
如何去实现?
5.2 CAN总线的通信模式
CAN总协议另外一个有用的特性是一个节点可以主动要 求其它节点发送信息。这种特性叫做“远端发送请求” (RTR )。 和上例不同之处在于,节点并不等待信息的到来, 而是主动去索取。
“多主掌控”的意思是一旦此一空闲状态被监测到,那么每个 节点都有均等的机会来发送报文。
“冲突避免”是指在两上节点同时发送信息时,节点本身首先 会检测到出现冲突,然后采取相应的措施来解决这一冲突情况。 此时优先级高的报文先发送,低优先级的报文发送会暂停。在 CAN 总线协议中是通过一种非破坏性的仲裁方式来实现冲突检 测。这也就意味着当总线出现发送冲突时,通过仲裁后原发送信 息不会受到任何影响。所有的仲裁判别都不会破坏优先级高的报 文信息内容,也不会对其发送产生任何的时延。
相关文档
最新文档