- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
can学习解读
Can
CAN 是什么?CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO (国际标准化组织)CAN 控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。
3.2 数据帧
数据帧由 7 个段构成。数据帧的构成如图所示。1. 帧起始表示数据帧开始的段。2. 仲裁段表示该帧优先级的段。3. 控制段表示数据的字节数及保留位的段。4. 数据段数据的内容,可发送 0~8 个字节的数据。5. CRC 段检查帧的传输错误的段。6. ACK 段表示确认正常接收的段。7. 帧结束表示数据帧结束的段。下面对帧的构成进行说明。
数据帧的构成
D表示显性电平;R表示隐形电平。
帧起始(标准、扩展格式相同)表示帧开始的段。 1 个位的显性位。
图 数据帧(帧起始)
显性电平和隐形电平:
总线上的电平有显性电平和隐性电平两种。
总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平的逻辑值为“1”。
显性具有优先的意味,只要有一个单元输出显性电平,总线上即为显性电平。并且,隐性具有包容的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强)
仲裁段表示数据的优先级的段。标准格式和扩展格式在此的构成有所不同。
控制段控制段由 6 个位构成,表示数据段的字节数。标准格式和扩展格式的构成有所不同。
表 数据长度码和字节数的关系
数据段(标准、扩展格式相同)数据段可包含 0~8 个字节的数据。从 MSB(最高位)开始输出。
CRC 段(标准/扩展格式相同)CRC 段是检查帧传输错误的帧。由 15 个位的 CRC 顺序*1 和 1 个位的 CRC 界定符(用于分隔的位)构成。
ACK 段ACK 段用来确认是否正常接收。由 ACK 槽(ACK Slot)和 ACK 界定符 2 个位构成。
发送ACK
发送ACK的是在既不处于总线关闭状态也不处于休眠态的所有接收单元中,接收到正常消息的单元(发送单元不发送ACK)。所谓正常消息是指不含填充错误、格式错误、CRC错误的消息。
帧结束帧结束是表示该该帧的结束的段。由 7 个位的隐性位构成。
图 数据帧(帧结束)
3.3 遥控帧
接收单元向发送单元请求发送数据所用的帧。遥控帧由 6 个段组成。遥控帧没有数据帧的数据段。(1) 帧起始( SOF)表示帧开始的段。(2) 仲裁段表示该帧优先级的段。可请求具有相同 ID 的数据帧。(3) 控制段表示数据的字节数及保留位的段。(4) CRC 段检查帧的传输错误的段。(5) ACK 段表示确认正常接收的段。(6) 帧结束表示遥控帧结束的段。
遥控帧和数据帧:
? 数据帧和遥控帧的不同? 遥控帧的 RTR 位为隐性位(数据帧为显性位),没有数据段。? 没有数据段的数据帧和遥控帧可通过 RTR 位区别开来。? 遥控帧没有数据段,数据长度码该如何表示?? 遥控帧的数据长度码以所请求数据帧的数据长度码表示。? 没有数据段的数据帧有何用途?? 例如,可用于各单元的定期连接确认/应答、或仲裁段本身带有实质性信息的情况下。
3.4 错误帧
用于在接收和发送消息时检测出错误通知错误的帧。错误帧由错误标志和错误界定符构成。错误帧的构成如图所示。
错误标志错误标志包括主动错误标志和被动错误标志两种。? 主动错误标志: 6 个位的显性位。? 被动错误标志: 6 个位的隐性位。(2) 错误界定符错误界定符由 8 个位的隐性位构成。
图 错误帧
【注】 *1 主动错误标志处于主动错误状态的单元检测出错误时输出的错误标志。*2 被动错误标志处于被动错误状态的单元检测出错误时输出的错误标志。
3.5 过载帧
过载帧是用于接收单元通知其尚未完成接收准备的帧。过载帧由过载标志和过载界定符构成。过载帧的构成如图所示。(1) 过载标志6 个位的显性位。过载标志的构成与主动错误标志的构成相同。(2) 过载界定符8 个位的隐性位。过载界定符的构成与错误界定符的构成相同。
图 过载帧的构成
3.6 帧间隔
帧间隔是用于分隔数据帧和遥控帧的帧。数据帧和遥控帧可通过插入帧间隔将本帧与前面的任何帧(数据帧、遥控帧、错误帧、过载帧)分开。过载帧和错误帧前不能插入帧间隔。帧间隔的构成如图所示。
图 帧间隔的构成
(1) 间隔3 个位的隐性位。(2) 总线空闲隐性电平,无长度限制( 0 亦可)。本状态下
文档评论(0)