浅析基于CAN总线的客车车身控制系统
2018-03-12邱远红王俊红谭福伦
邱远红,王俊红,谭福伦
(金龙联合汽车工业(苏州)有限公司,江苏 苏州 215026)
CAN是控制器局域网络(Controller Area Network)的简称,是国际上应用最广泛的现场总线之一,一个具体的CAN总线系统包括物理层、数据链路层、应用层;其应用范围较广,J1939协议是由SAE(美国汽车工程师协会)制定,并应用于商用车的高速通信协议,也是目前客车广泛采用的通信协议。
随着CAN总线技术的推广,客车车身总线控制越来越得到普及和应用,总线控制器应用到了大部分整车电器设计中,总线控制器和组合仪表的协调工作,推动了整车电器智能化的进程,实现了客车电器设计软硬件的分离,从而推动整车电器件通用化发展的步伐,对推动整个客车电器的发展具有积极的意义。本文重点分析目前客车CAN总线的车身控制系统结构、特点、控制器以及应用注意事项。
1 客车车身控制系统CAN总线网络结构
各个客车厂家车身控制系统产品不同,但基本控制思路大同小异,如传统车辆,主要采用图1所示网络拓扑结构,主要有2个CAN网络结构,其中车辆照明系统、刮水、声光报警系统等在车身控制系统;动力网络主要为发动机、变速器、ABS等动力控制系统。本文重点讨论车身控制系统。
车身控制系统主要有组合仪表、开关控制器、车身控制器、行车记录仪以及其他附件控制单元,组合仪表为人机交互界面,为驾驶员提供显示信息,并充当“网关”作用,既连接车身网络又连接动力网络;开关控制器采集车辆开关信号,把开关量通过CAN总线系统传输到整个网络;车身控制器是车身控制系统的核心,车身控制器根据开关量信号、模拟量信号、CAN总线信号,进行逻辑控制相应输出管脚,实现车辆电器负载的控制。
2 基于CAN总线的客车车身控制系统特点
基于CAN总线系统的车身控制系统对客车来说主要有以下优点:①用电器控制简化;②信号实现共享,简化电路设计;③具有过载保护以及断路指示;④能够自我诊断。
图1 传统车辆网络拓扑结构
2.1 用电器控制简化
未使用CAN总线之前,传统电路设计主要是通过熔断器盒、开关以及继电器控制用电器件;整车采用CAN总线后,控制系统简化,开关信号只需要接入总线控制器,总线控制器根据总线设定的逻辑规则,驱动电路,实现用电器件的工作。图2为传统电路控制框架,图3为总线电路控制框架。
图2 传统电路控制框架
图3 总线电路控制框架
图2中,喇叭和灯具电流经过熔断器、控制开关或者继电器到喇叭或者灯具;图3中,喇叭和熔断器的控制通过总线实现,开关信号进入车身控制器,车身控制器根据得到的开关信号,转换成相应的报文,发送给整个车身网络,车身控制器根据设定的管脚以及设定的软件程序,驱动相应的用电器工作。
两种控制方式对比,总线电路结构简化,熔断器数量减少,对开关的负载性能要求降低;传统电路实现方式复杂,有的控制功能需要多个继电器进行控制;总线电路控制只需根据开关逻辑进行编程即可实现,开关只控制信号,不驱动负载,所以耐久性能将会得到提高,也会降低生产成本。
2.2 信号实现共享,简化硬件电路设计
以机油压力传感器为例,未使用总线之前,发动机需要采集机油压力信号给发动机ECU,而为显示机油压力状态,组合仪表需要获取机油压力传感器参数信息,整车厂也需要安装机油压力传感器,因而发动机本体需要安装2个机油压力传感器;采用总线系统之后,发动机本体只需要安装1个机油压力传感器,发动机ECU根据采集的机油压力参数,以报文形式发送到整个总线网络,组合仪表根据得到的报文信息,计算机油压力值,驱动仪表工作。图4为传感器信号采集方式的对比。
图4 传感器信号采集方式对比
图4中,传统电路中需要2个传感器,各用电器分别需要1个传感器;而总线电路中只用1个传感器,发动机ECU通过报文形式发送给外部CAN网络,组合仪表收到报文,实现相应的功能。由上可知,2个传感器的使用转变为1个传感器的使用,整车总线可实现用电设备信号的共享,降低整车成本。
在客车电器中,有时多个用电设备对同一信号都有需求,而只能安装一个传感器。如果多路设备同时连接这个信号,会造成整个系统工作不正常,如发动机ECU、行车记录仪、组合仪表、缓速器等都需要车速信号,如果把一个信号同时接入各个用电设备,有时会出现多个用电设备同时上拉信号,造成信号超出电路的检测范围,导致用电设备工作不正常。如笔者遇到的一个车速表在怠速抖动的故障,其中车速传感器输出一路信号同时接入到了组合仪表和发动机ECU,组合仪表的车速表会出现不正常的抖动。车速传感器以及仪表电路如图5所示。
图5 车速传感器以及仪表电路
图5a为传感器电路,图5b为组合仪表连接传感器电路,由于发动机ECU内部也有一个1.8kΩ的上拉电阻,仪表和ECU的同时上拉,使车速信号超出组合仪表的检测范围,从而出现组合仪表怠速抖动现象。而采用整车总线之后,车速信号连接到就近总线模块,总线模块发送车速报文到组合仪表、发动机ECU、行车记录仪、缓速器等,从而减少这种问题的发生。
2.3 具有过载保护以及断路指示
传统电路中,用电器出现过载时,如果超过熔断器的设定范围,熔断器熔断,保护用电设备。如果熔断器设计过大,则会出现线束过热,更为严重状况则为线束烧毁,用电设备烧坏,整车着火。采用总线控制后,总线模块会根据设定的负载需求,输出相应电流,如果用电器负载超出设定功率,总线模块则会停止输出,防止过载。
在电器设计中,设计人员要注意核算用电负载情况,根据模块管脚输出能力,选择相应的管脚。图6为某型号模块部分管脚功率说明。
图6 某型号车身控制模块部分管脚功率说明
2.4 故障诊断
非总线车型,如果用电器出现故障,售后人员需要按照线束图进行排查,需要有一定的工作经验,排查故障困难。若是总线车型,模块根据输出状态,进行分析判断,把故障信息通过报文发送给组合仪表,组合仪表显示故障信息,售后人员根据显示信息进行针对性诊断,方便查找问题和分析。图7为仪表诊断界面,仪表显示的模块为管脚输出状态。售后根据显示状态,判断是模块问题,还是传感器问题等。
图7 仪表诊断界面
3 车身控制模块原理
车身控制模块硬件电路由CAN收发器、CAN控制器、MCU以及功能电路组成,结构如图8所示。
图8 总线模块硬件电路
CAN收发器主要是把物理层电信号进行转换的器件,具有与CAN控制器连接接口的收发引脚TX和RX,还有一对与CAN总线接口的CAN_H和CAN_L。要发送的数据从TX输入,经收发器转换为CAN信号电平,从CAN_H和CAN_L输出到CAN总线电缆上;同时CAN_H和CAN_L上信号电平也被实时地转换为逻辑信号从RX输出到CAN控制器;同时要注意,TX发送的数据也会被RX接收,CAN控制器可以实时检查发出的数据是否异常。
CAN控制器是总线模块的核心部件,集成了CAN规范中数据链路层的全部功能,自动完成CAN-Bus协议的解析。
MCU(Micro Control Unit)即为微控制单元,又称单片微型计算机(Single Chip Microcomputer)或者单片机,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。按照计算速度以及运算能力,输入输出路数等选择,有8位、16位、32位单片机。
功能电路主要是实现总线请求的相应功能。目前客车总线模块主要有以下电路:开关电路、模拟电路、脉冲电路、电源降压电路、功率输出电路、电源输出电路等。
4 车身控制系统电器设计注意事项
整车厂电器设计人员在进行总线设计时,首先需要根据总线模块管脚输入、输出特性,分配各个管脚功能,主要包括开关量输入定义、功率输出定义、模拟量输入定义、电源分配,管脚逻辑控制器等。但在设计中还需要注意以下几点。
1)首先要设计车身控制系统的网络拓扑结构;每个节点需要在哪个网络,网络的终端要确定为哪个零部件。
2)车身网络和动力网络要做好区分,不能把网络节点错挂,造成系统工作不正常。
3)节点和主干网络结构严格按照ISO11898要求执行。
4)车身控制模块不能简单用于代替熔断丝盒,要最大化发挥车身控制模块的逻辑控制功能;客户定制的特殊控制需求尽量通过模块实现,减少其他控制器的使用。
5)考虑到模块间处理时间的延迟,某些点控系统,各个控制开关尽量放在一个模块。如刮水控制,刮水开关的高速控制、低速控制、间歇控制、回位信号尽量放在一个模块,防止出现模块间通信延迟,刮水不能关闭的现象。
6)同一系统的模块具有通用性,请注意电器设计中通过设定管脚的地址线进行区分,在电器设计中不要遗漏。
7)车身控制模块布置尽量合理,方便连接用电器;模块管脚尽量合理利用,大功率管脚和小功率管脚合理分配,使之各尽其能,尽量减少不同线束之间多余的线束对接。
5 结论
客车CAN总线模块系统经过了多年发展,已经具有相当规模,但是客车电器CAN化需要走的路还相当长,客车还未形成统一的技术标准与规范,车身控制模块的结构与控制还有相当大的优化空间,还需要整车厂和零部件厂联合攻关,相互扶持,共同成长。
[1] 耿振江.汽车控制单元类电气设备CAN连接的优化[J].汽车电器,2007(1);13-15.
[2] 周立功,严寒亮,黄晓清.项目驱动-CAN-bus现场总线基础教程[M].北京:北京航空航天大学出版社,2012.