基于DSP的汽车减震弹簧故障诊断仪的设计

(整期优先)网络出版时间:2019-04-19
/ 2
摘要:介绍了一个基于TMS320VC5409的汽车减震弹簧故障诊断系统的基本原理、总体设计方案与软硬件的设计。以真实的车辆减震弹簧进行多次试验,证明了该仪器工作稳定,能够有效地完成汽车减震弹簧的故障诊断,具有很好的应用前景。

关键词:DSP 故障诊断 非线性频谱分析 GFRF

汽车减震弹簧故障诊断仪的基本原理是基于非线性频谱分析技术的。这种技术的基本思想是:根据采样得到的减震弹簧的输入和输出数据,利用有效的非线性系统辨识方法得到弹簧的振动方程,再利用多维傅里叶变换得到减震弹簧的非线性传递函数的频域表示形式—广义频率响应函数GFRFGeneralized Frequency Response Functions。GFRF是描述系统非线性传递特性的一种非参数模型它能够唯一地刻画系统传递特性的频域特征因而系统故障前后传递特性的非线性变化就能够通过GFRF被准确地反映。弹簧处于正常工作状态时,仅具有一阶GFRF;弹簧在疲劳失效后最明显的变化是三阶GFRF大量出现1。分析弹簧系统的GFRF就可判断出弹簧的工作状态。目前国内对汽车减震弹簧的故障诊断还缺乏有效的手段,而且基于这一原理的实际应用在国内外尚处于起步阶段,因此该仪器具有很好的应用前景。

1 系统总体方案

非线性系统辨识算法庞大、复杂,对系统的计算能力要求很高。DSP是专门用于数字信号处理的芯片,计算能力强大、运算速度快,能够满足系统的要求。DSP 的计算能力虽然很强,但其事件管理能力较弱,而且直接支持的I/O口很少。为了方便地实现人机交互,采用DSP与单片机协同工作的方式:以单片机为主机,通过通讯接口对DSP实现控制;同时利用单片机较强的外围设备管理能力实现人机接口、显示等功能。主要工作流程是:弹簧的输入输出信号经过滤波电路进行调理后,由A/D转换器转换为数字信号,再进入DSP进行运算,得到的诊断结果通过通讯接口电路送入单片机,单片机将结果显示在液晶显示器上,并经过串口送入到PC机。单片机通过通讯接口控制DSP的工作状态。系统原理框图如图1所示。
2006823202522620.gif
2 硬件电路设计

2.1 信号调理电路

采用集成开关电容滤波器MAX280组成抗混叠滤波电路。MAX280是一个五阶低通滤波器,截止频率可调。当它的时钟管脚接内部时钟时,最大截止频率为1.4kHz;而汽车减震弹簧稳定工作时,信号的频率不超过500Hz,故设定滤波器的截止频率为700Hz。

2.2 DSP电路

DSP电路完成数据采集及数字滤波,利用内置的算法完成故障诊断等任务。2006823202522648.gif

本系统中的DSP采用美国德州仪器公司(TI)生产的TMS320VC5409,它是TMS320C54xx系列的一个高速、高性价比、低功耗的16位定点通用DSP芯片。其主要特点包括:改进的哈佛结构(1条程序存储器总线、3条数据存储器总线和4条地址总线),带有专用硬件逻辑CPU,片内存储器,6级流水线结构,片内外设专用的指令集。TMS320VC5409含16K字的片内ROM和32K字的片内DARAM,程序空间的寻址范围达到8M数据和I/O空间寻址范围分别为64K。单周期指令执行时间为10ns,双电源(1.8V和3.3V)供电,带有符合IEEE1149.1标准的JTAG边界扫描仿真逻辑。

DSP电路采用16位并行自引导模式,对于TMS320VC5409,用户程序存储在外部数据空间(8000H~FFFFH)中,因此外扩了一片FLASH ROM作为数据存储空间。FLASH ROM采用INTEL公司的TE28F400B3T90(256K×16),它共分为15块(8块4K字,7块32K字),可单独擦写其中的一块。编程电压只需3.3V,最快的读取速度达到90ns。系统外扩了一片SRAM作为外部程序空间。SRAM采用CYPRESS公司的CY7C1041BV33(256K×16),存取速度达到10ns。

2.3 A/D转换电路

