鄭普亮
(西安建筑科技大學(xué) 信息與控制工程學(xué)院,陜西 西安710055)
傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)主要是通過單片機來進行工作的,利用單片機作為控制模塊以及控制存儲器。然而,數(shù)據(jù)采集系統(tǒng)對速度的要求越來越嚴格,傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)已不能滿足需求,其缺點日益暴露出來。單片機的時鐘頻率相對較低,主要是利用軟件來實現(xiàn)數(shù)據(jù)的采集,速度相對較慢。FPGA恰恰與單片機相反,具有單片機沒有的特性,主要通過硬件來實現(xiàn)數(shù)據(jù)采集,時鐘頻率較高,運行速度也快,在數(shù)據(jù)采集系統(tǒng)設(shè)計中得到了較好的應(yīng)用。
(1)通過利用FPGA作為控制模塊,采用FPGA加MCU的結(jié)構(gòu),F(xiàn)PGA在系統(tǒng)中起到連接MCU和集成電路的作用,MCU主要負責數(shù)據(jù)的處理以及傳輸。FPGA作為控制模板改變傳統(tǒng)單片機的缺點,由FPGA來實現(xiàn)數(shù)據(jù)的硬件采集。首先主要是由單片機把帶有任務(wù)的采集表掃描到FPGA的內(nèi)部任務(wù)區(qū),在RAM里面主要設(shè)置好采集所需要的相關(guān)寄存器,最后再實現(xiàn)FPGA的工作。由FPGA通過一系列的時鐘運算以及邏輯運算,再按照用戶的需求從而完成RAM里面的帶有任務(wù)的采集表,完成任務(wù)的采集表然后保存到數(shù)據(jù)的緩存區(qū)FIFO中,達到FIFO中的余度值后,再由單片機進行余下的工作。
(2)在這個系統(tǒng)的結(jié)構(gòu)中,通過運行FPGA在很大程度上減輕了單片機的運行時間,從而提高了數(shù)據(jù)的采集效率,也提高了數(shù)據(jù)的可靠性以及時效性。
(1)設(shè)計采集參數(shù)轉(zhuǎn)換。對采集參數(shù)的轉(zhuǎn)化以及任務(wù)調(diào)度的設(shè)計主要是建立所需要的硬件電路,一直等采集數(shù)據(jù)的到來就立即啟動A/D,從而進行數(shù)據(jù)采集工作。如圖1所示,在這個采集參數(shù)的設(shè)計中,對于快任務(wù)(Fast Task)在采集時,掃描時針開始工作主要取決于單片機對數(shù)據(jù)的采集,當單片機開始啟動對數(shù)據(jù)的采集時,掃描時鐘才開始運動,這時掃描周期計時器以及采樣周期計時器也相繼開始工作。此時,A/D采集這一次的快任務(wù)(Fast Task),一旦Fast Task當前的寄存器得到更新,就立即進行采集參數(shù)的轉(zhuǎn)換。將轉(zhuǎn)換后的數(shù)據(jù)采集到A/D芯片之前的采集模擬電路中,等待下次的采集時間。
圖1 參數(shù)模塊轉(zhuǎn)換設(shè)計
快慢任務(wù)的任務(wù)選擇控制圖如圖2所示。
圖2 任務(wù)選擇控制圖
(2)數(shù)據(jù)的采集和存儲。在數(shù)據(jù)的采樣和存儲中,由于ADs8325芯片的工作特點,采集來的數(shù)據(jù)需要經(jīng)過串聯(lián)或者并聯(lián)后轉(zhuǎn)換成16位的并行數(shù)據(jù)。在內(nèi)部緩存區(qū)(FIFO)控制下存儲到FIFO中,如圖3所示。
圖3 數(shù)據(jù)采集和存儲電路
(1)設(shè)計控制模塊??刂颇K主要由兩部分組成:一個是control interface模塊,另一個是control enable模塊,主要的任務(wù)是負責圖像的采集顯示接口的同時使用。當完成解碼芯片以后,從CONFIGURACION OK鍵能夠輸入使能信號,啟動這個模塊。然后再通過href以及odd信號來啟動圖像模塊和顯示接口的模塊:當href=1時,表示通過UPO傳輸像索數(shù)據(jù);當odd=0時,表示的是偶數(shù)場;當odd=1時,表示的是奇數(shù)場。
(2)設(shè)計Inter-Integrated Circuit總線配配置模塊Inter-Integrated Circuit總線配配置模塊主要是通過利用I2C總線的協(xié)議對視頻解碼器進行配置的,時鐘率主要為20 kHz。利用這個模塊能夠完成對視頻解碼器的配置,配置模塊如圖4所示。
圖4 視頻解碼器配置模塊
在這個配置模塊中,inicio conf表示的是啟動對視頻解碼器進行配置,高電平是有效的;CONFIGURACION OK表示的是視頻解碼芯片配置好,完成后能夠輸出一個控制信號給控制模塊,實現(xiàn)數(shù)據(jù)的采集;SDA和SCL主要表示的是為視頻解碼器相應(yīng)的信號。
(3)雙口RAM的設(shè)計模塊。
1)主要功能。通過單片機首先將采集任務(wù)下載到FPGA的內(nèi)部不緩存區(qū)中,然后當FPGA工作時,就會按照RAM中的數(shù)據(jù)進行采集。它主要的信號有WCLK,讀寫使能,以及WADDR和RADDR等。
2)雙口RAM的設(shè)計模塊的仿真。主要通過調(diào)用Max+Plus I軟件中的LPM模塊,選擇符合設(shè)計要求的RAM來進行修改,最后進行仿真,如圖5所示。
圖5 雙口RAM的讀寫時序仿真
(4)設(shè)計視頻解碼器的圖像采集接口模塊。圖像采集模塊主要用于圖像的采集并且將模擬的視頻信號轉(zhuǎn)換成位數(shù)字視頻信號。這個模塊與視頻解碼器的VPO數(shù)據(jù)總線以及RTS1、RTS0相連,RTS1、RTS0分別表示的是場同步信號以及行同步信號,在這兩種信號同時有效的時候,輸出的數(shù)據(jù)才是有效的圖像數(shù)據(jù),反之,就是消隱信號。視頻信號有效主要可以分為兩種場:一種是偶數(shù)場;一種是奇數(shù)場。有效數(shù)據(jù)總共有576行,在這有效數(shù)據(jù)中,偶數(shù)場的有效數(shù)據(jù)有336-623行,奇數(shù)場的有效數(shù)據(jù)位23-310行,剩下的數(shù)據(jù)就是垂直控制信號。標準ITU YDU的格式如圖6所示。
圖6 標準ITU YDU的格式
(5)設(shè)計格式轉(zhuǎn)換模塊。對于將攝像頭采集到的圖像要顯示在顯示器上,必須對采集的圖像數(shù)據(jù)進行格式轉(zhuǎn)換,將YDU的格式轉(zhuǎn)換成RGB的格式。YDU格式的數(shù)據(jù)是兩個相鄰的像素公用一對的Cb和Cr分量,因此,在進行格式的轉(zhuǎn)換時應(yīng)該先解交織,最后進行數(shù)據(jù)的轉(zhuǎn)換,主要運用的公式是
因為在FPGA中進行浮點運算比較困難。因此,可以將上述公式經(jīng)過放大進行整數(shù)的運算,放大后的公式如下所示
通過上述的公式能夠得到r、g、b的結(jié)果,最后將結(jié)果都向右移動10位,最終完成除法運算,得到RGB的數(shù)值。
綜上所述,通過利用FPGA在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用,能夠使數(shù)據(jù)的運行速度加快,增加了系統(tǒng)的靈活性,從而提高了數(shù)據(jù)的采集效率以及增加了數(shù)據(jù)的可靠性。因此,利用FPGA進行的數(shù)據(jù)采集系統(tǒng)是一種比較高效的數(shù)據(jù)采集方案。
[1] 張偉,韓一明,吳新玲.基于FPGA的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].電力情報,2002,4(3):46-49.
[2] 徐海軍,葉衛(wèi)東.FPGA在高性能數(shù)據(jù)采集系統(tǒng)中的應(yīng)用[J].計測技術(shù),2005,1(25):40-43.
[3] 馮濤,王程.可編程邏輯器件開發(fā)技術(shù)——Max+Plus I入門與提高[M].北京:人民郵電出版社,2002.
[4] 唐穎,阮文海.高速數(shù)據(jù)采集系統(tǒng)控制電路的設(shè)計[J].現(xiàn)代電子技術(shù),2004,27(19):21-23.
[5] 楊剛,龍海燕.現(xiàn)代電子技術(shù):VHDL與數(shù)字系統(tǒng)設(shè)計[M].北京.電子工業(yè)出版社.2004.
[6] 馬建明,周長城.數(shù)據(jù)采集與處理技術(shù)[M].西安:西安交通大學(xué)出版社,1998.