汽车总线系统简介

1. 前言

  • ASAM – ASAM联合组织;
  • CAN – Controller Area Network,控制器区域网络;
  • ECU – Electronic Control Unit,电子控制单元;
  • CAN IF – CAN Interface,CAN 总线接口(模块);
  • CANDesc – CAN Diagnostic embedded software component,CAN总线诊断部分嵌入式软件组件;
  • CAN TP – CAN Transport Layer,CAN总线传输层(模块);
  • CDD(Diagnostic)-- CANdela documents,CAN诊断数据文件;
  • DBC – CAN Database,CAN总线数据库;
  • DCM – Diagnostic Communication Manager,诊断通讯管理;
  • DEM – Diagnostic Event Manager,诊断事件管理(DTC相关);
  • DFlash – Data Flash,可以用于存放bootloader代码,按照flash的命令去操作,按照sector去擦;
  • PFlash – Program Flash,放代码或者数据的,主flash;
  • EEPROM – Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器;
  • NVM – Non-volatile Memory,非易失性内存;
  • MOST – Media Oriented Systems Transport,面向媒体的系统传输;
  • PDU – Protocol Data Unit,协议数据单元(地址信息、协议控制信息、数据);
  • HIS – Flash 硬件驱动器;

2. 总线系统简介

目前普遍采用的汽车总线有__局部互联协议LIN__和__控制器CAN__,以及__高速容错网络协议FlexRay__,用于__汽车多媒体和导航的MOST__,以及蓝牙、无线局域网等__无线技术__等。

LIN 是一种基于UART数据格式、单主多从模式、低成本的串行通信网络协议。主要应用于电动门窗、座椅调节、照明等低速网络控制。LIN属于A类网络,而A类网络大都采用通用异步收发器(UART)。

FlexRay 是一种支持总线间多种消息传递的框架,可应用于无源总线饿星型拓扑网络结构中或者两者的组合拓扑中。其将事件触发和时间触发相结合,具有高效的网络利用率和灵活性。FlexRay属于C类网络,C类网络主要应用于汽车安全相关的实时性要求比较高的地方,如动力系统等,速率125Kbps-1Mbps,支持实时的周期性参数传输。其中高速CAN可以包含在C类网络中。

CAN 是属于B类网络,B类网络是面向独立模块间数据共享的中速网络,主要应用于车身电子舒适性模块、仪表显示灯系统。

MOST 传输协议并不是正式的标准,其由分割的帧的数据块组成,帧中包括流数据、分组数据、控制数据。其允许采用星型、环形等多种拓扑结构。一个MOST网络总最多可有64个节点,启动之后全部节点同时激活。

IEEE1394 是一种信息系统专用协议,其速率在100Mbps。支持外设热插拔,可为外设提供电源,支持同步和异步数据传输,传输距离在100米左右。

汽车总线系统简介_第1张图片

汽车总线系统简介_第2张图片

备注:
时间触发: 是一个基于时间预定时间表运行的任务,具有及时性、周期性、背景性的任务特点。
事件触发: 根据系统当前的状态决定是否触发,如果系统状态满足触发条件才进行各种操作。

UART: 通用异步收发传输器,其将需要传输的数据在串行通信与并行通信之间转换。

汽车总线系统要求,如下图所示:

汽车总线系统简介_第3张图片

2. 总线系统协议与标准

2.1 总线网络模型

在ISO网络模型的对比下,汽车总线标准值采用了其中的部分协议层。
如常见的汽车总线CAN、LIN、FlexRay,一般只是确定0-2层或者是很多部分的精确说明。

汽车总线系统简介_第4张图片

3. 物理层和数据链路层

3.1 基础概念

半双工、全双工
半双工:只可以一个发送消息,另一个收消息;
全双工:双方可以同时收发消息;

