CAN报文的传送和帧结构Word文档格式.docx
- 文档编号:13880990
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:9
- 大小:190.93KB
CAN报文的传送和帧结构Word文档格式.docx
《CAN报文的传送和帧结构Word文档格式.docx》由会员分享,可在线阅读,更多相关《CAN报文的传送和帧结构Word文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
总线节点发出远程帧,请求发送具有同一识别符的数据帧。
错误帧:
任何节点检测到总线错误就发出错误帧。
过载帧:
过载帧用以在先行的和后续的数据帧〔或远程帧〕之间提供一附加的延时。
数据帧和远程帧可以使用标准帧及扩展帧两种格式。
它们用一个帧间空间与前面的帧分隔。
1.数据帧
数据帧由7个不同的位场组成:
帧起始〔StartofFrame〕、仲裁场〔ArbitrationFrame〕、控制场〔ControlFrame〕、数据场〔DataFrame〕、CRC场〔CRCFrame〕、应答场〔ACKFrame〕、帧结尾〔EndofFrame〕。
数据场的长度为0到8位。
报文的数据帧一般构造如图9.3所示。
在CAN2.0B中存在两种不同的帧格式,其主要区别在标识符的长度,在标准帧格式里,仲裁场由11位识别符和远程请求位〔RTR〕组成。
如图9.4所示。
在扩展帧格式里,仲裁场包括29位识别符、替代远程请求位〔SRR〕、识别符扩展位〔IDE〕和RTR位。
如图9.5所示。
扩展格式是CAN协议的一个新特色。
为了使控制器的设计相对地简单,不要求执行完全的扩展格式,但必须完全支持标准格式。
新的控制器至少应具有以下属性,才被认为是符合CAN规:
每一新的控制器支持标准格式;
每一新的控制器可以接收扩展格式的报文,不能因为格式差异而破坏扩展帧格式。
下面具体分析数据帧的每一个位场。
〔1〕帧起始
帧起始〔SOF〕标志数据帧或远程帧的开场,仅由一个“显性〞位组成。
只有在总线空闲时才允许节点开场发送〔信号〕。
所有节点必须同步于首先开场发送报文的节点的帧起始前沿,如图9.3所示。
〔2〕仲裁场
仲裁场由标识符和远程发送请求位〔RTR位〕组成。
RTR位在数据帧中为显性,在远程帧中为隐性。
对于CAN2.0A标准,标识符长度为11位,这些位按ID.10到ID.0的顺序发送,最低位是ID0,7个最高位〔ID.10-ID.4〕必须不能全是“隐性〞,如图9.6所示。
对于CAN2.0B标准,标准格式帧与扩展格式帧的仲裁场标识符格式不同。
标准格式里,仲裁场由11位识别符和RTR位组成。
识别符位由ID.28…ID.18组成。
而在扩展格式里,仲裁场包括29位识别符、替代远程请求位SRR、标识位IDE、远程发送请求位RTR。
其识别符由ID-28…ID-0组成,其格式包含两个局部:
11位〔ID.28…ID.18〕根本ID、18位〔ID.17…ID.0〕扩展ID。
如图9.5所示,扩展格式里,根本ID首先发送,其次是SRR位和IDE位。
扩展ID的发送位于SRR位和IDE位之后。
SRR的全称是“替代远程请求位〔SubstituteRemoteRequestBIT〕〞,SRR是一隐性位。
它在扩展格式的标准帧RTR位上被发送,并代替标准帧的RTR位。
因此,如果扩展帧的根本ID和标准帧的识别符一样,标准帧与扩展帧的冲突是通过标准帧优先于扩展帧这一途径得以解决的。
IDE的全称是“识别符扩展位〔IdentifierExtensionBit〕〞,对于扩展格式,IDE位属于仲裁场;
对于标准格式,IDE位属于控制场。
标准格式的IDE位为“显性〞,而扩展格式的IDE位为“隐性〞。
〔3〕控制场
控制场由6个位组成,其构造如图9.7所示。
标准格式和扩展格式的控制场格式不同。
标准格式里的帧包括数据长度代码、IDE位〔为显性位,见上文〕及保存位r0。
扩展格式里的帧包括数据长度代码和两个保存位:
r1和r0。
其保存位必须发送为显性,但是接收器认可“显性〞和“隐性〞位的任何组合。
数据长度代码〔标准格式以及扩展格式〕DLC,如表9.1所示。
表9.1数据帧长度代码DLC
数据字节的数目
数据长度代码
DLC3
DLC2
DLC1
DLC0
1
2
3
4
5
6
7
8
d
r
数据长度代码指示了数据场里的字节数量。
其中:
d—“显性〞,r—“隐性〞,数据帧允许的数据字节数为{0,1,…7,8}。
其他的数值不允许使用。
(4)数据场
数据场由数据帧里的发送数据组成。
它可以为0~8个字节,每字节包含了8个位,首先发送最高有效位。
(5)循环冗余码CRC场
CRC场包括CRC序列〔CRCSequence〕,其后是CRC界定符〔CRCDelimiter〕,如图9.8所示。
①CRC序列〔适合标准格式和扩展格式〕
CRC序列由循环冗余码求得的帧检查序列组成,最适用于位数低于127的帧。
为进展CRC计算,被除的多项式系数由无填充位流给定。
组成这些位流的成分是:
帧起始、仲裁场、控制场、数据场〔假设有的话〕,而15个最低位的系数是0。
将此多项式被以下多项式发生器除〔其系数以2为模〕:
X15+X14+X10+X8+X7+X4+X3+1
这个多项式除法的余数就是发送到总线上的CRC序列。
为了实现这个功能,可以使用15位的位移存放器—CRC_RG(14:
0)。
如果NXTBIT指示位流的下一位,那么从帧的起始到数据场末尾都由没有填充的位顺序给定。
CRC序列的计算如下:
CRC_RG=0;
//初始化移位存放器
REPEAT
CRXT=NXTBITEXORCRC_RG〔14〕;
CRC_RG〔14:
1〕=CRC_RG〔13:
0〕;
//存放器左移一位
CRC_RG〔0〕=0;
IFCRXTTHEN
0〕=CRC_RG〔14:
0〕EXOR(4599H);
ENDIF
UNTIL〔CRC序列起始或有一错误条件〕
②CRC界定符〔标准格式以及扩展格式〕
CRC序列之后是CRC界定符,它包含一个单独的“隐性〞位。
〔6〕应答场〔ACKField〕
应答场长度为2个位,包含应答间隙〔ACKSlot〕和应答界定符〔ACKDelimiter〕,如图9.9所示。
在ACK场〔应答场〕里,发送节点发送两个“隐性〞位。
当接收器正确地接收到有效的报文,接收器就会在应答间隙〔ACKSlot〕期间向发送器发送一“显性〞位以示应答。
①应答间隙
所有接收到匹配CRC序列〔CRCSequence〕的节点会在应答间隙〔ACKSlot〕期间用一“显性〞的位写入发送器的“隐性〞位来做出答复。
②应答界定符
应答界定符是应答场的第二个位,并且是一个必须为“隐性〞的位。
因此,应答间隙〔ACKSlot〕被两个“隐性〞的位所包围,也就是CRC界定符〔CRCDelimiter〕和应答界定符〔ACKDelimiter〕。
〔7〕帧结尾〔标准格式以及扩展格式〕
每一个数据帧和远程帧均由一标志序列界定。
这个标志序列由7个“隐性〞位组成。
2.远程帧
作为接收器的节点,可以通过向相应的数据源节点发送远程帧激活该源节点,让该源节点把数据发送给接收器。
远程帧也有标准格式和扩展格式,而且都由6个不同的位场组成:
帧起始、仲裁场、控制场、CRC场、应答场、帧结尾。
与数据帧相反,远程帧的RTR位是“隐性〞的。
它没有数据场,数据长度代码DLC的数值是不受制约的〔可以标注为容许围0~8里的任何数值〕,此数值是相应于数据帧的数据长度代码。
远程帧构造如图9.10所示。
3.错误帧
错误帧由两个不同的场组成,如图9.11所示。
第一个场是不同节点提供的错误标志〔ErrorFlag〕的叠加,第二个场是错误界定符。
为了能正确地终止错误帧,“错误认可〞的节点要求总线至少有长度为3个位时间的总线空闲〔如果“错误认可〞的接收器有局部错误的话〕。
因此,总线的载荷不应为100%。
(1)错误标志
有两种形式的错误标志:
激活错误标志和认可错误标志〔有的文献译为:
“主动〞和“被动〞错误标志或“活动〞和“认可〞错误标志〕。
“激活错误〞标志由6个连续的“显性〞位组成。
“认可错误〞标志由6个连续的“隐性〞的位组成,除非被其他节点的“显性〞位重写。
检测到错误条件的“错误激活〞的节点通过发送“激活错误〞标志指示错误。
错误标志的格式破坏了从帧起始到CRC界定符的位填充规那么〔参见“编码〞〕,或者破坏了ACK场或帧结尾场的固定格式。
所有其他的节点由此检测到错误条件,并与此同时开场发送错误标志。
所形成的“显性〞位序列就是把各个节点发送的不同的错误标志叠加在一起的结果,这个序列的总长度最小为6个位,最大为12个位。
检测到错误条件的“错误认可〞的节点通过发送“认可错误〞标志指示错误,“错误认可〞的节点等待6个一样极性的连续位,当这6个一样的位被检测到时,“认可错误〞标志的发送就完成。
(2)错误界定符
错误界定符包括8个“隐性〞的位。
错误标志传送了以后,每一个节点就发送一个“隐性〞的位,并一直监视总线直到检测出一个“隐性〞的位为止,然后就开场发送其余7个“隐性〞位。
4.过载帧
过载帧〔OverloadFrame〕包括两个位场:
过载标志和过载界定符,其构造如图9.12所示。
有三种过载的情况会引发过载标志的传送:
接收器的部情况,需要延迟下一个数据帧和远程帧。
在间歇〔Intermission〕的第一和第二字节检测到一个“显性〞位。
如果CAN节点在错误界定符或过载界定符的第8位〔最后一位〕采样到一个显性位,节点会发送一个过载帧。
该帧不是错误帧,错误计数器不会增加。
根据过载情况1而引发的过载帧只允许起始于所期望的间歇的第一个位时间,而根据情况2和情况3引发的过载帧应起始于所检测到“显性〞位之后的位。
通常为了延时下一个数据帧或远程帧,两种过载帧均可产生。
〔1〕过载标志〔OverloadFlag〕
过载标志由6个“显性〞的位组成。
过载标志的所有形式和“激活错误〞标志的一样。
过载标志的格式破坏了间歇场的固定格式。
因此,所有其他的节点都检测到过载条件并与此同时发出过载标志。
如果有的节点在间歇的第3个位期间检测到“显性〞位,那么这个位将解释为帧的起始。
〔2〕过载界定符〔OverloadDelimiter〕
过载界定符包括8个“隐性〞的位。
过载界定符的形式和错误界定符的形式一样。
过载标志被传送后,节点就一直监视总线直到检测到一个从“显性〞位到“隐性〞位的跳变。
此时,总线上的每一个节点完成了过载标志的发送,并开场同时发送其余7个“隐性〞位。
5.帧间空间
数据帧〔或远程帧〕与先行帧的隔离是通过帧间空间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAN 报文 传送 结构
![提示](https://static.bdocx.com/images/bang_tan.gif)