当前位置:文档之家› CAN总线结构与帧格式

CAN总线结构与帧格式


CAN总线系统数据的格式
负逻辑
优势信号 开关闭合 劣势信号 开关打开
灯不亮
灯亮
在CAN-总线规范中确定了负逻辑
状态值 收发器 闭合
状态值 收发器 打开 数据线路电压 Komfort 舒适总 0V至5V Komfort 舒适总线
数据线路电压
约2 V 至 3 V 线 约1,5 至 3,5 V Antrieb 驱动总线

技术数据说明:
最大安全传输速率:1 Mbps = 1 Megabit per sec. = 1 000 000 bits per sec.
ISO标准:高速/低速分界点 125000bps 一个完整的信息传递平均周期:大约1ms(根据信息长度) 控制单元数量:出于可靠性原因,最多允许接入32个控制单元 CAN bus 总线最大允许长度:40 m
为阻止对数据线路的干扰影响,两个数据总线-线 路相互捻合。 在两个线路上电压的变化大小一样,然而方向相反。
低位
因此两个向外反射的线路的电压总和,总是恒定的。 两个电压的差值(= 逻辑内容) 与外界影响电压无关, 总是一样大小。
高位
CAN Bus 数据总线优点
与其他数据传输方式相比,CAN数据总线有如下优点:
“0”-Bit 占优势 “1”-Bit 劣势
CAN数据总线优先权分配
如果多个控制单元要同时发送其数据包, 必须决定,谁最先发送。 具有最高优 先权的数据包将最先被发送。
ABS/EDS 控制单元信息
优先级 1 2 3
数据包 制动消息 发动机消息 变速箱消息
状态区 001 1010 0000 010 1000 0000 100 0100 0000
动力总线 CAN 信号分析
CAN High dominant 0
CAN High domin ant state recessi ve state 3.8 V
CAN Low 1.1 V
Differen ce 2.7 V = 0
CAN Low dominant 0
CAN High recessive 1
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总线系统数据传输的基本概 念
报文―报文就是在总线上所传送的信息,该信息以 不同的报文传送,但报文长度要受帧结构的限制。 当总线空闲时,任何连接的单元均可开始发送一个 新报文。 帧传送―在总线上传输的报文以帧结构进行传输。 报文传送由4种不同类型的帧来表示和控制:数据 帧、远程帧、出错帧和超载帧。 仲裁―仲裁用于处理总线访问冲突。方法是依据其 报文优先权,而优先权由报文标识符与RTR位来唯 一确定。 标识符―一个报文的内容由其标识符ID命名,ID并

CAN总线系统数据的格式
CAN总线系统数据的格式




数据场―存储在发送缓冲器数据区或接收缓冲器数据区中以待器发送到网络中,也可由其它 节点接收。其中第一个字节的最高位首先被发送或接收。 CRC场―又名循环冗余码校验场,包括CRC序列(15位)和CRC界定 符(1个隐性位)。CRC场通过一种多项式的运算,来检查报文传输过 程中的错误并自动纠正错误。这一步由控制器自身来完成。 应答场―包括应答间隙和应答界定符两位。在ACK场(应答场)里,发 送节点发送两个“隐性”位。当接收器正确地接收到有效的报文,接收 器就会在应答间隙(ACK Slot)期间向发送器发送一“显性”位以示应 答。 帧结束―每一个数据帧和远程帧均结束于帧结束序列,它由7个隐性位 组成。
CAN总线系统结构

传输介质为双绞线,线性拓扑结构 每个控制单元“并联”在总线上
CAN总线系统结构
CAN总线系统结构
CAN总线系统结构
CAN总线系统结构
CAN总线系统结构
CAN总线系统数据的传输
当CAN总线上的一个节点(站)发送数据时,它以报 文形式广播给网络中所有节点。对每个节点来说, 无论数据是否是发给自己的,都对其进行接收。 发动机电脑向某电脑CAN收发器发送数据,该电脑 CAN收发器接收到由发动机电脑传来的数据,转换 信号并发给本电脑的控制器。 CAN数据传输系统的其他电脑收发器均接收到此数 据,但是要检查判断此数据是否是所需要的数据, 如果不是将忽略掉。
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采用短帧结构,废除了对传统的站地址编码, 而是对通讯数据进行编码。每帧数据信息为0∽8 个字节,具体长度由用户决定。 当多个节点同时向总线发送信息时,优先级较低的 节点会主动的退出总线发送,而最高优先级的节点 可不受影响地继续传输数据。 CAN的每帧信息都有CRC校验及其他检错措施,在 错误严重的情况下具有自动关闭输出的功能,发送 期间若丢失仲裁或由于出错而遭受破坏的帧可自动
自动变速器控制单元信息
发动机控制单元信息
所有三个控制单元同时开始发送数据包。 同时他们与数据总线-线路上的字节一个一个的 进行比较。 如果一个控制单元发送一个低位的字节并认出一 个高位的字节, 将停止发送并开始接收。
数据总线-线路
低位 高位
自动变速器控制 单元失败
发动机控制单元 失败
CAN总线信号电压

CAN总线系统数据传输的基本概 念
技术规范―CAN技术规范(Version2.0)包括2.0A 和2.0B。2.0A的报文标识符为11位,2.0B有标准和 扩展两种报文格式,前者的标识符19位,后者29位。 远程数据请求―通过发送一个远程帧,需要数据的 节点可以请求另一个节点发送一个相应的数据帧, 该数据帧和对应的远程帧以相同的标识符命名。 显性隐性―CAN总线数值为两种互补的逻辑数值: “显性”和“隐性”。其中显性表示逻辑“0”,而 隐性表示逻辑“1” 当显性和隐性位同时发送时,总线数值将为显性。
CAN Low recessive 1
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总线抗干扰能力
运行时产生电磁波的部件是车辆中的干扰源。
信息通过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总线系统数据的格式



远程帧:用来申请数据。当一个节点需要接收数据时,可以 发送一个远程帧,通过标识符与置RTR为高来寻址数据源, 网络上具有与该远程帧相同标识符的节点则发送相应的数据 帧。 远程帧由帧起始、仲裁场、控制场、CRC场、应答场和帧结 束组成。这几个部分与数据帧中的相同,只是其RTR位为低 而已。 远程帧的数据长度码为其对应的将要接收的数据帧中DLC的 数值。
约2,5 V
Antrieb 驱动总线
CAN总线系统数据的格式
0-优势
相关主题