CAN-BUS 即 CAN 总线技术,全称为“控制器局域网总线技术(ControllerAreaNetwork-BUS)”。Can-Bus 总线技术最早被用于飞机、坦克等武器电子系统的通讯联络上。将这种技术用于民用汽车最早起源于欧洲,在汽车上这种总线网络用于车上各种传感器数据的传递。
CAN-BUS 的工作原理
大家知道当今车辆的电控系统是越来越多,例如电子燃油喷射装置、ABS 装置、安全气囊装置、电动门窗、主动悬架等等。同时遍布于车身的各种传感器实时的监测车辆的状态信息,并将此信息发送至相对应的控制单元内。
通过上图我们可以看到车身上的各种控制单元,车越高级,车身上的控制单元也就越多,每个控制单元都可看做一台独立的电脑,它可以接受信息,同时能对各种信息进行处理、分析,然后发出一个指令。比如发动机控制单元会接受来自进气压力传感器、发动机温度传感器、油门踏板位置传感器、发动机转速传感器等等的信息,在经过分析和处理后会发送相应的指令来控制喷油嘴的喷油量、点火提前角等等,其它控制单元的工作原理也都类似。在这里可以给大家做一个比喻,车上的各种控制单元就好比一家公司各个部门的经理,每个部门的经理接受来自自己部门员工的工作汇报,经过分析作出决策,并命令该部门的员工去执行。
车身上的这些控制单元并不是独立工作的,它们作为一个整体,需要信息的共享,那么这就存在一个信息传递的问题。比如发动机控制单元内的发动机转速与油门踏板位置这两个信号也需要传递给自动变速器的控制单元,然后自动变速器控制单元会据此来发出升档和降档的操作指令,那么两个控制单元之间又是如何进行通信的呢?
目前在车辆上应用的信息传递形式有两种。第一种是每项信息都通过各自独立的数据线进行交换。比如两个控制单元间有 5 种信息需要传递,那么则需要 5 根独立的数据线。也就是说信息的种类越多,数据线的数量和控制单元的针脚数也会相应增加。这些复杂繁多的线束无疑会增加车身重量,也为整车的布线带来一定困难。
第二种方式是控制单元之间的所有信息都通过两根数据线进行交换,这种数据线也叫 CAN 数据总线。通过该种方式,所有的信息,不管信息容量的大小,都可以通过这两条数据线进行传递,这种方式充分的提高了整个系统的运行效率。我们常见的电脑键盘有 104 个按键,却可以发出数百种不同的指令,但键盘与电脑主机之间的数据连接线只有 7 根,键盘正是依靠这 7 根数据连接线上不同的编码信号来传递信息的。CAN 数据总线的原理也正是如此。这种一线一用的专线制改为一线多用制,可以大大减少汽车上电线的数量,同时也简化了整车的布线。
在了解到两个控制单元是通过两根数据线来进行信息交换的基础上,我们可以将其推而广之,多个控制单元之间的通信其实就是将每个控制单元都连接到这两条 CAN 总线上,从而实现多个控制单元间的信息共享。
目前汽车上的 CAN 总线连接方式主要有两种,一种是用于驱动系统的高速 CAN 总线,速率可达到 500kb/s,另一种是用于车身系统的低速 CAN 总线,速率为 100kb/s。当然对于中高级轿车还有一些如娱乐系统或智能通讯系统的总线,它们的传输速率更高,可以超过 1Mb/s。高速 CAN 总线主要连接发动机控制单元、ABS 控制单元、安全气囊控制单元、组合仪表等这些与汽车行驶直接相关的系统。这些系统由于信息传递量较大而且对于信息传递的速度有很高的要求,所以则需要高速 CAN 总线来满足其信息传递的需要。车身系统的 CAN 总线主要连接像中控锁、电动门窗、后视镜、车内照明灯等对数据传输速率要求不高的车身舒适系统上。
这就像要抵达同一个目的地的两辆车,轿车可以选择走高速公路,因为只有高速公路才能发挥出轿车的速度优势,从而节省出更多的时间。而一辆卡车由于速度比较慢,则只需要走普通国道即可,因为走高速也不能体现出它的速度优势,相反会产生更多的费用。
上图中颜色相同的控制单元间采用一种特定速率的总线系统,这种根据各自需求来使用不同 CAN 总线的方式可以较好的优化资源,降低整车的成本。除此之外,还有一种子总线系统,其主要连接电器开关与控制单元,或者传感器与控制单元之间。比如电动车窗的按键与相应控制单元间则采用的是子总线系统。这种子总线系统主要是传递系统内相对数据量较少的数据,当然它的数据传输速率更低,而且采用的是单线制。
总线系统又称作 CAN-BUS,其实也是因为它的工作原理与运行中的公共汽车很类似。其中每个站点相当于一个控制单元,而行驶路线则是 CAN 总线,CAN 总线上传递的是数据,而公共汽车上承载的是乘客。某个控制单元接收到负责向它发送数据的传感器的信息后,经过分析处理会采取相应措施,并将此信息发送到总线系统上。这样此信息会在总线系统上进行传递,每个与总线系统连接的控制单元都会接收到此信息,如果此信息对自己有用则会存储下来,如果对其无用,则会进行忽略。
整个原理很类似于一个电话会议进行的方式,一个电话用户(控制单元)将数据“讲”入网络中,其他用户通过网络“接听”这个数据,对这个数据感兴趣的用户则会利用,其他用户则会选择忽略。
前面讲到不同的总线系统会有不同的传输速率,这就给不同总线系统间的通讯造成了一定的麻烦。它就相当于联合国开大会,每个成员国都讲自己的本国语言,如果要想互相听懂,就必须有位能精通所有语言的翻译来进行信息的传递。车载网络系统中很重要的一个控制单元就是“网关”,它同时连接多种不同的 CAN 数据总线,并在传递数据时起翻译作用。
在这里可以给大家举一个例子,比如从属于驱动总线系统的室外温度传感器将检测到的温度信号发送给仪表盘控制单元,然后仪表板控制单元会将此信号发送到驱动总线系统上,该信号会被发动机控制单元采集到,同时会经过网关的“翻译”继续传递到车身总线系统上。而从属于车身总线系统上的自动空调控制单元会收到此信号,并据此作出加大制冷量或者减小吹风量等动作,这样的一个过程体现了整个车载网络的信息共享。
最后再来说说 CAN 总线系统的优点
1、比传统的布线方式的数据传输速度更高;
2、比传统布线方式要节省线束,降低了车身重量,同时优化了车身的布线方式;
3、以 CAN 总线方式连接的控制单元中有一个发生故障,其它控制单元仍可发送各自的数据,互不影响;
4、CAN 数据总线为双线制,如果有一条发生故障,CAN 系统会转为单线运行模式,提高了整车的稳定性;
5、CAN 系统的双线在实际中是像“麻花”一样缠绕在一起的,这样可以有效的防止电磁波的干扰和向外辐射;
6、基于 CAN 总线系统可以实现更丰富的车身功能。
CAN 总线系统的应用大大简化了车身线路的布局,这一点可以从发动机舱简洁、整齐的布局得以体现。车身功能增加了,但是线束却相应的简化了,同时线束的简化也给维修带来了更多的便利性。使用过程中,某个部件在发生故障的情况下,会自动关闭输出功能,以使总线上的其它部件不受影响,一定程度上提高了车身电控系统的稳定性。这种将各个功能件连在一起构成的完整的网络系统可以实现信息与数据的全车共享,使汽车在控制方面更加智能、精确。其实这项技术已经开始走入了普通的家用轿车,不再是豪华车的专属。