控制器局域网络基础(CANBUSBasic)_第1页
控制器局域网络基础(CANBUSBasic)_第2页
控制器局域网络基础(CANBUSBasic)_第3页
控制器局域网络基础(CANBUSBasic)_第4页
控制器局域网络基础(CANBUSBasic)_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

1、内容提要 一、CAN总线概述二、CAN总线主要规格参数三、使用CAN总线的好处四、报文帧结构(Message Frames)五、报文广播(Message Broadcasting)六、总线仲裁(Bus Arbitration)七、数据传输同步(Data Transfer Synchronization)八、错误侦测和故障界定(Error Detection and Fault Confinement)九、物理层(Physical Layer)2022-3-7CAN BUS Basic2CAN总线概述CAN BUS Basic2022-3-73概述控制器局域网络(Controller Area

2、Network,简称CAN)主要用于各种过程(设备)监测及控制。CAN最初是由德国的Bosch公司为汽车的监测与控制设计的,但由于CAN总线本身的突出特点,其应用领域目前已不再局限于汽车行业。简化了程序员的工作,把总线仲裁、错误侦测和故障界定等工作都集成到了芯片之中。2022-3-7CAN BUS Basic4什么是CAN?用于实时应用的串行数据通信总线成本效能高于其它串行系统如RS232和TCP/IP比其它串行总线系统更容易使用最高波特率1MBit/sec卓越的错误侦测和故障界定能力极高的可靠性大量用于工业自动化和控制应用替代昂贵和复杂的Dual-Port RAM技术已经成为国际标准:ISO

3、11898CAN BUS Basic2022-3-75发展历程-从构想到第一块芯片CAN BUS Basic2022-3-76CAN简史年份年份里程碑里程碑1983Bosch启动车辆网络发展项目1986CAN协议正式推出1987Intel和Philips公司推出各自的第一款CAN控制芯片1991Bosch发布CAN 2.0规范1992CiA (CAN in Automation)国际用户和制造商协会成立1992CiA发布CAN应用层协议(CAL)1992第一台装备CAN的汽车从Mercedes-Benz出厂1993ISO 11898发布1994CiA组织第一届国际CAN会议iCC (Inter

4、national CAN Conference)1994Allen-Bradley发布DeviceNet协议1995ISO 11898修订版发布,定义了扩展帧格式1995CiA发布CANopen协议2022-3-7CAN BUS Basic7CAN应用乘用车卡车和公共汽车非路用车辆客运及货运列车船用电子航空及航天电子工厂自动化工业机器控制建筑自动化升降机和自动扶梯医疗设备其它更多领域2022-3-7CAN BUS Basic8CAN-in-Automation (CiA)CiA是国际用户与制造商组织,它发展和支持CAN标准和基于CAN的高层协议。所有的活动都是基于会员的兴趣、参与和主动。CiA

5、积极推动CAN成为国际标准与国家标准。CiA起草和发布CiA标准。这些标准包括不仅物理层定义,而且包括应用层和设备属性描述。网址:2022-3-7CAN BUS Basic9国际标准ISO 11898ISO 11898包括以下部分:数据链路层和物理信号高速介质访问单元(medium access unit)低速、容错的(fault-tolerant)、专用媒体界面(medium dependent interface)时间触发的通信2022-3-7CAN BUS Basic10CAN总线主要规格参数CAN BUS Ba

6、sic2022-3-711CAN性质概述基于总线访问的多主机通信非破坏性仲裁多路广播,报文验收滤波远程数据请求配置灵活性全系统范围的数据一致性错误侦测和错误信号报告自动重发仲裁失败的报文自动重发被错误破坏的报文识别节点的暂时错误与永久失效自发注销(deactivation)有缺陷的节点2022-3-7CAN BUS Basic12帧在CAN的标准语言中,报文被称为“帧”。发送到总线上的帧必须遵守一定格式且有长度限制。CAN总线定义了四种不同的帧,用于总线通讯。1、最常用的是“数据帧”,用于一个节点传送信息到其它任一或所有节点;2、“远程帧”,基本上是一个数据帧但其中的RTR位被置1,表明这是一

