CAN总线的特点和帧结构.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CAN总线的特点和帧结构 前言: 上篇文章对CAN通讯做了简单介绍,从这篇文章开始,将从CAN总线基础逐步深入。本文将先延续上篇文章的内容,介绍CAN总线特点;再介绍CAN总线基础之一:帧结构。 1? CAN总线特点 1.1 多主工作方式 多主工作方式是指CAN总线上的所有节点没有主从之分,表现在数据传输上是: 在总线空闲状态下,任意节点都可以向总线上发送信息。即图1所示的所有节点(CAN Node A,B,C,D)都可以向总线发送信息。 最先向总线发送信息的节点获得总线的发送权。即图1所示节点B的ID 0x34获得发送的优先权。 当多个节点同时向总线发送消息时,所发送消息的优先权高的那个节点获得总线的发送权。即图1所示节点A的ID 0x12和节点C的ID 0x67同时向总线发送时,节点A的ID 0x12获得发送权。 图1 多主工作方式示意图,引自[2] 所谓节点的优先权是根据标识符(Identifier 以下称为 ID)决定。这里 ID 不是表示发送的目的地址,而是表示访问总线的消息的优先级,ID值越小优先级越高。当两个以上的单元同时开始发送消息时,对各消息ID 的每个位进行逐个仲裁比较,仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。这里关于仲裁的机制,接着看下一特点。 1.2 非破坏性仲裁机制 CAN总线的访问采用非破坏性仲裁机制。非破坏性意味着仲裁的胜出者(即优先级高的信息)不被打扰,不需要重新启动,仲裁的失败者也不会被破坏,而是等着这条信息发送完后,再进行下一次仲裁,直到胜出而获得发送权。这个机制要求相关的物理驱动器必须按线与机制执行,即CAN总线上有显性和隐性两种逻辑电平,当一个节点发送一个显性电平,它会覆盖其他节点发送的隐性电平。从上篇文章的CAN总线信号介绍,我们知道:显性电平为逻辑0,隐性电平为逻辑1。故可见下图2。 图2 线与机制图解,引自[3] 简而言之,线与机制相当于位与计算;显性覆盖隐性,就相当于电路通路时,有一个端点接地(GND),那么整个电路电压就为零了。 了解了线与机制后,来看一个仲裁示例,如下图3:有三个节点同时向总线发送信息,分别为节点1的ID 0x15A,节点2的ID 0x3D2,节点3的ID 0x1F6。仲裁从帧起始位(start of frame)开始,三个ID的第1位均为显性电平(逻辑0),仲裁没有胜负;接着仲裁第2位,节点3 ID 0x1F6为隐性电平(逻辑1),其他两个ID仍为显性电平,故节点3 ID 0x1F6仲裁失败而退出;再接着仲裁第3位,两个ID电平仍然相同,仲裁没有胜负;继续仲裁第4位,这时节点1 ID 0x15A依然为显性电平,而另一个ID为隐性电平,故节点1 ID 0x15A仲裁胜出,向总线继续发送信息。 图3 仲裁过程示意,引自[4] 针对仲裁失败的节点 ,怎么知道仲裁失败了呢?如下图4红圈处,节点B发送(Tx) 的隐性电平,回读/接收(Rx)的却是显性电平,故节点B就知道仲裁失败了,从而转为接收状态。也就是说节点发送信息时,会实时判断接收的信息是不是自己发送的。 图4 节点仲裁失败的处理,引自[5] 通过上述过程可以清晰地看出仲裁并没有破坏总线信号的发送,整个过程精准地按照协议规定执行。在 CAN 协议中,所有的消息都以固定的格式发送,上述提及的帧起始位是这个固定格式的一部分,具体细节将会在后续CAN帧结构展开。 1.3 系统的柔软性 与总线相连的节点没有类似于“地址”的信息。因此在总线上增加节点时,连接在总线上的其它节点的软硬件及应用层都不需要改变。CAN 总线可连接的节点总数理论上是没有限制的。但实际上可连接的节点数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的节点数增加;提高通信速度,则可连接的节点数减少。 图5 节点增加示意 1.4 通信速度 根据整个网络的规模,可设定适合的通信速度。在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。简而言之,双方必须要在同一频道交流,不然沟通就有障碍。 图6 通信速度要求,引自[3] 1.5 远程数据请求 通过发送遥控帧(或远程帧),需要数据的节点可以请求另一节点发送相应的数据帧,如下图5。数据帧和相应的远程帧是由相同的识别符( ID)命名的。 图7 遥控帧通讯示意,引自[3] 1.6 错误的检测功能,通知功能,恢复功能 所有的节点都可以检测错误(错误检测功能)。 检测出错误的节点会立即同时通知其他所有节点(错误通知功能)。 正在发送消息的节点一旦检测出错误,会强制结束当前的发送。强制结束发送的节点会不断反复地重新发送此消息直到成功发送为止(错误

文档评论(0)

play + 关注
实名认证
文档贡献者

分享有帮助的文档

1亿VIP精品文档

相关文档