基于FPGA的數(shù)據(jù)采集控制模塊的研究與設(shè)計
0 引 言
數(shù)據(jù)采集和控制系統(tǒng)是對生產(chǎn)過程或科學(xué)實驗中各種物理量進行實時采集、測試和反饋控制的閉環(huán)控制,它在工業(yè)控制、軍事電子設(shè)備、醫(yī)學(xué)監(jiān)護等許多領(lǐng)域發(fā)揮著重要作用。其中,數(shù)據(jù)采集部分尤為重要,而傳統(tǒng)的數(shù)據(jù)采集系統(tǒng),通常采用單片機或DSP作為控制器,用以控制ADC、存儲器和其他外圍電路的工作,使得采集速度和效率降低。近年來,微電子技術(shù),如:大規(guī)模集成電路和超大規(guī)模集成電路技術(shù)的發(fā)展,為數(shù)據(jù)采集系統(tǒng)的發(fā)展提供了良好的物質(zhì)基礎(chǔ)。從而使器件向模塊化和單片化發(fā)展,使所用軟件均向?qū)崟r高級語言和軟件模塊化發(fā)展,接口向標準化發(fā)展。由于FPGA時鐘頻率高,內(nèi)部延時小,全部控制邏輯均由硬件完成,速度快,效率高,同時它有非常強大的硬件描述語言和仿真工具,方便檢驗結(jié)果的正確性?;谝陨峡紤],在設(shè)計中采用FPGA作為控制處理器。而VGA接口的設(shè)計,更突出了該模塊的兼容性,更易于采集數(shù)據(jù)的直觀表現(xiàn)。
1 系統(tǒng)總體設(shè)計方案
完整的數(shù)據(jù)采集過程通常由數(shù)據(jù)的通道選擇、采樣、存儲、顯示構(gòu)成,有時也要對數(shù)據(jù)進行適當?shù)奶幚?。其中,控制模塊起到了核心作用,他作為控制信號產(chǎn)生和處理的中樞對這些外圍電路進行著實時的監(jiān)控和管理。設(shè)計過程中采用FPGA作為控制器,完成對A/D轉(zhuǎn)換器的控制,并將采集到的數(shù)據(jù)存儲到一定的存儲單元.通過VGA接口協(xié)議,最后在顯示器上顯示。具體涉及的外圍電路中,數(shù)據(jù)采集部分主要應(yīng)用ADC0809作為數(shù)據(jù)采集芯片,對輸入的模擬量進行A/D轉(zhuǎn)換;數(shù)據(jù)緩存部分應(yīng)用6116作為存儲芯片,用來緩存0809采集的數(shù)據(jù);按鍵控制部分利用8個按鍵來控制0809的轉(zhuǎn)換通道選擇;圖形顯示部分輸出標準的VGA信號,使用CRT顯示器,以顯示實時波形。由于在設(shè)計中對外部器件進行控制的控制器都是由FPGA完成的,F(xiàn)P-GA的工作量很大,因此所采用的FPGA芯片為FLEX系列中30萬門的EPF10K30。
2 基于FPGA的主控模塊的實現(xiàn)
主控制器的工作原理如圖1所示。
通過一個A/D轉(zhuǎn)換控制器產(chǎn)生對ADC0809的控制信號。啟動ADC0809之后,隨即就會按照一定頻率進行A/D轉(zhuǎn)換。同時通過一個數(shù)據(jù)鎖存信號將數(shù)據(jù)鎖存到A/D轉(zhuǎn)換控制模塊中。這個鎖存信號將作為RAM控制器寫輸入控制信號。當RAM讀寫控制器的寫控制信號有效之后,將開啟RAM的寫使能有效信號,將采集到的數(shù)據(jù)寫入RAM的第600個地址單元中,然后RAM控制器將RAM中的數(shù)據(jù)向上移動一位,移動完之后,產(chǎn)生一個數(shù)據(jù)更新完畢信號,之后才通過內(nèi)部的一個控制信號,允許從RAM讀出數(shù)據(jù)。若RAM中讀數(shù)據(jù)使能,每當VGA顯示控制器發(fā)出一個讀數(shù)據(jù)命令時,RAM讀寫控制器便開啟RAM的讀有效信號,讀出RAM中的數(shù)據(jù),并且通過VGA控制器的時序控制和輸出信號進行顯示。外部的按鍵部分共有8個,這8個按鍵控制ADC0809的8路通道的選擇。鍵盤控制器的功能就是掃描所按下按鍵的行和列值,并且合成鍵值。轉(zhuǎn)換成按鍵數(shù)值0~7,最終控制8個模擬輸入通道的選擇。
2.1 VGA顯示控制器的設(shè)計
常見的彩色顯示器一般由陰極射線管(CRT)構(gòu)成,彩色是由紅、黃、藍(R,G,B)三基色組成的,用逐行掃描的方式解決圖像顯示。其引出線共含5個信號:R,G,B三基色信號;HS;行同步信號;VS;場同步信號。
對于VGA顯示器的這五個信號的時序驅(qū)動要嚴格遵循“VGA工業(yè)標準”,即640×480×60模式,否則會損害VGA顯示器。在此,控制器共有2個輸入信號,6個輸出信號。CLK連接到外部的晶振上,其晶振頻率是50 MHz。由于VGA工業(yè)標準所要求的晶振頻率是25 MHz。因此,在此控制器中首先要將時鐘進行二分頻。RD是一個8位的數(shù)據(jù)量,它接收從RAM讀出的數(shù)據(jù)。輸出信號READ用于控制RAM控制模塊開啟RAM的讀有效信號,只要READ有變化,那么將進入讀數(shù)據(jù)狀態(tài),由RD接收讀出來的數(shù)據(jù)。HS和VS分別是行同步信號和場同步信號,R,G,B為三條輸出的信號線。顯示波形是通過改變R,G,B這三條輸出信號的值來實現(xiàn)的。
每讀出一個數(shù)據(jù),其實是對應(yīng)著一個像素點。由于這里所采集的電壓值范圍是0~5 V,對應(yīng)ADC0809轉(zhuǎn)換成的數(shù)據(jù)量是0x00~0xFF、,所以在設(shè)計時只要將RD接收的具體數(shù)值與顯示器中的某一行相對應(yīng)即可,具體實現(xiàn)用比較語句就可以實現(xiàn)行定位,同時列輔助寄存器LLV加1即可,這樣即可實現(xiàn)連續(xù)波形。這些點連接起來就是一個完整的波形,而其中行同步和場同步信號的產(chǎn)生則分別由內(nèi)部信號CC,LL根據(jù)已知的輸入時鐘,通過計數(shù)器計數(shù)的方式,達到工業(yè)標準要求的頻率。
評論