7、个“远端发送请求”,用于一个节点主动要求其它节点发送信息;3 、“错误帧”,如果节点在接收过程中检测到任一在CAN总线协议中定义了的错误信息,它就会发送一个错误帧;4、“过载帧”,当一个节点正忙于处理接收的信息,需要额外的等待时间接收下一报文时,可以发送过载帧,通知其它节点暂缓发送新报文。2022-3-7CAN BUS Basic13多主机总线访问为保证节点之间的直接通信、提供最大速度及可靠性,CAN不采用主/从网络结构。所有节点都具有同等的权利,每一个节点在传输/请求数据时都是一个主机。采用非破坏性总线仲裁解决冲突问题,传输的优先权由报文本身的仲裁位决定(较小的ID有较大的优先权)。仲裁失败

8、的报文不会丢失,只是暂缓发送。2022-3-7CAN BUS Basic14如何实现非破坏性的位仲裁?为了达到这种“非破坏性的位仲裁方式”,CAN总线协议必须满足一些前提条件。首先,必须定义两种逻辑状态在这里叫作“支配位(DOMINANT)” (又称“显性”电平)和“顺从位(RECESSIVE)”(又称 “隐性”电平);然后,节点在发送过程中必须检测刚刚发出的状态是否就是信息中所描述的内容。在CAN总线的定义中,逻辑0为支配位,逻辑1为顺从位。2022-3-7CAN BUS Basic15平均电压电平U隐性位隐性位显性位时间TVdiffVdiffVdiff报文广播报文广播基于生产者/消费者原理

9、。一个节点在发送报文时就是生产者,其余节点都是消费者。每个节点一直侦听着总线,接收所有的报文,然后进行过滤。没有报文确认,以免增加不必要的总线通信量。CAN通过“错误检测”机制处理可能的问题。另外,还利用“故障界定”机制排除故障节点,让总线恢复正常。当然,CAN也可以运用“远程帧”进行数据请求。CAN BUS Basic2022-3-716报文优先级CAN节点不关心系统配置,如节点地址等。CAN数据传输是以唯一的报文ID(11位或29位)来区分的,同时它又代表了报文优先级。较小的ID优先级较高。即使总线负载较高,高优先级的报文也会以最快的时间发送。报文传输是以事件驱动的,可以降低总线负载,保证

10、实时应用的时效性。CAN BUS Basic2022-3-717短报文CAN报文支持0至8字节的数据长度,与其它技术相比,这是一种比较短的报文。短报文有利于提高时效性(针对高优先级报文),以及恶劣电磁环境的承受能力。有些高层协议支持更长的报文,可以被更高优先级的短报文中断,之后再恢复传输。Process Data Objects = PDOService Data Object = SDOCAN BUS Basic2022-3-718数据速率和报文频率虽说CAN的最高速率1 Mbit/sec不像是很高,但结合短报文、高效防冲突机制、错误检测及故障界定能力等特点,让CAN更适合实时应用。TCP/

11、IP拥有100 Mbit/sec的数据传输速率,但不强制要求时间的精确,故不太适合实时应用。CAN的净数据传输率为17543至70168数据字节每秒。CAN BUS Basic2022-3-719总线仲裁CAN使用二条导线组成物理总线,所以必须采用总线仲裁机制防止数据传输冲突。冲突可能发生在两个或多个节点几乎同时向总线发送报文的时候。CAN采用非破坏性总线仲裁,不会有报文丢失。高优先级的报文赢得总线访问权,低优先级的报文则等待它们的时间到来。在1 Mbit/sec速率及11 Bit报文ID条件下,仲裁完成时间为12微秒。CAN BUS Basic2022-3-720错误侦测和故障界定跟报文确认

12、相比,CAN采用更为进取的方式来保证报文的一致性。它用错误侦测代替报文确认,可以有效地降低不必要的数据传输量。每个节点接收所有报文,经过过滤决定忽略或处理。同时,每个节点会检查报文是否遵从协议标准,若有任一节点不确认,则由发报者向总线发送一个错误帧。错误可能有两个原因:发送错误和接收错误。经过统计,确定是暂时错误还是永久故障。永久错误的节点将被移除,以免增加不必要的通信量。CAN的错误恢复时间很短,最大为23个位时间。若总线波特率为1 Mbit/sec,这个时间是23微秒。CAN BUS Basic2022-3-721CAN总线的技术特点总结多主网络报文分级非破坏性总线仲裁报文过滤通信距离长节

