CAN协议规范 (2)

上传人:lcm****801 文档编号:88357111 上传时间:2019-04-25 格式:PPT 页数:48 大小:1.05MB
返回 下载 相关 举报
CAN协议规范 (2)_第1页
第1页 / 共48页
CAN协议规范 (2)_第2页
第2页 / 共48页
CAN协议规范 (2)_第3页
第3页 / 共48页
CAN协议规范 (2)_第4页
第4页 / 共48页
CAN协议规范 (2)_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《CAN协议规范 (2)》由会员分享,可在线阅读,更多相关《CAN协议规范 (2)(48页珍藏版)》请在金锄头文库上搜索。

1、CAN协议规范,CAN-bus简介 ISO/OSI 7层模型 CAN-bus 相关概念,CAN-bus简介,CAN-bus简介,控制器局域网CAN(Controller Area Network),最初是由德国Bosch公司设计的,应用于汽车的监测和控制; 1991年9月,Philips半导体公司制定并发布CAN技术规范:CAN 2.0 A/B。1993年11月,ISO组织正式颁布CAN国际标准 ISO11898; CAN-bus是唯一成为国际标准的现场总线,也是国际上应用最广泛的现场总线之一。,CAN-bus简介,CAN-bus的特性包括: 无破坏性的基于优先权的逐位仲裁 借助验收滤波器的多

2、地址帧传递 远程数据请求 错误检测和出错信令 很远的数据传输距离(长达10Km) 高速的数据传输速率(高达1Mbps) 高度实时性:每帧报文允许传输最高8个字节的数据 发送期间丢失仲裁或出错而遭到破坏的帧可自动重发 暂时错误和永久性故障节点的判别以及故障节点的自动脱离 脱离总线的节点不影响总线的正常工作,ISO/OSI 7层模型,ISO/OSI 7层模型,ISO-International Organization for Standardization(国际标准化组织),1979年成立; OSI-Open Systems Interconnection(开放系统互连); ISO/OSI 7层

3、模型包括:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。,ISO/OSI 7层模型,ISO/OSI 7层模型,ISO/OSI 7层模型,CAN-bus 相关概念,CAN总线电平标称值,CAN-bus 相关概念,CAN-bus 相关概念,帧格式,标准帧:具有11位标识符的CAN帧;,CAN-bus 相关概念,扩展帧:具有29位标识符的CAN帧;,CAN-bus 相关概念,帧类型,数据帧:携带数据从发送器至接收器;,CAN-bus 相关概念,远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧;,CAN-bus 相关概念,错误帧:任何单元检测到一总线错误就发出错误帧;,CAN-

4、bus 相关概念,过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时;,CAN-bus 相关概念,帧起始:它标志数据帧和远程帧的起始,由一个单独的“显性”位组成。只在总线空闲时,才允许站开始发送; 仲裁场: 标准格式里,仲裁场由11 位识别符和RTR 位组成,识别符位由ID.2818 构成;,扩展格式里,仲裁场包括29 位识别符、SRR 位、IDE 位与RTR 位,其识别符由ID.28. 0;,帧元素,CAN-bus 相关概念,识别符:基本可以理解为CAN帧的ID号; RTR 位:该位在数据帧里必须为“显性”,而在远程帧里必须为“隐性”; SRR 位(扩展格式):SRR

5、的全称是“替代远程请求位(Substitute Remote Request BIT)”。SRR 是一隐性位。它在扩展格式的标准帧RTR 位位置,因此代替标准帧的RTR 位。因此,标准帧与扩展帧的冲突是通过标准帧优先于扩展帧这一途径得以解决的; IDE 位(扩展格式):IDE 的全称是“识别符扩展位(Identifier Extension Bit)”IDE 位属于: 扩展格式的仲裁场 标准格式的控制场 标准格式里的IDE 位为“显性”,而扩展格式里的IDE 位为“隐性”。,CAN-bus 相关概念,控制场:控制场由6 个位组成,包括数据长度代码和两个将来作为扩展用的保留位。所发送的保留位必须

6、为“显性”。接收器接收所有由“显性”和“隐性”组合在一起的位。数据长度代码指示了数据场中字节数量。数据长度代码为4 个位,在控制场里被发送。,CAN-bus 相关概念,数据长度代码中数据字节数的编码(DATA LENGTH CODE): 缩写: d“显性”,r“隐性”,数据帧:允许的数据字节数:0,1,7,8。其他的数值不允许使用。,CAN-bus 相关概念,数据场:数据场由数据帧中的发送数据组成。它可以为08 个字节,每字节包含了8 个位,首先发送MSB; CRC 场:CRC 场包括CRC 序列(CRC SEQUENCE),其后是CRC 界定符(CRC DELIMITER); 帧结尾:每一个

7、数据帧和远程帧均由一标志序列界定。这个标志序列由7 个“隐性”位组成。,CAN-bus 相关概念,应答场:应答场长度为2 个位,包含应答间隙(ACK SLOT)和应答界定符(ACK DELIMITER)。在应答场里,发送站发送两个“隐性”位。当接收器正确地接收到有效的报文,接收器就会在应答间隙(ACK SLOT)期间(发送ACK 信号)向发送器发送一“显性”的位以示应答;,CAN-bus 相关概念,应答间隙:所有接收到匹配CRC 序列(CRC SEQUENCE)的站会在应答间隙(ACK SLOT)期间用一“显性”的位写入发送器的“隐性”位来作出回答。 ACK 界定符:ACK 界定符是ACK 场

