CAN总线原理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CAN总线系统数据传输的基本概念
报文―报文就是在总线上所传送的信息,该信息以不同的报 文传送,但报文长度要受帧结构的限制。当总线空闲时,任 何连接的单元均可开始发送一个新报文。 帧传送―在总线上传输的报文以帧结构进行传输。报文传送 由4种不同类型的帧来表示和控制:数据帧、远程帧、出错 帧和超载帧。 仲裁―仲裁用于处理总线访问冲突。方法是依据其报文优先 权,而优先权由报文标识符与RTR位来唯一确定。 标识符―一个报文的内容由其标识符ID命名,ID并不指出报 文的目的,但描述了数据的含义,以便网络中的所有节点有 可能借助报文滤波来决定该数据是否使它们激活。
CAN总线系统数据的格式
CAN总线系统数据的格式
数据场―存储在发送缓冲器数据区或接收缓冲器数据区中以待发送或接收的数 据。按字节存储的数据可由微控制器发送到网络中,也可由其它节点接收。其 中第一个字节的最高位首先被发送或接收。 CRC场―又名循环冗余码校验场,包括CRC序列(15位)和CRC界定符(1个隐 性位)。CRC场通过一种多项式的运算,来检查报文传输过程中的错误并自动 纠正错误。这一步由控制器自身来完成。 应答场―包括应答间隙和应答界定符两位。在ACK场(应答场)里,发送节点 发送两个“隐性”位。当接收器正确地接收到有效的报文,接收器就会在应答 间隙(ACK Slot)期间向发送器发送一“显性”位以示应答。 帧结束―每一个数据帧和远程帧均结束于帧结束序列,它由7个隐性位组成。
CAN总线系统数据的格式
超载帧:由超载标识和超载界定符组成。 在CAN中,存在两个条件导致发送超载帧。一个是接收器未准备就绪, 另一个是在间隙场检测到显性位。
CAN总线系统数据的格式
帧间空间:数据帧(或远程帧)与先行帧的隔离是通过帧间空间实现的, 无论此先行帧类型如何(数据帧、远程帧、错误帧、过载帧)。 所不同的是,过载帧与错误帧之前没有帧间空间,多个过载帧之间也不 是由帧间空间隔离的。
约2,5 V
Antrieb 驱动总线
CAN总线系统数据的格式
0-优势
在CAN-数据总线系统中通常连接数个控制单 元。
只有当所有的控制单元发送“1”-Bit,在总 线上的信息逻辑上是“1”。
如果至少有一个控制单元发送了“0”-Bit, 那么在总线线路上的信号逻辑上就是“0”。 一个控制单元的“0”-信息可覆盖其它控 制单元上的“1”-信息。
技术数据说明:
最大安全传输速率:1 Mbps = 1 Megabit per sec. = 1 000 000 bits per sec.
ISO标准:高速/低速分界点 125000bps 一个完整的信息传递平均周期:大约1ms(根据信息长度) 控制单元数量:出于可靠性原因,最多允许接入32个控制单元 CAN bus 总线最大允许长度:40 m
数据传输时的高安全性及可靠性
有利于降低成本
数据传输速度较快( max. 1Mbps ),而且信息交换实时进行
能以单线模式工作(出于安全因素,正常情况下双线同时工作)
国际标准化的数据传输协议利于实现在各车型上的统一ISO11898
CAN总线系统数据的格式
汽车多路信息传输系统故障的原因一般有三种: 一是汽车电源系统引起的故障;二是汽车多路信息传输系统的链路 故障;三是汽车多路信息传输系统的节点故障。 1 汽车电源系统故障引起的汽车多路信息传输系统故障 汽车多路信息传输系统的核心部分是含有通讯IC芯片的电控模块 ECM,电控模块ECM的正常工作电压在10.5~15.0V的范围内。如果汽车 电源系统提供的工作电压低于该值,就会造成一些对工作电压要求高的 电控模块ECM出现短暂的停止工作,从而使整个汽车多路信息传输系统 出现短暂的无法通讯。这种现象就如同用微机故障诊断仪在未起动发动 机时就已经设定好要检测的传感器界面,当发动机起动时,往往微机故 障诊断仪又回到初始界面。
“0”-Bit 占优势 “1”-Bit 劣势
CAN数据总线优先权分配
如果多个控制单元要同时发送其数据包, 必须决定,谁最先发送。 具有最高优 先权的数据包将最先被发送。
ABS/EDS 控制单元信息
优先级 1 2 3
数据包 制动消息 发动机消息 变速箱消息
状态区 001 1010 0000 010 1000 0000 100 0100 0000
为阻止对数据线路的干扰影响,两个数据总线-线 路相互捻合。 在两个线路上电压的变化大小一样,然而方向相反。
Fra Baidu bibliotek低位
因此两个向外反射的线路的电压总和,总是恒定的。 两个电压的差值(= 逻辑内容) 与外界影响电压无关, 总是一样大小。
高位
CAN Bus 数据总线优点
与其他数据传输方式相比,CAN数据总线有如下优点:
CAN总线系统数据的传输
CAN总线系统数据的传输
CAN为多主方式工作,网络上的任一节点在任何时候都可以 主动地向网络上的其他节点发送信息。 CAN采用短帧结构,废除了对传统的站地址编码,而是对通 讯数据进行编码。每帧数据信息为0∽8个字节,具体长度 由用户决定。 当多个节点同时向总线发送信息时,优先级较低的节点会主 动的退出总线发送,而最高优先级的节点可不受影响地继续 传输数据。 CAN的每帧信息都有CRC校验及其他检错措施,在错误严 重的情况下具有自动关闭输出的功能,发送期间若丢失仲裁 或由于出错而遭受破坏的帧可自动重新发送。
CAN总线系统数据的格式
远程帧:用来申请数据。当一个节点需要接收数据时,可以发送一个远 程帧,通过标识符与置RTR为高来寻址数据源,网络上具有与该远程帧 相同标识符的节点则发送相应的数据帧。 远程帧由帧起始、仲裁场、控制场、CRC场、应答场和帧结束组成。这 几个部分与数据帧中的相同,只是其RTR位为低而已。 远程帧的数据长度码为其对应的将要接收的数据帧中DLC的数值。
CAN总线系统数据传输的基本概念
技术规范―CAN技术规范(Version2.0)包括2.0A和2.0B。 2.0A的报文标识符为11位,2.0B有标准和扩展两种报文格式, 前者的标识符19位,后者29位。 远程数据请求―通过发送一个远程帧,需要数据的节点可以 请求另一个节点发送一个相应的数据帧,该数据帧和对应的 远程帧以相同的标识符命名。 显性隐性―CAN总线数值为两种互补的逻辑数值:“显性” 和“隐性”。其中显性表示逻辑“0”,而隐性表示逻辑“1” 当显性和隐性位同时发送时,总线数值将为显性。
CAN总线系统数据的格式
报文传送主要有四种类型的帧:数据帧、远程帧、出错帧以及超载帧。 数据帧:由7个不同的位场组成,分别是帧起始、仲裁场、控制场、数 据场、CRC场、应答场以及帧结束。在具体编程中只要正确地运用仲裁 场、控制场中的数据长度码、数据场即可。 帧起始―标志一个数据帧或远程帧的开始,它是一个显性位。 仲裁场―仲裁场由报文标识符和远程发送请求位(RTR位)组成。RTR 位在数据帧中为显性,在远程帧中为隐性。包括报文标识符11位 (CAN2.0A标准),这12位共同组成报文优先权信息。数据帧的优先权 比同一标识符的远程帧的优先权要高。 控制场―由6位组成,包括2位作为控制总线发送电平的备用位(留作 CAN通信协议扩展功能用)与4位数据长度码。其中数据长度码(DLC0DLC3)指出了数据场中的字节数目0~8其保留位必须发送为显性 。
CAN总线上是差分信号,一个差分信号是用一个数值 来表示两个物理量之间的差异。 0—显性—CANH对地3.5V,CANL 1.5V 1—隐性—CANH对地2.5V,CANL 2.5V
正常情况下 CAN—H标准电压:隐性为2.6V左右;显性为3.8V左右
CAN—L标准电压:隐性为2.4V左右;显性为:1.2V左右
CAN总线系统数据的格式
CAN总线的报错是通过发送错误帧完成的。在介绍错误帧前,先介绍一 下主动错误节点(Error Active)和被动错误节点(Error Passive)。每一个 节点都有两个计数器,分别用来计算接收数据错误数(REC)和发送数 据错误数(TEC),计数器如何进行增减在CAN协议里有详细的规定。 当一个节点的TEC和REC都小于128时,该节点为主动错误节点;当一 个节点的TEC或者REC大于等于128时,该节点为被动错误节点;当计 数器的值变化时,主动错误节点和被动节点会相互转化。当一个节点的 TEC大于等于256时,该节点进入BUS OFF状态,它将不能再与其他节 点通信。 错误帧:由两个不同场组成,一个是错误叠加标志,另一个是出错界定 符。 主动错误标志(6个显性位)和被动错误标志(6个隐性位)
CAN总线系统数据的传输
当CAN总线上的一个节点(站)发送数据时,它以报文形式广 播给网络中所有节点。对每个节点来说,无论数据是否是发 给自己的,都对其进行接收。 发动机电脑向某电脑CAN收发器发送数据,该电脑CAN收 发器接收到由发动机电脑传来的数据,转换信号并发给本电 脑的控制器。 CAN数据传输系统的其他电脑收发器均接收到此数据,但是 要检查判断此数据是否是所需要的数据,如果不是将忽略掉。
CAN程序版本: Bosch CAN 2.0
bps = bits per second 单位:位(比特)/秒 8 bits = 1 byte 8位=1字节 1 Mbps = 1 000 kbps = 1 000 000 bps
CAN总线系统数据的格式
CAN总线系统数据的格式
CAN总线系统数据的格式
CAN Low dominant 0
2.6 V
2.4 V
0.2 V = 1
差值> 2.3 V
= result bit value 0 = dominant = result bit value 1 = recessive
差值 < 2.3 V
CAN总线抗干扰能力
运行时产生电磁波的部件是车辆中的干扰源。
CAN总线原理
汽车工程系 郝金魁
CAN总线系统结构
传输介质为双绞线,线性拓扑结构 每个控制单元“并联”在总线上
CAN总线系统结构
CAN总线系统结构
CAN总线系统结构
CAN总线系统结构
CAN总线系统结构
CAN总线系统数据的传输
当CAN总线上的一个节点(站)发送数据时,它以报文形式广 播给网络中所有节点。对每个节点来说,无论数据是否是发 给自己的,都对其进行接收。 发动机电脑向某电脑CAN收发器发送数据,该电脑CAN收 发器接收到由发动机电脑传来的数据,转换信号并发给本电 脑的控制器。 CAN数据传输系统的其他电脑收发器均接收到此数据,但是 要检查判断此数据是否是所需要的数据,如果不是将忽略掉。
动力总线 CAN 信号分析
CAN High dominant 0
CAN High domina nt state recessiv e state 3.8 V
CAN Low 1.1 V
Difference
CAN High recessive 1
CAN Low recessive 1
2.7 V = 0
CAN总线系统数据的格式
负逻辑
优势信号 开关闭合 劣势信号 开关打开
灯不亮
灯亮
在CAN-总线规范中确定了负逻辑
状态值 收发器 闭合
状态值 收发器 打开 数据线路电压 Komfort 舒适总 0V至5V Komfort 舒适总线
数据线路电压
约2 V 至 3 V 线 约1,5 至 3,5 V Antrieb 驱动总线
信息通过Bit字节进行传送
下表说明,信息量如何随着添加Bit 而增加。 越多字节进行组合, 可以传递越多的信息。 每增加一个字节都可使携带的信息将增加一倍。
1 个字节的变化 0伏 5伏 可能的信息 10° C 20° C 2 个字节的变化 0 伏, 0 伏 0 伏, 5 伏 5 伏, 0 伏 5 伏, 5 伏 可能的信息 10° C 20° C 30° C 40° C 3 个字节的变化 0 伏, 0 伏, 0 伏 0 伏, 0 伏, 5 伏 0 伏, 5 伏, 0 伏 0 伏, 5 伏, 5 伏 5 伏, 0 伏, 0 伏 5 伏, 0 伏, 5 伏 5 伏, 5 伏, 0 伏 5 伏, 5 伏, 5 伏 可能的信息 10° C 20° C 30° C 40° C 50° C 60° C 70° C 80° C
自动变速器控制单元信息
发动机控制单元信息
所有三个控制单元同时开始发送数据包。 同时他们与数据总线-线路上的字节一个一个的 进行比较。 如果一个控制单元发送一个低位的字节并认出一 个高位的字节, 将停止发送并开始接收。
数据总线-线路
低位 高位
自动变速器控制 单元失败
发动机控制单元 失败
CAN总线信号电压