>
摘 要:本文介绍了一种基于MC9S12DP256B的汽车防抱死系统设计,该系统采用特殊的双CPU结构,既可完成汽车防抱死制动也可实现故障诊断,并可通过CAN通信传输故障码。
关键词:汽车防抱死系统;MC9S12DP256;故障诊断;CPLD
前言
随着汽车行驶速度的提高,道路行车密度的增大,对于汽车行驶安全性能的要求也越来越高。汽车的防抱死制动系统(ABS)应运而生,它是以传统制动系统为基础,采用电子控制技术,在制动时防止车轮抱死的一种机电一体化系统。
图1 ABS系统结构框图
图2 电路板数字输入通道诊断电路
图3 电磁阀驱动及故障检测电路
图4 CAN接口电路
图5 控制CPU流程图
图6 CPLD流程图
基于双CPU结构的
防抱死系统
ABS系统设计中主要考虑以下几个问题:首先,由于ABS系统直接关系车辆的安全性能,因而它的故障问题显得极为重要,系统必须保证能及时检测故障并准确判断故障点;其次,ABS系统通常包含电磁阀等感性负载,驱动电流很大,需要适当的驱动电路;此外,为了便于ABS系统与车辆上其他系统进行通信,系统需要预留通信接口。
本文以原有的四传感器四通道(4S/
控制CPU采集轮速信号,然后根据设定的减速度和滑移率门限值进行路面识别及制动控制,另外它还负责对轮速传感器进行静态检测。安全CPU(CPLD)则主要负责ABS系统的故障检测工作,判断故障部位,并将相应的故障码传输给控制CPU。产生故障后,由控制CPU统一对故障状态进行处理,包括中断ABS功能,恢复至常规制动,点亮故障显示灯,并将相应的故障代码存储在E2PROM中,需要时可随时通过CAN通信端口传输到上位机或车上其他电子控制系统。
系统硬件设计
ABS系统故障主要为电磁阀故障、轮速信号采集系统的故障、制动管路压力信号采集系统的故障、电源故障和控制器故障。本系统针对这些故障均给出了相应的诊断电路。
MC9S12DP256B和CPLD概述
MC9S12DP256B是基于16位HCSl2 CPU及0.25m制造工艺的高速、高性能5.0V FLASH微控制器。该单片机使用了锁相环技术或内部倍频技术,使内部总线速度大大高于时钟产生器的频率,在同样速度下所使用的时钟频率较同类单片机低很多,因而高频噪声低,抗干扰能力强,更适合于汽车内部恶劣的环境。并且包含定时器、A/D转换、PWM输出、CAN通讯、E2PROM、SPI、SCI等多个模块,资源丰富,满足系统功能的开发要求。
系统中的CPLD采用XC9572TQ100,此款芯片支持扩展工业温度范围。它不仅工作温度范围更大,从
数字输入通道诊断电路
轮速输入信号正确与否直接影响到ABS系统的工作。为此特地在信号处理电路之前加设数字开关,便于系统检测电路板数字输入通道。采用输入模拟法,由安全CPU(CPLD)向数字通道发出一组标准方波信号输入到控制CPU的输入捕捉端口进行测量。具体电路如图2所示。
CPLD产生DETECT信号控制数字开关CD4066的通断。ABS上电自检时,DETECT为 “
电磁阀驱动及其
故障检测电路
汽车制动系统中电磁阀的工作电流为1.5~
由于MC33289的自检功能,应用时可将St引脚直接与CPU相连,一旦电磁阀出现故障,如短路或断路,St即自动置低,CPU接收到信号后立刻停止ABS功能,点亮故障显示灯,同时将相应的故障代码以中断的形式传输给控制CPU。对电磁阀驱动状况的检测通过比较MC33289的输出OUT与输入IN来完成。在正常情况下同一路的两个逻辑值应相等,同时为“1”或“0”;若不相等,则说明驱动芯片出现故障,CPU必须中断ABS功能,点亮故障显示灯并传输故障码。
故障码存储及传输
MC9S12DP256B自带4KB的E2PROM,地址从0x400到0xFFF。无须外扩E2PROM,可用于对故障码的存储,便于数据长期保存。
擦、写操作前必须通过设置E2PROM时钟分配寄存器ECLKDIV,将模块时钟配置在150KHz至200KHz之间。系统中的晶振为16MHz,总线频率8MHz,经计算,取ECLKDIV=0x
因为每次写操作均以字进行,所以为安全起见,擦除时每次擦两个字。擦除操作的时序与写操作完全相同,只不过相应地址写入的数据均为“0”。
此外,系统结合自身CAN模块,选用Philips公司的PCA
系统中的其他电路,像轮速信号处理电路、传感器静态检测电路、电源监控电路等由于篇幅所限,在此不作详细介绍。
系统软件及VHDL语言设计
系统的控制CPU MC9S12DP256B用C和汇编语言进行开发,而CPLD用VHDL语言进行编程。
MC9S12DP256B程序的功能是:程序存储器及数据存储器的自检;对轮速传感器进行静态、动态检测;采集轮速信号,计算出车轮速度和减速度,根据控制逻辑输出制动压力调节信号;实时存储故障代码;CAN通信。
CPLD程序的功能是:控制数字开关CD4066的通断;检测数字输入通道;监测电磁阀驱动芯片和电磁阀的工作状态;向控制CPU传送故障情况。CPLD的设计由四个步骤组成:设计输入、实现、校验和芯片编程。设计中采用VHDL语言文本输入,经综合、仿真、实现后通过并行线缆下载至Xilinx芯片中。图5和图6分别是系统控制CPU及CPLD的流程图。
结语
本系统以其独特的双CPU结构,集防抱死制动、系统故障检测于一体,同时能实现对故障码的传输。同时双CPU均预留了一定的输入/输出端口,为进一步扩展汽车电子控制装置的功能提供了可能。■
参考文献
1 程军. 汽车防抱死制动系统的理论与实践[M]. 北京:北京理工大学出版社,1999
2 司徒增.汽车防滑控制系统-ABS与ASR.北京:人民交通出版社,1996