1.数据传输
汽车各个控制系统可以通过以下两种方式进行数据传输:
(1)每个数据项分别通过各自独立的数据线进行传输 如图3-17所示,如果要传输发动机转速、燃油消耗等5项数据,共需五根数据线,因为每项数据都需要一根独立的数据线。随着所需信息量的增加,数据线的数量和控制单元的端子数也要相应增加。
图3-17 不带CAN总线的数据传输
(2)所有数据项都通过两根数据线即CAN数据总线进行传输 如图3-18所示,同样要传输发动机转速、燃油消耗等5项数据,所需的数据线只有2根。而且即使所要传输的数据项再增加,也无需再增加数据线和控制单元端子数。整车电气系统采用CAN总线之后,其结构将大为简化,如图3-19所示。因此,数据传输线路大为简化。
图3-18 带CAN总线的数据传输
图3-19 基于CAN总线的汽车电气系统结构示意图
2.CAN数据传输系统
CAN总线是控制单元间的一种数据传递形式,它连接各个控制单元形成一个完整的系统。一个控制单元与整个系统状态相关的信息越多,那么它协调各个功能的能力就会越强。
通常,发动机控制单元、自动变速器控制单元和ABS控制单元组成一个完整的动力传动系统CAN网络;中央控制系统、车门控制系统、舒适系统控制单元组成一个完整的CAN网络。
(1)CAN数据传输系统的优点
1)如果需要扩展数据协议以包含其他信息,只需修改软件即可。
2)通过控制单元和辅助安全措施对传输的信息进行持续不断的校验,可以达到较低的错误率。
3)通过传感器信号的多重使用减少了传感器和信号线的数量。
4)控制单元间实现高速数据传输。
5)因控制单元的减小和控制单元端子数的减少,节省了更多有用空间。
6)CAN数据总线符合国际标准,不同厂家生产的控制单元可以进行数据交换。
(2)CAN数据传输系统的原理 CAN数据总线的数据传输方式类似于电话会议,如图3-20所示,一个用户(控制单元)将数据“讲”入网络中,其他用户通过网络“接听”这个数据,对这个数据感兴趣的用户就会接受并利用它,而其他用户则忽略掉它。这种数据传输方式就是通常所说的“广播”形式。
图3-20 CAN数据传输
(3)CAN数据传输系统的构成 CAN数据传输系统通常由一个控制器、一个收发器、两个数据总线终端和两条数据总线构成,如图3-21所示,各个部分功能如下:
1)CAN控制器。CAN控制器从微处理器(集成在控制单元内)接收数据,对数据进行处理后中转给CAN收发器,同时控制器也从收发器接收数据,进行处理后再中转给控制单元中的微处理器。
2)CAN收发器。CAN收发器是发送器和接收器的组合。它将CAN控制器提供的数据转化为电信号并通过数据线发送出去;同时它也接收数据,并进行转换,之后提供给CAN控制器。
3)数据总线终端。数据总线终端其实是一个电阻器,防止数据在传输终端被反射回来,避免反射波破坏数据。
4)数据总线。数据总线是用来传输数据的双向数据线,分为CAN高位数据线(CAN-High)和低位数据线(CAN-Low)。控制器输出的信号同时向高低电平两根数据线发送,高低电平互为镜像。数据线通常采用双绞线结构,既可以防止电磁干扰对传输信息的影响,也可以防止本身对外界的干扰。在数据总线上传输的数据并没有指定的接收方,而是被所有用户接收并评估是否接纳。
(4)数据传输过程 如图3-22所示。CAN总线上的数据传输可以分为数据提供、发送、接收、检查和认可这五个环节。控制单元向CAN控制器提供需要发送的数据,CAN控制器将数据交给CAN收发器,收发器将数据转换为电信号后发送到CAN数据总线上。总线上的所有控制单元都能接收到这个数据,它们会检查这个数据是否是它们所需要的,如果是需要的,就接受这个数据并进行处理,否则就忽略这个数据。
图3-21 CAN数据传输系统结构示意图
图3-22 数据传递过程
(5)CAN总线数据构成 CAN数据总线不断地在各控制单元之间传输数据协议包,数据协议包分为7个部分,如图3-23所示。
图3-23 协议数据包的构成
1)起始字段(图3-24):标志数据协议包的开始,1位5V电压(不同的系统可能不同)被送入CAN高位传输线,同时1位0V电压被送入CAN低位传输线。
2)状态字段(图3-25):定义数据协议包的优先级。例如,如果两个控制单元同时想通过数据总线发送数据,优先级较高的控制单元将优先发送。
图3-24 起始字段
3)检查字段(图3-26):显示在数据字段中所包含的信息项目数,接收器能够根据这个字段检查其是否已经接收到所有传输数据。
图3-25 状态字段
图3-26 检查字段
4)数据字段(图3-27):是指要传输到其他控制单元的信息。
5)安全字段(图3-28):用于检测数据是否有传输错误。
图3-27 数据字段
(www.zuozong.com)
图3-28 安全字段
6)确认字段(图3-29):接收器通过“确认字段”告知发送器该数据协议包已被正确接收。如果检查到错误,接收器会立刻通知发送器,发送器将会重新发送一次数据。
7)结束字段(图3-30):标志着一个数据协议包的结束,它也是检测错误并导致数据再次发送的最后一次机会。
图3-29 确认字段
图3-30 结束字段
(6)数据协议包的生成 数据协议包由多个数据位(bit)构成,每一位(bit)只能是“0”或“1”这两个状态值,类似于灯泡开关的断开或闭合两种状态。
1)状态值为“1”的数据位。发送器打开,接通舒适系统中的5V电压(在动力传动系统中电压约为2.5V),所以,此时数据总线上的电压为5V(舒适系统)或2.5V(动力传动系统),如图3-31所示。
2)状态值为“0”的数据位。发送器关闭,接通地线,加载在数据总线上的电压约为0V。
表3-6显示了信息是如何通过2个连续位进行传输的,2个位可以产生4种不同的可能情况,每种情况可以代表一项信息,并与所有控制单元相联系。注释:如果第1位和第2位传输的都是0V,在表3-6中代表的信息是“电动窗正在升降”或“冷却液温为10℃”。
图3-31 状态值为“1”的数据位
图3-32 状态值为“0”的数据位
表3-6 2个数据位可以代表的信息
表3-7显示了随着数据位的增加,其代表的信息量是如何增加的,位数越多,可以传输的信息量就越大,每增加一位,产生的信息量就会增加一倍。
表3-7 信息量随着数据位成倍增加
3.CAN数据总线的数据分配
如果多个控制单元要同时发送各自的数据,那么系统就必须决定哪一个控制单元首先进行发送,具有最高优先级的数据首先发送。基于安全考虑,由ABS/EDL控制单元提供的数据比自动变速器控制单元提供的数据更重要,因此优先级更高。
(1)如何进行分配 每个位都有一个值,不同的值被赋予不同的权重,权重共有2种:高权重或低权重,如表3-8所示。
表3-8 数据位对应的值和权重
(2)如何识别数据协议包的优先级 每个数据协议包的状态域都是由11位组成的,这11位编码就决定了数据协议包的优先级。表3-9列举了三种不同优先级的数据协议包及其状态字段值,优先级识别过程如图3-33所示。ABS控制单元、发动机控制单元和自动变速器控制单元同时向数据总线发送数据,此时在数据传输线上进行11位的数据比较。如果一个控制单元发送了一个低电位,而检测到一个高电位,那么这个控制单元就停止发送,而转为接受。
表3-9 优先级不同的数据协议及其状态字段
图3-33 数据协议包优先权的确定
基本术语
为了掌握CAN总线系统的结构和工作原理,必须了解和理解以下网络术语。
1.报文(Message)
报文是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短不一致,长度不限且可变。CAN总线上的报文以不同报文格式发送,但长度受到限制。当总线空闲时,网络上的任何一个节点都可以发送报文。
2.波特率(BaudRate)
波特率是描述数据传输速率的单位,指单位时间内信道上所能传输的数据量(码元个数),也就是信号经调制后的传输速率,也可用“比特率”来表示,单位为比特/秒(bit/s),也记做bps,常用的数据传输速率单位有kbps、Mbps、Gbps和Tbps。若每个码元所含的信息量为1bit则波特率等于比特率。在计算机通信中,常将“比特率”称为“波特率”,即:
1波特(B)=1位/秒(1bit/s)
3.网关(Gateway)
顾名思义,网关就是一个网络连接到另一个网络的“关口”。大家都知道,从一个房间走到另一个房间,通常需要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,也就是网关。网关又称网间连接器、协议转换器,是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。汽车的驱动系统、舒适系统、信息系统、多功能仪表、诊断系统等对通信速率的要求不同,通常会分别组成一个CAN局域网,如果一个信号要从一个局域网进入到另一个局域网,必须通过网关将其速率和识别号进行改变后才能完成这种通信。另外,网关还具有改变信息优先级的功能。例如,如车辆发生相撞事故,安全气囊控制单元会发出负加速度传感器的信号,这个信号在驱动系统CAN总线中的优先级非常高,但到舒适系统后,网关会调低它的优先级,因为它在舒适系统中的功能只是打开门和灯。根据车辆的不同,网关可能安装在组合仪表内、车上供电控制单元内或在自己的网关控制单元内。
4.信息路由(Information Routing)
在互联网中,“路由”就是指通过相互连接的网络把信息从源地点传输到目标地点的活动。一般来说,在路由过程中,信息至少会经过一个或多个中间节点。在互联网中,路由器是不同网络间的连接枢纽,构成了Internet的骨架。Internet上的数据包中含有目标地址信息,路由器接收到这些数据包后会重新计算其校验值,并写入新的物理地址,然后寻找一条最佳传输路径,将数据有效地传送到目的地址。在CAN网络中,各个节点发送的报文中不含目标节点的地址信息,由接收节点根据报文本身特征判断是否接收它,因此不需要使用路由器。在扩展系统时,也无需对任何节点或应用层的软件和硬件作任何改动,可以直接在CAN中增加节点。
5.标识符(Identifier)
CAN网络中传送的报文都有特征标识符(是数据帧和远程帧中的一个字段),它给出的不是目标节点地址,而是这个报文本身的特征。信息以广播方式在网络上发送,所有节点都可以接收到,节点通过标识符判定是否接收这帧信息。
6.优先权
由发送数据报文中的标识符决定报文占用总线的优先权。
7.远程数据请求(Remote Data Request)
通过发送“远程帧”(RemoteFrame),需要数据的节点可以请求另一节点发送相应的“数据帧”(DataFrame)。回应节点传送的数据帧与请求数据的远程帧由相同的标识符命名。
8.仲裁(Arbitration)
只要总线空闲,任何节点都可以向总线发送报文。如果有两个或两个以上的节点同时发送报文,就会引起总线访问碰撞。通过使用标识符的逐位仲裁可以解决这种碰撞。仲裁机制确保了报文和时间均不会损失。当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。在仲裁期间,每一个发送器都将其要发送的数据位电平与监控到的总线电平进行比较。如果电平相同,则该控制单元可以继续发送,如果发送的是“隐性”电平而监视到的是“显性”电平,那么该控制单元就失去了仲裁,必须退出发送状态。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。