基于PC104總線的實(shí)時(shí)信號(hào)采集處理系統(tǒng)
本系統(tǒng)在信號(hào)采集板中采用了R=6 Ω,故得到的放大倍數(shù)在0~1001之間,保證了該芯片輸出給A/D轉(zhuǎn)換器的信號(hào)電平在0~10 V之間。信號(hào)采集板的多路選擇開(kāi)關(guān)采用了AD公司的ADG508A八選一高速選通開(kāi)關(guān)。系統(tǒng)通過(guò)2片ADG508A并行控制模擬信號(hào)的輸入,實(shí)現(xiàn)了對(duì)16路信號(hào)的實(shí)時(shí)采集。多路開(kāi)關(guān)的輸入通斷是通過(guò)控制使能引腳EN以及CH0,CH1,CH2來(lái)完成的,F(xiàn)PGA輸出的地址的最高位分別接到2片ADG508A的使能端,地址低3位分別接入ADG508A的AO,A1,A2。信號(hào)采集板的A/D轉(zhuǎn)換芯片采用了BB公司的ADS7805,其具有高速、低功耗的特點(diǎn)。在5 V的工作電壓下其最高的轉(zhuǎn)換頻率達(dá)到了100 kHz。該芯片內(nèi)部自帶有時(shí)鐘、電壓基準(zhǔn)和采樣保持等電路,極大的簡(jiǎn)化了用戶(hù)的電路設(shè)計(jì),并且提高了系統(tǒng)的穩(wěn)定性。ADS7805采用了逐次逼近式工作原理,A/D轉(zhuǎn)換結(jié)果通過(guò)16位數(shù)據(jù)總線并行輸出,輸入的模擬信號(hào)電平范圍為0~10 V,其工作時(shí)序圖如圖3所示。本文引用地址:http://www.ex-cimer.com/article/201610/306028.htm
3 軟件系統(tǒng)設(shè)計(jì)
實(shí)時(shí)信號(hào)采集處理系統(tǒng)的軟件部分包括了信號(hào)采集板的FPGA控制邏輯和上位機(jī)控制板運(yùn)行的應(yīng)用程序。信號(hào)采集板在FPGA控制邏輯下實(shí)現(xiàn)了信號(hào)的采集和傳輸,上位機(jī)控制板通過(guò)應(yīng)用程序完成人機(jī)界面的交互和數(shù)據(jù)控制處理。
3.1 FPGA控制邏輯的設(shè)計(jì)
FPGA控制邏輯是整個(gè)數(shù)據(jù)采集過(guò)程的核心部分,它所實(shí)現(xiàn)的功能包括:對(duì)多路選通開(kāi)關(guān)ADG508A的控制,對(duì)地址總線進(jìn)行譯碼,對(duì)A/D轉(zhuǎn)換模塊ADS7805的控制,將采集的數(shù)據(jù)在FIFO中進(jìn)行存儲(chǔ)等。FPGA控制邏輯工作時(shí)的操作時(shí)序如圖4所示,其在一個(gè)總線操作周期內(nèi)的工作流程按如下順序進(jìn)行:
(1)FPGA上電后,首先進(jìn)行全局復(fù)位,數(shù)據(jù)總線設(shè)置為三態(tài),地址鎖存清零。
(2)等待BALE信號(hào)進(jìn)入下降沿的有效狀態(tài),對(duì)PC104的地址總線進(jìn)行鎖存。
(3)等待IOR/W信號(hào)有效,對(duì)地址進(jìn)行解碼,將鎖存的地址信息譯碼。
(4)對(duì)地址進(jìn)行比對(duì),若比對(duì)正確則準(zhǔn)備就緒,若比對(duì)不正確則將地址鎖存器清零,數(shù)據(jù)總線設(shè)置為三態(tài)。
(5)等待PC104數(shù)據(jù)周期有效時(shí),接收上位機(jī)控制板傳輸過(guò)來(lái)的動(dòng)作命令數(shù)據(jù)。
(6)控制INA103芯片對(duì)輸入的模擬信號(hào)進(jìn)行調(diào)理。
(7)控制ADG508A芯片進(jìn)行通道選擇。
(8)控制AD7805芯片開(kāi)始進(jìn)行數(shù)據(jù)采集。
(9)以輸入輸出端口的OE信號(hào)為觸發(fā)脈沖,對(duì)所采集的信號(hào)數(shù)據(jù)進(jìn)行鎖存控制。
(10)等待OE信號(hào)拉低,采集數(shù)據(jù)的鎖存結(jié)束,將數(shù)據(jù)通過(guò)總線傳輸給上位機(jī)控制板。
(11)等待數(shù)據(jù)傳輸周期結(jié)束,將地址鎖存清零,數(shù)據(jù)總線設(shè)置為三態(tài)。
(12)等待下一個(gè)時(shí)鐘周期到來(lái),再次重復(fù)進(jìn)行讀寫(xiě)操作。
3.2 應(yīng)用程序的設(shè)計(jì)
上位機(jī)控制板運(yùn)行的應(yīng)用程序主要完成用戶(hù)對(duì)信號(hào)采集板的控制和監(jiān)視,將所采集到的信號(hào)實(shí)時(shí)在顯示器上進(jìn)行更新顯示。由于整個(gè)系統(tǒng)在外場(chǎng)進(jìn)行使用時(shí)的環(huán)境條件往往比較惡劣,且經(jīng)常會(huì)遇到斷電的情況,因此在上位機(jī)控制板運(yùn)行了Windows XP Embedded操作系統(tǒng)來(lái)代替了傳統(tǒng)的Windows XP操作系統(tǒng),從而提高了系統(tǒng)整體的可靠性。本系統(tǒng)的應(yīng)用程序采用VC++進(jìn)行源代碼的編寫(xiě)和調(diào)試,應(yīng)用程序調(diào)試編譯成
功后,生成exe可執(zhí)行程序,在操作系統(tǒng)上電后自動(dòng)按照默認(rèn)配置開(kāi)始運(yùn)行。應(yīng)用程序啟動(dòng)后,首先通過(guò)PC104總線將用戶(hù)對(duì)信號(hào)采集板的配置命令發(fā)給FPGA控制邏輯,然后FPGA控制邏輯按照上位機(jī)具體的指令對(duì)多路控制開(kāi)關(guān)芯片,信號(hào)調(diào)理芯片和A/D轉(zhuǎn)換芯片進(jìn)行控制,開(kāi)始對(duì)信號(hào)的采集。上位機(jī)在接收到中斷信號(hào)后對(duì)緩存中的信號(hào)數(shù)據(jù)進(jìn)行讀取和處理,進(jìn)而在應(yīng)用程序中對(duì)信號(hào)數(shù)據(jù)進(jìn)行顯示,同時(shí)將數(shù)據(jù)實(shí)時(shí)進(jìn)行存儲(chǔ),供事后做進(jìn)一步的分析和處理。如圖5所示。
4 結(jié)語(yǔ)
本文基于PC104總線,采用了上位機(jī)控制板和信號(hào)采集板相結(jié)合的方式,實(shí)現(xiàn)了用戶(hù)對(duì)信號(hào)的實(shí)時(shí)采集和處理。信號(hào)采集板的所有控制功能由FPGA芯片來(lái)完成,大大減少電路板的器件數(shù)量,同時(shí)降低了系統(tǒng)成本,提高系統(tǒng)的可靠性。運(yùn)行在上位機(jī)控制板嵌入式操作系統(tǒng)的應(yīng)用程序完成了采集數(shù)據(jù)的實(shí)時(shí)顯示及用戶(hù)命令的配置,使用戶(hù)在使用時(shí)可以直觀的了解整個(gè)系統(tǒng)的工作狀況,并根據(jù)現(xiàn)場(chǎng)需要對(duì)信號(hào)采集的工作參數(shù)進(jìn)行調(diào)整。該實(shí)時(shí)信號(hào)采集系統(tǒng)具有較低的功耗、穩(wěn)定的性能、精簡(jiǎn)的體積、和優(yōu)良的抗震性能,其已經(jīng)作為某型裝備的便攜式外場(chǎng)檢測(cè)設(shè)備進(jìn)行了實(shí)地應(yīng)用,整體運(yùn)行可靠穩(wěn)定,具有較廣的推廣前景和較好的軍事經(jīng)濟(jì)效益。
評(píng)論