单极信号、双极信号
单极信号:单极性码,有电压表示1,无电压表示0。没有特殊编码,会积累直流分量;
双极信号:双极性码,正电压表示1,负电压表示0,降低了功率要求并减小了高电平衰减,直流分量大大减少,进而有利于传输。RZ (归零制) 归零码的电压状态在某个信号状态后返回到零。归零码的脉冲较窄,根据脉冲宽度与传输频带宽度成反比的关系,因而归零码在信道上占用的频带较宽。

NRZ
Non Return Zero Code,不归零编码。其与RZ的区别是一个周期可以全部用来传输数据,带宽被全部利用。若是想使用NRZ传输高速同步数据,都需要带有时钟线,常见的有NRZ编码或者是差分NRZ编码。但NRZ编码无法传递时钟信号,所以需要做位插入处理。
RZ的几种编码方式

终端电阻
为了应对波纹效应,即传输导线末端和分支线、插座结合处的反射,而需要在导线末端添加。但是一般低速总线的反射较小,不需要添加终端电阻。

信号的显隐性
低电平优先/显性,或者说是差分信号之间的线与,之后由谁对最终信号其决定性作用,谁就是显性信号。有点生物基因中的显隐的类似意思。

3.2 总线系统

3.2.1 总线拓扑结构

常见总线拓扑结构如下:
1、线性拓扑,如CAN总线、FlexRay总线;
2、星型拓扑,如FlexRay总线;
3、环形拓扑,如Most总线;
4、树状拓扑,如车载网络系统结构图;

注:总线系统之间的连接点有收发器、中继器、网关、(后面这几者通常会被网关代替)开关、集线器、路由;

3.2.2 总线数据帧、协议栈、服务

数据帧/包/块 基础结构有帧头、有效数据、帧尾、帧间间隔;
__协议栈__包括协议数据单元PDU、协议控制信息PCI、服务数据单元SDU;
服务 是指协议栈中每层可提供的功能;

注:当数据超过协议最大数据时,发送数据的时候数据会被分组,相反,接收端在对数据进行重组;

3.2.3 总线通讯

有面向连接和无连接两种。
面向连接 是指需要通过连接的建立、数据的交换、和连接撤销过程,预先建立通信通路之后,才开始进行交互。
无连接 是指不需要事先建立连接,而直接进行数据的收发,如广播、多播、单播、等待出错通知等。

3.2.3.1 总线寻址

有基于设备寻址和基于内容寻址(标识符)两种。
基于设备寻址 是指通信设备有自己的设备地址,可以清楚的通过地址被识别到,数据的接受分析很简单,如单播方式就仅仅需要将数据发送到一个目标地址。
基于内容寻址 是指数据信息配置了一定、类似地址的名称(标识符),其可以减轻总线负载,使数据保持较好的连贯性。

注:掩码: 定义了要保留位和要清除位,常见的方式有按位与(提取位值)、按位或(设置位值)、按位异或(位值取反或值交换);

3.2.3.2 总线数据传输

传输方式有基于字符传输(异步传输/启动停止/基于UART传输)和基于比特流传输(同步传输)两种。
字符传输 一般应用于较低比特率,如K线,LIN等。被传输信息包括帧头和帧尾,8位为一组(即一个字符),每个字符单独传输。字符起止处有起始位和停止位以及奇偶校验位。收端的时钟发生器通过信号脉冲,与其起始位的始端向同步。
比特传输 一般应用于较高比特率,如CAN、FlexRay等。其数据包括帧头和帧尾,数据收发端有自己的局域时钟发生器。由于比特传输数据长度较长,往往都会存在一定误差,时钟发生器接受期间必须进行后期同步。

3.2.3.3 总线访问方式

1、主从模式;
2、令牌环路;
3、TDMA时分多址;

3.2.3.4 位定时与位同步

