《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > 汽车控制系统中的双速CAN总线设计

汽车控制系统中的双速CAN总线设计

2008-11-12
作者:冯 钟

  摘  要: 针对汽车控制系统中各控制单元" title="控制单元">控制单元对系统响应时间要求不一致的实际情况,提出建立双速CAN总线网络以连接汽车的各控制单元的方法。在系统中,对实时性" title="实时性">实时性要求高的计算机控制" title="计算机控制">计算机控制单元采用高速CAN网络传输;其他采用低速CAN网络传输。结果表明,采用高、低速两条CAN总线网络的设计思路,既方便地实现了整个系统的数据共享,又有效地缓解了整个总线的通信负担,从而提高了控制的可靠性。 

  关键词: 双速CAN总线; 网关; 汽车控制系统; TMS320LF2407 

 

  随着汽车计算机控制技术的不断发展,现代汽车上的电子装置越来越多,联系也越来越紧密。如发动机控制、变速控制、制动防抱死控制、安全气囊控制、照明控制、空调控制、仪表管理等。在原来的汽车上,这些计算机控制单元之间往往没有通过总线构成网络,而是独立进行控制,或者相关控制单元通过串行口进行联系,目前,大多数汽车都使用串行总线构成网络控制,各汽车公司都制定各自的协议。如克莱斯勒公司的CCD协议;福特、马自达的PWM协议;英国的GE协议;标致、雷诺的VAN协议;Bosch、奔驰的CAN协议;通用公司的J1850协议等。目前ISO组织批准采用的汽车多路传输系统的技术标准通信协议有VAN、CAN、SCP(J1850)三种。其中CAN协议实际上己成为最具代表性的汽车高速协议。在欧洲,CAN总线已成为汽车制造业的主体行业标准,代表着汽车电子控制网络的主流发展趋势。 

  现代汽车计算机控制单元多,而各控制单元对系统响应时间的要求也不一样。有些控制单元对实时性要求很高,系统指令发出以后如果得不到执行器的及时响应,就可能造成严重后果甚至车毁人亡,如制动防抱死控制单元、安全气囊等;而有些控制单元如照明控制、空调控制等对系统的响应时间要求就相对较低。计算机控制单元越来越多,若采用单网络,CAN总线负荷很重,本文通过分别构造高、低速CAN网络,对实时性要求高的计算机控制单元采用高速CAN网络传输;而其他则采用低速CAN网络传输,并采用DSP作为微控制器" title="微控制器">微控制器兼作网关,使得传输线束大大简化,可靠性大大提高。 

1 CAN总线的技术特性 

  CAN(Controller Area Network)总线是一种串行多主站控制器局域网总线。它具有很高的网络安全性、通信可靠性和实时性,并且简单实用、网络成本低,特别适用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。通信媒体可以是双绞线、同轴电缆或光导纤维,数据传输速率可达 1Mb/s(此时通信距离最长为40m)。 

  自CAN总线问世以来,为满足CAN总线协议的多种应用的需要,相继出现了几种高层协议。目前大多数基于CAN 总线的网络都采用CAN 总线的高层协议。 CANopen、DeviceNet 和SDS是通常采用的高层协议,适用于任何类型的工业控制局域网应用场合,而 CAL 则应用于基于标准应用层通信协议的优化控制场合,SAEJ1939 则应用于卡车和重型汽车计算机控制的系统。 

2 基于TMS320LF2407的汽车控制系统 

2.1  TMS320LF2407 

  根据汽车计算机控制系统对高实时性、高可靠性、高抗电磁干扰能力要求,采用TI公司开发的TMS320LF2407芯片作为主微控制器兼做网关。该DSP芯片将高性能的DSP内核和丰富的微控制器外设集成于单片中,指令采用四级流水线操作,能使数字控制系统实时地进行运算,能大大减小硬件对控制算法的限制。芯片具有六套16位内部总线,544字节的片内DARAM、2K字的片内SARAM和32K字的片内Flash程序存储器、16通道10位A/D转换器、1个异步串行口SCI, 2个事件管理器EV。每个事件管理器都有各自可编程的死区单元和功率驱动保护中断引脚,可产生独立的PWM波,便于汽车内部各种电机的控制。TMS320LF2407DSP的片上CAN模块全面兼容CAN2.0B协议,可以利用它开发带CAN总线接口的汽车控制仪。 

