基于CPCI规范的生命探测系统研究
——
我国一直是个多地质灾害的国家,尤其是近年以来,我国频发矿井坍塌事故,因此对幸存人员实现探测是很有必要的。在生命救助系统中,声音探测是救援队的一项必不可少的装备。减灾救助一直是我国比较重视但是也是相对比较落后的一个科研领域,在十五科技相关项目“声波/振动实用化研究”中,我们对前端的数据采集做一些比较具体而有成效的工作,但如何实现对有效信号识别方面还存在许多不足之处。
救灾现场需要实时数据,同时为了进一步的分析比对工作,对这些数据进行存储是有必要的。通过科学的分析,总结经验,可以为以后的减震救灾提供指导性和科学性的方法。基于CPCI规范而架构的生命探测系统不仅可以很好的满足现场探测要求,同时也为进一步的工作提供了数据样本。
2 系统组成与基本工作原理
整个系统由一台工控机,可选内部板卡,外部信号调理子系统,重力加速度传感器组成。其中每一个单独的内部工控机模块可以独立控制外部四个监视传感器,整机配置模块可选。
整个系统是以探询地下目标所发出的声音为信号源,通过上位机软件来实现本地系统的配置。上位机通过与本地CPU的交互,实现对信号调理子系统的管理,达到地下异常信号采集的目的,根据所采集到的信号特征,通过软件过滤,从而确定目标的方位和深度。上位机发送监听通道选择,增益选择,以及截止频率选择指令。
而且,很好的实现大量数据的实时采集,存储,以及后期数据的处理,同时由于CPCI接口的热插拔性能,使的整个系统在故障时候的修复过程得到了极大的提高。
3 硬件整体设计
上位机采用了研华工控机ACP4320,该系统支持3U和6U板卡,完全支持热插拔的特性。同时实时采集现场数据。系统设计主要包括两个部分,本地工控机板卡设计部分,本地目标信号调理部分。
3.1 工控机板卡设计
本地工控机板卡设计包括实现CPCI接口通信,实现本地系统的控制,以及存储采样数据。系统实现框图如图1所示。
CPCI(Compact Peripheral ComponertInterconnect)总线即压缩外围部件互连总线,是一种先进的高性能32/64位地址数据复用局部总线,可同时支持多组外围设备,并且不受制于处理器,为中央处理器与高速外围设备提供一座沟通的桥梁,提高了数据吞吐量(32位时最大可达132MB/s),是当今工控机领域中流行的总线。CPCI总线有严格的总线规范,保证了它有良好的兼容性,符合CPCI总线规范的扩展卡可以插入任何CPCI系统可靠地工作。 一个CPCI接口包括一系列的寄存器,这些寄存器中的信息允许计算机自动配置CPCI卡。其中在CPCI规范中,包括3U和6U两种规范设计。在本系统中采用3U极卡设计,支持32位数据总线和32位地址总线,考虑到整个系统的特性,只用了CPCI规范中的P1端口。
目前实现CPCI接口一般采用两种方案:使用可编程逻辑器件[3][5]和使用专用总线接口器件。采用可编程逻辑器件实现PCI接口比较灵活,可以利用的器件也比较多,但由于PCI总线协议的复杂性,其接口的实现比ISA等总线要困难得多,这种方法难度较大,设计周期较长。采用专用接口器件不仅对PCI协议有良好的支持,而且提供给设计者良好的接口,这些都大大减少了设计者的工作量,PCI专用接口芯片可供选择的比较多,如PLX的PCI9054,9052,9056等系列,因此在本系统的硬件设计中我们采用了专门的接口协议芯片PCI9054。其中PCI9054完全符合CPCI规范,支持热插拔特点特性,极大缩短了系统的维修时间,接口电路也比较简单。接口电路如图2所示。
本地的CPU采用三星公司的S3C2410作为本地的主控CPU,完成本地板卡的资源管理和实现与CPCI总线的数据交换。上位机和本地CPU通过双口RAM实现了数据的交换。同时在板卡上实现A/D转换,达到实现对数据采集的目的。
3.2 外部信号调理板设计
外部信号调理板进行信号的调理和模拟信号滤波,功能主要完成传感器与放大板的恒流接口电路设计,其中重力加速度传感器采集信号,并对微弱振动信号进行放大和处理;完成各道信号的调理;消除通道间干扰,提供分路的A/D转换信号。调理部分由4路电路参数相同的单通道电路组成,信号调理板的单路原理框图如3所示。
在调理板中,传感器要求用恒流源进行馈电,同时为了实现可以人机交互的操作,所有的放大和滤波器件均采用可编程器件。
4 系统软件设计
整个系统的软件设计是本系统的核心部分,主要包括三个部分:本地板卡的固件程序设计、上位工控机驱动程序,以及数据处理程序部分。
4.1 固件程序设计
固件程序设计指本地的CPU程序设计。本地CPU是S3C2410,该CPU采用ARM92T进行汇编程序设计。整个程序主要包括主程序和中断程序,采用模块化设计,实现与上位机的CPCI通讯,同时管理本地资源,实现对本地资源的初始化和有效配置,实现对外部模拟信号的采集。固件程序的工作过程是:系统初始化,等待上位机发出中断请求,从而到共享数据区读取相应的命令,实现本地系统控制,若SDRAM中数据满或半满,则发出PCI请求,将数据放入双口RAM,通知上位机读取数据,实现本地数据的传输。整个固件程序流程图如图4所示。
4.2 工控机板卡驱动程序
驱动程序保证了整个系统的良好运行,设备驱动程序提供链接到CPCI板卡的软件接口,文件扩展名为.SYS的动态链接库。在Windows2000中,设备驱动稃序必须根据Windows驱动程序模型(WDM)设计。设备驱动程序的关键是如何完成硬件操作,基本功能是完成设备的初始化、对端口的读写操作、中断的设置和响应及中断的调用,以及对内存的直接读写。驱动程序的编写主要有两种方式:采用DDK直接面向最底层,应用已有的工具实现底层架构。前者的工作效率高,但难度较高。后者虽然效率比不上前者,但使用方便,成熟。
本系统选用Windriver来编写设备驱动程序,Windriver是美国KRF-Tech公司出品的用于编写驱动程序的另一种工具包。它以通用设备驱动程序Windrvr.vxd和Windrvr.svs为核心,包含一个类似QuickVxD的代码生成器Windriver Wizard,一个Windriver发行包,两个公用程序pci scan.exe和pci_dump.exe。用它编写的程序主要针对ISA/PCI设备,可同时工作在Windows 9x/NT两种操作系统,其中Windrvr.vxd用于Windows 9x操作系统,Windrvr.sys用于Windows NT操作系统,因此,它是设计PCI设备驱动程序的理想工具。
Windriver针对PLX和AMCC的专用接口芯片特别编写了API函数包,这些函数能够方便地实现中断处理、DMA传输、I/O操作、内存映射以及即插即用等功能,为系统的驱动程序的编写提供了便利。
4.3 数据处理程序
数据处理程序是整个系统的最终目的,也给终端用户提供了一个良好的平台。在上位工控机中,我们采用了WINDOWS操作系统作为工作平台,主要是考虑到操作人员对系统很容易熟悉和上手。数据处理程序主要包括界面程序和数据识别,目标位置判断程序。在其中涉及到整个数据的后期处理,如何实现整个板卡的控制和人机的交互。主要是数据的有效识别和目标位置的计算等一系列的数字处理。数据处理程序流程图如图5所示。
从目标源发出的信号,通过不同的介质传播后,会使信号的信噪比降低,这会给以后的处理带来不利的影响。为了消除这种影响,就必须提高信噪比,即滤波。在此,本系统主要用了比较常见的去噪方法——自适应滤波。
图6是在实验中所采集初始的时域数据。从图中可以看到,信号所带的噪声比较少,这是因为在信号调理的过程中,已经对噪声进行了一定的抑制。但为了计算的准确和方便,还是应该让噪声尽可能的少,所以再一次的自适应滤波是有必要的是必要的。
图7是经过自适应滤波处理后的数据。
滤波后的数据经过小波变换后,我们可以在时域和频域对其进行观察,经过计算以后可以确定信号的有效性,判断月标的位置和深度。
经过实践的检验,该系统能够可靠地识别在地下约10m处的有声目标。并能够可靠的排除干扰。采用不同的传感器,通过软件的不同配置可以应用到不同的场合。除了现场救援工作,还可以很方便的进行后期的数据处理。同时由于工控机的采用,和软件平台的普及对于今后的二次开发提供了良好的工作平台,对于产品的系列化开发提供了可靠的技术保障和条件。
评论