位同步 是指数据通信系统中,数据信号以码元形式逐一的发送和接收,遍要求收发端的时钟有稳定而可靠的同步关系。位同步的方法主要有外同步法和自同步法两种:外同步法。外同步的方法是,发送端发送数据之前先发送同步时钟信号,接收方用这一同步信号来锁定自己的时钟脉冲频率,以此来达到收发双方位同步的目的;自同步法。接收方利用包含有同步信号的特殊编码(如曼彻斯特编码)从信号自身提取同步信号来锁定自己的时钟脉冲频率,达到同步目的。(来源于百度百科)

位速率(比特率/信息传输速率),表示的是单位时间内总线传输的信息量,即每秒能够传输的二进制位的数量,单位是bps(bit per second)。
波特率(传码率、信号传输率),表示的是单位时间内传输的码元的数量,当两相调制时,一个码元用一个二进制位表示,此时波特率在数值上和比特率是一样的,如CAN总线。

位时间 由时间份额、位时间、同步段、传播段、相位缓冲段1、相位缓冲段2、同步跳转宽度组成。
有如下位时间关系:tBit=tSS+tPS+tPBS1+tPBS2
tBit:位时间/tSS:同步段时间/tPS:传播段时间/tPBS1:时间段1/tPBS2:时间段2。

同步机制 有硬同步和重同步。

注:CAN总线的位同步只有在节点检测到“隐性位”(逻辑1)到“显性位”(逻辑0)的跳变时才会产生,当跳变沿不位于位周期的同步段之内时将会产生相位误差e。
一个位时间内只允许一种同步方式;
任何由“隐形”到“显性”的下降沿可用于同步;
硬同步发生在帧起始SOF位,重同步发生自SOF位之外的其他位;
发送节点补执行重同步,只有接收节点执行重同步;

3.2.3.5 错误识别与修正

奇偶校验 针对的是单个字符的校验;
校验和 针对整个数据信息校验和;
确认信息(ACK) 对接收数据的确认,

4. 总线

4.1 K线

面向字节的协议,能与每个控制器和运算器中的串行接口进行连接,根据UART(异步中集器和收发器)完成简单的诊断任务;主要用于诊断任务;

4.2 CAN简介

CAN,Controller Area Network,是为解决现代汽车中众多控制单元、测试仪器之间的实时数据交换的一种串行通信协议。是面向比特流的线性总线;最大比特率为1Mbit/s,总线<40m;总线长度与比特率成反比;适用于高低速总线系统;由Bosch公司研发;理论上可以挂接无数个节点,但在实际应用中,节点数目受网络硬件的电气特性所限制。

4.3 CAN版本演化与标准

CAN1.0
CAN2.0
CAN2.0A
CAN2.0B ACTIVE - 可兼容11为29位ID报文
CAN2.0B PASSIVE - 忽略29位ID报文
汽车总线系统简介_第5张图片

4.3.1 CAN总线特性

1、有高速CAN(C级网,>=250kibit/s)和低速CAN(B级网,<=125kbit/s);
2、控制器插座,9针Sub-Miniatur-D插座等;
3、双绞线导线,进而产生的信号为双线差分信号,波阻抗-经典值为120欧姆;
4、广播方式发送消息;
5、CSMA/CA总线访问方式(载波监听/多路访问/冲突避免),即总线空闲检测、ID优先级识别(优先级ID-ID越小优先级越高)、报文内容识别(报文标识符);
载波侦听 - 网络上各节点发送数据之前都要检测总线上是否由数据传输。
多路访问 - 网络上的所有节点收发数据,使用同一条总线,且是以广播方式发送数据。
冲突检测 - 网络上节点在发送数据时,需要不断检测发送的数据,确定是否与其他节点数据有冲突。
6、总线上的节点数量无限制;
7、报文过滤(进行数据位匹配,屏蔽寄存器将需要接受的数据位置1,不需要接受的数据位置0)
8、数据一致性(错误检测/错误处理)
9、NRZ编码/曼彻斯特编码(NRZ缺点–容易造成误差累计;其次是电磁兼容(EMV)的辐射干扰比较大,会导致出现脉冲信号);
10、位填充(发送“5个连续极性”位后在位流中自动插入“1个极性相反位”,平均每个数据信息只能进行3~4次位填充;不需要做位填充:SOF前的空闲区;CRC后的位域区);
接收端清除填充(与位填充的处理过程刚好相反);
12、0-8位数据字节,6-8位数据信息,最大的有效数据长度为8Byte;
13、报文回读(数据正确传输的确认);

