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