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