MC9S12DP256B和CPLD概述
MC9S12DP256B是基于16位HCS12 CPU及0.25um制造工艺的高速、高性能5.0V FLASH微控制器。该单片机使用了锁相环技术或内部倍频技术,使内部总线速度大大高于时钟产生器的频率,在同样速度下所使用的时钟频率较同类单片机低很多,因而高频噪声低、抗干扰能力强,更适合于汽车内部恶劣的环境。并且包含定时器、 A/D转换、 PWM输出、CAN通讯、EEPROM、SPI、SCI等多个模块,资源丰富,满足系统功能的开发要求。
系统中的CPLD采用XC9572TQ100,此款芯片支持扩展工业温度范围。它不仅工作温度范围更大,从-40C至+100C,而且还符合汽车业界特有的质量认证呢感标准。此外,该芯片的门数和I/O数均符合设计要求,并留有功能扩展的余地。
数字输入通道诊断电路
轮速输入信号正确与否直接影响到ABS系统的工作。为此特地在信号处理电路之前加设数字开关,便于系统检测电路板数字输入通道。采用输入模拟法,由安全CPU(CPLD)向数字通道发出一组标准方波信号输入到控制 CPU的输入捕捉端口进行测量。具体电路如图2 (图略,请参看《电子设计应用》2005.8)所示。
CPLD产生DETECT信号控制数字开关CD4066的通断。ABS上电自检时,DETECT为“0”,开关簖开,轮速信号被屏蔽,此时由 CPLD产生事先定义好的标准方波(频率为100Hz,即每个计数周期 (0.1s)10个脉冲)并输出给主CPU。主CPU通过ECT口捕捉方波进行测量与计算,经与定义的该标准波的频率比较后,如果结果一致则说明数字输入通道正常, 否则说明有故障出现。检测完毕,一切正常后,DETECT变为“1”,开关接通,轮速信号经过信号整形放大单元、由CPLD输出至控制CPU。
电磁阀驱动及其故障检测电路
汽车制动系统中电磁阀的工作电流为1.5-2.5A,而微控制器的输出电流远达不到这一要求,因此采用Freescale公司的高端驱动芯片MC33289来实现电磁阀的驱动。单通道的控制电路如图3(图略,请参看《电子设计应用》2005.8)所示。
由于MC33289的自检功能,应用时可将St引脚直接与CPU相连,一旦电磁阀出现故障,如短路或断路,St即自动置低,CPU接收到信号后立刻停止ABS功能,点亮故障显示灯,同时将相应的故障代码以中断的形式传输给控制CPU。对电磁阀驱动状况的检测通过比较MC33289的输出OUT与输入 IN来完成。在正常情况下同一路的两个逻辑值应相等,同时为“1”或“0”;若不相等,则说明驱动芯片出现故障,CPU必须中断ABS功能,点亮故障显示灯并传输故障码。