汽车为什么选择了CAN总线技术?
1. 汽车为什么选择了CAN总线技术?
现在总线技术有很多种。从成本上讲,RS-232/485的成本都比CAN低;速度上讲,工业以太网等也都不错。为什么唯独CAN在汽车电子中得到亲睐?
从成本上来说,CAN比UART、RS-232/485高,但比以太网低;从实时性来说:CAN的实时性比UART 和以太网高,为了保证安全,车用通信协议都是按周期性主动发送,不论是CAN还是LIN,对实时性要求高的消息其发送周期都小于10ms(每辆车都有好几 条这样的消息),发动机、ABS和变速器都有几条这样的消息;从可靠性来说,CAN有一系列事故安全措施,这是UART和以太网都不具备的,多点冗余也是 UART(点对点传输)和工业以太网(数据传输距离短)难于实现的,所以CAN出现后,由于价格的原因,最初应用得最多的地方并不是汽车,而是对成本不敏 感的工业控制和医疗设备,如:工业上的DEVICENET、SDS、CANOPEN,医疗上MRI等。至于工业以太网的产生,其背景与个人PC的普及是分 不开的,现在工业控制中的PCBASED就是一个例子,但汽车控制是不能用一台PC的,要达到汽车控制的要求,成本上也不容许。而LIN的传输过程只有 20Kbps,显然不能作为独立的汽车总线控制要求,一般它只配合CAN在汽车上做辅助之用。
其次总线是一个系统,总线上的速度仅仅是系统中的一个因素,ElexRay虽然只有20MBPS但它在一个 16BIT的MCU上都能跑起来,100MHZ以太网虽快,但一个32BIT的MCU很难达到20MBPS.况且还要涉及到系统的安全性,类似冗 余,BUS安全等。所以综合考虑,汽车选择了CAN总线技术。
2. 汽车CAN总线技术到底是怎么一回事?
Can-Bus总线技术是“控制器局域网总线技术(Controller Area Network-BUS)”的简称,它具有极强的抗干扰和纠错能力,最早被用于飞机、坦克等武器电子系统的通讯联络上。
通过遍布车身的传感器,汽车的各种行驶数据会被发送到“总线”上,这些数据不会指定唯一的接收者,凡是需要这些数据 的接收端都可以从“总线”上读取需要的信息。Can总线的传输数据非常快,可以达到每秒传输32bytes有效数据,这样可以有效保证数据的实效性和准确 性。传统的轿车在机舱和车身内需要埋设大量线束以传递传感器采集的信号,而Can-Bus总线技术的应用可以大量减少车体内线束的数量,线束的减少则降低 了故障发生的可能性。
Can-Bus技术在汽车的应用,可以减少了汽车车体内线束和控制器的接口数量,避免了过多线束存在的互相干涉、磨 损等隐患,降低了汽车电气系统的故障发生率。各种传感器的信息可以实现共享。另外,在Can-Bus技术的帮助下,汽车的防盗性、安全性都得到了较大幅度 提升。例如:在启动车辆时,确认钥匙合法性的信息会通过Can-Bus总线进行传递,其校验的信息比以往的防盗系统更为丰富。车钥匙、发动机控制器和防盗 控制器互相存储对方信息,校验码中还掺杂了随即码,从而大幅提高防盗能力。校验信息通过Can-Bus传递大幅提高了信息传递的可靠性,使防盗系统的工作 稳定可靠。就目前而言,Can-Bus总线技术一般使用在科技含量较高的中、高档轿车上。
3. 采用汽车CAN总线技术有哪些优点?
现代汽车中所使用的电子控制系统和通讯系统越来越多,如发动机电控系统、 自动变速器控制系统、防抱死制动系统(ABS)、自动巡航系统(ACC)和车载多媒体系统等;这些系统之间、系统和汽车的显示仪表之间、系统和汽车故障诊 断系统之间均需要进行数据交换,如此巨大的数据交换量,如仍然采用传统数据交换的方法,即用导线进行点对点的连接的传输方式将是难以想象的,据粗略估计, 如采用普通线索,一个中级轿车就需要线索插头300个左右,插针总数将达到2000个左右,线索总长超过1. 6Km,不但装配复杂而且故障率会很高。因此,用串行数据传输系统取而代之就成为必然的选择。
数据在串联总线上可以一个接一个的传送,所有参加CAN总线的分系统都可以通过其控制单元上的CAN总线接口进行数 据的发送和接收,CAN总线是一个多路传输系统,当某一单元出现故障时不会影响其他单元的工作,CAN总线对不同数据的传输速率不一样,对发动机电控系统 和ABS等实时控制用数据实施高速传输,对车身调节系统(如空调)的数据实施低速传输,其他如多媒体系统和诊断系统则为中速传输,速率在两者之间,这样的 区分提高了总线的传输效率。
数据总线如何能实现多路传输的呢?原来数据总线有三部分组成:1)数据传输线,2)地址传输线,3)发送单元和接收 单元之间的传送控制线。数据按CPU的指令以一定的模式传输到指定的地址,而传输模式则由软件控制的。这样,汽车总线与计算机中的“BUS”就很类似了, 不难理解。
4. 汽车CAN总线的发展趋势
传统的CAN是基于事件触发的,信息传输时间的不确定性和优先级反转是它固有的缺点。为了满足汽车控制对实时性和传 输消息密度不断增长的需要,改善CAN总线的实时性能非常必要。于是,传统CAN与时间触发机制相结合产生了TTCAN(Time- Triggered CAN)。
TTCAN总线和传统CAN总线系统的区别是:总线上不同的信息定义了不同的时间槽(Timer Slot)。在同一时间槽内,总线上只能有一条信息传输,这样避免了总线仲裁,也保证了信息的实时性。TTCAN系统需要全局时间同步,但采用传统CAN 控制器很难实现TTCAN,因此新推出的CAN控制器如Microchip的MCP2515就增加了与TTCAN相关的硬件资源,它们在软件配合下就能实 现TTCAN。