2.2  系统硬件设计 

  目前,汽车计算机控制已经涉及到动力性、经济性、安全性、可靠性、净化性和舒适性等诸多方面,具体包括发动机控制、变速器控制、巡行控制、制动控制、照明控制、空调控制、雨刷控制,仪表管理控制等,而且各种控制系统的电控单元(ECU)相互联系紧密,需要随时进行实时数据通信。 

  汽车计算机控制系统中的所有这些子控制单元通过CAN总线构成一个实时控制系统网络,各控制单元的指令发出去之后,必须保证在一定时间内得到响应,否则就有可能发生重大事故。这就要求汽车上的CAN通信网络" title="通信网络">通信网络有较高的波特率设置和可靠性。而且,汽车在实际运行过程中,众多节点之间需要进行大量的实时数据交换。若整辆汽车的所有节点都挂在一个CAN 网络上,这么多节点通过一条CAN总线进行通信,信息管理配置稍有不当,就很容易出现总线负荷过大现象,将导致系统实时响应速度下降,这在实时系统中是不允许的。因此,本文在对汽车上各节点的实时性进行分析之后,根据各节点对实时性的要求,设计了高、低速两个速率不同的 CAN 通信网络。将实时性要求严格、可靠性要求高的节点组成高速CAN通信网络,将其他实时性要求相对较低的节点组成低速CAN通信网络,并架设网关将这两个速率不同的CAN通信网络连接起来,实现全部节点之间的数据共享。整辆汽车的通信网络拓扑结构如图1 所示。 

 

 

  图1中的发动机控制、变速器控制、安全控制、防抱死制动控制(ABS)等控制单元节点是现代汽车动作的核心部件,对时间响应要求严格,因而在本设计中采用传输速率为500Kb/s的高速CAN通信网络。空调控制、雨刷控制、照明控制和仪表管理控制等对实时性的要求相对较低,采用传输速率小于125Kb/s的CAN通信网络,主控制器跨接高、低速两条总线,与各节点进行数据交换,兼起网关的作用,实现网络互连。 

  根据系统设计要求,采用TMS320LF2407DSP芯片作为主控制器。该芯片内部集成了CAN总线控制器,不用外扩总线控制器芯片(如SJA1000)。汽车计算机控制系统电控单元与CAN总线接线图如图2所示。 

 

 

  为满足CAN总线协议,需要利用TMS320LF2407来制作CAN通信接口。CAN通信接口由光电隔离电路和CAN 总线收发器以及TMS320LF2407内部的CAN总线控制器组成。在接口设计中,TMS320LF2407的CAN总线控制器带有一个接收缓冲器和一个发送缓冲器,因此,CAN总线控制器的发送端口CANTX、接收端口 CANRX分别与 CAN总线发送接收器的TxD和RxD端口相通。但为了提高CAN节点的抗干扰能力,电控单元的微控制器(TMS320LF2407)通过数据总线经过高速光电隔离器(6N137)与 CAN 总线收发器(PCA82C250)相连,以实现总线上各CAN节点间的电气隔离。光耦部分电路所采用的两个电源应该完全隔离。在实际使用中,可采用多电源输出模块供电实现电源隔离。PCA82C250的CAN_H和CAN_L与CAN总线之间的二个5Ω电阻用于限流,以免PCA82C250受到过流的冲击。芯片PCA82C250的引脚RS用于选择PCA82C250的工作模式(高速、斜率控制或等待),RS脚接地(须串接一个电阻),则PCA82C250工作于高速方式。参考电压输出VR的输出电压是额定电源电压VCC的0.5倍,其中收发器的额定电源电压是5V。CAN_L和CAN_H是CAN总线的两条差分接收发送线,它们的端点间各接一个120Ω的总线匹配电阻,当有节点占用CAN总线时,该节点的发送端(电平为3.5V)接CAN_H,接收端(电平为1.5V)接CAN_L;当无节点占用CAN总线时,CAN_L和 CAN_H上的电平均为 2.5V。CAN通信接口的原理电路如图3所示。 

 

 

