can20协议规范(个人修改版)_第1页
can20协议规范(个人修改版)_第2页
can20协议规范(个人修改版)_第3页
can20协议规范(个人修改版)_第4页
can20协议规范(个人修改版)_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Version 1.20版2006年5月,CAN-bus 2.0A/B规范,CAN-bus简介CAN-bus主要特性CAN-bus规范ISO/OSI网络模型帧格式帧类型总线仲裁位流编码,目录,位填充错误检测机制错误类型故障界定单元状态振荡器容差位定时同步,控制器局域网CAN(Controller Area Network),最初是由德国Bosch公司设计的,应用于汽车的监测和控制。作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN-bus逐步被广泛应用到各种控制领域。1991年9月,Philips半导体公司制定并发布CAN技术规范:CAN 2.0 A/B。1993年11月,ISO组织正式颁布CAN国际标准 ISO11898。CAN-bus是唯一成为国际标准的现场总线,也是国际上应用最广泛的现场总线之一。,CAN-bus简介,多主结构依据优先权进行总线访问无破坏性的基于优先权的逐位仲裁借助验收滤波器的多地址帧传递远程数据请求全系统数据相容性错误检测和出错信令很远的数据传输距离(长达10Km)高速的数据传输速率(高达1Mbps)高度实时性:每帧报文允许传输最高8个字节的数据发送期间丢失仲裁或出错而遭到破坏的帧可自动重发暂时错误和永久性故障节点的判别以及故障节点的自动脱离脱离总线的节点不影响总线的正常工作,CAN-bus主要特性,CAN-bus 规范( Version 2.0 )CAN2.0A :CAN标准报文格式CAN2.0B :CAN标准报文格式和扩展报文格式ISO11898-1/2/3/4 国际标准CAN-bus 技术规范的目的定义数据链路层定义CAN协议在周围各层中所发挥的作用,CAN-bus 规范,ISO/OSI网络模型,LLC:逻辑链路控制子层MAC:媒体访问控制子层,Logical Link Control (LLC) - Acceptance Filtering - Overload Notification - Recover ManagementMedium Access Control (MAC) - Data Encapsulation/Decapsulation - Frame Coding (stuffing/destuffing) - Error Detection/Signaling - Serialization/Deserialization,Physical Signaling (PLS) - Bit Encoding/Decoding - Bit Timing/SynchronizationPhysical Medium Attachment (PMA) - Driver/Receiver CharacteristicsMedium Dependent Interface (MDI) - Connectors,ISO/OSI网络模型表述,二种不同的CAN帧格式CAN规范2.0B中引入第二种报文格式标准帧和扩展帧具有11位标识符的CAN帧称为:标准帧具有29位标识符的CAN帧称为:扩展帧CAN控制器必须完全支持标准帧(收/发)CAN控制器必须支持接收扩展帧,帧格式,数据帧从发送节点向其它节点发送数据远程帧向其它节点请求发送具有同一识别符的数据帧 错误帧指明已检测到总线错误过载帧过载帧用以在数据帧(或远程帧)之间提供一附加的延时,帧类型,数据帧组成帧起始(Start of Frame)仲裁场(Arbitration Frame)控制场(Control Frame)数据场(Data Frame)CRC场(CRC Frame)应答场(ACK Frame)帧结尾(End of Frame)数据场的长度可以为0 允许DLC8 (*见协议实现指南),数据帧,标准数据帧结构,RTR=0,Message ID 寻址举例,总线上“显性”电平支配“隐性”电平;逻辑“0” =“显性” 电平; 逻辑“1” =“隐性”电平。总线空闲时,任何节点可以开始发送报文;总线上每条报文都具有唯一的一个11位或29位标识符;报文标识符的值越小,报文具有越高的优先权;多个节点同时发送时,总线在“仲裁场”进行“逐位仲裁” ;传送高优先级报文的节点赢得仲裁,并继续传输报文;失去仲裁的节点在总线空闲时重新传送。,总线仲裁(Bus Arbitration),总线仲裁示意图,Arbitration Field,位流编码采用“不归零”(NRZ)方法编码在完整的位时间里,位电平要么为“显性”,要么为“隐性”;有足够的跳边沿利于总线各节点重新同步;要求采取“位填充”(Bit Stuffing)。,位流编码(Bit Coding),帧间空间,通过帧间空间(Interframe Spacing)隔离数据帧(或远程帧)与先行帧;帧间空间的组成:3个隐性(“1”)的间歇场( INTER MISSION )长度不限的总线空闲位场 ( BUS IDLE )错误被动节点发出的挂起传送场(SUSPEND TRANSMISSION),当发送器检测到位流里有5个连续相同值的位,便会自动在位流里插入一补充位,接收器会自动删除这个补充位。最多经过5个位时间,各节点可以重同步;能够通过总线上的错误标志(Error Flag 6个连续相同的位)反映发送错误。在固定的位场中不使用位填充。,位填充(Bit Stuffing),位填充示意图,扩展数据帧结构,RTR=0,RTR=0,扩展数据帧,标准数据帧,标准帧格式:具有11位标识符;扩展帧格式:具有29位标识符;两种帧格式的区别通过“控制场”(Control Frame)中的“识别符扩展”位(IDE bit)来实现;两种帧格式可出现在同一总线上。,扩展数据帧,也有二种,标准远程帧、扩展远程帧;除了没有数据域(Data Frame),以及RTR位是隐性(“1”)以外,与数据帧完全一样。,远程帧,扩展远程帧,RTR=1,当节点检测到一个或多个由CAN标准所定义的错误时产生。由于错误叠加,最终表现在CAN-bus的 Error Flag会有6-12bits不等。,错误帧,有三种情况会发送过载帧: 1、上次接收的数据未被CPU读取就已经被再次滤波进来的CAN数据改写,接收的数据帧结束后马上发出。 2、CAN节点检测到帧间隔的第一位或第二位为显性位,在检测到显性位后马上发出。 3、CAN节点采样到错误帧的错误界定场或过载帧的过载界定场有显性位,在检测到显性位后马上发出。,过载帧,进行检测错误,采取以下措施:监视(对发送位的电平与被监控的总线电平进行比较)循环冗余检查位填充报文格式检查,错误检测机制,CAN能够检测出如下类型错误位错误(Bit Error)填充错误(Stuff Error)形式错误 (Form Error)应答错误 (Acknowledgment Error )CRC 错误(CRC Error)未检测报文错误率低于 4.7 * 10-11,错误检测机制,位错误(Bit Error):发送的位值和总线监视的位值不相符合时,检测到一个位错误(除仲裁场、应答场外);,错误类型,填充错误(Stuff Error):如果在使用位填充编码的位流中,出现了第六个连续相同的位电平,将检测到一个位填充错误;,错误类型,形式错误 (Form Error):当一个固定形式的位场含有一个或多个非法位时,将检测到一个形式错误;,错误类型,应答错误 (Acknowledgment Error ):在应答间隙(ACK SLOT)所监视的位不为“显性”,则会检测到一个应答错误;,错误类型,CRC 错误(CRC Error):如果接收器的CRC结果和发送器的CRC结果不同,将检测到一个CRC错误。,错误类型,总线单元使用两种错误计数器进行故障界定发送错误计数(TEC)接收错误计数(REC)错误计数规则(共12条规则)节点发送时产生错误,将导致TEC加8; 节点成功发送1帧报文后,TEC将减1 ,直到0 ;节点接收时检测到错误,将导致REC加8; 节点成功接收1帧报文后,REC将减1,直到0;,故障界定,单元存在的三种状态错误主动(Error active):“错误主动”的单元可以正常地参与总线通讯,并在错误被检测到时发出主动错误标志。错误被动(Error passive):“错误被动”的单元不允许发送主动错误标志。“错误被动”的单元参与总线通讯,在错误被检测到时只发出被动错误标志。 总线关闭(Bus off):“总线关闭”的单元不允许在总线上有任何的影响 (比如,关闭输出驱动器)。,单元状态,辨别节点处于暂时错误和永久性故障;故障节点自动脱离总线,防止网络锁定。错误主动 错误被动 总线关闭,单元状态切换(1),TEC:发送错误计数 REC:接收错误计数,单元状态切换(2),CAN 物理层差动共模信号,优点:极强的抗干扰能力信号传输介质:双绞线,差动共模信号实例,标准数据帧,CANL 波形,CANH 波形,由于给定的最大振荡器容差为1.58%,因此凭经验可将陶瓷谐振器使用在传输率高达125 kbps的应用里。 有关更多准确的评估,请参考: Dais, S; Chapman, M; “Impact of Bit Representation on Transport Capacity and Clock Accuracy in Serial Data Streams”,SAE Technical Paper Series 890532, Multiplexing in Automobiles SP-773 March 1989为了满足CAN协议的整个总线速度范围,需要使用晶振。具有最高振荡准确度要求的芯片,决定了其他节点的振荡准确度。,振荡器容差,硬同步(Hard Syhchronization)重同步(Re-syhchronization )在数据流中不包含时钟;接收者在“1”=“0”的沿时与发送者同步;同步位流,包括在报文起始的硬同步、在报文传送期间的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论