基于S3C44B0X微处理器实现ABS轮速信号采集处理--控制网



基于S3C44B0X微处理器实现ABS轮速信号采集处理
企业:控制网 日期:2005-09-01
领域:人机界面 点击数:1465



1 引言
    汽车防抱死制动系统(ABS)控制的核心部分是电子控制单元(ECU),ECU通过采集四个车轮速度信号计算得到四个轮速,在此基础上,进一步计算车轮的加减速度,估算汽车车身速度,从而得到滑移率,进行路面识别等。把这些信号加以分析后,ECU对压力调节器发出控制指令,从而实现其对制动压力的调节。因此,准确的车轮轮速信号的取得是ABS实现有效控制的前提和关键。本文设计了轮速采集的软硬件,提出的轮速算法无论在低速时测量还是高速时测量,都有比较好的测量精度和实时性。基于ARM微处理器开发的嵌入式防抱死制动系统具有实时性好,可靠性高等特点,能在很大程度上提高控制器的可靠性和车辆的制动性能。

2硬件电路
2.1 微处理器
    一个成功的汽车电子控制单元,取决于设计时对所用微处理器的选择。现代发动机和自动变速箱的电子控制单元一般需要采用32位的CPU来处理实时算法。而在汽车的底盘、安全和车身系统等领域,就可以根据控制的复杂程度使采用16位或者32位两种微处理器。但是,底盘控制器在其大部分工作时间内,要对传感器进行扫描,而CPU又必须时时刻刻能够提供相应的处理能力,能在仅仅几个毫秒的时间内完成整个判定程序,并起动应用程序。三星公司的S3C44B0X是一种主频达66MHz的高性能微处理器,具有丰富的接口资源,已经在众多行业得到了高性价比的验证。

2.2防抱死制动系统的控制原理
    一般的,防抱死制动系统就是在每一个车轮上车轮转速传感器,用以测量转速。这些传感器将车轮转速转变为电信号输入电控单元,而在每一个车轮附近都安装有开关电磁阀,电控单元根据转速信号计算车轮和车辆本身的运动状态,当发现车轮制动趋于抱死时,就向这些或常开或常闭型的电磁阀发出电信号,以执行开或关的动作,使得一部分制动液从制动轮缸中流出,从而减小轮缸的制动压力,即减压;在制动压力减小到一定程度时,车轮抱死趋势消除,就保持制动轮缸的制动压力,即保压;当车轮在惯性作用下又加速到一定程度时,在增大制动轮缸的制动压力,即增压;当车轮又被制动到趋于抱死的状态时,再执行减压过程,如此往复循环,确保车轮在制动过程中得到最大的路面附着力,最短的制动距离,避免了抱死现象的发生。防抱死制动系统结构分布图如图1所示。


图 1防抱死制动系统结构分布图

2.3硬件设计
    在汽车行驶过程中,随车轮一起旋转的齿轮会使传感器产生一系列频率与车轮转速成正比的正弦电压信号,该原始信号经过低通滤波、放大、整形等组成的轮速信号处理电路后,变成控制器可以直接处理的脉冲信号,省去了a/d转换这一环节。轮速信号处理电路的结构框图如图2所示。


图 2轮速信号处理电路

    其中,滤波电路采用0.01-0.1uf旁路电容以及采用" "型低通滤波方式(RC,LC),减小高频信号的干扰; 放大电路由集成运放和RC网络组成的有源滤波电路; 整形电路用集成运放LM2940构成滞后比较器,将轮速传感器产生的正弦信号转换成频率相同,幅值固定的方波脉冲信号,从而实现波形变换。利用施密特反向器整形,得到上升沿和下降沿陡直的脉冲波形,便于CPU对轮速信号的采集。

    经过分析,整个电路的硬件结构图如图3所示。


图 3硬件结构图

2.4算法实现
    常用的轮速计算方法有3种:"f"法频率法、"t"周期法、"mt"多倍周期法。频率法是通过测量给定时间内的轮速脉冲信号个数来计算轮速;周期法通过测量被测脉冲宽度来计算轮速;多倍周期法是根据f的不同,选择不同的被测信号周期数的方法。

    这里所采用的轮速采集算法类似于多倍周期法,是一种结合频率法和周期法的有效算法。如图4所示,先设置一个时间闸门Ts, S3C44B0X的四个外部中断口在时间Ts内可以记下每次中断的当前时间并放在寄存器中,该寄存器记录下来的时刻是内部定时器0的当前值,用最后一次中断的实时时间减去第一次中断的实时时间即为实际的采样时间Td。


