一种轿车车门ECU 设计
扫描二维码
随时随地手机看文章
摘 要: 提出了一种“总体分布、局部集中式”的轿车车门ECU设计,ECU之间以CAN总线方式通信。以英飞凌公司XC164CS微控制器和TLE8201、BTS781功率驱动芯片为核心设计了车门ECU的硬件电路;在XC164CS上移植了μC/OS-Ⅱ实时操作系统,在此基础上进行了任务划分和应用软件设计,最后搭建了整个车门控制系统的实验台架。试验结果表明,该系统运行稳定可靠,达到了设计性能。
随着科技的飞速发展,为了提高行车的舒适性,针对轿车的车门控制系统,人们已经设计了基于CAN、LIN等总线系统的完全分布式控制方案。
轿车车门电子控制器是每一辆现代轿车都必须安装的模块。轿车车门的基本配置包括电动车窗和中控锁(门锁)、前车门后视镜、转向信号灯、礼貌灯等,这些功能可相对独立配置,具有可裁剪性,可按用户需求增减。由于电子技术的进步和集成电路制造工艺的发展,目前车门模块电子控制器的主流是采用高集成度的芯片控制方式。本文基于英飞凌公司生产的高集成度专用门控芯片TLE8201和BTS781,给出了一种新的车门控制解决方案。
1 车门ECU总体设计方案
目前流行两款车门ECU方案,即集中式控制方案和分布式控制方案。其中,集中式控制是将电动车窗、后视镜、门锁等负载的控制集中由车身中央控制器完成,这样可降低整体成本,但增加了控制器的复杂性;而且控制过于集中、尺寸偏大,不利于安装、布线和散热。而分布式控制方案为奥迪、大众等汽车公司所采用,每个车门内的负载由各自的ECU模块单独控制,也可由驾驶员侧ECU通过CAN总线控制。在这种方案中,两个前门ECU连接到CAN总线网络,后面两个车门的ECU可通过CAN总线或LIN总线方式相互通信,或直接由车身中央控制器模块驱动。分布式方案控制简单,但成本偏高。
借鉴以上两种控制方案的优点,本课题组设计了一种“总体分布,局部集中式”的控制方案,其框图如图1所示,即将左侧前后两个车门的控制作为一个ECU模块,右侧前后两个车门的控制作为另一个ECU模块,两个模块之间以及模块与中央控制器之间均以CAN总线方式连接。
本设计方案成本适中,易于布线和控制,是基于集中式和分布式控制优势的一种折中。本设计中的中央控制器模块可模拟特殊的诊断或信息显示功能等,并可用于验证所做设计的正确性,实际的车门控制节点并不包含此模块。
[!--empirenews.page--]
2 车门ECU硬件设计
本车门控制系统的硬件结构框图如图2所示。本系统选用的微控制器为英飞凌公司生产的XC164CS,其MAC单元增加了DSP功能来处理数字滤波算法,从而大大缩短了乘除运算的时间;五级流水线结构、大多数的单周期指令、可遍寻地址空间的PEC传送提高了系统性能。片上调试系统(OCDS)支持对目标系统进行调试。XC164CS出色的性能还适合于实时操作系统的移植。
TLE8201是英飞凌公司新推出的专用于车门控制的一款高集成度芯片,该芯片内部有6个半桥结构电路及5个单独的高边开关。这款多MOS管集成的功率芯片其MOS管具有不同的导通电阻,可用于实现对不同功率负载的驱动。针对车门控制模块,可完成门锁、后视镜X-Y方向、后视镜折叠、后视镜除霜、车门灯光等的控制功能,并具有完善的保护和诊断功能。
功率驱动芯片BTS781完成电动车窗的升降驱动控制。BTS781的4个MOS管构成H桥电路,可方便实现对直流电机的正、反转控制,并具有完善的保护和故障诊断功能。这些特点可保证车窗电机控制的可靠性。
TLE6250是CAN收发器,是ECU之间的CAN通信接口。
电路设计中主要以TLE8201和BTS781芯片为核心进行设计,以配合软件完成相应的负载驱动功能。其中以TLE8201为核心的电路设计如图3所示(每个ECU 由两个TLE8201分别控制前、后门的门锁、后视镜和灯),以BTS781为核心的电路设计如图4所示(每个ECU由2个BTS781分别控制前、后门的车窗升降)。由图3可见,以TLE8201为核心的门锁、后视镜、灯控制电路非常简洁,减小了电路板面积,提高了可靠性。以BTS781为核心的车窗升降控制电路通过对车窗电机电流的检测和滤波放大,在软件配合下可实现车窗防夹功能。右侧ECU单元与左侧ECU单元设计类似。
[!--empirenews.page--]
3 软件设计
3.1 μC/OS-Ⅱ实时操作系统在XC164CS微控制器上的移植
本系统的车门ECU采用基于μC/OS-Ⅱ实时操作系统的设计方法。在完成μC/OS-Ⅱ的移植后,可极大地简化应用程序的编写,便于调试、维护和移植,提高系统的稳定性,且可根据用户的需求裁剪各项功能,容易添加新功能,缩短开发时间。因此,本系统的车门ECU设计首先要完成μC/OS-Ⅱ在 XC164CS上的移植,之后以任务添加方式完成整个ECU的应用软件设计。
所谓移植,就是使一个实时内核能在某个微处理器或微控制器上运行。虽然大部分的μC/OS-Ⅱ代码是用C语言编写的,但仍需要用汇编语言写一些与处理器相关的代码,这是因为μC/OS-Ⅱ在读写处理器寄存器时只能通过汇编语言来实现。
要使μC/OS-Ⅱ正常运行,处理器及其编译器必须满足以下要求:
(1)处理器的C编译器可产生可重入代码;
(2)用C语言可以打开和关闭中断;
(3)处理器支持中断,并且可产生定时中断(通常在10 Hz~100 Hz之间);
(4)处理器支持可容纳一定量数据(可能是几千字节)的硬件堆栈;
(5)处理器有将堆栈指针和其他CPU寄存器读出和存储到堆栈或内存中的指令。
XC164CS微控制器和Keil C166编译器可满足以上要求。移植工作主要关注如何使μC/OS-II正确地定义和使用XC164CS。首先是芯片的中断处理机制,即如何开启、屏蔽中断,可否保存前一次中断状态等。此外,还需关注系统对于存储器的使用机制,诸如内存的地址空间、堆栈的增长方向、压栈和出栈的指令等。
[!--empirenews.page--]
具体来说,由于μC/OS-II自身的代码绝大部分都是用ANSI C代码编写的,而且代码的层次结构十分简洁,与平台相关的移植代码仅仅存在于OS_CPU_A.ASM、OS_CPU_C.C以及OS_CPU.H三个文件当中。因此,移植工作涉及此三个文件,并做了相应的代码修改,完成了?滋C/OS-Ⅱ在XC164CS上的移植工作。
3.2 车门ECU任务划分及任务添加
本设计把控制任务划分为表1所示的四个主要任务。
根据以上任务划分,设计系统的软件结构框图如图5所示。
按以上设计方案,本课题设计了一种“总体分布、局部集中式”的轿车车门系统控制方案。测试结果表明,所设计的车门控制系统可完全实现车窗升降(带防夹控制)、后视镜X-Y方向控制及折叠、门锁开关等控制功能。本系统经长时间测试,工作正常、可靠,达到了预期的设计目标。