8、的第二个位,并且是一个必须为“隐性”的位。因此,应答间隙(ACK SLOT)被两个“隐性”的位所包围,也就是CRC 界定符(CRC DELIMITER)和ACK 界定符(ACKDELIMITER)。,波特率和距离的关系,CAN-bus 相关概念,基本公式: Max Bit Rate MbpsMax Bus Lengthm60,在使用过程中建议使用下表所列出来的波特率,它们都是CIA协会公布的标准波特率。,CAN-bus 相关概念,CAN数据帧,远程帧所占用的位长度为(含最短帧间隔3bits):,1M波特率时发送标准数据帧(8字节数据): 发送速度 1000000/111=9009帧 每帧带8字

9、节数据即 9009*8=72072字节,CAN-bus 相关概念,总线仲裁,总线上“显性”电平支配“隐性”电平; 逻辑“0” =“显性” 电平; 逻辑“1” =“隐性”电平。 总线空闲时,任何节点可以开始发送报文; 总线上每条报文都具有唯一的一个11位或29位标识符; 报文标识符的值越小,报文具有越高的优先权; 多个节点同时发送时,总线在“仲裁场”进行“逐位仲裁” ; 传送高优先级报文的节点赢得仲裁,并继续传输报文; 失去仲裁的节点在总线空闲时重新传送。,CAN-bus 相关概念,总线仲裁示意图,CAN-bus 相关概念,位流编码(Bit Coding),位流编码采用“不归零”(NRZ)方法编

10、码; 在完整的位时间里,位电平要么为“显性”,要么为“隐性”; 有足够的跳边沿利于总线各节点重新同步; 要求采取“位填充”(Bit Stuffing)。,CAN-bus 相关概念,标准数据帧,CANL 波形,CANH 波形,位流编码实例,CAN-bus 相关概念,位填充(Bit Stuffing),当发送器检测到位流里有5个连续相同值的位,便会自动在位流里插入一补充位,接收器会自动删除这个补充位。 最多经过5个位时间,各节点可以重同步; 能够通过总线上的错误标志(Error Flag 6个连续相同的位)反映发送错误。 在固定的位场中不使用位填充。,CAN-bus 相关概念,位填充示意图,要传送

11、的位序列,经过位填充后传送的位序列,CAN-bus 相关概念,错误检测机制,进行检测错误,采取以下措施: 监视(对发送位的电平与被监控的总线电平进行比较) 循环冗余检查 位填充 报文格式检查,CAN-bus 相关概念,错误检测的机制具有以下的属性: 检测到所有的全局错误 检测到发送器所有的局部错误 可以检测到报文里多达5 个任意分布的错误 检测到报文里长度低于15(位)的突发性错误 检测到报文里任一奇数个的错误 对于没有被检测到的错误报文,其剩余的错误可能性概率低于:报文错误率 4.7*10-11,CAN-bus 相关概念,错误类型 位错误(Bit Error):发送的位值和总线监视的位值不相

12、符合时,检测到一个位错误(除仲裁场、应答场外); 填充错误(Stuff Error):如果在使用位填充编码的位流中,出现了第六个连续相同的位电平,将检测到一个位填充错误; 形式错误 (Form Error):当一个固定形式的位场含有一个或多个非法位时,将检测到一个形式错误; 应答错误 (Acknowledgment Error ):在应答间隙(ACK SLOT)所监视的位不为“显性”,则会检测到一个应答错误; CRC 错误(CRC Error):如果接收器的CRC结果和发送器的CRC结果不同,将检测到一个CRC错误。,CAN-bus 相关概念,总线单元使用两种错误计数器进行故障界定 发送错误计

13、数(TEC) 接收错误计数(REC) 错误计数规则(共12条规则) 节点发送时产生错误,将导致TEC加8; 节点成功发送1帧报文后,TEC将减1 ,直到0 ; 节点接收时检测到错误,将导致REC加8; 节点成功接收1帧报文后,REC将减1,直到0; ,故障界定,CAN-bus 相关概念,单元存在的三种状态 错误主动(Error active):“错误主动”的单元可以正常地参与总线通讯,并在错误被检测到时发出主动错误标志。 错误被动(Error passive):“错误被动”的单元不允许发送主动错误标志。“错误被动”的单元参与总线通讯,在错误被检测到时只发出被动错误标志。 总线关闭(Bus of

14、f):“总线关闭”的单元不允许在总线上有任何的影响 (比如,关闭输出驱动器)。,单元状态,CAN-bus 相关概念,单元状态切换(1) 辨别节点处于暂时错误和永久性故障;故障节点自动脱离总线,防止网络锁定。,CAN-bus 相关概念,单元状态切换(2),CAN-bus 相关概念,硬同步(Hard Syhchronization) 重同步(Re-syhchronization ) 在数据流中不包含时钟; 接收者在“1”=“0”的沿时与发送者同步; 同步位流,包括在报文起始的硬同步、在报文传送期间的重同步。,同步,CAN-bus 相关概念,硬同步(Hard Syhchronization) 重同步(Re-syhchronization ) 在数据流中不包含时钟; 接收者在“1”=“0”的沿时与发送者同步; 同步位流,包括在报文起始的硬同步、在报文传送期间的重同步。,同步,CAN-bus 相关概念,由协议控制器完成通过硬同步或重同步来适配位定时参数。,同步示意图,CAN总线实践,CAN总线实践,CAN总线波形(1),帧类型:数据帧 帧格式:标准帧 字节数:8 波特率:250K,ID = 0345 数据:“12345678”,CAN总线实践,SOF与ID,CAN总线实践,错误帧,帧类型:错误帧 错误类型:错误主动,谢谢大家!,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号