- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CAN总线学习笔记(2)-CAN协议数据帧、遥控帧、错误帧
CAN 协议中的帧
在了解CAN总线的通信机制之前,首先需要了解CAN协议中五种类型的帧结构:
数据帧
遥控帧
错误帧
过载帧
帧间隔
在讲述五种帧结构的过程中,穿插讲述CAN总线的通信机制。
数据帧与遥控帧
在CAN协议中,数据帧和遥控帧有着诸多相同之处,所以,在这里,我们将数据帧和遥控帧放在一起来讲。
顾名思义,所谓数据帧,就是包含了我们要传输的数据的帧,其作用当然也就是承载发送节点要传递给接收节点的数据。
而遥控帧的作用可以描述为:请求其它节点发出与本遥控帧具有相同ID号的数据帧。
比如:在某一个时刻,节点Node_A向总线发送了一个ID号为ID_2的遥控帧,那么就意味着Node_A请求总线上的其他节点发送ID号为ID_2的数据帧。
节点Node_B能够发出ID号为ID_2的数据帧,那么Node_B就会在收到Node_A发出的遥控帧之后,立刻向总线上发送ID号为ID_2的数据帧。
数据帧的帧结构如下图所示,包含七个段:帧起始、仲裁段、控制段、数据段、CRC段、ACK段、帧结束。
遥控帧相比于数据帧,从帧结构上来看,只是少了数据段,包含六个段:帧起始、仲裁段、控制段、CRC段、ACK段、帧结束。
数据帧和遥控帧都分为标准帧(CAN 2.0 A)和扩展帧(CAN 2.0 B)两种结构。
遥控帧相比于数据帧除了缺少数据段之外,遥控帧的RTR位恒为隐性1,数据帧的RTR位恒为显性0。
2.1 帧起始
帧的最开始的一位是帧起始,也叫SOF(Start Of Frame),SOF恒为显性位,即逻辑 0 。
帧起始表示CAN_H 和 CAN_L上有了电位差,也就是说,一旦总线上有了SOF就表示总线上开始有报文了。
2.2 仲裁段
仲裁段是用来判定一帧报文优先级的依据,仲裁段中的ID号也是实现报文过滤机制的基础。仲裁段由以下几个部分组成,
数据帧仲裁段:
遥控帧仲裁段:
可以看到相比于数据帧仲裁段RTR位恒为显性0,遥控帧仲裁段的RTR位恒为隐性1。
2.2.1仲裁过程
在CAN总线通信中,有一种回读机制:指的是节点在向总线上发送报文的过程中,同时也对总线上的二进制位进行“回读”。通过这种机制,节点就可以判断出本节点发出的二进制位与总线上当前的二进制位是否一致。
还有一种叫做线与机制:指的是在总线上,显性位能够覆盖隐性位。
举个例子:在某一个时刻,节点Node_A向总线发送了一个显性位0,Node_B向总线发送了一个隐性位1,那么在该时刻,总线上的电平为显性0。
下面将以标准数据帧的一个例子来分析CAN总线的非破坏性逐位仲裁机制。
一条CAN总线上有Node_A 和 Node_B两个节点,在总线空闲时,总线上为隐性电平,就在这个时候Node_A 和 Node_B 这两个节点同时向总线上发送数据,如下图:
从图中可以看出,在Node_A 和 Node_B 传输数据前,总线处于空闲状态,为隐性电平1,这也就意味着,此时总线上的任意节点都可以向总线发送数据。
在某一时刻,Node_A 和Node_B两个节点同时向总线上发送数据。按照线与机制,总线上的电位为:
在Node_A和Node_B两个节点向总线发送数据时,他们同时回读总线上的电平。从图中我们可以看到,Node_A 和Node_B的ID10 、ID9、ID8电位相同,因此这两个节点从总线上听到的电位与他们自己发出的电位也相同,这个时候还没有分出胜负。
当Node_B回读总线上的 ID7 这一位时,发现总线上的电平跟它自己发送到总线上的不一样,此时,Node_B知道自己在争夺总线的仲裁中失败了,那么它主动地转换为接收状态,不再发出信息。
于是在此之后,总线上的电平和Node_A发出的电平一致,也就是说,Node_A占据了总线的发送权。
通过上面的分析我们可以看到,在整个仲裁过程中:
在Node_A获取总线的发送权之后,Node_A接着发送自己的Msg_A,因此在竞争总线的过程中不会对Msg_A的传输造成延时;
在两个节点竞争总线的过程中,不会破坏Msg_A;
正是由于上面的两点,才称之为非破坏性仲裁机制。
Tips: 通过上面仲裁过程的分析,我们可以解释CAN总线通信的三个特点:
1)多主控制方式:只要总线空闲,总线上的任意节点都可以向总线上发送数据,直到节点在仲裁中一个个失败,最后只留下一个节点获得总线的发送权。
2)非破坏性仲裁机制:仲裁段逐位总裁,依靠回读机制、线与机制得以实现。
3)半双工通信:所谓半双工通信,指的是节点不能在自己发送报文的时候,同时接收其他节点发送来的报文。这是显然的,一个节点正在发送报文时,已经占据了总线的发送权,其他节点肯定不能向总线上发送报文。
看一个CAN报文发送的实例,CAN总线上有四个节点:N
您可能关注的文档
最近下载
- Unit 6 Changing for the seasons单元整体教学设计(共六课时)2025-2026学年度人教PEP英语四年级上册.docx VIP
- 中国荨麻疹诊疗指南(2025版).docx VIP
- 急性消化道出血的专家共识.pptx VIP
- 全国中等职业学校管理平台系统操作指南(2022标准版)(1).pptx VIP
- 个人简历模板个人简历模板.docx VIP
- JTT 1502-2024 直升机救生员搜救作业手势信号要求.pdf VIP
- 2025年河北石家庄晋州市人民医院公开招录劳动聘用人员52名笔试备考试题及答案解析.docx VIP
- 人教金学典同步解析与测评五年级上册数学.pdf VIP
- 体例格式9:工学一体化课程《windows服务器基础配置与局域网组建》任务1学习任务工作页.docx VIP
- 宾馆酒店住宿用餐协议.docx VIP
原创力文档


文档评论(0)