基于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處的有聲目標。并能夠可靠的排除干擾。采用不同的傳感器,通過軟件的不同配置可以應用到不同的場合。除了現場救援工作,還可以很方便的進行后期的數據處理。同時由于工控機的采用,和軟件平臺的普及對于今后的二次開發提供了良好的工作平臺,對于產品的系列化開發提供了可靠的技術保障和條件。
評論