基于英飞凌16位高档单片机的六通道ABS开发板设计

时间:2017-06-07来源:网络

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
提供双电压

表1 功能模块及使用芯片

下面对主控芯片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接口。

TMS
模式选择

OCDS接口大大方便了软件调试工作,这在下面部分将详细描述。

另外该芯片还具备外围IO口多、时钟多、AD转换口多等优点,并且具有两个CAN接口。

TDO
测试数据输出
CPUCLK
CPU时钟
TDI
测试数据输入
TRST
测试复位输入
TCK
测试时钟输入
BRKIN
硬件中断输入
TRAP
陷阱条件
VCC
正电压(5V)
GND
数字地
RESET
芯片复位
BRKOUT
硬件中断输出
OCDS
OCDS使能

表2 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),大大提高了开发效率。

关键词: ABS 电机驱动 功能验证 开发板

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版