4.3.2 CAN控制器结构

汽车总线系统简介_第6张图片
1、软件式CAN,双层缓冲器,收发存储器采用FIFO数据结构;
2、硬件式CAN,8~16位数据信息存储器,接受过滤由CAN控制器硬件完成;
3、软硬混合CAN控制器,硬件接收过滤器指定存储器,软件接收过滤器为收发数据指定存储器;
4、CAN控制器被微控制器Host初始化;
5、常见CAN类型:
CAL/CANOPEN(CiA)
DeviceNet(ODVA)
SDS(Honeywell)
NMEA-2000(NMEA)
J1939(SAE)
不同厂商有自己的上层协议标准
注:接收寄存器AR、接收掩码AM、有效接收过滤AF;

4.3.3 CAN协议层结构

汽车总线系统简介_第7张图片

  • 物理层
    PLS,physical signaling sublayer,物理信令子层
    PMA,physical medium attachment,物理介质连接
    MDI,medium dependent interface,介质相关接口

  • 数据链路层
    基础概念
    按位仲裁;
    位插入(每5位插入一位,平均每个数据只能进行3-4位插入);
    数据的报文格式检验、校验和、数据、数据帧区域末尾;
    数据传输的连续性;
    远程数据帧;
    基本组成
    LLC,logical link control,逻辑链路控制
    MAC,medium access control,媒介访问控制

  • 传输层

  • 应用层(高层协议)

4.3.4 帧结构

帧类型有数据帧、远程帧、错误帧、重(超)载帧、帧空间(间歇帧、总线空闲)。
常见帧标记或字段如下:
SOF,start of frame,用于同步;
EOF,end of frame,是7个连续隐性位;
ACK,ACKnowledgement,接收应答,正确接收到报文-ACK发送显性;未正确接收报文-ACK发送隐性;
RTR,remote transmission request,远程传输请求标志。0表示数据帧,1表示远程帧;
IDE,identifier extension,标识符扩展。0表示标准帧,11位ID。1表示扩展帧,29位ID;
ITM,intermission,间歇场;
r0,r1,保留位;
DLC,data length Code,数据长度码。即指的是数据场字节数,有效位0-8;
SRR,substitute remote request,远程代替请求标识位;
ID,标识符;
Data Field
CRC,校验和;

4.3.4.1 数据帧

作用:装载数据信息
标准数据帧
汽车总线系统简介_第8张图片
扩展数据帧汽车总线系统简介_第9张图片

4.3.4.2 远程帧

用于请求特定标识的数据。
标准数据远程帧
汽车总线系统简介_第10张图片
扩展数据远程帧
汽车总线系统简介_第11张图片

4.3.4.3 帧空间

用于分隔数据帧、远程帧与其前面帧。
主动错误节点帧空间格式
汽车总线系统简介_第12张图片
被动错误节点帧空间格式
汽车总线系统简介_第13张图片

4.3.4.4 超载帧

用于帧间延时
汽车总线系统简介_第14张图片

4.3.4.5 错误帧

用于通报检测到的错误。

1、CRC,数据校验和计算不符合(接收节点);
2、FROM,数据位格式错误(接收节点);
3、STUFF,填充位错误(接收节点);
4、ACK,未接收到正确数据的“显性”标记位(发送节点);
5、BIT,位错误(发送节点,发出的电平与从总线上回读的电平不一致);
不属于位错误的特殊情况:
1)仲裁区-节点仲裁失败;
2)ACK槽-表示该节点发送帧至少被一个数据节点接收;
3)总线的“线与机制”;

