龚 民,王徐颖,陈鑫焱
(沈阳理工大学 机械工程学院, 沈阳 110168)
以单片微控制器为核心的故障检测系统中,由于单片机处理数据速度的有限性和人们对故障检测系统各个方面的要求的不断提升这个矛盾日益显现出来。随着采用DSP的应用领域的愈来愈多,DSP在原有检测系统上的应用为提高系统性能成为了可能。
DSP作为数字化时代的基因芯片,主要在三个方面的特点支持了其在数据处理方面的高速性。DSP处理器使用专门的硬件实现单周期乘法,支持密集的乘法运算,单片机则要求多个指令周期来做一次乘法;DSP 采用哈佛结构,程序和数据空间分开,DSP在一个机器周期内可以同时准备好指令和操作数,单片机一般无法完成该任务;DSP采用零开销循环,执行循环时,无需花时间去检查循环计数器的值,仅当条件转移到循环的顶部时将循环计数器减1。MCU和DSP相比,低档的MCU的指令周期为600ns,乘法计算时间为1900ns,而低档的DSP指令周期和乘法计算时间均只需50ns。高档的MCU的指令周期为也需40ns,乘法计算时间需80ns。而高档的DSP指令周期和乘法计算时间均只需5ns,DSP在运算速度上的优势是显而易见的[1]。
本信号处理模块主要由电源模块、DSP(TMS320F2812)模块、数据交换模块、MCU(89C52)模块等几部分组成。MCU获取故障现场数据后将数据传输给双口RAM,TMS320F2812得到数据后进行快速算法运算,运算得到的结果再通过双口RAM传送给MCU。以该模块在滚动轴承故障检测系统中的应用为例,应用DSP后的故障检测系统框图如图1所示。
图 1 改进后的故障检测系统框图
1.2.1 双口RAM型号的选择
图2 CY7C144与DSP和MCU的接口示意图
DSP和MCU在系统工作需要不断的大量交换数据,通过双口RAM以资源共享的方式进行数据通信,不仅传输速率高,而且具有非常好的抗干扰性。双口RAM实现了MCU和DSP的相互通讯,可以认为双口RAM中的数据是为DSP和MCU所共用的。
采用CYPRESS公司的CY7C144这款芯片。它是一种低功耗的CMOS型8K×8位的双口静态RAM,最快响应速度为15ns,可以和DSP直接通讯而不需要等待在标准条件下的最大功耗为160mw,+5V供电并兼容TTL电平,具有省电的功能,可以进一步减小功耗具有良好的兼容性,可以和IDT7005和IDT7015等双口RAM互换,各端口完全异步操作。
1.2.2 双口RAM与CPU的接口
CY7C144作为MCU与DSP之间的通讯接口如图2所示。CY7C144的左端地址总线与2812的XA0~XA12相连,CY7C144数据端口与2812的XD0~XD7相连;CY7C144的右端地址线的高四位与89C52的P2.0~P2.4相连,右端地址线的低八位与经过74LS737锁存的P0.0~P0.7相连,数据线与P0.0~P0.7直接相连。其中SEMR、SEML、M/S应经电阻由+5V拉高。
模块软件主要包括:CMD文件的编写、FFT等算法在TMS320F2812上的实现、89C52与TMS320F2812的通信、程序向Flash的烧写、软件加密和看门狗的设计。
模块由89C52与TMS320F2812构成一个主从系统,89C52将故障预处理数据传送至2812,2812经过数字信号处理后返送回89C52。DSP采用C语言进行编程,MCU用汇编或C语言均可,只要在数据结构上进行换算即可实现畅通通讯。系统软件流程图如图3所示。
图3 系统软件流程图
模块中MCU(89C52)和DSP(TMS320F2812)的通信协议如下:双口RAM的00H单元为MCU工作标志位,01H单元则为DSP工作标志位。单片机清完标志位后,将用户所选择的算法类型写入02H和03H单元中,然后将从外部得到的输入序列存入双口RAM,存数据完成后置单片机准备标志位,通知DSP取数据,此后单片机则一直查询01H单元DSP准备标志位。等单片机查询到DSP完成计算后,将DSP准备标志位清零,然后读取计算结果。DSP清完标志位后,一直在查询单片机标志位,等待单片机完成输入序列的传输,当查询到输入序列传输完成以后,DSP将单片机标志位清零,读入算法选择位,读入输入序列,完成计算,向双口RAM 写入结果,置DSP标志位,通知单片机取结果,然后等待下一个输入序列。DSP上的主程序如下。
在滚动轴承检测中,能否找到故障特征频率是本系统的关键,故障输入信号由一个存在故障的电机轴承给出。在此轴承外圈,人为使用电火花破坏一个坏点,电机运行后,将轴承的振动频率采样进来,得到1024个点的值,将这1024个值经DSP分析后给出图像。
根据实验所得,图4为,当电机转速n=600转/分,A/D采样频率为1024时,经DSP处理后的频谱。图5为,当电机转速n=400转/分,A/D采样频率为512时,经DSP处理后的频谱。
图4 n=600 fs=1024故障信号频谱
图5 n=400 fs=512故障信号频谱
根据轴承故障理论,圈上有单个损伤点的情况:用共振解调法诊断时得到的包络频谱图形是一系列以外圈故障特征频率fb为间隔的随频率增大幅值逐渐减小的离散谱线[4]。滚动体在外圈滚道上的通过频率为:
经计算,n=400时,fb约为20Hz,n=600时,fb约为30Hz。从图5中看出波形的峰值主要出现在30.668、61.336、92.524、121.633几点,振幅逐渐衰减;从图6看出波形的峰值主要出现在 20.012、40.024、60.036几点,符合由轴承故障理论计算出的理论值,证明系统正确。并且在实验过程中发现数据处理精度和速度比MCU有了明显的提高。
提出的基于TMS320F2812与双口RAM的信号处理模块对以普通MCU为控制核心的故障检测系统的改进,在保证原有检测系统的控制能力基础上,结合DSP应用各种算法对数据进行处理。实验证明,明显提高了故障检测系统的数据处理能力。
[1] 张在峰,马义德.DSP —数字化时代的基因芯片.信息技术.2003.53-56.
[2] 苏奎峰,吕强,等.TMS320F2812XDSP原理及C程序开发.北京:北京航空航天大学出版社,2008:369-370
[3] 胡汉才.单片机原理及其接口技术.第一版.北京:清华大学出版社,2004:20-25.
[4] 梅宏斌著.滚动轴承振动监测与诊断.北京:机械工业出版社,1995:1-15.