基于FPGA的數據采集控制模塊設計
通過一個A/D轉換控制器產生對ADC0809的控制信號。啟動ADC0809之后,隨即就會按照一定頻率進行A/D轉換。同時通過一個數據鎖存信號將數據鎖存到A/D轉換控制模塊中。這個鎖存信號將作為RAM控制器寫輸入控制信號。當RAM讀寫控制器的寫控制信號有效之后,將開啟RAM的寫使能有效信號,將采集到的數據寫入RAM的第600個地址單元中,然后RAM控制器將RAM中的數據向上移動一位,移動完之后,產生一個數據更新完畢信號,之后才通過內部的一個控制信號,允許從RAM讀出數據。若RAM中讀數據使能,每當VGA顯示控制器發出一個讀數據命令時,RAM讀寫控制器便開啟RAM的讀有效信號,讀出RAM中的數據,并且通過VGA控制器的時序控制和輸出信號進行顯示。外部的按鍵部分共有8個,這8個按鍵控制ADC0809的8路通道的選擇。鍵盤控制器的功能就是掃描所按下按鍵的行和列值,并且合成鍵值。轉換成按鍵數值0~7,最終控制8個模擬輸入通道的選擇。
2.1 VGA顯示控制器的設計
常見的彩色顯示器一般由陰極射線管(CRT)構成,彩色是由紅、黃、藍(R,G,B)三基色組成的,用逐行掃描的方式解決圖像顯示。其引出線共含5個信號:R,G,B三基色信號;HS;行同步信號;VS;場同步信號。
對于VGA顯示器的這五個信號的時序驅動要嚴格遵循“VGA工業標準”,即640×480×60模式,否則會損害VGA顯示器。在此,控制器共有2個輸入信號,6個輸出信號。CLK連接到外部的晶振上,其晶振頻率是50 MHz。由于VGA工業標準所要求的晶振頻率是25 MHz。因此,在此控制器中首先要將時鐘進行二分頻。RD是一個8位的數據量,它接收從RAM讀出的數據。輸出信號READ用于控制RAM控制模塊開啟RAM的讀有效信號,只要READ有變化,那么將進入讀數據狀態,由RD接收讀出來的數據。HS和VS分別是行同步信號和場同步信號,R,G,B為三條輸出的信號線。顯示波形是通過改變R,G,B這三條輸出信號的值來實現的。
每讀出一個數據,其實是對應著一個像素點。由于這里所采集的電壓值范圍是0~5 V,對應ADC0809轉換成的數據量是0x00~0xFF、,所以在設計時只要將RD接收的具體數值與顯示器中的某一行相對應即可,具體實現用比較語句就可以實現行定位,同時列輔助寄存器LLV加1即可,這樣即可實現連續波形。這些點連接起來就是一個完整的波形,而其中行同步和場同步信號的產生則分別由內部信號CC,LL根據已知的輸入時鐘,通過計數器計數的方式,達到工業標準要求的頻率。
2.2 A/D轉換控制器的設計
在此設計中,是利用狀態機對A/D轉換進行控制的。控制ADC0809采樣狀態圖,如圖2所示。
評論