13、点数短帧结构数据出错率低通信介质节点故障处理2022-3-7CAN BUS Basic22使用CAN总线的好处CAN BUS Basic2022-3-723CAN控制器固件应用软件7、应用层6、表示层5、会话层4、传输层3、网络层2、数据链路层1、物理层应用层真正影响操作系统或CAN设备应用数据链路层实现前面一章介绍的所有功能物理层硬件信号电压与正时2022-3-7CAN BUS Basic24未使用高层协议使用高层协议集成在CAN芯片之中低成本实现世界主要半导体厂商都生产他们的CAN芯片,大量的应用保证了低芯片价格:MotorolaPhilipsIntelInfineon低成本地实现在新的应

14、用与TCP/IP相比,存储器需求更低CAN BUS Basic2022-3-725速度、可靠性与纠错能力在恶劣的电磁环境中运行的能力高度时效性容易使用极短的仲裁时间:微秒级极短的错误恢复时间:微秒级CAN BUS Basic2022-3-726世界性认可众多厂商提供控制器、界面卡、分析软件、高层协议主要半导体厂商支持乘用车、卡车、非路用机械CAN BUS Basic2022-3-727高层协议应用软件7、应用层6、表示层5、会话层4、传输层3、网络层2、数据链路层1、物理层在一些后来扩展的领域,需要高层协议已经有多种高层协议高层协议的功能:允许一条报文超过8字节嵌入式系统,可能需要配置成客户机

15、/服务器模式提供网络管理网络启动节点监视、同步等2022-3-7CAN BUS Basic28未使用高层协议使用高层协议ISO/OSI Reference ModelCANopen适合嵌入式应用最初为动作控制设计开发与维护:CAN-in-Automation User Group2022-3-7CAN BUS Basic29DeviceNet适合工业应用开发:Allen Bradley / Rockwell维护:Open DeviceNet Vendor Association (ODVA)规范内容:Common Industrial Protocol

16、 (CIP)DeviceNet Adaptation of CIPCAN BUS Basic2022-3-730SAE J1939为卡车、公共汽车、农业机械的应用而定义开发:Society of Automotive Engineers (SAE)The Society of Automotive Engineers (SAE) Truck and Bus Control and Communications Subcommittee被广泛接受的工业标准,应用扩展至建筑业、物料搬运、林业机械等CAN BUS Basic202

17、2-3-731CANBUS与RS485比较比较特性RS485CAN BUS成本低廉稍高总线利用率低高网络特性单主网络多主网络数据传输率低高容错机制无可靠的错误处理和检错机制通信失效率高极低节点错误的影响导致整个网络的瘫痪无任何影响通信距离小于1.5千米可达10千米(5kbps)网络调试困难非常容易开发难度大小后期维护成本高低2022-3-7CAN BUS Basic32报文帧结构CAN BUS Basic2022-3-733显性与隐性总线电平介绍帧格式之前,有必要稍微了解物理层面的知识,因为这样我们才可能说清楚一个帧起始位和总线仲裁显性电平为0V,隐性电平为5V显性位永远覆盖隐性位2022-3

18、-7CAN BUS Basic34节点A节点B节点C总线节点输出与总线电平的关系节点输出与总线电平的关系显性与隐性总线电平(续)节点ABC总线00000010010001101000101011001111相同ID的数据帧与远程帧:数据帧优先级高于远程帧数据帧的RTR位为显性远程帧的RTR位为隐性2022-3-7CAN BUS Basic35数据帧和远程帧数据帧和远程帧非常相似基本上,远程帧是不带数据场的数据帧2022-3-7CAN BUS Basic36SOF控制场CRC场ACK场EOFIFS仲裁场SOF控制场CRC场ACK场EOFIFS仲裁场数据场总线空闲总线空闲总线空闲总线空闲远程帧远程

19、帧数据帧数据帧数据帧如果RTR位为0(显性),则是一个数据帧RTR位是参与总线仲裁的一部分2022-3-7CAN BUS Basic37SOF控制场CRC场ACK场EOFIFS仲裁场数据场总线空闲总线空闲数据帧结构数据帧结构SOF11位ID总线空闲RTR控制场、数据场、等等RTR = 0:数据帧RTR = Remote Transmission Request 远程传输请求远程帧请求发送数据被请求的数据使用同一个报文ID,但RTR位不同2022-3-7CAN BUS Basic38RTR = 1:远程帧RTR = Remote Transmission Request 远程传输请求SOF11位