图 4轮速采集算法

    轮速计算公式:              (1)
    其中r ――车轮半径 Z ――齿圈齿数 f ――输出脉冲的频率
    由上述算法可得出              (2)
    再由两式可得出          (3)
    其中N为中断次数(当中断次数为N时,实际测到的脉冲数为N-1个),Td为实际的采样时间。用该方法测量的误差无论是低频还是高频信号都只有时钟频率的计数误差。S3C44B0X微控器的定时器是按每2个系统时钟周期为单位计时。因此,若采用S3C44B0X微控器,系统时钟频率设定60MHz,用定时器计时,则计时分辨率为Δt1=2/60 us。在一个单一的中断系统中,S3C44B0X的中断响应时间为5~29个时钟周期。执行指令所需的固定时间和中断响应最短时间可以通过软件予以消除,而可能产生不可预计的最大计时误差Δt2为24个时钟周期,即Δt2=24/60 us。设:ΔT=|Δt1|+|Δt2| = 0.4 us             (3)

    则通过软件设计,可以使系统总的计时误差在±ΔT/2,即±0.2 uS 之内,可以满足系统要求。由于在实际的测量中,Ts和Td很接近,所以Td≈Ts,可以忽略不计。可见,应用该算法理论上可以精确地测量车速。硬件设计上直接利用S3C44B0X微控器的定时器和外部中断来处理脉冲时间识别问题,这给系统设计带来较大简化。

2.5 实时性分析
    假设汽车起动后其轮速在6~150m/s之间变化,由式(1),若取r=0.3m,Z=60,则脉冲频率的变化范围约为190~4777Hz。CPU在每个时钟周期内对4个高速输入口进行监视与检测,如果系统时钟频率设定为60MHz,则分辨率可达2/60 us,远远满足对脉冲输入采集的要求。上述轮速采集算法时间闸门Ts选取50ms,由内部定时器0做为时间基准进行计时,也可以用软件定时中断。考虑在轮速较低时,产生的脉冲个数少,为了提高采集的精度,采用每次正跳变触发的方式中断,在轮速较高时,其产生的脉冲频率也较高,为了避免频繁中断占用CPU过多的执行时间,采用每10次正跳变时触发的方式中断。

3软件设计
    软件设计是整个ABS电控单元设计的核心。因为采用该32位的微处理器,在很大程度上是为了简化硬件的结构,并可以利用其丰富的I/O和接口,在现有基础上实现底盘集成控制系统的研制。为了充分协调各项控制功能并提高CPU的利用率,软件采用模块化设计,将每一模块当作一独立的任务来管理。、这里主要介绍轮速信号采集处理模块。轮速信号中断处理程序流程图如图5所示。

    根据流程图编写出程序,经过ARM EMulator仿真器+JTAG在线调试成功后,将程序烧写入到控制器的flash中即可。


图 5 中断处理程序流程图

中断部分代码如下:
void __irq TIMER0_Interrupt(void)  //定时器0中断
{ tatic int time = 0;
time++;
int r=30cm,Z=60, Td=50ms;
rI_ISPC=BIT_TIMER0; //清中断位
;   // 计算速度
Lcd_ClearScr();     //清LCD显示屏
Lcd _Init();         //LCD初始化
Lcd _Printf("\n\n\n车轮转速1 Vel =%d  m/s",Vel);
if(time>=1)
{Keyb ();}   // 调用键盘处理子程序
 if(time>=3)
{velocity ();  // 调用控制脉冲子程序
time=0;}
N = 0; //中断寄存器2清零
}
void __irq EINT2_Interrupt(void)

rPUPG = rPUPG & (3<<2) ; //上拉电阻使能
rPCONG = rPCONG & (~(0xf<<4)); //GPG2.3输入使能 
rPCONG = rPCONG | ( 0xf<<4 );
rEXTINT = rEXTINT & (0x44<<8) ;//EINT2.3上升沿触发中断
N+=1;
rI_ISPC = BIT_EINT2; //清中断位
}

4结论
    经过硬件在线仿真,初步验证了软硬件的可行性,实践证明,采用基于ARM7TDMI核的32位微处理器,提高了系统的实时性能,并使得系统的扩展有了更大的可行性和更优的简易性。若在该处理器上再加入实时操作系统如ucosii,系统的性能就会进一步提高。

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: