第1页共(8)页汽车控制系统的CAN总线应用摘要现代汽车上安装和使用了越来越多的电子控制单元(ECU),大大提高了汽车的动力性、经济性、舒适性和操作的方便性,但随之增加的复杂电路使车内线束增多、空间紧张、布线复杂,导致车身重量明显增加,降低了车辆的可靠性,增加了维修难度。另外,各电控单元之间也需要传递大量的信息,有些信息是多个电控单元共享的,传统的点对点的接线和布线方式不能实现信息共享。由于现代汽车的电子控制器及仪表的数量越来越多,因此现代汽车一般采用CAN总线系统,将整个汽车控制系统联系起来统一管理,实现数据共享和相互之间协同工作。把CAN总线技术应用于汽车的电气控制就可以解决这些问题,也是目前国内外汽车制造商大力开发和正在使用的新技术。CAN已被广泛应用到各个自动化控制系统中,从高速的网络到低价位的多路接线都可以使用CAN.例如,在汽车电子、自动控制、智能大厦、电力系统和安防监控等领域,CAN都具有不可比拟的优越性。现代汽车的结构复杂,传感器遍布全车,其类型多种多样,这使得数据变得复杂,大小不尽相同,因此速率也不相同,另外车身系统也需要获得驱动系统的信息,以供维修人员或者驾驶者参考。因此有必要设计一个高效、可靠的网关与数据处理系统。1.汽车CAN总线系统.CAN的全称是:ControllerAreaNetwork,即区域网络控制器。CAN总线中数据在串联总线上可以一个接一个地传送,所有参加CAN总线的分系统都可以通过其控制单元上的CAN总线接口进行数据的发送和接收。CAN总线是一个多路传输系统,当某一单元出现故障时不会影响其他单元的工作,汽车CAN总线对不同数据的传输速率是不一样的,对发动机电控系统和ABS等实时控制用数据实施的是高速传输,速率为0.125M波特率~1M波特率;对车身调节系统(如空调)的数据实施的是低速传输,传输速率在10~125K波特率;其他如多媒体系统和诊断系统则为中速传输,速率在前两者之间,这样的区分提高了总线的传输效率。图1为某种客车的CAN总线系统结构图。第2页共(8)页图1一种客车的CAN总线系统结构车身系统CAN总线的主要连接对象为:中控、门控制器及其他一些组件。车身系统的控制对象主要是4个门上的集控锁、车窗、行李箱锁、后视镜及车内顶灯。在具备遥控功能的情况下,还包括对遥控信号的接收处理和其他防盗系统的控制等等。现代汽车中所使用的电子通讯系统越来越多,如汽车自动诊断系统、自动巡航系统(ACC)和车载多媒体系统等。系统和汽车故障诊断系统之间均需要进行数据交换。2.汽车车身整体控制系统设计.整个系统主要由车内仪表、照明及信号灯组、自动车窗电控节点组成。本系统网络中包含1个车内仪表板、4组照明、信号灯组和4个车门,共9个节点。其中,照明、信号灯组中包括远光灯、近光灯、转向灯、雾灯、刹车灯,且不同灯的安装位置不尽相同,如图2所示。中央控制单元安装在汽车仪表板上,接收司机的操作指令,其余4个节点则分别安装在车头、尾部的左侧和右侧,与不同车灯相连,控制车灯状态。第3页共(8)页图2车灯总线控制结构图门控单元不但通过CAN总线接收中央控制单元指令,还接收车门上的开关信号输入,根据指令和开关信号,门控单元做出相应的动作,然后把执行结果发往中央控制单元,门控单元功能如图3所示。将所有节点连接起来,组成一个汽车内部控制网络。由于每个CAN节点与网络连接只用两根线CANH线和CANL线,从而大大减少了线束的使用量。中央控制节点和其它节点之间通过CAN收发器及CAN控制器相连,单个节点包括一个单片机控制器、一个CAN收发器和一个CAN控制器。中央控制节点接收各节点发送的现场数据,经过综合计算、判断做出相应的控制命令,这些命令将通过CAN总线传送至各节点,各节点由单片机作为控制器,第4页共(8)页它用于采集现场的各项参数,并执行中央控制节点发送的各项命令,这些命令将最终传送至各执行机构,如车门电机、车灯、车窗继电器等。图3门控单元功能图3.汽车检测线控制系统的设计.国内的汽车检测线大多采用2级分布式计算机控制方式,其系统结构如图4所示。第1级为工位控制级,由分布在各工位上的工位机完成测控工作,主要担负检测设备运行控制、数据采集和通信等任务。第2级为监督管理级,由主控机完成测控工作,具有安排检测程序、担负全线调度、综合判定检测结果、存储并集中打印检测结果报告单和管理数据库等功能。第5页共(8)页图4CAN总线计算机控制系统结构4.CAN总线计算机控制系统本文设计了基于CAN总线,以嵌入式系统为工位机的汽车检测线计算机控制系统,其系统结构如图所示。该系统以CAN总线技术为核心,采用总线型网络拓扑结构。3个工位由ARM微控制器组成的嵌入式系统代替工业控制计算机连接到CAN总线上,主控机和登录机采用普通计算机,它们通过CAN卡与3个CAN总线工位节点进行信息交换。CAN总线工位节点把采集到的现场信号经过调理变换后,送到ARM微控制器中,最后变成数字信号。数字信号经ARM微控制器中的CAN控制器处理后,由CAN收发器通过总线与主控机进行CAN协议的数据交换。主控机对传感器检测到的现场信号进一步分析、处理和存储,完成了系统的在线检测和计算CAN收发器CAN收发器ARM微控制器ARM微控制器ARM微控制器CAN总线CAN卡主控机CAN收发器排放检测速度检测声级检测灯光检测制动检测轴重检测侧滑检测第6页共(8)页机控制。本设计有如下特点:1.采用基于32位高性能ARM微控制器的嵌入式系统作为工位机,代替传统的工业控制计算机。以ARM为核心的嵌入式系统具有体积小、功耗低及程序固化在闪存芯片上等特点,可有效节约系统成本,简化系统安装及调试,增加系统稳定性和可靠性。2.采用CAN总线代替以太网来完成各工位机之间的通信。以太网节点的硬件成本、软件开发费用很高。而CAN总线使用普通双绞线作为传输介质,采用总线型网络拓扑结构、基于优先权的仲裁方式,由CAN控制器实现硬件纠错,利用CAN构成检测通信网络,不仅组网自由、扩展性强及实时性好,还具有自诊断和监控能力。因此使用CAN总线替代以太网应用于汽车检测线可以提高系统的可靠性、稳定性,降低系统开发及后期维护的成本。3.采用隔离CAN收发器代在以往的设计方案中需要高速光耦,电源隔离模块及CAN收发器等分立元件才能实现的带隔离的CAN收发电路。CTM1050T接口芯片可以实现带隔离的CAN收发电路,并且隔离电压可以达到DC2500V,不但提高了CAN总线节点的抗干扰能力,保证各节点之间在电气上是完全隔离和独立的,而且简化了CAN智能节点硬件电路设计。5.工位机软件设计.工位机软件主要由数据采集程序、CAN总线通信程序组成。本文主要介绍CAN总线通信程序的软件设计,包括CAN控制器的初始化、数据接收与数据发送。(1).CAN控制器的初始化。CAN控制器的初始化只有在复位模式下才可以进行。初始化工作主要通过对CAN控制器相关寄存器写入相应的控制字来确定CAN控制器的工作模式,它主要包括:硬件使能和配置引脚连接、软件复位、设定通信波特率、配置CAN工作模式、配置发送优先级模式、配置验收滤波器、设置中断使能寄存器、设置错误警告等。(2).数据接收。接收程序流程如图5所示。第7页共(8)页图5接收程序流程至此数据从CAN总线到CAN接收缓冲区是由CAN控制器自动完成的。接收程序只要从接收缓冲区读取要接收的信息即可。接收程序可以采用查询方式或中断方式。在某一段时间内,CAN总线并不总是在活动,为了提高效率,可采用中断方式。在初始化程序中必须使能接收中断。在中断服务子程序中,读取CANICR寄存器,判断是否有接收中断标志,有则读取接收缓冲区数据。为了防止接收缓冲区数据溢出,可开辟一个循环接收数据队列来暂时存储数据,主程序可通过查询该队列来获得总线数据。(3).数据发送。发送程序负责把按照CAN协议格式转换的数据发送到CAN总线上。发送时只要将待发送的数据按CAN协议的帧格式组合成一帧报文,然后判断是否有空闲的发送缓冲区。CAN控制器为了提高大量数据的发送效率,每个CAN控制器配有3个独立的发送缓冲区,发送时要根据缓冲区的实际情况有选择性地把数据写入3个发送缓冲区之一。它们的状态可以通过查询寄存器得知,只有当其中有空闲的发送缓冲区时才可将数据写入。在启动发送数据的命令后,CAN控制器要将缓冲区内的数据发送完毕后,才会将该帧数据是否发送成功的状态返回,可以通过查询寄存器的TCS位或配合发送成功中断来判断数据是否发送成功。6.总结.本文设计的计算机控制系统把CAN总线技术和嵌入式系统应用在汽车检测线上,不仅提高了汽车综合性能检测的速度,而且在汽车检测线的安装、调试、运第8页共(8)页行和维护等环节上节约成本,可广泛应用于汽车检测行业,满足经济实用的要求,具有良好的实用价值和应用前景。