1 引言
随着电厂机组装机容量向大型化发展,状态检修显得越来越重要。状态监测是状态检修的前提和基础,由于振动信息能够更迅速,更直接反映机械设备的运行状态,因此振动信号监测是可靠而有效的办法。目前,国内多采用在上位机完成所需的信号处理,但是由于状态检修中所需完成的信号处理算法相当复杂,如fft等,在 上位机很难满足实时性要求。为此提出了基于dsp芯片开发一个辅机运行状态检测仪作为辅机状态检修系统的前端预处理机。给水泵运行状态监测仪主要完成给水泵各路机械量和过程量的采集,并对各振动信号进行阶比谱分析,计算振动幅度的平均值,并将采集数据和分析结果上传pc机,为在线检修系统的专家系统提供给水泵的运行状态信息。
2 系统的总体设计
由于系统的特点是计算量大,通信数据量大,实时性要求高,所以采用dsp+usb的方案来满足系统的需求。给水泵状态检测仪由信号调理电路,a/d转换 器,dsp处理器,sram,lcd,键盘以及基于pld的接口和逻辑控制电路组成。系统的硬件框图如图1所示:
系统中需要采集的信号类型主要有4-20ma和耦合在-12v上的弱交流信号两种,可以通过调理电路进行滤波,放大,转换成满足系统a/d要求的电压信号范围(0-5v),再直接利用dsp芯片自带的双10位a/d转换器,转换成数字量,从而可以在dsp中利用fir低通滤波器来实现抗混叠滤波以及fft 变换来进行频谱分析,并将采集数据和分析结果上传给pc机。本系统采用了两种通信接口:usb接口和rs232接口,usb接口用于仪表向pc机上传数 据,rs232接口主要用来调试和与慢速外设接口,当系统上传的数据量不多时也可用于仪表向pc机传输数据,这样可以简化pc机软件的设计。接口和控制逻 辑采用由复杂可编程器件(cpld)完成。
3 系统的硬件组成
(1) 系统中所选用的dsp为ti公司生产的tms320f240 16位定点dsp,它具有处理能力强,功耗低,资源配置灵活的特点,主频可达20mhz,指令周期为50ns,自带双10位a/d转换器,由于将a/d集 成在处理器内部,这样可以减少系统成本,节约了电路板空间。tms320f240片内带有544×16bit的daram和16k×16bit flash程序存储器。daram分为b0,b1和b2三块,b1和b2块只能映射到数据存储空间,bo块含有256×16bit,既可以配置为程序存储器也可以配置为数据存储器。为了程序调试和应用的需要,需要对存储器空间进行扩展。程序存储器扩展选用的是atmel公司生产的128k×8bit的 at25p1024 eeprom,tms320f240片内拥有一个spi串行外设接口,能够很方便的和at25p1024连接。在系统的实际应用中,如果系统任务不是非常繁重,代码长度不超过16k×16bit,应用程序全部固化在flash内,如果系统任务比较多,在片内存储器固化一个引导程序,用户代码固化在 at25p1024,运行在片外sram。数据存储器扩展选用的是issi公司生产的128k×8bit的is61c1024高速cmos sram,采用两片is61c1024,组成128k×16bit的存储空间,通过接口与控制逻辑划分为独立的地址空间和数据空间,各为 64k×16bit。
(2) 通信接口分别为rs232接口和usb接口。由于dsp内含有一个全双工串行接口,通过编程可以很方便实现rs232串行通信。这里要强调的是由于rs- 232c标准的逻辑电平与5v的ttl和cmos电平是不同的,而5v的ttl和cmos电平是电路设计中通用的逻辑电平。所以在设计rs232通信接口 电路时,必须进行电平转换,以便与rs-232c标准的电平所匹配,这里采用maxim公司生产的max232芯片完成电平转换的工作,max232芯片 是单5v电源供电,双rs232发送/接收器,能提供eia-232电平。
usb接口采用的是飞利浦的pdiusbd12芯 片,pdiusbd12芯片符合usb1.1版规范,提供2mbyte/s速率的并行接口,芯片提供的多重中断模式有利于批量数据传输模式,并且芯片提供了双倍的输入输出缓冲,在批量模式达到1mbyte/s的数据传输率,同步模式也可达到1mbyte/s数据传输率。在接口电路中pdiusbd12芯片 的ale接低电平,表示数据/地址分开传输。pdiusbd12的data0~data7线直接接到dsp的低8位数据线上,a0接到dsp的地址线 a13上,用来向pdiusbd12传送控制字和数据状态。pdiusbd12的读写时序相对于dsp的读写时序而言是慢速设备,为了协调两者之间的访问可以通过在dsp中将io空间设置为2~3个等待时期,同时通过软件使读写访问周期大于500ns。
(3) 本系统采用以内藏t6963c控制器的图形液晶显示模块m-128128,采用液晶显示器(lcd)不仅可以显示字符,数字还可以显示各种图形,曲线和汉 字,并且可以实现屏幕上下左右滚动,动画,闪烁,文本特征显示等功能。
在键盘设计中用键盘的响应作为dsp i/o端口的输入,用中断的方式读取键值,当任意键按下时,产生中断。
(4)汽动给水泵泵侧测点信息如下:过程量有进口水压力,出口水压力,给水泵转速;机械量有轴前x方向轴振,轴后y方向轴振。过程量的信号类型为 4~20ma,机械量的信号类型为0~675mv交流信号耦合在-12vdc上。调理电路需要将测点信号调理到系统要求的0~5v或4~20ma到 1~5v调理电路采用差分放大路来实现,采用的运算放大器为lf444。设计的振动信号调理电路原理是利用电容通交流,阻直流的特性和差分放大路对差模电 压的放大作用,去除直流电压,将交流信号放大,然后再正向偏移2.5v。从而可以把信号转换到0~5v的范围。
(5) 本系统中为了提高adc的转换精度,模拟电路和数字电路分开供电,供电的开关电源能提供±15v和+5v的直流电压,能满足模拟电路对电源电压的要 求,+5v数字电源是+15v的直流电源经过dc-dc模块变换得到的,为了改善数字电源的上电特性,在dc-dc模块前,加一缓起电路。
4 系统的软件设计
系统的软件设计采用c语言和汇编语言混合编程的方法,这样可以兼顾到软件的可读性和提高代码的编译效率。主程序框架采用c语言编写,用c语言开发dsp程序不仅使dsp开发的速度大大加快,而且开发出来的dsp程序的可读性和可移植性都大大增加,程序修改也极为方便。关键算法(如fir,fft等)用汇编 语言实现,因为fft等算法对运行速度要求较高,用汇编实现可以节省时间。
用c语言和汇编语言混合编程的方法是独立编写c程序和汇编程序,分开编译成各自的目标代码模块,然后用链接器将c模块和汇编模块链接起来。混合编程时必须遵循有关的调用规则和寄存器规则,这样可以保证所编写汇编模块不破坏c的运行环境,c模块和汇编模块可以相互访问各自定义的函数或变量。特别要注意以下几点:
(1) 任意汇编中定义的对象或函数,如果需要在c中访问或调用,则必须用汇编指令.global说明为外部,同样,如果在c中定义的对象或函数,需要在汇编中访问或调用,在汇编程序中也必须用.global把它们说明为外部。下面这个例子说明了c调用汇编程序时的函数声明的注意事项:
extern int asmfunc();/*在c中声明一个外部汇编语言函数*/
.global asmfunc;在汇编程序中说明
_asmfunc: ;汇编程序开始
(2) 从汇编程序调用c函数时,以逆序的方式将参数压入堆栈,调用之后将参数弹出。③必须保护函数要用到的几个特定的寄存器,这些特定的寄存器包括 aro(fp),ar1(sp),ar6和ar7。下面着重说明主程序的设计以及fft的dsp实现
4.1 主程序的设计
可将系统设计成如图2所示的样子,这种系统可称为前后台系统。应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为; 中断服务程序处理异步事件,这部分可以看成前台行为。

