蘇志敏
(武漢地震科學(xué)儀器研究院有限公司,湖北咸寧 437012)
伴隨可編程邏輯器件CPLD(Complex Programmable Logic Device,復(fù)雜可編程邏輯器件)+FPGA(Field-Programmable Gate Array,現(xiàn)場可編程邏輯門列陣)的技術(shù)水平不斷提升,其功能日漸強(qiáng)大,效能越發(fā)突出,水平不斷升高,諸如電平接口轉(zhuǎn)換、邏輯接口設(shè)計、高性能數(shù)字信號處理及數(shù)據(jù)采集等技術(shù),均在各領(lǐng)域中得到廣泛應(yīng)用??删幊踢壿嬈骷崿F(xiàn)了電子系統(tǒng)高可靠性、低功耗和小型化,具有投資少、開發(fā)周期較短等優(yōu)點(diǎn),隨著芯片價格的不斷下降,CPLD+FPGA 器件的應(yīng)用發(fā)展得到助力。圍繞ARM 處理器(精簡指令集微處理器)+FPGA,從軟、硬件對地震測試系統(tǒng)展開深層化設(shè)計,探討如下。
采集系統(tǒng)主要由電源板、數(shù)據(jù)采集板、核心板等構(gòu)成。地震儀借助加速度傳感器DSU3,將位于x、y、z 三個軸上的加速度信號對外傳送,經(jīng)過信號調(diào)理后,向數(shù)據(jù)采集模塊持續(xù)輸出。數(shù)據(jù)采集模塊將所采集到的采樣信號輸出,儲存在FPGA 中,然后向ARM 傳送,ARM 把數(shù)據(jù)高效率地存入到儲存器中;依據(jù)所接收到的采集信號,高效化且有目的性地處理數(shù)據(jù),以此判斷地震烈度;由液晶顯示器實時顯示相關(guān)數(shù)據(jù),若發(fā)生異常或有地震可能,會即刻發(fā)出警報。為了使系統(tǒng)功能變得更加健全與優(yōu)化,系統(tǒng)中額外設(shè)置了USB 通信接口模塊,上位機(jī)可由此接口讀取采集到的數(shù)據(jù)。
(1)ARM 核心模塊。ARM 板的核心為Atmel AT91SAM9G20微處理器,通過總線、存儲器、通用IO 管腳與FPGA 保持通信。此處理器由Atmel 公司開發(fā),為一款功耗降低的控制器,工作頻率能夠達(dá)到4000 MHz,片上設(shè)備豐富,如媒體存儲接口、通用同/異步發(fā)送接收器及以太網(wǎng)等。ARM 板上設(shè)置有大容量CF卡,安裝FAT 文件系統(tǒng),對地震波形數(shù)據(jù)進(jìn)行傳輸和本地儲存,還能用于系統(tǒng)控制,如實時傳輸數(shù)據(jù)流等。液晶屏能夠?qū)崟r顯示系統(tǒng)當(dāng)前的工作狀態(tài)及各項參數(shù)。串口將調(diào)試信息對外輸出。高效化的電源轉(zhuǎn)換電路可降低系統(tǒng)功耗,電源板實時提供系統(tǒng)運(yùn)作所需的電源,如供電給地震計反饋電路、檢波器控制電路、標(biāo)定電路等。
(2)加速度傳感器。DSU3 是3 個數(shù)字加速計,基于微機(jī)電技術(shù)設(shè)計,具有較低功耗,在所有的傾斜角度均能夠維持正常工作狀態(tài),在全部操作狀態(tài)下均穩(wěn)定、可靠,性能突出。其內(nèi)部設(shè)置的3 個正交組件,準(zhǔn)許其對全部3 個軸上的地面運(yùn)動進(jìn)行記錄。此傳感器擁有與模擬傳感器相同的功能,且能夠?qū)崿F(xiàn)與帶有數(shù)字加速計的設(shè)備聯(lián)合使用。大部分狀態(tài)下的電源去耦能力,單一電容便能夠消除噪聲干擾,通常將此電容置于電源周圍。此傳感器還有帶寬限制功能,通過在輸出引腳上設(shè)置小容量電容,能夠獲得低通濾波功能。如果將帶寬設(shè)定成20 Hz,即天然地震頻率,合理選擇濾波電容,此帶寬下的分辨精度是:x、y 軸,1.2×10-3g;z軸,2.5×10-3g;與檢測精度要求相符。
(3)FPGA 邏輯設(shè)計。FPGA 芯片的主要功能是采集3 個通道的數(shù)據(jù),如果3 路數(shù)據(jù)均已經(jīng)完成各項準(zhǔn)備工作,由FPGA 將SPI 數(shù)據(jù)傳輸至狀態(tài)機(jī)啟動;啟動后,地震波形數(shù)據(jù)會被緩沖至內(nèi)部緩沖區(qū),如果緩沖區(qū)中的數(shù)據(jù)超過特定閥值,會將中斷信號發(fā)送給處理器。在整個中斷處理程序當(dāng)中,借助系統(tǒng)數(shù)據(jù)程序,將位于緩沖區(qū)的各種數(shù)據(jù)傳送至內(nèi)存緩沖區(qū)。此后,將數(shù)字信號濾波等耗時任務(wù)置于中段下半部,然后進(jìn)行處理。
(4)USB 接口電路設(shè)計。USB 通信可借助FTDI 公司的FT245R 芯片實現(xiàn),此芯片的引腳依據(jù)功能不同,可分為寫控制信號、發(fā)送緩沖區(qū)空標(biāo)志、USB 接口及通用引腳等。在整個系統(tǒng)中,此芯片所用的是總線供電方式,其在具體的數(shù)字管腳上,連接于ARM 數(shù)據(jù)端口,通??山柚鶤RM 對其讀、寫信號進(jìn)行控制。
(1)配置ARM 內(nèi)核。下載壓縮內(nèi)核源文件,修改位于頂層目錄中的Make File 文件,設(shè)定目標(biāo)硬件,明確交叉編譯環(huán)境路徑。利用文本行界面或者圖形界面配置內(nèi)核,依據(jù)硬件電路與軟件系統(tǒng)功能剪裁內(nèi)核模塊,定制、編譯和調(diào)試操作系統(tǒng)鏡像,且在該環(huán)境上開展驅(qū)動程序、應(yīng)用軟件的開發(fā),將嵌入式Linux 平臺植入ARM 中:依據(jù)目標(biāo)設(shè)備所對應(yīng)的硬件配置情況及現(xiàn)實需要,定制內(nèi)核,開發(fā)、安裝驅(qū)動程序,生成鏡像文件,借助網(wǎng)卡把鏡像文件下載至目標(biāo)設(shè)備,調(diào)試后向Flash 存儲器燒寫內(nèi)核及文件系統(tǒng)映像文件等。
(2)設(shè)計應(yīng)用程序。嵌入式應(yīng)用軟件通常在采集器ARM處理器上運(yùn)行,而在實際運(yùn)作中,其會借助Socket 接口與上位PC 機(jī)相連,實時接收PC 機(jī)端發(fā)送的控制命令,執(zhí)行各項操作。PC 機(jī)應(yīng)用軟件主要由兩部分組成,一為數(shù)據(jù)通信線程,二是主線程。主線程采用的文檔-視圖結(jié)構(gòu),不僅能為參數(shù)查詢提供方便,而且便于操作、波形存儲、實時波形顯示等功能的設(shè)置。數(shù)據(jù)通信線程能夠與硬件之間保持實時通信,且對波形數(shù)據(jù)進(jìn)行實時接收:①對觸發(fā)參數(shù)進(jìn)行查詢與設(shè)置;②對系統(tǒng)工作參數(shù)進(jìn)行查詢與設(shè)置;③對波形數(shù)據(jù)進(jìn)行實時接收與儲存;④對數(shù)據(jù)采集器的各項通信參數(shù)進(jìn)行設(shè)置;⑤對標(biāo)定參數(shù)、進(jìn)行查詢與設(shè)置,且能啟、停標(biāo)定;⑥對波形進(jìn)行實時瀏覽。
應(yīng)用地震烈度速報儀DSU3 加速度傳感器,能夠精確采集地震的震動信息,利用各種軟件濾波方法,將原本復(fù)雜的地震信號進(jìn)行簡化與處理,由液晶顯示設(shè)備顯示各種數(shù)據(jù)參數(shù),可視化功能強(qiáng)大。FPGA 有強(qiáng)大的數(shù)據(jù)采集處理功能,ARM 則在運(yùn)算、可操作性上有著不錯效果,能夠高效處理數(shù)據(jù)。所以,基于ARM+FPGA 對地震測試系統(tǒng)展開軟、硬設(shè)計,能使系統(tǒng)更為高效穩(wěn)定,應(yīng)用效能更突出。