ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:146.85KB ,
资源ID:1013614      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1013614.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(CAN报文的传送和帧结构.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

CAN报文的传送和帧结构.docx

1、CAN报文的传送和帧结构CAN报文的传送和帧结构CAN报文的传送和帧结构9.2.2 CAN报文的传送和帧结构 在进行数据传送时,发出报文的节点为该报文的发送器。该节点在总线空闲或丢失仲裁前恒为发送器,如果一个节点不是报文发送器,并且总线不处于空闲状态,则该节点为接收器。构成一帧的帧起始、仲裁场、控制场、数据场和CRC序列均借助位填充规则进行编码。当发送器在发送的位流中检测到5位连续的相同数值时,将自动在实际发送的位流中插入一个补码位。而数据帧和远程帧的其余位场则采用固定格式,不进行填充,出错帧和超载帧同样是固定格式。报文中的位流是按照非归零(NZR)码方法编码的,因此一个完整的位电平要么是显性

2、,要么是隐性。在“隐性”状态下, CAN总线输出差分电压= 近似为零,在“显性”状态下,以大于最小阈值的差分电压表示,如图9.2所示。在总线空闲或“隐性”位期间,发送“隐性”状态。在“显性”位期间,“隐性”状态改写为“显性”状态。图9.2总线上的位电平表示CAN有两种不同的帧格式,不同之处为识别符场的长度不同:具有11位识别符的帧称之为标准帧;而含有29位识别符的帧为扩展帧。CAN报文有以下4个不同的帧类型:数据帧:数据帧将数据从发送器传输到接收器。远程帧:总线节点发出远程帧,请求发送具有同一识别符的数据帧。错误帧:任何节点检测到总线错误就发出错误帧。过载帧:过载帧用以在先行的和后续的数据帧(

3、或远程帧)之间提供一附加的延时。数据帧和远程帧可以使用标准帧及扩展帧两种格式。它们用一个帧间空间与前面的帧分隔。1. 数据帧数据帧由7个不同的位场组成:帧起始(Start of Frame)、仲裁场(Arbitration Frame)、控制场(Control Frame)、数据场(Data Frame)、CRC场(CRC Frame)、应答场(ACK Frame)、帧结尾(End of Frame)。数据场的长度为0到8位。报文的数据帧一般结构如图9.3所示。图9.3 报文的数据帧结构在CAN2.0B中存在两种不同的帧格式,其主要区别在标识符的长度,在标准帧格式里,仲裁场由11位识别符和远程

4、请求位(RTR)组成。如图9.4所示。在扩展帧格式里,仲裁场包括29位识别符、替代远程请求位(SRR)、识别符扩展位(IDE)和RTR位。如图9.5所示。9.3所示。(2)仲裁场仲裁场由标识符和远程发送请求位(RTR位)组成。RTR位在数据帧中为显性,在远程帧中为隐性。对于CAN2.0A标准,标识符长度为11位,这些位按ID.10到ID.0的顺序发送,最低位是ID0, 7个最高位(ID.10-ID.4)必须不能全是“隐性”,如图9.6所示。图9.6 CAN2.0A的仲裁场的组成对于CAN2.0B标准,标准格式帧与扩展格式帧的仲裁场标识符格式不同。标准格式里,仲裁场由11位识别符和RTR位组成。

5、识别符位由ID.28ID.18组成。如图9.4所示。而在扩展格式里,仲裁场包括29位识别符、替代远程请求位SRR、标识位IDE、远程发送请求位RTR。其识别符由ID-28ID-0组成,其格式包含两个部分:11位(ID.28ID.18)基本ID、18位(ID.17ID.0)扩展ID。如图9.5所示,扩展格式里,基本ID首先发送,其次是SRR位和IDE位。扩展ID的发送位于SRR位和IDE位之后。SRR的全称是“替代远程请求位(Substitute Remote Request BIT)”,SRR是一隐性位。它在扩展格式的标准帧RTR位上被发送,并代替标准帧的RTR位。因此,如果扩展帧的基本ID和

6、标准帧的识别符相同,标准帧与扩展帧的冲突是通过标准帧优先于扩展帧这一途径得以解决的。IDE的全称是“识别符扩展位(Identifier Extension Bit)”,对于扩展格式,IDE位属于仲裁场;对于标准格式,IDE位属于控制场。标准格式的IDE位为“显性”,而扩展格式的IDE位为“隐性”。(3)控制场控制场由6个位组成,其结构如图9.7所示。标准格式和扩展格式的控制场格式不同。标准格式里的帧包括数据长度代码、IDE位(为显性位,见上文)及保留位r0。扩展格式里的帧包括数据长度代码和两个保留位:r1和r0。其保留位必须发送为显性,但是接收器认可“显性”和“隐性”位的任何组合。数据长度代码

7、(标准格式以及扩展格式)DLC,如表9.1所示。图9.7 控制场结构表9.1 数据帧长度代码DLC数据字节的数目数据长度代码DLC3DLC2DLC1DLC0012345678ddddddddrddddrrrrdddrrddrrddrdrdrdrd数据长度代码指示了数据场里的字节数量。其中:d“显性”, r“隐性”,数据帧允许的数据字节数为0,1,7,8。其他的数值不允许使用。(4) 数据场数据场由数据帧里的发送数据组成。它可以为08个字节,每字节包含了8个位,首先发送最高有效位。(5) 循环冗余码CRC场CRC场包括CRC序列(CRC Sequence),其后是CRC界定符(CRC Delim

8、iter),如图9.8所示。图9.8 循环冗余码CRC场 CRC序列(适合标准格式和扩展格式)CRC序列由循环冗余码求得的帧检查序列组成,最适用于位数低于127的帧。为进行CRC计算,被除的多项式系数由无填充位流给定。组成这些位流的成分是:帧起始、仲裁场、控制场、数据场(假如有的话),而15个最低位的系数是0。将此多项式被下列多项式发生器除(其系数以2为模):X15+X14+X10+X8+X7+X4+X3+1这个多项式除法的余数就是发送到总线上的CRC序列。为了实现这个功能,可以使用15位的位移寄存器CRC_RG(14:0)。如果NXTBIT指示位流的下一位,那么从帧的起始到数据场末尾都由没有

9、填充的位顺序给定。CRC序列的计算如下:CRC_RG=0; /初始化移位寄存器REPEATCRCNXT=NXTBIT EXOR CRC_RG(14);CRC_RG(14:1)=CRC_RG(13:0); /寄存器左移一位CRC_RG(0)=0;IF CRCNXT THENCRC_RG(14:0)CRC_RG(14:0)EXOR(4599H);END IFUNTIL(CRC序列起始或有一错误条件) CRC界定符(标准格式以及扩展格式)CRC序列之后是CRC界定符,它包含一个单独的“隐性”位。(6)应答场(ACK Field)应答场长度为2个位,包含应答间隙(ACK Slot)和应答界定符(ACK

10、 Delimiter),如图9.9所示。在ACK场(应答场)里,发送节点发送两个“隐性”位。当接收器正确地接收到有效的报文,接收器就会在应答间隙(ACK Slot)期间向发送器发送一“显性”位以示应答。 应答间隙所有接收到匹配CRC序列(CRC Sequence)的节点会在应答间隙(ACK Slot)期间用一“显性”的位写入发送器的“隐性”位来做出回答。 应答界定符应答界定符是应答场的第二个位,并且是一个必须为“隐性”的位。因此,应答间隙(ACK Slot)被两个“隐性”的位所包围,也就是CRC界定符(CRC Delimiter)和应答界定符(ACK Delimiter)。图9.9 应答场(7

11、)帧结尾(标准格式以及扩展格式)每一个数据帧和远程帧均由一标志序列界定。这个标志序列由7个“隐性”位组成。2. 远程帧作为接收器的节点,可以通过向相应的数据源节点发送远程帧激活该源节点,让该源节点把数据发送给接收器。远程帧也有标准格式和扩展格式,而且都由6个不同的位场组成:帧起始、仲裁场、控制场、CRC场、应答场、帧结尾。与数据帧相反,远程帧的RTR位是“隐性”的。它没有数据场,数据长度代码DLC的数值是不受制约的(可以标注为容许范围8里的任何数值),此数值是相应于数据帧的数据长度代码。远程帧结构如图9.10所示。图9.10远程帧结构3. 错误帧错误帧由两个不同的场组成,如图9.11所示。第一

12、个场是不同节点提供的错误标志(Error Flag)的叠加,第二个场是错误界定符。为了能正确地终止错误帧,“错误认可”的节点要求总线至少有长度为3个位时间的总线空闲(如果“错误认可”的接收器有局部错误的话)。因此,总线的载荷不应为100%。图9.11 错误帧结构(图中统一起见出错帧改为错误帧)(1) 错误标志有两种形式的错误标志:激活错误标志和认可错误标志(有的文献译为:“主动”和“被动”错误标志或“活动”和“认可” 错误标志)。“激活错误”标志由6个连续的“显性”位组成。“认可错误”标志由6个连续的“隐性”的位组成,除非被其他节点的“显性”位重写。检测到错误条件的“错误激活”的节点通过发送“

13、激活错误”标志指示错误。错误标志的格式破坏了从帧起始到CRC界定符的位填充规则(参见“编码”),或者破坏了ACK场或帧结尾场的固定格式。所有其他的节点由此检测到错误条件,并与此同时开始发送错误标志。所形成的“显性”位序列就是把各个节点发送的不同的错误标志叠加在一起的结果,这个序列的总长度最小为6个位,最大为12个位。检测到错误条件的“错误认可”的节点通过发送“认可错误”标志指示错误,“错误认可”的节点等待6个相同极性的连续位,当这6个相同的位被检测到时,“认可错误”标志的发送就完成。(2) 错误界定符错误界定符包括8个“隐性”的位。错误标志传送了以后,每一个节点就发送一个“隐性”的位,并一直监

14、视总线直到检测出一个“隐性”的位为止,然后就开始发送其余7个“隐性”位。4. 过载帧过载帧(Overload Frame)包括两个位场:过载标志和过载界定符,其结构如图9.12所示。图9.12 过载帧结构有三种过载的情况会引发过载标志的传送:接收器的内部情况,需要延迟下一个数据帧和远程帧。在间歇(Intermission)的第一和第二字节检测到一个“显性”位。如果CAN节点在错误界定符或过载界定符的第8位(最后一位)采样到一个显性位,节点会发送一个过载帧。该帧不是错误帧,错误计数器不会增加。根据过载情况1而引发的过载帧只允许起始于所期望的间歇的第一个位时间,而根据情况2和情况3引发的过载帧应起

15、始于所检测到“显性”位之后的位。通常为了延时下一个数据帧或远程帧,两种过载帧均可产生。(1)过载标志(Overload Flag)过载标志由6个“显性”的位组成。过载标志的所有形式和“激活错误”标志的一样。过载标志的格式破坏了间歇场的固定格式。因此,所有其他的节点都检测到过载条件并与此同时发出过载标志。如果有的节点在间歇的第3个位期间检测到“显性”位,则这个位将解释为帧的起始。(2)过载界定符(Overload Delimiter)过载界定符包括8个“隐性”的位。过载界定符的形式和错误界定符的形式一样。过载标志被传送后,节点就一直监视总线直到检测到一个从“显性”位到“隐性”位的跳变。此时,总线上的每一个节点完成了过载标志的发送,并开始同时发送其余7个“隐性”位。5. 帧间空间数据帧(或远程帧)与先行帧的隔离是通过帧间空间实现的,无论此先行帧类型如何(数据帧、远程帧、错误帧、过载帧)。所不同的是,过载帧与错误帧之前没有帧间空间,多个过载帧之间也不是由帧间空间隔离的。帧间空间

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1