CAN总线结构与帧格式
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为阻止对数据线路的干扰影响,两个数据总线-线 路相互捻合。 在两个线路上电压的变化大小一样,然而方向相反。
低位
因此两个向外反射的线路的电压总和,总是恒定的。 两个电压的差值(= 逻辑内容) 与外界影响电压无关, 总是一样大小。
高位
CAN Bus 数据总线优点
与其他数据传输方式相比,CAN数据总线有如下优点:
CAN总线系统数据的传输
CAN总线系统数据的传输
CAN为多主方式工作,网络上的任一节点在任何时 候都可以主动地向网络上的其他节点发送信息。 CAN采用短帧结构,废除了对传统的站地址编码, 而是对通讯数据进行编码。每帧数据信息为0∽8 个字节,具体长度由用户决定。 当多个节点同时向总线发送信息时,优先级较低的 节点会主动的退出总线发送,而最高优先级的节点 可不受影响地继续传输数据。 CAN的每帧信息都有CRC校验及其他检错措施,在 错误严重的情况下具有自动关闭输出的功能,发送 期间若丢失仲裁或由于出错而遭受破坏的帧可自动
CAN总线系统数据传输的基本概 念
报文―报文就是在总线上所传送的信息,该信息以 不同的报文传送,但报文长度要受帧结构的限制。 当总线空闲时,任何连接的单元均可开始发送一个 新报文。 帧传送―在总线上传输的报文以帧结构进行传输。 报文传送由4种不同类型的帧来表示和控制:数据 帧、远程帧、出错帧和超载帧。 仲裁―仲裁用于处理总线访问冲突。方法是依据其 报文优先权,而优先权由报文标识符与RTR位来唯 一确定。 标识符―一个报文的内容由其标识符ID命名,ID并
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总线抗干扰能力
运行时产生电磁波的部件是车辆中的干扰源。
CAN总线系统结构
传输介质为双绞线,线性拓扑结构 每个控制单元“并联”在总线上
CAN总线系统结构
CAN总线系统结构
CAN总线系统结构
CAN总线系统结构
CAN总线系统结构
CAN总线系统数据的传输
当CAN总线上的一个节点(站)发送数据时,它以报 文形式广播给网络中所有节点。对每个节点来说, 无论数据是否是发给自己的,都对其进行接收。 发动机电脑向某电脑CAN收发器发送数据,该电脑 CAN收发器接收到由发动机电脑传来的数据,转换 信号并发给本电脑的控制器。 CAN数据传输系统的其他电脑收发器均接收到此数 据,但是要检查判断此数据是否是所需要的数据, 如果不是将忽略掉。
CAN总线系统数据传输的基本概 念
技术规范―CAN技术规范(Version2.0)包括2.0A 和2.0B。2.0A的报文标识符为11位,2.0B有标准和 扩展两种报文格式,前者的标识符19位,后者29位。 远程数据请求―通过发送一个远程帧,需要数据的 节点可以请求另一个节点发送一个相应的数据帧, 该数据帧和对应的远程帧以相同的标识符命名。 显性隐性―CAN总线数值为两种互补的逻辑数值: “显性”和“隐性”。其中显性表示逻辑“0”,而 隐性表示逻辑“1” 当显性和隐性位同时发送时,总线数值将为显性。
数据传输时的高安全性及可靠性
有利于降低成本
数据传输速度较快( max. 1Mbps ),而且信息交换实时进行
能以单线模式工作(出于安全因素,正常情况下双线同时工作)
国际标准化的数据传输协议利于实现在各车型上的统一ISO11898
CAN总线系统数据的格式
远程帧:用来申请数据。当一个节点需要接收数据时,可以 发送一个远程帧,通过标识符与置RTR为高来寻址数据源, 网络上具有与该远程帧相同标识符的节点则发送相应的数据 帧。 远程帧由帧起始、仲裁场、控制场、CRC场、应答场和帧结 束组成。这几个部分与数据帧中的相同,只是其RTR位为低 而已。 远程帧的数据长度码为其对应的将要接收的数据帧中DLC的 数值。
动力总线 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
技术数据说明:
最大安全传输速率:1 Mbps = 1 Megabit per sec. = 1 000 000 bits per sec.
ISO标准:高速/低速分界点 125000bps 一个完整的信息传递平均周期:大约1ms(根据信息长度) 控制单元数量:出于可靠性原因,最多允许接入32个控制单元 CAN bus 总线最大允许长度:40 m
自动变速器控制单元信息
发动机控制单元信息
所有三个控制单元同时开始发送数据包。 同时他们与数据总线-线路上的字节一个一个的 进行比较。 如果一个控制单元发送一个低位的字节并认出一 个高位的字节, 将停止发送并开始接收。
数据总线-线路
低位 高位
自动变速器控制 单元失败
发动机控制单元 失败
CAN总线信号电压
CAN总线系统数据的格式
负逻辑
优势信号 开关闭合 劣势信号 开关打开
灯不亮
灯亮
在CAN-总线规范中确定了负逻辑
状态值 收发器 闭合
状态值 收发器 打开 数据线路电压 Komfort 舒适总 0V至5V Komfort 舒适总线
数据线路电压
约2 V 至 3 V 线 约1,5 至 3,5 V Antrieb 驱动总线
约2,5 V
Antrieb 驱动总线
CAN总线系统数据的格式
0-优势
在CAN-数据总线系统中通常连接数个控制单 元。
只有当所有的控制单元发送“1”-Bit,在总 线上的信息逻辑上是“1”。
如果至少有一个控制单元发送了“0”-Bit, 那么在总线线路上的信号逻辑上就是“0”。 一个控制单元的“0”-信息可覆盖其它控 制单元上的“1”-信息。
CAN总线系统数据的格式
超载帧:由超载标识和超载界定符组成。 在CAN中,存在两个条件导致发送超载帧。一个是接收器未 准备就绪,另一个是在间隙场检测到显性位。
CAN总线系统数据的格式
帧间空间:数据帧(或远程帧)与先行帧的隔离是通过帧间 空间实现的,无论此先行帧类型如何(数据帧、远程帧、错 误帧、过载帧)。 所不同的是,过载帧与错误帧之前没有帧间空间,多个过载 帧之间也不是由帧间空间隔离的。
CAN总线系统数据的格式
CAN总线系统数据的格式
பைடு நூலகம்
数据场―存储在发送缓冲器数据区或接收缓冲器数据区中以待发送或接 收的数据。按字节存储的数据可由微控制器发送到网络中,也可由其它 节点接收。其中第一个字节的最高位首先被发送或接收。 CRC场―又名循环冗余码校验场,包括CRC序列(15位)和CRC界定 符(1个隐性位)。CRC场通过一种多项式的运算,来检查报文传输过 程中的错误并自动纠正错误。这一步由控制器自身来完成。 应答场―包括应答间隙和应答界定符两位。在ACK场(应答场)里,发 送节点发送两个“隐性”位。当接收器正确地接收到有效的报文,接收 器就会在应答间隙(ACK Slot)期间向发送器发送一“显性”位以示应 答。 帧结束―每一个数据帧和远程帧均结束于帧结束序列,它由7个隐性位 组成。
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总线系统数据的格式
“0”-Bit 占优势 “1”-Bit 劣势
CAN数据总线优先权分配
如果多个控制单元要同时发送其数据包, 必须决定,谁最先发送。 具有最高优 先权的数据包将最先被发送。
ABS/EDS 控制单元信息
优先级 1 2 3
数据包 制动消息 发动机消息 变速箱消息
状态区 001 1010 0000 010 1000 0000 100 0100 0000
信息通过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总线系统数据的传输
当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总线系统数据的格式
报文传送主要有四种类型的帧:数据帧、远程帧、出错帧以 及超载帧。 数据帧:由7个不同的位场组成,分别是帧起始、仲裁场、 控制场、数据场、CRC场、应答场以及帧结束。在具体编程 中只要正确地运用仲裁场、控制场中的数据长度码、数据场 即可。 帧起始―标志一个数据帧或远程帧的开始,它是一个显性位。 仲裁场―仲裁场由报文标识符和远程发送请求位(RTR位) 组成。RTR位在数据帧中为显性,在远程帧中为隐性。包括 报文标识符11位(CAN2.0A标准),这12位共同组成报文优 先权信息。数据帧的优先权比同一标识符的远程帧的优先权 要高。