项目背景:弓网状态动态检测装置升级。弓网状态动态检测装置已在六大干线上推广应用,本文是其升级项目。原装置采用开关量应变式加速度传感器来检测硬点,可通过改变门限大小来准确判断不同硬点大小的有无。但是,检测值不是连续的。本文采用连续的加速度传感器来检测硬点的大小,结合DSP和DSP/BIOS来完成检测任务。该检测系统的多级硬点检测功能即将安装在兰州铁路局安装。作者1:男,34岁,成都铁路局机车验收室,1997年西南交通大学毕业,从事机车检修、验收工作,联系电话:13981814320作者2:男,26岁,西南交通大学光电工程研究所硕士研究生,从事弓网振动检测系统研究联系电话:13550311324e-mail:zhaobo3375@163.com基于DSP和DSP/BIOS的弓网振动信号检测与预处理实现闵祥1,赵波2(1.成都铁路局机车验收室,四川成都6100312.西南交通大学光电工程研究所,四川成都610031)摘要:本文引入DSP技术到弓网振动检测中,提高了系统的稳定性,降低了功耗,增加了系统的实时性。同时结合DSP/BIOS嵌入式操作系统减小了系统的软件设计难度,然后给出了代码的优化方法。最后,简要分析了现场典型数据。关键词:弓网振动检测,数字信号处理,DSP/BIOS嵌入式系统VibrationdetectingforCatenaryandpretreatmentachieverbasedonDSPandDSP/BIOSMINXIANG1,ZHAOBO2(1.Checkandacceptdepartment,railwayoffice,Chengdu)2.Photoelectricityengineering,SouthwestJiaotongUniversity,Chengdu)Abstract:ThispapercontainsDSPtechnologyapplyingtovibrationdetectingforCatenary,whichimprovesstabilityofthesystem,reducesthepowerconsumptionandincreasesthereal-timecapability.SimultaneouslytheuseofDSP/BIOSembeddedoperatingsystemdebasesthedifficultyofsoftwaredesign,andthenpresentscodeoptimizationmethod.Finally,therepresentativedatafromsceneisanalyzedsimply.Keywords:VibrationdetectingforCatenary,Digitalsignalprocessing,DSP/BIOSembeddedoperatingsystem引言弓网的振动状态是评价弓网关系的重要指标之一。当电力机车处于高速行驶状态时,由于接触网结构缺陷会造成弓网之间的振动,受电弓上形成水平方向上的冲击和垂直方向的硬点。弓网振动加速度能够反映受电弓的振动故障,如硬点、冲击。由于接触网硬点和冲击造成的弓网事故占弓网事故总和的比重相当大。所以,设计性能良好的振动加速度检测系统具有实际意义。由于弓网振动检测系统的前端处于高压环境中,在这个环境中由于电弧干扰和电气的不连续性所产生的电磁干扰给检测系统提出了严峻的挑战。弱电级的检测电路要在高达100KV浪涌和由电弧引起的宽频带电磁干扰,以及瞬时电流高达1KA,同时机械振动超过50g的情况下稳定运行,为系统设计提出了新的要求。DSP技术已大量应用于各领域,本文中引入DSP技术到弓网振动检测中,提高了检测系统实时性,并降低了功耗,同时提高系统的稳定性,系统的抗干扰能力得到了有效的提升。同时,DSP/BIOS实时嵌入式系统的应用减小了软件设计的难度。1.弓网振动检测系统的硬件设计系统中的DSP处理器采用美国TI公司的TMS320F2812。该芯片采用改进的哈佛结构,拥有锁相环功能,具有8级流水线深度,内部有双口静态RAM,执行速度高达150MIPS,保证了系统的实时性。其次专用的DSP乘累加单元,移位寄存器单元为实现数字信号算法提供了良好的硬件环境,能够较好的完成振动预处理任务。同时具有很强的外围通讯功能,寄存器保护功能,内置硬件看门狗,可有效减小干扰信号使芯片失效的可能性。以TMS320F2812为核心的加速度采集板原理图如图1所示。图1系统硬件框图硬件系统设计主要考虑如下:(1)设计加速度信号的隔离电路。加速度触感器安装在车顶受电弓的弓头上,其电源和信号线的长度约为8米左右,容易受到高压环境的干扰。设计模拟量隔离电DSPJTAG接口电源模块A/D转换信号调理模拟隔离放大激光二极管驱动硬点开关量传感器模拟量加速度传感器光耦隔离路将有利于共模电压干扰抑制,并且防止干扰信号通过电缆线进入系统内部而影响检测系统的稳定运行。系统使用ISO1001B的双向模拟信号隔离模块。(2)信号的调理,放大电路。为了使加速度信号能够与AD转换器适配,尽量的使转换的效率最大,设计了信号放大,信号的调理电路。放大电路和一阶有源滤波电路使用LM224运算放大器。(3)模数转换电路。由于DSP自带的AD精度较低,稳定性差,操作复杂,本文选取了AD7864模数转换芯片,该芯片与DSP接口简单。(4)I/O采集与隔离电路。拉出值,开关量硬点等传感器输出为两种状态,超限或者不超限。开关量用光耦隔离是比较好的选择,设计中采用的是TLP521系列。(5)DSP处理器电路和其外围电路设计。为了使DSP处理器正常运行和调试方便,需要正确配置DSP的外围电路。为了保证系统在受电磁干扰后能正常运行,外部设计了硬件看门狗,硬件看门狗使用芯片TPS3823-33,调试使用JTAG接口。(6)激光二极管驱动电路。为了实现高低压隔离,并实现高速通讯,论文用到的主要方法是光纤隔离和传输。因此,通过专用的激光二极管驱动电路来完成。发送激光二极管采用安捷伦的AGLIENTPHILIPPINESHFBR-1414TTX0344,接收二极管采用安捷伦的AGLIENTPHILIPPINESHFBR-2414TRX0344。(7)抗干扰的方法:采用双层屏蔽-浮地技术、数字地与信号地单点共地、模拟信号和数字信号的光隔离技术、电容滤波、差分放大等。2.DSP/BIOS实时嵌入式操作系统原理按照传统的编程方式,功能模块将以顺序结构形式组织在一起,各模块之间的调用和切换都由各模块自身的代码来完成,升级、维护起来相当麻烦。DSP/BIOS的出现提供了另外一种组织应用程序各功能模块的机制,它将各功能模块作为任务线程来看待。这种机制使得应用程序可维护性提高,并且提供了更方便、更高级的调试手段。并且,DSP/BIOS内核是一个在200字节到4K字之间的可剪裁的软件框架。它实质上是可以从C源程序或者汇编源程序中调用的函数库。DSP/BIOS中线程分为以下4种类型(优先级由高到低):硬件中断(HWI)、软件中断(SWI)、任务(TSK)、后台线程(IDL)。高优先级的线程可以抢占低优先级的线程。时钟函数(CLK)属于硬件中断,周期函数(PRD)属于软件中断,各类线程又分了多个优先级。3.基于DSP/BIOS的振动信号采集和处理加速度检测的软件系统主要包括模拟信号采集,数字开关量信号采集,数字信号处理,数据传输服务,状态显示和喂狗等。传感器的带宽为10KHz,为了发挥传感器高频冲击响应能力,减小抗混叠滤波器的设计难度,采集的频率要远高于传感器的频带宽度。但是现场验证发现,使信号高低压隔离传输不产生误码的频率最好是38.4Kbps,以只采集模拟量来算,每路只传两个字节的话,加上起始位和结束位,那么传输两路信号需要耗时1ms,所以传输的带宽实际只有1KHz。1KHz对于如此高的采样频率来说显然是不够的。系统中采用了基于阈值的信号提取算法,当振动加速度值小于20g时,采集频率为4KHz,然后用平均值滤波发送。当采集到超过20g的大振动信号时,为使信号不发生混叠的采样频率一般为带宽的4~5倍,这里取为4倍,即40KHz。那么采样周期为25μs,本系统中采用了过采样算法,抽取率为4,则采样周期选定在6μs。系统采用TMS320F2812中属于DSP/BIOS操作系统专用的定时器完成6μs的定时。提取到大的振动信号后,将传输1024个振动数据到低压端。数字信号处理包括过采样算法,FIR滤波,模拟量超限信号提取,开关量信号滤波,数据存储等。各模块将以线程来实现,通过信号量,邮箱的方式进行同步。状态显示主要是指示电路工作状态,包括中断状态是否正常,是否有开关量信号等。这些可以归结为一个线程,同样通过信号量,邮箱方式进行同步。并通过设置DSP芯片I/O控制寄存器进行滤波,滤除40K以上的高频脉冲。数据的传输采用了DSP芯片中的缓冲器,每次可以写入16个字节,通过中断的方式来更新任务。软件系统在DSP/BIOS模块下功能分类,见图2功能分布图。图2功能分布图系统上电后,首先要进行系统初始化,初始化代码由汇编语言编写,DSP/BIOS程序能够从C环境入口点c_int00开始运行。在c_int00函数中完成处理器的一系列初始化,然后进入DSP/BIOS嵌入式模块初始化进程。首先,安排硬件中断线程(HWI)。与外部设备密切相关、实时性要求很高的功能模块程序代码必须放置在硬件中断中。A/D采集是本系统的重要基础,并且与系统底层硬件紧密相连,所以将它设置为硬件中断线程。通信模块采用RS485与上位机通信,其与系统的底层硬件密切相关,而且DSP本身的SCI接口只有最大16个字的FIFO,而数据量相对来说较大,为了保证实时性,要充分利用DSP的FIFO资源,所以将发送模块定为中断线程。下面介绍HWI模块在DSP/BIOS中的参数设置。SCIB串口的发送接收中断放在HWI模块的PIE_INT9_4位置上,并且将发送中断的ISR函数scib_tx_isr()填写到PIE_INT9_4中断的函数调用项中,同时选择使用DSP/BIOS的HWI调度功能。CLK线程也属于HWI硬件中断线程之一,它为整个系统的运行提供了时间基准。再就是A/D转化完成的中断,检测系统中用的是外部的中断1(XINT1)。其设置的方法是在配置界面中使用PIE_INT1_4。表示信号灯,或者邮箱同步周期函数PRD1引导模块采集模块HWI加速度数据预处理SWI开关量数据预处理时钟函数SWI大的加速度信号提取与存储TSK开关量信号分析和处理TSK通讯任务1通讯任务2通讯任务3发送模块HWITSKTSKTSK后台线程IDL其他周期其他SWI其次,安排软件中断线程(SWI)。所有的软件中断都是通过DSP/BIOS内核的API调用来启动的,为了便于控制,系统为每个SWI对象都设置一个1位的信号量,可以利用这个信号灯的值有条件地启动对应的软件中断。其子功能模块包括:加速度信号的预处理模块、开关量数据预处理。对A/D转换结果进行预处理是必要的,因为采集到的信号处理信号本身外,还有从传感器上传导下来的噪声,系统采用的是过采样算法和FIR滤波器结合的方法来消除噪声。开关量的预处理主要是进行开关量的滤波,滤除硬点开关量反复碰撞信号。DSP/BIOS为软件中断对象提供了0~14的优先级,按照上述线程的重要程度,将采集数据预处理线程优先级设为14,开关量预处理线程设为8。实际的系统中,还有看门狗的喂狗,系统工作状态指示等也作为软件中断。接下来,安排任务线程(TSK)。如同绝大多数实时系统,任务线程是整个系统的主要组成部分。每个任务有4种执行状态:运行(run)、就绪(ready)、暂停(blocked)和终止(terminated)。一旦任务被创建,它总是处在4个状态之一。DSP/BIOS为每个任务对象提供了1~15的优先级。任务会按照严格的优先级顺序来执行,相同优先级的任务会按照“先来先服务”的原则来安排执行顺序。将振动加速度分析运算模块、RAM