一、 CAN数据传输系统的组成与工作原理CAN数据传输系统将传统的多线传输系统改变为双线(总线) 传输系统。这样一辆汽车不论有多少控制模块,也不管其信息容量有多大,每个控制模块都只需引出两条线接在两个节点上,这两条导线称为数据总线。数据总线好比一条信息高速公路,信息通过在高速公路上行驶的BUS来传递,所以CAN数据传输系统又称为CAN-BUS。1. CAN数据传输系统的组成CAN数据传输系统中的每个控制单元内部都含有一个CAN控制器和一个CAN收发器。每个控制单元之间都通过两条数据总线连接。在数据总线两端都装有数据传输终端。由此不难看出,CAN数据传输系统由以下四部分组成:⑴CAN控制器CAN控制器的作用是接收控制单元中微处理器发出的数据,处理数据并传给CAN收发器。同时,CAN控制器也接收CAN收发器收到的数据,处理数据并传给微处理器。⑵CAN收发器CAN收发器是一个发送器和接收器的结合,它将CAN控制器提供的数据转化为电信号并通过数据总线发送出去;同时,它也接收CAN总线数据,并将数据传输给CAN控制器。⑶数据传输终端数据传输终端实际上是一个电阻器,其作用是保护数据,避免数据传输到终端被反射回来而产生反射波。⑷CAN数据总线CAN数据总线是传输数据的双向数据线,分为高位数据线和低位数据线。为了防止外界电磁波干扰和向外幅射,CAN数据总线通常缠绕在一起。这两条线上的电位和是恒定的,如果一条线上的电压是5V,则另一条线上的电压为0。数据传输系统的工作原理控制单元向CAN控制器提供需要发送的数据,这种数据由二进制数构成,即“0”或“1”,“1”表示电路接通,“0”则表示断开。也就是说1位数字可表示2种状态,2位数则可表示4种状态;3位数可表示8种状态,依此类推,最大的数据是64位,它可表示的信息量为2的64次方,等于 乘以10的19次方。用数字表达温度信息的实例见表1。为了避免多个信息在传递时发生冲突,CAN数据总线在同一时刻只允许传递一个数据。数据传递的先后顺序是按数据的优先级别来确定的,具有更高优先级别的数据首先发送,而数据的优先级别是由二进制的11位数值来表示。当多个控制单元同时发送数据时,在数据传输线上由左到右对表示优先级别的11位数字,进行逐一的比较。如果一个控制单元发送了一个低电位(用“1”表示)而检测到一个即将接收的高电位(用“0”表示),那么,该控制单元就停止发送而转变为接收状态;如果一个控制单元向外发送高电位(用“0”表示),而同时,另一个控制单元向外发送低电位(用“1”表示),则数据传输线将体现高电位(用“0”表示)。例如,发动机控制单元要发送的数据为 “00101000000”;而自动变速器控制单元要发送的数据为“01000100000”;ABS控制单元要发送的数据为“00011010000”。那么,数据传输线将如何传递这些数据呢?首先,第一位均为“0”,数据传输线上也体现为“0”;三个数据的第二位数字,自动变速器控制单元准备向外发送“1”,??0”,因此,自动变速器控制单元,发送了一个低电位(用“1”表示),而接收一个高电位(用“0”表示),那么,自动变速器控制单元将失去优先权,而转为接收状态,数据传输线传送“0”;再比较第三位数字,发动机控制单元准备向外发送“1”,而ABS控制单元准备向外发送“0”,同理,发动机控制单元将失去优先权而转为接收状态,数据传输线传输“0”。通过比较三个数据的状态域,可以确定ABS控制单元具有最高优先权,从而可以接管数据总线的控制权,该优先权保证其持续发送数据直至发送终了。ABS控制单元结束发送数据后,因发动机控制单元的优先权高于自动变速器控制单元,所以数据总线的发送次序是:首先发送ABS控制单元数据,然后发送发动机控制单元数据,最后发送自动变速器控制单元数据。二、大众POLO乘用车CAN数据传输系统的检修