20、ID总线空闲RTR控制场、数据场、等等SOF控制场CRC场ACK场EOFIFS仲裁场总线空闲总线空闲远程帧结构远程帧结构报文帧格式本节解释帧结构,精确到“位”报文帧下列部分构成:帧起始(SOF)仲裁场,又分为报文ID和RTR位控制场,定义数据大小和报文ID长度数据场,真正的数据CRC场ACK场帧结束(EOF)帧间隔(帧间空间、间歇场,IFS)CAN BUS Basic2022-3-739报文帧格式(续一:帧起始与结束)总线空闲总线空闲帧起始报文标识RTR控制场数据场CRC序列ACK帧结束IFS字节数111160 641511173仲裁场CRC场帧结束ACK场位填充CAN数据帧帧间隔定界符位帧起

21、始位远程传输请求位一条报文,不管报文标识长度,都将以11个隐性位结束,包括:ACK定界符1位、帧结束场7位、帧间隔3位2022-3-7CAN BUS Basic40报文帧格式(续二:仲裁场)总线空闲帧起始11位报文标识SRR18位报文标识符DLC仲裁场位28最低有效位最高有效位IDERTRr1r0控制场位18位17位0总线空闲帧起始11位报文标识RTRDLC仲裁场位10最低有效位最高有效位IDEr0控制场位0扩展帧的仲裁场扩展帧的仲裁场标准帧的仲裁场标准帧的仲裁场2022-3-7CAN BUS Basic41报文帧格式(续三:控制场与数据场)四个最低有效位表示数据长度(DLC = Data L

22、ength Code)最高有效位IDE指示标准帧(Bit = 0)或扩展帧(Bit = 1)DLC的取值范围为0至8,表示数据场为0至8个字节远程帧的DLC必须等返回的数据帧的DLC数据场最多8字节,第一位是最高有效位2022-3-7CAN BUS Basic42仲裁场数据场(数据帧)或CRC场(远程帧)IDE:标识符扩展位控制场保留DLC3IDEr0DLC2DLC1DLC0数据长度报文帧格式(续四:CRC场)15位CRC校验码是从帧起始一直到仲裁场、控制场、数据场的校验和。不包括填充位。CRC最适合帧长度小于127位的校验。CRC定界符位永远为隐性(= 1),为CRC处理留出时间。2022-

23、3-7CAN BUS Basic43数据场(数据帧)或控制场(远程帧)ACK场CRC场15位CRC序列CRC定界符总线空闲总线空闲帧起始报文标识RTR控制场数据场CRC序列ACK帧结束IFS位填充CAN数据帧被校验的部分报文帧格式(续五:ACK场)ACK场包含一个ACK槽位加上一个永远为隐性的ACK定界符位ACK服务于所有接收节点,而不是仅仅一个接收节点在ACK槽,发送节点切换为接收模式,接收节点在CRC校验成功后输出一个显性位2022-3-7CAN BUS Basic44接收模式接收模式CRC序列传输节点接收节点接收节点CRC校验成功CRC校验失败CRC定界(隐性)ACK定界(隐性)传输节点

24、在ACK槽处为侦听模式报文帧格式(续六:帧结束场,七个隐性位)每个报文帧,无论报文标识长度,都以11个连贯的隐性位终结,即1个ACK定界符、7个帧结束位、3个帧间隔位2022-3-7CAN BUS Basic45总线空闲总线空闲帧起始报文标识RTR控制场数据场CRC序列ACK帧结束IFS位填充CAN数据帧被校验的部分CRC场ACK帧结束帧间空间1位数ACK定界符位73总线空闲扩展的CAN协议扩展的CAN协议,SAE J1939,可向后兼容J1708/J1587的功能标准帧与扩展帧可共存于同一CAN网络,但标准帧的优先级更高2022-3-7CAN BUS Basic46仲裁场数据场(数据帧)或C

25、RC场(远程帧)IDE:标识符扩展位控制场保留DLC3IDEr0DLC2DLC1DLC0数据长度仲裁场数据场(数据帧)或CRC场(远程帧)控制场DLC3r1r0DLC2DLC1DLC0数据长度保留CAN 2.0BCAN 2.0A标准格式与扩展格式一个隐性(高电平)的IDE位指示它是一个29位报文标识IDE在标准格式中属于控制场,在扩展格式中属于仲裁场2022-3-7CAN BUS Basic47总线空闲帧起始11位报文标识SRR18位报文标识符数据长度码仲裁场位28最低有效位最高有效位IDERTRr1r0控制场位18位17位0总线空闲帧起始11位报文标识RTR数据长度码仲裁场位10最低有效位最

26、高有效位IDEr0控制场位02929位报文标识位报文标识1111位报文标识位报文标识r1和r0永远保持显性错误帧错误帧可以终止数据帧和远程帧。它是利用故意破坏CAN规则而实现的(规则:SOF直到校验场,最多允许5个连续的、相同的极性。如果实际数据本身如此,就需要在发送节点插入填充位、并在接收节点使用过滤器)。2022-3-7CAN BUS Basic48未完成的帧6个位帧间空间错误条件发生错误帧3个位重新传输8个位错误标志错误界定未完成的帧6个位帧间空间错误条件发生错误帧3个位重新传输8个位错误标志错误界定06个位“现实的现实的”错误帧结构错误帧结构基本错误帧结构基本错误帧结构错误帧(错误恢复

27、时间)错误帧长度波特率总计错误恢复时间(错误帧 帧间空间)14位1 MBit/sec14 3 sec500 kBit/sec28 6 sec250 kBit/sec56 12 sec20位1 MBit/sec20 3 sec500 kBit/sec40 6 sec250 kBit/sec80 12 sec2022-3-7CAN BUS Basic49错误帧(错误标志)如果在CRC场检测到错误,错误帧将延迟到ACK场之后发送,以免与ACK场冲突2022-3-7CAN BUS Basic50数据场(数据帧)或控制场(远程帧)帧结束场CRC场15位CRC序列CRC定界符(隐性)ACK场ACK槽位AC

28、K定界位(隐性)错误帧(错误定界符)错误标志(6个连续的显性位)后的第一个隐性位为该节点发出的错误定界符等待总线电平真的变为隐性后,再发送7个连续的隐性位最先发送隐性位的节点为第一个报告错误的节点通过这一算法实现所有节点的同步,总线归于空闲状态,传输节点进入新的总线竞争,接收节点回到接收模式2022-3-7CAN BUS Basic51过载帧过载帧是一种特殊版本的错误帧,但不同于错误帧的是,不会导致前面帧的重新传输。过载帧会导致任何节点的数据帧或远程帧延迟发送。过载帧只会发生在帧与帧之间,帧结束场之后。错误帧只会发生在数据帧或远程帧内,所以被中断的帧会需要重新传输。2022-3-7CAN BU

29、S Basic52帧结束场6个位过载帧帧间空间或过载帧8个位过载标志过载界定帧间隔任何类型的帧之间的最小允许空间。此时不允许任何节点发送数据帧或远程帧,只允许过载帧发送。错误帧和过载帧不需要帧间隔。虽然帧间空间不是一个数据帧或远程帧的必要组成部分,但一个性能良好的网络中,数据帧或远程帧后面永远跟着一个帧间隔。2022-3-7CAN BUS Basic53CRC场ACK帧结束帧间空间1位数ACK定界符位73总线空闲帧长度数据场0字节数据场8字节无位填充47位111位最大位填充(最坏的情况)55位135位平均位填充49位114位2022-3-7CAN BUS Basic54传输时间数据字节帧长度波

30、特率总帧时间最大报文数每秒049位1 MBit/sec49 微秒20408500 kBit/sec98 微秒10204250 kBit/sec196 微秒51028114位1 MBit/sec114 微秒8771500 kBit/sec228 微秒4385250 kBit/sec456 微秒21922022-3-7CAN BUS Basic55波特率考量波特率kBit/sec名义位时间微秒总线长度英尺 / 米10001120 / 405002360 / 1102504920 / 28012582030 / 6202022-3-7CAN BUS Basic56带宽数据字节数总帧长度带宽使用率(最

31、高)1 (8 bits)57 位14%8 (64 bits)114 位56%11位标识数据字节数总帧长度带宽使用率(最高)1 (8 bits)78 位10%8 (64 bits)135 位47%29位标识2022-3-7CAN BUS Basic57报文广播CAN BUS Basic2022-3-758报文广播报文广播基于生产者-消费者原理。传输节点为生产者,其它节点为消费者,所有节点在同样的时间接收同样的报文。这是一个多主网络,在未发送报文时,节点都处于侦听模式,会接收总线上所有的报文,然后经过过滤,对与本节点相关的报文才做出反应。CAN网络中是没有专门用于确认接收的报文的,以免增加不必要的

