在扩展CAN数据帧中,紧随SOF位的是32位的仲裁字段
扫描二维码
随时随地手机看文章
我知道,我对与电子有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA),都显得“鹤立鸡群”,真是非常棒的器件。如果在这个智能时代,在这个领域,想拥有一技之长的你还没有关注FPGA,那么世界将抛弃你,时代将抛弃你。本公众号作者ALIFPGA,多年FPGA开发经验,所有文章皆为多年学习和工作经验之总结。
在扩展CAN 数据帧中,紧随SOF 位的是32 位的仲裁字段。仲裁字段的前11 位为29 位标识符的最高有效位(Most Significant bit,MSb)(基本lD) 。紧随这11 位的是替代远程请求(Substitute Remote Request, SRR)位,定义为隐性状态。SRR位之后是lDE 位,该位为隐性状态时表示这是扩展的CAN 帧。
应该注意的是,如果发送完扩展帧标识符的前11 位后,总线仲裁无果,而此时其中一个等待仲裁的节点发出标准CAN 数据帧(11 位标识符),那么,由于节点发出了显性lDE 位而使标准CAN 帧赢得总线仲裁。另外,扩展CAN 帧的
SRR 位应为隐性,以允许正在发送标准CAN 远程帧的节点发出显性RTR 位。SRR和lDE位之后是标识符的其余18位(扩展lD)及一个远程发送请求位。
为使标准帧和扩展帧都能在共享网络上发送,应将29位扩展报文标识符拆成高11 位和低18 位两部分。拆分后可确保lDE 位在标准数据帧和扩展数据帧中的位置保持一致。仲裁字段之后是6 位控制字段。控制字段前两位为保留位,必须定义为显性位。其余4 位为DLC,用来指定报文中包含的数据字节数。扩展数据帧的其他部分(数据字段、CRC 字段、确认字段、帧结尾和间断)与标准数据帧的结构相同(见“标准数据帧”)。
数据帧部分
CRC校验及帧结束部分