版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 内容提要 一、CAN总线概述 二、CAN总线主要规格参数 三、使用CAN总线的好处 四、报文帧结构(Message Frames) 五、报文广播(Message Broadcasting) 六、总线仲裁(Bus Arbitration) 七、数据传输同步(Data Transfer Synchronization) 八、错误侦测和故障界定(Error Detection and Fault Confinement) 九、物理层(Physical Layer) 2021-7-12CAN BUS Basic2 CAN总线概述 CAN BUS Basic2021-7-123 概述 控制器局域网络(
2、Controller Area Network,简称CAN)主要用于各 种过程(设备)监测及控制。 CAN最初是由德国的Bosch公司为 汽车的监测与控制设计的,但由 于CAN总线本身的突出特点,其 应用领域目前已不再局限于汽车 行业。 简化了程序员的工作,把总线仲 裁、错误侦测和故障界定等工作 都集成到了芯片之中。 2021-7-12CAN BUS Basic4 什么是CAN? 用于实时应用的串行数据通信总线 成本效能高于其它串行系统如RS232和TCP/IP 比其它串行总线系统更容易使用 最高波特率1MBit/sec 卓越的错误侦测和故障界定能力 极高的可靠性 大量用于工业自动化和控制应用
3、 替代昂贵和复杂的Dual-Port RAM技术 已经成为国际标准:ISO11898 CAN BUS Basic2021-7-125 发展历程-从构想到第一块芯片 CAN BUS Basic2021-7-126 CAN简史 年份年份里程碑里程碑 1983Bosch启动车辆网络发展项目 1986CAN协议正式推出 1987Intel和Philips公司推出各自的第一款CAN控制芯片 1991Bosch发布CAN 2.0规范 1992CiA (CAN in Automation)国际用户和制造商协会成立 1992CiA发布CAN应用层协议(CAL) 1992第一台装备CAN的汽车从Mercedes
4、-Benz出厂 1993ISO 11898发布 1994CiA组织第一届国际CAN会议iCC (International CAN Conference) 1994Allen-Bradley发布DeviceNet协议 1995ISO 11898修订版发布,定义了扩展帧格式 1995CiA发布CANopen协议 2021-7-12CAN BUS Basic7 CAN应用 乘用车 卡车和公共汽车 非路用车辆 客运及货运列车 船用电子 航空及航天电子 工厂自动化 工业机器控制 建筑自动化 升降机和自动扶梯 医疗设备 其它更多领域 2021-7-12CAN BUS Basic8 CAN-in-Auto
5、mation (CiA) CiA是国际用户与制造商组织,它发展和支持CAN标准和基于CAN的高层 协议。 所有的活动都是基于会员的兴趣、参与和主动。 CiA积极推动CAN成为国际标准与国家标准。 CiA起草和发布CiA标准。 这些标准包括不仅物理层定义,而且包括应用层和设备属性描述。 网址: 2021-7-12CAN BUS Basic9 国际标准ISO 11898 ISO 11898包括以下部分: 数据链路层和物理信号 高速介质访问单元(medium access unit) 低速、容错的(fault-tolerant)、专用媒体界面(medium
6、dependent interface) 时间触发的通信 2021-7-12CAN BUS Basic10 CAN总线主要规格参数 CAN BUS Basic2021-7-1211 CAN性质概述 基于总线访问的多主机通信 非破坏性仲裁 多路广播,报文验收滤波 远程数据请求 配置灵活性 全系统范围的数据一致性 错误侦测和错误信号报告 自动重发仲裁失败的报文 自动重发被错误破坏的报文 识别节点的暂时错误与永久失效 自发注销(deactivation)有缺陷的节点 2021-7-12CAN BUS Basic12 帧 在CAN的标准语言中,报文被称为“帧”。发送
7、到总线上的帧必须遵守 一定格式且有长度限制。CAN总线定义了四种不同的帧,用于总线通讯。 1、最常用的是“数据帧”,用于一个节点传送信息到其它任一或所有节点; 2、“远程帧”,基本上是一个数据帧但其中的RTR位被置1,表明这是一个 “远端发送请求”,用于一个节点主动要求其它节点发送信息; 3 、“错误帧”,如果节点在接收过程中检测到任一在CAN总线协议中定义 了的错误信息,它就会发送一个错误帧; 4、“过载帧”,当一个节点正忙于处理接收的信息,需要额外的等待时间 接收下一报文时,可以发送过载帧,通知其它节点暂缓发送新报文。 2021-7-12CAN BUS Basic13 多主机总线访问 为保
8、证节点之间的直接通信、提供最大速度及可靠性,CAN不采用主/从 网络结构。 所有节点都具有同等的权利,每一个节点在传输/请求数据时都是一个主 机。 采用非破坏性总线仲裁解决冲突问题,传输的优先权由报文本身的仲裁 位决定(较小的ID有较大的优先权)。 仲裁失败的报文不会丢失,只是暂缓发送。 2021-7-12CAN BUS Basic14 如何实现非破坏性的位仲裁? 为了达到这种“非破坏性的位仲裁方式”,CAN总线协议必须满足一些前提 条件。首先,必须定义两种逻辑状态在这里叫作“支配位(DOMINANT)” (又称“显性”电平)和“顺从位(RECESSIVE)”(又称 “隐性”电平);然后, 节
9、点在发送过程中必须检测刚刚发出的状态是否就是信息中所描述的内容。 在CAN总线的定义中,逻辑0为支配位,逻辑1为顺从位。 2021-7-12CAN BUS Basic15 平均电压电平U 隐性位隐性位显性位时间T VdiffVdiffVdiff 报文广播 报文广播基于生产者/消费者原理。一个节点在发送报文时就是生产者, 其余节点都是消费者。 每个节点一直侦听着总线,接收所有的报文,然后进行过滤。 没有报文确认,以免增加不必要的总线通信量。CAN通过“错误检测” 机制处理可能的问题。 另外,还利用“故障界定”机制排除故障节点,让总线恢复正常。 当然,CAN也可以运用“远程帧”进行数据请求。 CA
10、N BUS Basic2021-7-1216 报文优先级 CAN节点不关心系统配置,如节点地址等。 CAN数据传输是以唯一的报文ID(11位或29位)来区分的,同时它又代表了 报文优先级。 较小的ID优先级较高。 即使总线负载较高,高优先级的报文也会以最快的时间发送。 报文传输是以事件驱动的,可以降低总线负载,保证实时应用的时效性。 CAN BUS Basic2021-7-1217 短报文 CAN报文支持0至8字节的数据长度,与其它技术相比,这是一种比较短 的报文。 短报文有利于提高时效性(针对高优先级报文),以及恶劣电磁环境的承 受能力。 有些高层协议支持更长的报文,可以被更高优先级的短报文
11、中断,之后 再恢复传输。 Process Data Objects = PDO Service Data Object = SDO CAN BUS Basic2021-7-1218 数据速率和报文频率 虽说CAN的最高速率1 Mbit/sec不像是很高,但结合短报文、高效防冲突 机制、错误检测及故障界定能力等特点,让CAN更适合实时应用。 TCP/IP拥有100 Mbit/sec的数据传输速率,但不强制要求时间的精确,故 不太适合实时应用。 CAN的净数据传输率为17543至70168数据字节每秒。 CAN BUS Basic2021-7-1219 总线仲裁 CAN使用二条导线组成物理总线,所
12、以必须采用总线仲裁机制防止数据 传输冲突。 冲突可能发生在两个或多个节点几乎同时向总线发送报文的时候。 CAN采用非破坏性总线仲裁,不会有报文丢失。高优先级的报文赢得总 线访问权,低优先级的报文则等待它们的时间到来。 在1 Mbit/sec速率及11 Bit报文ID条件下,仲裁完成时间为12微秒。 CAN BUS Basic2021-7-1220 错误侦测和故障界定 跟报文确认相比,CAN采用更为进取的方式来保证报文的一致性。它用 错误侦测代替报文确认,可以有效地降低不必要的数据传输量。 每个节点接收所有报文,经过过滤决定忽略或处理。同时,每个节点会 检查报文是否遵从协议标准,若有任一节点不确
13、认,则由发报者向总线 发送一个错误帧。 错误可能有两个原因:发送错误和接收错误。经过统计,确定是暂时错 误还是永久故障。 永久错误的节点将被移除,以免增加不必要的通信量。 CAN的错误恢复时间很短,最大为23个位时间。若总线波特率为1 Mbit/sec,这个时间是23微秒。 CAN BUS Basic2021-7-1221 CAN总线的技术特点总结 多主网络 报文分级 非破坏性总线仲裁 报文过滤 通信距离长 节点数 短帧结构 数据出错率低 通信介质 节点故障处理 2021-7-12CAN BUS Basic22 使用CAN总线的好处 CAN BUS Basic2021-7-1223 CAN控制
14、器固件 应用软件 7、应用层 6、表示层 5、会话层 4、传输层 3、网络层 2、数据链路层 1、物理层 应用层 真正影响操作系统或CAN设备应 用 数据链路层 实现前面一章介绍的所有功能 物理层 硬件 信号电压与正时 2021-7-12CAN BUS Basic24 未 使 用 高 层 协 议 使 用 高 层 协 议 集成在CAN芯片之中 低成本实现 世界主要半导体厂商都生产他们的CAN芯片,大量的应用保证了低芯片 价格: Motorola Philips Intel Infineon 低成本地实现在新的应用 与TCP/IP相比,存储器需求更低 CAN BUS Basic2021-7-122
15、5 速度、可靠性与纠错能力 在恶劣的电磁环境中运行的能力 高度时效性 容易使用 极短的仲裁时间:微秒级 极短的错误恢复时间:微秒级 CAN BUS Basic2021-7-1226 世界性认可 众多厂商提供控制器、界面卡、分析软件、高层协议 主要半导体厂商支持 乘用车、卡车、非路用机械 CAN BUS Basic2021-7-1227 高层协议 应用软件 7、应用层 6、表示层 5、会话层 4、传输层 3、网络层 2、数据链路层 1、物理层 在一些后来扩展的领域,需要高 层协议 已经有多种高层协议 高层协议的功能: 允许一条报文超过8字节 嵌入式系统,可能需要配置成客 户机/服务器模式 提供网
16、络管理 网络启动 节点监视、同步等 2021-7-12CAN BUS Basic28 未 使 用 高 层 协 议 使 用 高 层 协 议 ISO/OSI Reference Model CANopen 适合嵌入式应用 最初为动作控制设计 开发与维护:CAN-in-Automation User Group 2021-7-12CAN BUS Basic29 DeviceNet 适合工业应用 开发:Allen Bradley / Rockwell 维护:Open DeviceNet Vendor Association (ODVA) 规范内容: Comm
17、on Industrial Protocol (CIP) DeviceNet Adaptation of CIP CAN BUS Basic2021-7-1230 SAE J1939 为卡车、公共汽车、农业机械的应用而定义 开发:Society of Automotive Engineers (SAE) The Society of Automotive Engineers (SAE) Truck and Bus Control and Communications Subcommittee 被广泛接受的工业标准,应用扩
18、展至建筑业、物料搬运、林业机械等 CAN BUS Basic2021-7-1231 CANBUS与RS485比较 比较 特性RS485CAN BUS 成本低廉稍高 总线利用率低高 网络特性单主网络多主网络 数据传输率低高 容错机制无可靠的错误处理和检错机制 通信失效率高极低 节点错误的影响导致整个网络的瘫痪无任何影响 通信距离小于1.5千米可达10千米(5kbps) 网络调试困难非常容易 开发难度大小 后期维护成本高低 2021-7-12CAN BUS Basic32 报文帧结构 CAN BUS Basic2021-7-1233 显性与隐性总线电平 介绍帧格式之前,有必要稍微了解物理层面的知识
19、,因为这样我们才可能说清楚一个 帧起始位和总线仲裁 显性电平为0V,隐性电平为5V 显性位永远覆盖隐性位 2021-7-12CAN BUS Basic34 节点A 节点B 节点C 总线 节点输出与总线电平的关系节点输出与总线电平的关系 显性与隐性总线电平(续) 节点 ABC总线 0000 0010 0100 0110 1000 1010 1100 1111 相同ID的数据帧与远程帧:数据 帧优先级高于远程帧 数据帧的RTR位为显性 远程帧的RTR位为隐性 2021-7-12CAN BUS Basic35 数据帧和远程帧 数据帧和远程帧非常相似 基本上,远程帧是不带数据场的数据帧 2021-7-
20、12CAN BUS Basic36 S O F 控制场 CRC 场 ACK 场 EOFIFS仲裁场 S O F 控制场 CRC 场 ACK 场 EOFIFS仲裁场数据场总线空闲总线空闲 总线空闲总线空闲 远程帧远程帧 数据帧数据帧 数据帧 如果RTR位为0(显性),则是一个数据帧 RTR位是参与总线仲裁的一部分 2021-7-12CAN BUS Basic37 S O F 控制场 CRC 场 ACK 场 EOFIFS仲裁场数据场总线空闲总线空闲 数据帧结构数据帧结构 S O F 11位ID总线空闲 R T R 控制场、数据场、等等 RTR = 0:数据帧 RTR = Remote Transm
21、ission Request 远程传输请求 远程帧 请求发送数据 被请求的数据使用同一个报文ID,但RTR位不同 2021-7-12CAN BUS Basic38 RTR = 1:远程帧 RTR = Remote Transmission Request 远程传输请求 S O F 11位ID总线空闲 R T R 控制场、数据场、等等 S O F 控制场 CRC 场 ACK 场 EOFIFS仲裁场总线空闲总线空闲 远程帧结构远程帧结构 报文帧格式 本节解释帧结构,精确到“位” 报文帧下列部分构成: 帧起始(SOF) 仲裁场,又分为报文ID和RTR位 控制场,定义数据大小和报文ID长度 数据场,真
22、正的数据 CRC场 ACK场 帧结束(EOF) 帧间隔(帧间空间、间歇场,IFS) CAN BUS Basic2021-7-1239 报文帧格式(续一:帧起始与结束) 总线空闲总线空闲 帧 起 始 报文标识 R T R 控制场数据场CRC序列 A C K 帧结束 I F S 字节数111160 641511173 仲裁场CRC场帧结束 ACK场 位填充 CAN数据帧 帧间隔 定界符位帧起始位远程传输请求位 一条报文,不管报文标识长度,都将以11个隐性位结束,包括:ACK定界符1位、帧结 束场7位、帧间隔3位 2021-7-12CAN BUS Basic40 报文帧格式(续二:仲裁场) 总线空闲
23、 帧 起 始 11位报文标识 S R R 18位报文标识符DLC 仲裁场 位28 最低有效位最高有效位 I D E R T R r1r0 控制场 位18位17位0 总线空闲 帧 起 始 11位报文标识 R T R DLC 仲裁场 位10 最低有效位最高有效位 I D E r0 控制场 位0 扩展帧的仲裁场扩展帧的仲裁场 标准帧的仲裁场标准帧的仲裁场 2021-7-12CAN BUS Basic41 报文帧格式(续三:控制场与数据场) 四个最低有效位表示数据长度(DLC = Data Length Code) 最高有效位IDE指示标准帧(Bit = 0)或扩展帧(Bit = 1) DLC的取值范
24、围为0至8,表示数据场为0至8个字节 远程帧的DLC必须等返回的数据帧的DLC 数据场最多8字节,第一位是最高有效位 2021-7-12CAN BUS Basic42 仲裁场数据场(数据帧)或CRC场(远程帧) IDE:标识符扩展位 控制场 保留 D L C 3 I D E r0D L C 2 D L C 1 D L C 0 数据长度 报文帧格式(续四:CRC场) 15位CRC校验码是从帧起始一直到仲裁场、控制场、数据场的校验和。不包括填充位。 CRC最适合帧长度小于127位的校验。 CRC定界符位永远为隐性(= 1),为CRC处理留出时间。 2021-7-12CAN BUS Basic43
25、数据场(数据帧)或控制场(远程帧)ACK场 CRC场 15位CRC序列 CRC定界符 总线空闲总线空闲 帧 起 始 报文标识 R T R 控制场数据场CRC序列 A C K 帧结束 I F S 位填充 CAN数据帧 被校验的部分 报文帧格式(续五:ACK场) ACK场包含一个ACK槽位加上一个永远为隐性的ACK定界符位 ACK服务于所有接收节点,而不是仅仅一个接收节点 在ACK槽,发送节点切换为接收模式,接收节点在CRC校验成功后输出一 个显性位 2021-7-12CAN BUS Basic44 接收模式 接收模式 CRC序列传输节点 接收节点 接收节点 CRC校验成功 CRC校验失败 CRC
26、定界(隐性)ACK定界(隐性) 传输节点在ACK槽处为侦听模式 报文帧格式(续六:帧结束场,七个隐性位) 每个报文帧,无论报文标识长度,都以11个连贯的隐性位终结,即1个 ACK定界符、7个帧结束位、3个帧间隔位 2021-7-12CAN BUS Basic45 总线空闲总线空闲 帧 起 始 报文标识 R T R 控制场数据场CRC序列 A C K 帧结束 I F S 位填充 CAN数据帧 被校验的部分 CRC场 A C K 帧结束帧间空间 1位数 ACK定界符位 73 总线空闲 扩展的CAN协议 扩展的CAN协议,SAE J1939,可向后兼容J1708/J1587的功能 标准帧与扩展帧可共
27、存于同一CAN网络,但标准帧的优先级更高 2021-7-12CAN BUS Basic46 仲裁场数据场(数据帧)或CRC场(远程帧) IDE:标识符扩展位 控制场 保留 D L C 3 I D E r0D L C 2 D L C 1 D L C 0 数据长度 仲裁场数据场(数据帧)或CRC场(远程帧) 控制场 D L C 3 r1r0D L C 2 D L C 1 D L C 0 数据长度保留 CAN 2.0B CAN 2.0A 标准格式与扩展格式 一个隐性(高电平)的IDE位指示它是一个29位报文标识 IDE在标准格式中属于控制场,在扩展格式中属于仲裁场 2021-7-12CAN BUS
28、Basic47 总线空闲 帧 起 始 11位报文标识 S R R 18位报文标识符数据长度码 仲裁场 位28 最低有效位最高有效位 I D E R T R r1r0 控制场 位18位17位0 总线空闲 帧 起 始 11位报文标识 R T R 数据长度码 仲裁场 位10 最低有效位最高有效位 I D E r0 控制场 位0 2929位报文标识位报文标识 1111位报文标识位报文标识 r1和r0永远保持 显性 错误帧 错误帧可以终止数据帧和远程帧。它是利用故意破坏CAN规则而实现的(规则: SOF直到校验场,最多允许5个连续的、相同的极性。如果实际数据本身如此, 就需要在发送节点插入填充位、并在接
29、收节点使用过滤器)。 2021-7-12CAN BUS Basic48 未完成的帧6个位 帧间空间 错误条件发生 错误帧 3个位重新传输8个位 错误标志错误界定 未完成的帧6个位 帧间空间 错误条件发生 错误帧 3个位重新传输8个位 错误标志错误界定 06个位 “现实的现实的”错误帧结构错误帧结构 基本错误帧结构基本错误帧结构 错误帧(错误恢复时间) 错误帧长度波特率 总计错误恢复时间 (错误帧 帧间空间) 14位1 MBit/sec14 3 sec 500 kBit/sec28 6 sec 250 kBit/sec56 12 sec 20位1 MBit/sec20 3 sec 500 kBi
30、t/sec40 6 sec 250 kBit/sec80 12 sec 2021-7-12CAN BUS Basic49 错误帧(错误标志) 如果在CRC场检测到错误,错误帧将延迟到ACK场之后发送,以免与ACK 场冲突 2021-7-12CAN BUS Basic50 数据场(数据帧)或控制场(远程帧)帧结束场 CRC场 15位CRC序列 CRC定界符 (隐性) ACK场 ACK槽位 ACK定界位(隐性) 错误帧(错误定界符) 错误标志(6个连续的显性位)后的第一个隐性位为该节点发出的错误定界 符 等待总线电平真的变为隐性后,再发送7个连续的隐性位 最先发送隐性位的节点为第一个报告错误的节点
31、 通过这一算法实现所有节点的同步,总线归于空闲状态,传输节点进入 新的总线竞争,接收节点回到接收模式 2021-7-12CAN BUS Basic51 过载帧 过载帧是一种特殊版本的错误帧,但不同于错误帧的是,不会导致前面 帧的重新传输。 过载帧会导致任何节点的数据帧或远程帧延迟发送。 过载帧只会发生在帧与帧之间,帧结束场之后。 错误帧只会发生在数据帧或远程帧内,所以被中断的帧会需要重新传输。 2021-7-12CAN BUS Basic52 帧结束场 6个位 过载帧 帧间空间 或过载帧 8个位 过载标志过载界定 帧间隔 任何类型的帧之间的最小允许空间。 此时不允许任何节点发送数据帧或远程帧,
32、只允许过载帧发送。 错误帧和过载帧不需要帧间隔。 虽然帧间空间不是一个数据帧或远程帧的必要组成部分,但一个性能良 好的网络中,数据帧或远程帧后面永远跟着一个帧间隔。 2021-7-12CAN BUS Basic53 CRC场 A C K 帧结束帧间空间 1位数 ACK定界符位 73 总线空闲 帧长度 数据场 0字节 数据场 8字节 无位填充47位111位 最大位填充 (最坏的情况) 55位135位 平均位填充49位114位 2021-7-12CAN BUS Basic54 传输时间 数据字节帧长度波特率总帧时间最大报文数每秒 049位1 MBit/sec49 微秒20408 500 kBit/
33、sec98 微秒10204 250 kBit/sec196 微秒5102 8114位1 MBit/sec114 微秒8771 500 kBit/sec228 微秒4385 250 kBit/sec456 微秒2192 2021-7-12CAN BUS Basic55 波特率考量 波特率 kBit/sec 名义位时间 微秒 总线长度 英尺 / 米 10001120 / 40 5002360 / 110 2504920 / 280 12582030 / 620 2021-7-12CAN BUS Basic56 带宽 数据字节数总帧长度带宽使用率(最高) 1 (8 bits)57 位14% 8 (6
34、4 bits)114 位56% 11位标识 数据字节数总帧长度带宽使用率(最高) 1 (8 bits)78 位10% 8 (64 bits)135 位47% 29位标识 2021-7-12CAN BUS Basic57 报文广播 CAN BUS Basic2021-7-1258 报文广播 报文广播基于生产者-消费者原理。传输节点为生产者,其它节点为消费 者,所有节点在同样的时间接收同样的报文。 这是一个多主网络,在未发送报文时,节点都处于侦听模式,会接收总 线上所有的报文,然后经过过滤,对与本节点相关的报文才做出反应。 CAN网络中是没有专门用于确认接收的报文的,以免增加不必要的通信 量。CA
35、N假定所有报文都遵守定义标准,否则就报告错误。并且,在一 个节点发送报文时,其它所有节点都对它进行一致性检查。 一旦错误发生,会通知整个网络。发生故障的节点会自动退出总线,而 不至于引起整个网络瘫痪。 CAN标准也定义了远程帧。 本章介绍数据帧广播和远程帧广播。 2021-7-12CAN BUS Basic59 数据帧广播 按定义,CAN节点不关心系统配置,如节点地址 作为代替,节点在接收报文时会经过过滤处理 在同一时刻,除发送节点外,所有其它节点处于侦听模式,它们收到完 全相同的报文 2021-7-12CAN BUS Basic60 应用 节点A 缓冲器 过滤器 应用 节点B 缓冲器 过滤器
36、 应用 节点C 缓冲器 过滤器 应用 节点D 缓冲器 过滤器 X 远程帧广播 请求报文案例: 节点A发送远程帧来请求数据 节点B、C和D接收报文 节点D 接受报文,节点B和C拒绝 2021-7-12CAN BUS Basic61 应用 节点A 缓冲器 过滤器 应用 节点B 缓冲器 过滤器 应用 节点C 缓冲器 过滤器 应用 节点D 缓冲器 过滤器 XX 总线仲裁 CAN BUS Basic2021-7-1262 总线仲裁概述 由于所有节点共享由两条导线构成的总线,所以必须制定规则以避免冲 突、以及从冲突中恢复 不同的现场总线使用不同的方式避免冲突 CAN使用报文标识来避免冲突,优先级高的报文优
37、先使用总线,其它节 点则转为侦听模式 仲裁失败的报文会在总线空闲后再次进入仲裁过程,所以CAN的仲裁机 制是非破坏性的 CAN BUS Basic2021-7-1263 1 0 9 8 7 6 5 4 3 2 1 0 总线仲裁原理 R T R S O F S O F S O F 控制场 节点A 仲裁阶段 节点B 节点C 节点D 总线 空闲 空闲 空闲 空闲 空闲 数据场CRC场 ACK场 帧结束帧间隔 接收模式 接收模式 接收模式 123 11位报文标识-高位在前 2021-7-12CAN BUS Basic64 总线仲裁规则 仲裁规则 以仲裁场进行仲裁,0为显性位、1为隐性位,显性位覆盖隐性
38、位 总线空闲时,任何节点都可以发起传输 较小的报文标识具有较高的优先级,它将赢得仲裁而继续传输,其它节点则 转为侦听模式 仲裁失败的节点会在总线空闲后立即进入新的仲裁,所以CAN提供了一种非 破坏性仲裁 CAN BUS Basic2021-7-1265 “与”规则 节点 ABC总线 0000 0010 0100 0110 1000 1010 1100 1111 CAN BUS Basic2021-7-1266 仲裁处理流程 等待帧间空间 的结束 传送帧 起始位 传送下 一个仲 裁位 仲裁位 = 总线 电平 ? 全部仲 裁位传 输完 成 ? 传输剩 余的报 文 发送了 显性位? 错误状态 转为侦
39、听 否 否 否 是 是 是 CAN BUS Basic2021-7-1267 1 0 9 8 7 6 5 4 3 2 1 0 总线仲裁示例说明 R T R S O F S O F S O F 控制场 节点A 仲裁阶段 节点B 节点C 节点D 总线 空闲 空闲 空闲 空闲 空闲 数据场CRC场 ACK场 帧结束帧间隔 接收模式 接收模式 接收模式 123 11位报文标识-高位在前 2021-7-12CAN BUS Basic68 数据传输同步 CAN BUS Basic2021-7-1269 数据传输同步概述 每个节点有自己的时钟,由各自的晶振提供。所以不能保证各节点的时 钟是绝对同步的。事实上
40、,由于环境温、湿度等影响,晶振一定会有公 差,所以必需进行补偿。 通常,电平的下降边缘用于同步。 CAN采用“不归零(NRZ)”编码方式,提供了最大的传输容量,但也导致 用于同步的信号下沿不足,所以CAN使用下列方案解决这一问题: 位填充 连续再同步 CAN BUS Basic2021-7-1270 位编码 数据转换为信号,称为编码 有许多种编码方式,如不归零(Non-Return-to-Zero,NRZ)编码、曼切斯特 编码、脉宽调制编码 CAN采用NRZ编码 NRZ编码的特点: 提供最高的传输容量 在位时间中保持恒定电平 缺乏足够的信号边缘用于比特流的同步 需要进行位填充 需要加入持续的位
41、同步 CAN BUS Basic2021-7-1271 位填充 CAN标准最多允许5个极性相同的位传输 发送节点每传输5个极性相同的位,要插入一个极性相反的填充位 接收节点滤去这些填充位 允许位填充的报文场段包括:帧起始、仲裁场、控制场、数据场、CRC序列 不允许位填充的报文场段包括:CRC定界符、ACK场、帧结束场、帧间空间场 错误帧和超载帧没有位填充 2021-7-12CAN BUS Basic72 1 3 2 插入 填充位 移除 填充位 位正时与同步 位取样点 位时间 位时间规划 同步 相位错误与再同步 晶振频率公差范围 CAN BUS Basic2021-7-1273 位正时与同步(续
42、) 位定时与同步 正常位时间是指在非重同步的情况下,借助理想发送器每秒发送的位时 间,它可分为几个互不重迭的时间段。这些时间段包括:同步段(SYNC- SEG)、传播段(PROP-SEG)、相位缓冲段1(PHASE-SEG1)和相位缓冲段 2(PHASE-SEG2),如下图所示 2021-7-12CAN BUS Basic74 位正时与同步(续) 同步段:用于补偿总线上的各个节点,为此此段内需要有一个跳变沿。 传播段:用于补偿网络内的传输延迟时间,它是信号在总线上传播时间、 输入比较时间和驱动器延迟时间总和的两倍。 相位缓冲段1和相位缓冲段2:用于补偿沿的相位误差,通过重同步,这 两个时间段可
43、以被延长或缩短。 采样点:它是这样一个时点,在此点上,仲裁电平被读取,并被理解为 各位的数值,采样点位于相位缓冲段1的终点。 时间份额:由振荡器周期派生出的一个固定时间单元。存在一个可编程 的分度值,其整体数值范围为132,而位时间的总数必须被编程至少为 825。 硬同步:硬同步后,内部位时间从SYNC-SEG重新开始,因而,硬同步强 迫由与硬同步而引起的沿处于重新开始的位时间同步段之内。 2021-7-12CAN BUS Basic75 错误侦测和故障界定 CAN BUS Basic2021-7-1276 错误侦测 位监视 逐位检查比较发送位电平与总线电平 校验和检查 作用15个位做CRC校
44、验 可变的位填充 违反位填充规则即形成位填充错误 帧检查 所有节点都会检查报文帧是否符合标准 ACK检查 所有接收节点进行ACK检查 发送节点有责任ACK位并且在必要时发送错误帧 CAN BUS Basic2021-7-1277 位监视 - 不属位错误的三种例外 在仲裁期间,总线电平为显性,节点发送隐性位。虽然总线与该节点电 平不符,但不会引出一个位错误。 在ACK槽位,总线电平为显性,节点发送隐性位。 节点在发送一个被动错误帧(6个连续的隐性位)时,若检测到一个显性位, 也不会导致位错误。 CAN BUS Basic2021-7-1278 帧检查错误 报文中有一些场始终是静态的(隐性),这些
45、场中出现显性位就是帧错误: CRC定界符 ACK定界符 帧结束场 帧间空间场 也有三种例外情况: 一个接收节点,在帧结束场的最后一位监测到一个显性位 任何节点在错误定界符的最后一个位监测到一个显性位 任何节点在过载定界符的最后一个位监测到一个显性位 CAN BUS Basic2021-7-1279 故障界定 错误激活节点可以照常参加总线通讯,且当检测到错误时,送出一个活 动错误标志。 不允许错误认可节点送出活动错误标志,它可参与总线通讯,但当检测 到错误时,只能送出认可错误标志,且发送后仍被错误认可,直到下次 发送初始化。 总线关闭状态不允许节点对总线由任何影响,三种状态转换关系如下页 图所示
46、。 CAN BUS Basic2021-7-1280 节点故障状态 为了界定故障,在每个总线节点中都设有两种计数:发送出错计数和接 收出错计数,这些计数按照一定规则进行,计数值的范围为0-256,当错 误计数器数值大于96时,说明总线被严重干扰。 2021-7-12CAN BUS Basic81 错误激活 错误认可总线关闭 TEC 255 TEC 128 或 REC 128 TEC 127 和 REC 127 重新启动 11个连续隐性位128次 错误计数规则 接收器检查出错误时,接收器错误计数器加1,除非所有检测错误是发送活动错误标志 或超载标志期间的位错误。 接收器在送出错误标志后的第一位检查出显性位时,错误计数器加8。 发送器送出一个错误标志时,发送器错误计数器加8。有两种情况例外:其一是如果发 送器为错误认可,由于未检测到显性位应答
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外研八下英语Unit 2 Developing ideas《合作探究三》课件
- 2025 高中信息技术数据结构在游戏道具强化成功率算法设计课件
- 2026年木屑购买合同(1篇)
- 中国当代教育发展介绍【课件文档】
- 国际会展娱乐中心项目可行性研究报告
- 心血管系统疾病的病理变化
- 四川省宜宾市普通高中2023级第二次诊断性测试化学+答案
- 2026年及未来5年市场数据中国旅游O2O行业发展监测及市场发展潜力预测报告
- 青少年安全自护教育:守护成长每一刻
- 农业气象灾害防御与应对策略
- 密码学课件 分组密码的使用
- 统编版语文三年级上册第三单元快乐读书吧:伊索寓言 导读课 课件
- 美丽的夏牧场同声合唱谱
- 山西职业技术学院单招《语文》考试复习题库(含答案)
- 陕西特色美食文化介绍推介PPT图文课件
- 特种水处理工艺运行与管理-含铁含锰水给水处理
- 四年级数学智算365(课后拓展题)
- 广西平果县太平矿区那烈矿段铝土矿矿山地质环境保护与土地复垦方案
- 步进电机及其工作原理
- 护理查房慢性肾脏病5期护理查房
- 公差分析高级
评论
0/150
提交评论