32、通信量。CAN假定所有报文都遵守定义标准,否则就报告错误。并且,在一个节点发送报文时,其它所有节点都对它进行一致性检查。一旦错误发生,会通知整个网络。发生故障的节点会自动退出总线,而不至于引起整个网络瘫痪。CAN标准也定义了远程帧。本章介绍数据帧广播和远程帧广播。2022-3-7CAN BUS Basic59数据帧广播按定义,CAN节点不关心系统配置,如节点地址作为代替,节点在接收报文时会经过过滤处理在同一时刻,除发送节点外,所有其它节点处于侦听模式,它们收到完全相同的报文2022-3-7CAN BUS Basic60应用节点A缓冲器过滤器应用节点B缓冲器过滤器应用节点C缓冲器过滤器应用节点D

33、缓冲器过滤器 X远程帧广播请求报文案例:节点A发送远程帧来请求数据节点B、C和D接收报文节点D 接受报文,节点B和C拒绝2022-3-7CAN BUS Basic61应用节点A缓冲器过滤器应用节点B缓冲器过滤器应用节点C缓冲器过滤器应用节点D缓冲器过滤器 XX总线仲裁CAN BUS Basic2022-3-762总线仲裁概述由于所有节点共享由两条导线构成的总线,所以必须制定规则以避免冲突、以及从冲突中恢复不同的现场总线使用不同的方式避免冲突CAN使用报文标识来避免冲突,优先级高的报文优先使用总线,其它节点则转为侦听模式仲裁失败的报文会在总线空闲后再次进入仲裁过程,所以CAN的仲裁机制是非破坏性

34、的CAN BUS Basic2022-3-763109 8 7 6 5 4 3 2 1 0总线仲裁原理RTRSOFSOFSOF控制场节点A仲裁阶段节点B节点C节点D总线空闲空闲空闲空闲空闲数据场CRC场 ACK场 帧结束帧间隔接收模式接收模式接收模式12311位报文标识-高位在前2022-3-7CAN BUS Basic64总线仲裁规则仲裁规则以仲裁场进行仲裁,0为显性位、1为隐性位,显性位覆盖隐性位总线空闲时,任何节点都可以发起传输较小的报文标识具有较高的优先级,它将赢得仲裁而继续传输,其它节点则转为侦听模式仲裁失败的节点会在总线空闲后立即进入新的仲裁,所以CAN提供了一种非破坏性仲裁CAN

35、 BUS Basic2022-3-765“与”规则节点ABC总线00000010010001101000101011001111CAN BUS Basic2022-3-766仲裁处理流程等待帧间空间的结束传送帧起始位传送下一个仲裁位仲裁位 = 总线电平 ?全部仲裁位传输完成 ?传输剩余的报文发送了显性位?错误状态转为侦听否否否是是是CAN BUS Basic2022-3-767109 8 7 6 5 4 3 2 1 0总线仲裁示例说明RTRSOFSOFSOF控制场节点A仲裁阶段节点B节点C节点D总线空闲空闲空闲空闲空闲数据场CRC场 ACK场 帧结束帧间隔接收模式接收模式接收模式12311位报

36、文标识-高位在前2022-3-7CAN BUS Basic68数据传输同步CAN BUS Basic2022-3-769数据传输同步概述每个节点有自己的时钟,由各自的晶振提供。所以不能保证各节点的时钟是绝对同步的。事实上,由于环境温、湿度等影响,晶振一定会有公差,所以必需进行补偿。通常,电平的下降边缘用于同步。CAN采用“不归零(NRZ)”编码方式,提供了最大的传输容量,但也导致用于同步的信号下沿不足,所以CAN使用下列方案解决这一问题:位填充连续再同步CAN BUS Basic2022-3-770位编码数据转换为信号,称为编码有许多种编码方式,如不归零(Non-Return-to-Zero,

37、NRZ)编码、曼切斯特编码、脉宽调制编码CAN采用NRZ编码NRZ编码的特点:提供最高的传输容量在位时间中保持恒定电平缺乏足够的信号边缘用于比特流的同步需要进行位填充需要加入持续的位同步CAN BUS Basic2022-3-771位填充CAN标准最多允许5个极性相同的位传输发送节点每传输5个极性相同的位,要插入一个极性相反的填充位接收节点滤去这些填充位允许位填充的报文场段包括:帧起始、仲裁场、控制场、数据场、CRC序列不允许位填充的报文场段包括:CRC定界符、ACK场、帧结束场、帧间空间场错误帧和超载帧没有位填充2022-3-7CAN BUS Basic72132插入 填充位移除 填充位位正