信号的采集和转换是由AD7874完成的。AD7874是AD公司生产的12位A/D转换器。系统要求输入输出信号相位要同步,AD7874内置采样保持器,能够实现四路信号的同步采样。同步采样能使系统的输入输出信号相位匹配的误差降到最小。A/D转换的启动由上升沿触发,四路信号转换完成后,产生中断信号。每一路的采样频率可达29kHz。由于A/D转换后输出的是TTL电平,而DSP工作在3.3V的信号环境,因此在A/D的输出与DSP的输入之间需要加入电平转换电路。在本系统中采用SN74LVC245实现电平转换。DSP系统的供电由TI公司的电压转换模块TPS767D318PWP完成,能够输出3.3V和1.8V两路电压。

2.4 单片机电路

单片机电路实现键盘输入响应和液晶显示以及与PC机交互功能。

本系统中所用的单片机为ATMEL公司的AT89C51。键盘管理通过键盘控制器8279完成。液晶模块选用信利公司的VPG12864T(128×64点阵),它内置T6963C控制器,能够工作在文本或图形模式下。液晶显示界面程序比较大,所以外扩了一片AT28C256作为外部程序存储器。PC机的RS-232串口的电平和单片机串口的TTL电平不兼容,使用MAX232完成两种电平之间的转换。

2.5 通信电路

通信电路实现单片机与DSP的通信。由于单片机与DSP间的数据通信量不大,因此采用了一片8位双向锁存器实现数据交换。双向锁存器采用TI的SN74LVC543。当DSP向AT89C51发送数据时,首先将数据锁存在SN74LVC543中,然后向AT89C51发中断,AT89C51响应中断,从锁存器中取走数据。反之亦然。
3 软件设计

软件的设计主要包括DSP编程和单片机编程。DSP程序的主要任务是初始化、管理DSP外围电路和完成故障诊断的算法。单片机程序包括键盘控制程序、液晶驱动显示程序、与DSP及PC机通信的程序。

3.1 DSP主程序

DSP主程序流程图见图2。

3.2 DSP程序的下载和引导

在本系统中,FLASH ROM是TSOP封装,焊接在电路板上,无法通过烧录器烧写,只能自己编写擦写程序。按照16位并行引导模式自举表(见表1)的格式写好程序代码,编译链接后通过JTAG口下载到DSP中;编写TE28F400B3的擦写程序,将程序下载到DSP中不同的位置。运行擦写程序,程序代码就被写入到FLASH中。要注意的是,由于FLASH的写速度与DSP相比很慢,因此在每次写完一个字后,要延时足够的时间,否则就不能正常地写入下一个字。写完后,需要将FLASH ROM重新设置为读模式,这样才能在开发环境CCS中看到正确的结果。TE28F400B3的最大读取速度为90ns,而TMS320VC5409最大只能设置7个等待状态,因此设置DSP的CLKMD1、CLKMD2、CLKMD3管脚,使DSP在上电复位时的系统时钟为50MHz。这样就能保证可靠地读取FLASH的数据。在完成引导过程后,必须首先将CLKMD寄存器清零,然后重新设置CLKMD寄存器,使系统时钟为100MHz。TE28F400B3的主要操作命令如表2所示。

表1 16位并行引导模式的代码结构

10AA SWWSR寄存器的初始值 BSCR寄存器的初始值 程序入口地址XPC值 程序入口地址PC值 程序代码的长度 程序起始地址XPC值 程序起始地址PC值 程序代码... 0000(表示自举有结束)



表2 TE28F400B3的主要操作命令

命 令 第一总线周期 第二总线周期 操作 地址 数据 操作 地址 数据 读 写 XXX FFH       读状态寄存器 写 XXX 70H 读 XXX 寄存器数据 擦除 写 XXX 20H 写 块地址 DOH 写 写 XXX 40H 写 程序地址 程序数据

4 实验系统

减震弹簧振动实验系统如图3所示。平台使用真实的桑塔纳2000的悬挂系统和减震弹簧。电机的转动由变频器控制,通过传动轴带动车轮转动。车轮的下端与一个装在固定支架上的可旋转的表面带有凸出挡条的铁棍相接触。车轮转动到与挡条碰撞,悬挂系统使减震弹簧发生相应的振动。

使用两个好的弹簧和三个坏的弹簧进行实验。实验结果表明,汽车减震弹簧故障诊断仪工作稳定,诊断结果有效。

本文所设计的汽车减震弹簧故障诊断仪可直接用于汽车减震弹簧的故障诊断,并可推广应用到轴承磨损、制动器失效等非线性机械故障诊断。在此故障诊断仪的对电路略加改动,就可将其用于更高频率信号系统故障诊断中。