错误计数器:
发送主动错误flag、被动错误flag、过载flag后,超过最大容忍显性位之后,收发计数器各+8;

  • 接收错误计数器
    接收节点发现一个错误,计数器+1;
    接收节点发现错误帧之后的第一位为显性位,计数器+8;
    接收节点接收主动错误flag/过载flag时发现一个位错误,计数器+8;
    成功接收一个报文,计数器-1;
    值重置,接收错误计数器值>127,重置位119-127;

  • 发送错误计数器
    发送一个错误帧,计数器+8;
    发送节点发送主动错误flag/过载flag过时发现一个位错误,计数器+8;
    成功发送一个报文,计数器-1;

注意事项:节点为Bus off状态,总线连续出现128个连续11位隐性位,收发错误计数器值置0;
汽车总线系统简介_第15张图片

汽车总线系统简介_第16张图片
节点错误状态:
1、主动错误状态:可收可发-主动错误标记;
2、被动错误状态:只收不发-被动错误标记;
3、关闭状态:不参与任何活动;
汽车总线系统简介_第17张图片
注:若总线上只有一个节点,该节点是无法得到应答的,此节点将会进入被动错误状态,而不是关闭状态。

疑问
1、各种类型的错误帧发送时间,发送顺序是如何规定的?
位错误、填充错误、格式错误、ACK错误产生后,当前发送的下一位发送错误帧;
CRC错误随ACK界定符后的位发送错误帧;
错误帧发出后,重发有错的数据帧;
2、错误帧为什么还分为局部错误和公共错误?
3、什么叫做“线与机制”?
4、超载帧的作用是什么?

4.3.5 CAN传输协议ISO-TP

ISO-TP主要管理端到端控制和差错校验以确保完整的数据传输。
在总线系统中,ISO-TP将4中传输协议数据报文复制到CAN数据帧中;将较大的4095B数据块进行分组与重组;定义收发端的流量控制;将KWP2000收发端地址复制到CAN报文ID中;用于应用和传输层之间的通信传输。

ISO-TP 中包含五种传输层协议,从传输层协议类 0 到传输层协议类 4(TP0、TP1、TP2、 TP3 和 TP4),协议复杂性依次递增。TP0-3 只适用于面向连接通信,在该通信方式下,任何数据发送之前,必须先建立会话连接;而 TP4 既可以用于面向连接通信也可以用于无连接通信。(来源于百度知道)

4.3.5.1 数据分配关系

汽车总线系统简介_第18张图片

PCI协议控制信息:
汽车总线系统简介_第19张图片

4.3.5.2 TP1.6(略)
4.3.5.3 TP2.0

面向连接;标识符是动态配置的;复制10个不同的传输协议报文;CAN报文分组;超时重传。

4.3.5.4 SAE J1939/21(略)

5. 诊断协议(应用层)

目前国内汽车诊断主要以基于CAN线和基于K线为主。基于CAN线的诊断协议有UDS,基于K线的诊断协议有KWP2000。

5.1 KWP 2000

又称为关键字协议,其在系统进入时会做关键字校验。

汽车诊断协议,(K线/CAN总线、kwp2000、ISO14230、ISO1575…)_巴山夜雨-CSDN博客

5.2 通信模型

汽车总线系统简介_第20张图片

6. 测量/标定/诊断

汽车总线系统简介_第21张图片

7.参考资料

1.汽车CAN总线详解
2.汽车主要总线梳理
3.汽车研发测试大全
4.汽车基础知识大全
5.帧错误
6.CAN帧传输协议
7.CAN常用协定协议
8.CAN总线技术基础讲解

你可能感兴趣的:(#,汽车电子,嵌入式,汽车电子)