2.3 软件设计 

  本系统软件由主系统软件和高(低)速CAN总线网络单元软件组成,软件流程图分别如图4、图5所示。其中,高速CAN总线网络单元负责对实时性要求高的发动机控制、变速控制、安全控制和制动防抱死控制等单元的控制动作的采集和传送,一旦有这些控制单元的动作信号,经过微控制器对它们进行处理后将以最快的速度通过高速CAN网络传给相应控制单元的ECU,由控制单元ECU对控制对象进行控制;低速CAN总线网络的控制方法与此类似(在此不作介绍),但是由于它们的实时性要求相对不高,因此其传输优先级相对也较低。 

 

 

 

  在CAN网络系统中,下位节点也就是各种类型的ECU,它们的主要功能是采集数据并向总线发送报文以及从总线接收报文并向相连的电子设备发送控制指令。这里以汽车仪表ECU为例,此节点的主要任务是从总线接收报文并驱动相连的油量表、转速表、车速表、水温表以及控制仪表上的方向灯、照明灯、报警灯的开启与关闭。同时,此节点应定时向总线发送有关汽车仪表工作状态的报文。因此,下位节点的软件包括CAN初始化程序、CAN报文接收程序、CAN报文发送程序、电子设备控制程序和数据采集程序等部分。本文简要介绍CAN初始化、CAN报文处理等部分的软件设计思路。 

  (1)CAN初始化程序设计 

  对CAN控制器进行初始化,实际上就是对CANC、BRPRS、SYNC0、SYNC1、MCNT、MASKC等寄存器进行初始化设置,并对报文接收缓冲区进行设置。CAN初始化程序代码如下: 

    CANINIT:… 

        DI                                          ;关中断 

        SET1 CANC.O 

        MOV  BRPRS,#09H 

        MOV  SYNCO,#OA7H 

        MOV  SYNC1,#04H 

        Receive Buffer Init            ;接收缓冲区初始化 

        … 

        MOV  MCNT,#ODOH           ;16个Receive Buffer 

        MOV  MASKC,#02H 

        CLR1 CANC.O 

    EI                                          ;开中断 

  (2)CAN报文处理程序设计 

  CAN协议只关心报文内容,而不必关心报文的目的地址。因此,下位节点采集数据后或收到数据发送请求报文后,以广播方式向总线发送报文。当通过滤波验收的数据报文被接收时,将有两种操作方式:一种是中断方式,若接收中断开放位允许,则产生中断;另一种是查询方式,若查询接收状态位DN=1,则表示接收缓冲区所有数据。由于汽车控制网络实时性要求较高,因此系统采用中断方式对接收数据进行处理。 

2.4 抗干扰措施 

  考虑到汽车计算机控制的工作条件比较恶劣,电磁干扰严重,在本设计中还加强了防干扰措施:(1)提高了稳压电源的抗干扰性能。因为蓄电池与汽车交流发电机、起动机、点火线圈相连,不仅电压波动大,而且含有尖峰脉冲,对微机干扰很大,因此对稳压电源进行了精心设计。(2)考虑汽车工作环境电磁干扰严重,在选用微控制器时特选用自带看门狗定时器的数字信号处理器TMS320LF2407作为微控制器,并选用4片高速光电隔离芯片6N137,将控制器与CAN总线收发器隔离,有效防止了噪声信号传入微控制器,提高了系统可靠性。(3)本设计还对整个系统进行了金属屏蔽,传输线采用屏蔽双绞线,以减少电磁干扰。(4)在软件抗干扰方面,CAN总线MAC层采用CSMA/CD协议及非破坏性优先权的逐位仲裁规则实现对媒体的访问,总线状态取决于显性位‘0’,而不是取决于隐性位‘1’,因此,当两个节点同时向网络上发送报文时,优先级低的报文主动停止发送,而不会影响优先级高的报文的发送。同时,采用CRC校验,具有错误检测与出错帧自动重发功能。 

  智能芯片价格的下降使得各种汽车局域网的成本相差无几,性能已成为影响网络选择的最主要因素。目前,CAN以其优异的品质具有明显的优势,高速、低速两条CAN总线网络的设计,既方便地实现了整个系统的数据共享,又有效地缓解了整个总线的通信负担。目前双速CAN的模式已经在一些大的汽车生产厂得到应用。 

  如今,一些公司(如神龙公司)提出采用三速网络作为汽车的控制网络,高速与低速网络用CAN总线,而中速网络用VAN总线,两种总线用一个智能控制盒加以协调。三速双总线网络模式的控制可靠性尚需要进一步加以验证。但是可以相信,随着汽车控制技术的发展,三速双总线网络不久也将会成功地得到应用。 

参考文献 

[1] 饶动涛,邹继军,郑勇芸. 现场总线CAN原理与应用技术[M]. 北京:北京航空航天大学出版社,2003. 

[2] 邹宽明. CAN总线原理和应用系统设计[M]. 北京:北京航空航天大学出版社,2002. 

[3] 刘和平. TMS320LF240x DSP结构原理及应用. 北京:北京航空航天大学出版社,2002. 

[4] 肖玮, 刘立, 魏敬宣. 基于CAN总线的载重汽车安全监测系统[J].矿山机械,2007,(6):67-69.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。