摘要:汽车防抱制动系统(ABS)的电子控制单元(ECU)是ABS的最重要部件之一。为模拟ABS的实际工作过程,制造了具有六通道电子控制单元的ABS开发板,包括单片机、电磁阀驱动、电源模块、轮速处理等模块等。该系统很好的模拟了ABS的工作过程,为验证控制软件提供了方便,缩短了开发周期。
关键词:开发板 ABS ECU XCl64
ABS的匹配是一个非常复杂的过程,需要做大量的实车试验。由于试验存在着很大的危险性,所以在进行实车试验之前一定要先对控制软件做—定程度的验证,如轮速、轮加减速度、滑移率计算的准确性, 以及电磁阀、报警灯、电机的正确运转等。车载的ABS电子控制单元不具备信号发生和数据显示的功能, 而开发板弥补了这一缺陷。
总体结构介绍
开发板基本上具有六通道ABS电子控制单元的所有模块,包括单片机、电磁阀驱动、电机驱动、电源模块、轮速处理等,另外还有轮速发生模块和显示模块等。液晶屏下方的电路板(简称电路板1)用来产生方波信号,发送到主控芯片XCl64CS的高速输入捕捉口(CAPCOM),加速、减速、制动按钮用来控制方波信号的频率,可模拟车辆的加速、减速和制动过程。主控芯片经过计算后,又通过串口将计算结果,如轮速、轮加减速度、滑移率等发送给电路板1,再驱动液晶屏显示数据。同时主控芯片根据不同的计算结果驱动报警灯、电机、继电器和阀等外围设备,以此模拟ABS的工作过程。
开发板的芯片大部分采用Infineon公司生产的专用芯片,它们被国内外的ABS生产商广泛采用。主要功能模块及使用的芯片如表1所示:
下面对主控芯片XCl64CS和监控芯片C505CA作较为详细的介绍。
主控芯片XCl 64CS
XCl64CS是Infineon公司近年推出的16位高档单片机。该单片机有如下优点:
运算速度快:能达到40MHz的CPU频率;
存储器容量大;
—2kB双口RAM用于变量,寄存器池和系统堆栈;
—附加的2kB高速数据SRAM用于变量和用户堆;
—2kB高速SRAM用于代码和数据;
—128k的flash支持在线编程;
中断源多:接收70种中断,分为16个中断优先级(ILVL),每个中断优先级中分为4个组优先级(GLVL),数字越高,优先级越高。
具有在片调试接口OCDS,OCDS接口标准测试协议(与IEEEll49.1兼容),主要用于芯片内部测试。现在的多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。OCDS接口扩充了JTAG接口,其功能见表2。
XCl 64CS开发方法
XCl64CS可以通过三种方式跟上位机连接进行在片仿真:串口方式(即boot loader模式)、并口方式(LPT)和USB口方式(即OCDS)。其中并口方式要求上位机的主频小于800MHz,给应用带来不便。串口方式,速度较慢。需要占用一个串口,而且调试过程中经常出现连接丢失的情况,因此也不予采用。OCDS接口是XCl64CS专门提供的调试接口,也是其不同于Infineon公司其它164系列单片机的主要特征之一, 因此在开发板研制过程中采用OCDS的调试方式。
软件采用的编译器是Keil uVision2(PKl66,摘编者注),该编译器调试功能强大,不仅能够进行纯软件仿真,而且上位机能够通过并口或者USB口跟用户板进行连接,实现在片调试。
其中的ULINK是一种USB接口到OCDS接口的适配它具有如下特性:
通过USB口实现上位机和用户板的快速连接:
通过在片调试接口OCDS实现在片调试功能;
通过OCDS实现片上flash的烧写功能。
监控芯片C505CA
监控芯片跟主控芯片进行实时通信,从而保证主控的正确运行,监控芯片还行使故障诊断的职能。
C505CA是Infineon公司的一款8位单片机,它基于805l内核,优点在于:
有较高的运算速度,能达到20MHz的工作频;
具有片上CAN接口,方便跟主控芯片通信;
支持在片仿真;
采用贴片封装。
开发板工作过程
开发板上电后,液晶屏显示一些说明信息,同时开始模拟ABS在实际车辆中的上电自检:报警灯亮快闪几秒,然后模拟电机和12个电磁阀的LED依次点亮,最后,所有的LED闪一次。
自检之后,液晶屏开始显示XCl64CS传送的轮速计算值,轮速脉冲是由电路板l产生的;如果当前轮速较低,则模拟电机和12个电磁阀的LED会循环点亮,表示ABS系统在较低车速下,不会进行防抱制动,只进行常规的在线检查;如果当前轮速较高,则除报警灯外的所有LED会同时闪烁,表明ABS系统在该速度下会起作用。
对于轮速的改变,需要用到开发板上的3个按键,按住UP键不动,则轮速升高,按住DOWN键不动,则轮速降低,按一下STOP键,则当前轮速会迅速减至0。
开发板在ABS开发过程中的应用
由于以前使用Intel公司196系列单片机作为主控芯片,现改用XCl64CS,将代码从196移植到XCl64CS是一个非常烦杂的工作,鉴于实车试验的危险性,在进行实车试验以前必须对代码进行严格的验证,开发板很好的起到了这个作用。
首先,开发板能观察轮速、轮加减速度等控制量,通过改变脉冲发生的频率,观察液晶屏的显示即可知道计算结果的对错,非常直观。
其次,可以验证主控芯片和监控芯片对报警灯、继电器、电机、电磁阀等外部设备的操作。
第三,通过阀旁边的开关,可以模拟阀的通断,实现故障诊断的功能。
第四,通过主控芯片与监控芯片的CAN通信验证主控芯片和监控芯片代码的正确性。
另外,通过开发板还可以验证ABS的进退出条件等。
开发板和实际AB系统的区别
开发板仅用于ABS系统功能和单片机功能的验无法做到很全面,有些功能尚不能演示,比如:XCl64CS和C505CA提供了强大的CAN接口,同时,在设计过程中,又在板子上扩展了K—line/LIN总线接口,但是其在汽车网络中的实时数据传输,无法演示。
完善的诊断功能也不能完成,因为用来演示电机和电磁阀的LED同实际使用的电机和电磁阀比较起来, 需要的驱动电流很小,而在ABS中使用的Infineon TLE6228驱动芯片会把这种情况样认为是故障。
结语
六通道ABS的开发板验证了ABS软件代码的正确性。该开发板自成体系,具有轮速发生、数据显示、故障诊断、外围电路驱动和实时通信功能。另外,主控芯片XCl64CS采用了先进的在片调试接口(OCDS),大大提高了开发效率。