基于FPGA的新型數字電壓表設計
數字電壓表是大學物理教學和實驗中的重要儀表,其數字化是指將連續(xù)的模擬電壓量轉換成不連續(xù)、離散的數字量并加以顯示。傳統(tǒng)的實驗用模擬電壓表功能單一、精度低、體積大,且存在讀數時的視差,長時間連續(xù)使用易引起視覺疲勞,使用中存在諸多不便。而目前數字萬用表的內部核心多是模/數轉換器,其精度很大程度上限制了整個表的準確度,可靠性較差。本文采用National Semiconductor。公司性能優(yōu)越的8位A/D轉換器ADC0809對模擬電壓采樣,以一片高性能FPGA芯片為控制核心,以軟件實現了諸多硬件功能,對電壓信號的轉換結果進行準確實時的運算處理并送出顯示。系統(tǒng)的主要功能都集成在一塊芯片上,大大減少了系統(tǒng)的分立元件數量,降低了功耗,增加了可靠性,較好地實現了電壓的精準測量。
1 設計方案比較
采用雙積分式模/數轉換器為核心器件,稱為雙積分式電壓表。在一個測量周期內,將被測電壓Ui加到積分器的輸入端,在確定的時間內進行積分。然后切斷輸入電壓,在積分器的輸入端加與Ui極性相反的電壓U,進行定值積分,但積分方向相反,直到積分輸出達到起始電平為止,從而將Ui轉換成時間間隔量進行測量。只要用計數器累計時間間隔內的脈沖數,即為Ui之值。電路簡單,便于維護。但電壓表的測量精度完全受限于模/數轉換的精度。而且系統(tǒng)無升級空間。
另外,采用單片機作為系統(tǒng)的控制核心。輸入信號經模/數轉換后送到單片機進行數據處理,根據不同電壓信號計算出不同數值,并送出顯示。這種方案優(yōu)點是的單片機技術成熟、運算功能較強、編程靈活、設計成本也較低,能較準確地測量輸入電壓。但在單片機系統(tǒng)中必須使用許多分立元件組成其外圍電路,整個系統(tǒng)顯得十分復雜,可靠性較低,抗干擾能力差,而且功耗高。
采用現場可編程門陣列即FPGA為系統(tǒng)核心,是當今電子產品設計的熱門發(fā)展方向。系統(tǒng)最大限度地將所有器件集成在FPGA芯片上,體積大大減小、集成度高,可靠性高。而且邏輯單元控制靈活、適用范圍極廣,實現了大規(guī)模和超大規(guī)模電路的集成。其硬件功能完全由軟件編程實現,修改調試方便,在不改變原有電路的基礎上便可實現系統(tǒng)升級。較好地克服了另外兩種方案的缺陷,具有自己獨特的優(yōu)勢。綜合上述分析,采用FPGA技術,優(yōu)勢明顯。
2 系統(tǒng)工作原理
首先,被測電壓信號進入A/D轉換器,FPGA中控制信號模塊發(fā)出控制信號,啟動A/D轉換器進行轉換,其采樣得到的數字信號數據在相應的碼制轉換模塊中轉換為顯示代碼。最后譯碼驅動模塊發(fā)出顯示控制與驅動信號,驅動外部的LCD模塊顯示相應的數據。通過外部的鍵盤,可以手動對系統(tǒng)進行復位控制和檔位選擇,不同的檔位決定不同的電壓輸入范圍,在程序中實現自動轉換。基本工作原理框圖如圖1所示。
3 關鍵電路設計
3.1 A/D轉換電路
實現A/D轉換的方法比較多,常見的有計數法、雙積分法和逐次逼近法。由于逐次逼近式A/D轉換具有速度快,分辨率高等優(yōu)點,而且采用該法的ADC芯片成本較低,因此在設計中采用該種方式。逐次逼近式A/D轉換器的原理如圖2所示。它由逐次逼近寄存器、D/A轉換器、比較器和緩沖寄存器等組成。當啟動信號由高電平變?yōu)榈碗娖綍r,逐次逼近寄存器清0,這時,D/A轉換器輸出電壓V。也為O,當啟動信號變?yōu)楦唠娖綍r,轉換開始,同時,逐次逼近寄存器進行計數。轉換原理如圖2所示。
逐次逼近寄存器工作時與普通計數器不同,它不是從低位向高位逐一進行計數和進位,而是從最高位開始,通過設置試探值來進行計數。在第一個時鐘脈沖到來時,控制電路把最高位送到逐次逼近寄存器,使它的輸出為10000000,這個輸出數字一出現,D/A轉換器的輸出電壓V。就成為滿量程值的128/255。這時,若Vo>Vi則作為比較器的運算放大器的輸出就成為低電平,控制電路據此清除逐次逼近寄存器中的最高位;若Vo≤Vi則比較器輸出高電平,控制電路使最高位的1保留下來。
若最高位被保留下來,則逐次逼近寄存器的內容為10000000,下一個時鐘脈沖使次低位D6為1。于是,逐次逼近寄存器的值為11000000,D/A轉換器的輸出電壓Vo到達滿量程值的192/255。此后,若Vo>Vi則比較器輸出為低電平,從而使次高位域復位;若VoVi則比較器輸出為高電平,從而保留次高位為1。重復上述過程,經過N次比較以后,逐次逼近寄存器中得到的值就是轉換后的數值。轉換結束后,控制電路送出一個低電平作為結束信號,此信號的下降沿將逐次逼近寄存器中的數字量送入緩沖寄存器,從而得到數字量輸出。
這里采用的ADC0809是單片雙列直插式集成芯片,是8通道8位A/D轉換器,其主要特點是:分辨率為8位;總的不可調誤差±1 LSB;當模擬輸入電壓范圍為0~5 V時,可使用單一的+5 V電源;轉換時間為100μs;溫度范圍-40~+85℃;不需另加接口邏輯可直接與CPU連接;可以輸入8路模擬信號;輸出帶鎖存器;邏輯電平與TTL兼容。
ADC0809帶有8位轉換器、8位多路切換開關以及與微處理機兼容的控制邏輯的CMOS組件。它的8位A/D轉換器轉換方法為逐次逼近法。在A/D轉換器的內部,含有一個高阻抗斬波穩(wěn)定比較器,一個帶有模擬開關樹組的256R分壓器,以及一個逐次逼近的寄存器。8路的模擬開關由地址鎖存器和譯碼器控制,可以在8個通道中任意訪問一個單邊的模擬信號。其工作框圖如圖3所示。
該A/D轉換器無需調零和滿量程調整。由于多路開關的地址輸入能夠進行鎖存和譯碼,而且三態(tài)TTL輸出也可以鎖存,易于與微處理器進行接口。
如圖3所示,它由兩大部分所組成:第一部分是8通道多路模擬開關,它用于控制C,B,A端子和地址鎖存允許端子,可使其中一個通道被選中;第二部分為一個逐次逼近型A/D轉換器,它由比較器、控制邏輯、輸出緩沖鎖存器、逐次逼近寄存器以及開關樹組和256R電阻分壓器組成。后兩種電路,即開關樹和256R電阻分壓器,組成了D/A轉換器??刂七壿嬘脕砜刂浦鸫伪平拇嫫鲝母呶坏降臀恢鸫稳?,然后將此數字量送到開關樹組,即8位開關,用來控制開關S7~S0與參考電平相連接。參考電平經256R電阻分壓器,輸出一個模擬電壓Uo,Uo,Ui在比較器中進行比較。當Uo>Ui時,本位D=O;當Uo≤Ui時,則本位D=1。因此,從D7~D0比較8次即可逐次逼近寄存器中的數字量,即與模擬量Ui所相當于的數字量相等。此數字量送入輸出鎖存器,并同時發(fā)轉換結束脈沖。
評論