38、时与同步位取样点位时间位时间规划同步相位错误与再同步晶振频率公差范围CAN BUS Basic2022-3-773位正时与同步(续)位定时与同步正常位时间是指在非重同步的情况下,借助理想发送器每秒发送的位时间,它可分为几个互不重迭的时间段。这些时间段包括:同步段(SYNC-SEG)、传播段(PROP-SEG)、相位缓冲段1(PHASE-SEG1)和相位缓冲段2(PHASE-SEG2),如下图所示2022-3-7CAN BUS Basic74位正时与同步(续)同步段:用于补偿总线上的各个节点,为此此段内需要有一个跳变沿。传播段:用于补偿网络内的传输延迟时间,它是信号在总线上传播时间、输入比较时间

39、和驱动器延迟时间总和的两倍。相位缓冲段1和相位缓冲段2:用于补偿沿的相位误差,通过重同步,这两个时间段可以被延长或缩短。采样点:它是这样一个时点,在此点上,仲裁电平被读取,并被理解为各位的数值,采样点位于相位缓冲段1的终点。时间份额:由振荡器周期派生出的一个固定时间单元。存在一个可编程的分度值,其整体数值范围为132,而位时间的总数必须被编程至少为825。硬同步:硬同步后,内部位时间从SYNC-SEG重新开始,因而,硬同步强迫由与硬同步而引起的沿处于重新开始的位时间同步段之内。2022-3-7CAN BUS Basic75错误侦测和故障界定CAN BUS Basic2022-3-776错误侦测

40、位监视逐位检查比较发送位电平与总线电平校验和检查作用15个位做CRC校验可变的位填充违反位填充规则即形成位填充错误帧检查所有节点都会检查报文帧是否符合标准ACK检查所有接收节点进行ACK检查发送节点有责任ACK位并且在必要时发送错误帧CAN BUS Basic2022-3-777位监视 - 不属位错误的三种例外在仲裁期间,总线电平为显性,节点发送隐性位。虽然总线与该节点电平不符,但不会引出一个位错误。在ACK槽位,总线电平为显性,节点发送隐性位。节点在发送一个被动错误帧(6个连续的隐性位)时,若检测到一个显性位,也不会导致位错误。CAN BUS Basic2022-3-778帧检查错误报文中有

41、一些场始终是静态的(隐性),这些场中出现显性位就是帧错误:CRC定界符ACK定界符帧结束场帧间空间场也有三种例外情况:一个接收节点,在帧结束场的最后一位监测到一个显性位任何节点在错误定界符的最后一个位监测到一个显性位任何节点在过载定界符的最后一个位监测到一个显性位CAN BUS Basic2022-3-779故障界定错误激活节点可以照常参加总线通讯,且当检测到错误时,送出一个活动错误标志。不允许错误认可节点送出活动错误标志,它可参与总线通讯,但当检测到错误时,只能送出认可错误标志,且发送后仍被错误认可,直到下次发送初始化。总线关闭状态不允许节点对总线由任何影响,三种状态转换关系如下页图所示。C

42、AN BUS Basic2022-3-780节点故障状态为了界定故障,在每个总线节点中都设有两种计数:发送出错计数和接收出错计数,这些计数按照一定规则进行,计数值的范围为0-256,当错误计数器数值大于96时,说明总线被严重干扰。2022-3-7CAN BUS Basic81错误激活错误认可总线关闭TEC 255TEC 128 或 REC 128TEC 127 和 REC 127重新启动11个连续隐性位128次错误计数规则接收器检查出错误时,接收器错误计数器加1,除非所有检测错误是发送活动错误标志或超载标志期间的位错误。接收器在送出错误标志后的第一位检查出显性位时,错误计数器加8。发送器送出一个错误标志时,发送器错误计数器加8。有两种情况例外:其一是如果发送器为错误认可,由于未检测到显性位应答或检测到应答错误,并且在送出

温馨提示

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

评论

0/150

提交评论