4.2 主程序的流程图
主程序的流程图如图3所示。

后台程序包括:过程量采集 和滤波,轴振采样周期的确定,并根据采样周期初始化定时器0,
fft变换,将采集的数据和分析后的数据放在发送缓冲区,将待显示的信息写入显示缓冲区,对pc机传下来的命令和数据信息做相应处理。
前台程序主 要包括三个定时中断和键盘中断服务子程序。定时器0中断子程序主要用于机械量数据采集和抗混叠滤波;定时器1中断子程序为rs232串行通信提供发送节拍;定时器2中断子程序为显示器的刷新提供时钟节拍;一旦有键按下,就进入键盘中断子程序,完成键盘的扫描和获取键值。
4.3 fft变换
fft是实现dft的一种快速算法,基本上可以分为两大类:时间抽取fft和频率抽取fft,本系统采用的是时间抽取fft,就是将n点的输入序列 x(n)按照偶数和奇数分解为偶序列和奇序列两个序列来计算。具体算法原理这里不再记述。fft算法一个值得注意的地方是“码位倒置顺序”,为使输出序列 x(k)按自然顺序排列,必须将输入序列x(n)按码位倒置顺序存入计算机存储单元。在给水泵运行状态监测仪中,采集到的振动信号是顺序排列的实数序列并 且是采用512点的复数fft运算来完成振动信号的频谱分析,因此在进行fft之前,需要对采集的振动信号进行码位倒置和将虚部清零。由上述分析可知对一 个实数序列进行fft运算可分为五步来完成:第一步:码位倒置,这一步在dsp中应用位反转寻址来实现。第二步:加布莱克曼窗,加窗的目的是为了减少频谱泄露。第三步:将实数序列清零。第四步:完成输入序列的fft变换,变换结果存在计算缓冲区,实部在前,虚部在后,为自然顺序排列。第五步:完成幅度谱的计算,并将计算结果存在计算缓冲区。
5 结束语
给水泵运行状态监测仪在湖南省湘潭电厂安装调试后,表明<




