一種基于FPGA的新型數(shù)字電壓表研究與設(shè)計(jì)
數(shù)字電壓表是大學(xué)物理教學(xué)和實(shí)驗(yàn)中的重要儀表,其數(shù)字化是指將連續(xù)的模擬電壓量轉(zhuǎn)換成不連續(xù)、離散的數(shù)字量并加以顯示。傳統(tǒng)的實(shí)驗(yàn)用模擬電壓表功能單一、精度低、體積大,且存在讀數(shù)時(shí)的視差,長(zhǎng)時(shí)間連續(xù)使用易引起視覺(jué)疲勞,使用中存在諸多不便。而目前數(shù)字萬(wàn)用表的內(nèi)部核心多是模/數(shù)轉(zhuǎn)換器,其精度很大程度上限制了整個(gè)表的準(zhǔn)確度,可靠性較差。本文采用National Semiconductor。公司性能優(yōu)越的8位A/D轉(zhuǎn)換器ADC0809對(duì)模擬電壓采樣,以一片高性能FPGA芯片為控制核心,以軟件實(shí)現(xiàn)了諸多硬件功能,對(duì)電壓信號(hào)的轉(zhuǎn)換結(jié)果進(jìn)行準(zhǔn)確實(shí)時(shí)的運(yùn)算處理并送出顯示。系統(tǒng)的主要功能都集成在一塊芯片上,大大減少了系統(tǒng)的分立元件數(shù)量,降低了功耗,增加了可靠性,較好地實(shí)現(xiàn)了電壓的精準(zhǔn)測(cè)量。
1 設(shè)計(jì)方案比較
采用雙積分式模/數(shù)轉(zhuǎn)換器為核心器件,稱(chēng)為雙積分式電壓表。在一個(gè)測(cè)量周期內(nèi),將被測(cè)電壓Ui加到積分器的輸入端,在確定的時(shí)間內(nèi)進(jìn)行積分。然后切斷輸入電壓,在積分器的輸入端加與Ui極性相反的電壓U,進(jìn)行定值積分,但積分方向相反,直到積分輸出達(dá)到起始電平為止,從而將Ui轉(zhuǎn)換成時(shí)間間隔量進(jìn)行測(cè)量。只要用計(jì)數(shù)器累計(jì)時(shí)間間隔內(nèi)的脈沖數(shù),即為Ui之值。電路簡(jiǎn)單,便于維護(hù)。但電壓表的測(cè)量精度完全受限于模/數(shù)轉(zhuǎn)換的精度。而且系統(tǒng)無(wú)升級(jí)空間。
另外,采用單片機(jī)作為系統(tǒng)的控制核心。輸入信號(hào)經(jīng)模/數(shù)轉(zhuǎn)換后送到單片機(jī)進(jìn)行數(shù)據(jù)處理,根據(jù)不同電壓信號(hào)計(jì)算出不同數(shù)值,并送出顯示。這種方案優(yōu)點(diǎn)是的單片機(jī)技術(shù)成熟、運(yùn)算功能較強(qiáng)、編程靈活、設(shè)計(jì)成本也較低,能較準(zhǔn)確地測(cè)量輸入電壓。但在單片機(jī)系統(tǒng)中必須使用許多分立元件組成其外圍電路,整個(gè)系統(tǒng)顯得十分復(fù)雜,可靠性較低,抗干擾能力差,而且功耗高。
采用現(xiàn)場(chǎng)可編程門(mén)陣列即FPGA為系統(tǒng)核心,是當(dāng)今電子產(chǎn)品設(shè)計(jì)的熱門(mén)發(fā)展方向。系統(tǒng)最大限度地將所有器件集成在FPGA芯片上,體積大大減小、集成度高,可靠性高。而且邏輯單元控制靈活、適用范圍極廣,實(shí)現(xiàn)了大規(guī)模和超大規(guī)模電路的集成。其硬件功能完全由軟件編程實(shí)現(xiàn),修改調(diào)試方便,在不改變?cè)须娐返幕A(chǔ)上便可實(shí)現(xiàn)系統(tǒng)升級(jí)。較好地克服了另外兩種方案的缺陷,具有自己獨(dú)特的優(yōu)勢(shì)。綜合上述分析,采用FPGA技術(shù),優(yōu)勢(shì)明顯。
2 系統(tǒng)工作原理
首先,被測(cè)電壓信號(hào)進(jìn)入A/D轉(zhuǎn)換器,F(xiàn)PGA中控制信號(hào)模塊發(fā)出控制信號(hào),啟動(dòng)A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,其采樣得到的數(shù)字信號(hào)數(shù)據(jù)在相應(yīng)的碼制轉(zhuǎn)換模塊中轉(zhuǎn)換為顯示代碼。最后譯碼驅(qū)動(dòng)模塊發(fā)出顯示控制與驅(qū)動(dòng)信號(hào),驅(qū)動(dòng)外部的LCD模塊顯示相應(yīng)的數(shù)據(jù)。通過(guò)外部的鍵盤(pán),可以手動(dòng)對(duì)系統(tǒng)進(jìn)行復(fù)位控制和檔位選擇,不同的檔位決定不同的電壓輸入范圍,在程序中實(shí)現(xiàn)自動(dòng)轉(zhuǎn)換?;竟ぷ髟砜驁D如圖1所示。
3 關(guān)鍵電路設(shè)計(jì)
3.1 A/D轉(zhuǎn)換電路
實(shí)現(xiàn)A/D轉(zhuǎn)換的方法比較多,常見(jiàn)的有計(jì)數(shù)法、雙積分法和逐次逼近法。由于逐次逼近式A/D轉(zhuǎn)換具有速度快,分辨率高等優(yōu)點(diǎn),而且采用該法的ADC芯片成本較低,因此在設(shè)計(jì)中采用該種方式。逐次逼近式A/D轉(zhuǎn)換器的原理如圖2所示。它由逐次逼近寄存器、D/A轉(zhuǎn)換器、比較器和緩沖寄存器等組成。當(dāng)啟動(dòng)信號(hào)由高電平變?yōu)榈碗娖綍r(shí),逐次逼近寄存器清0,這時(shí),D/A轉(zhuǎn)換器輸出電壓V。也為O,當(dāng)啟動(dòng)信號(hào)變?yōu)楦唠娖綍r(shí),轉(zhuǎn)換開(kāi)始,同時(shí),逐次逼近寄存器進(jìn)行計(jì)數(shù)。轉(zhuǎn)換原理如圖2所示。
逐次逼近寄存器工作時(shí)與普通計(jì)數(shù)器不同,它不是從低位向高位逐一進(jìn)行計(jì)數(shù)和進(jìn)位,而是從最高位開(kāi)始,通過(guò)設(shè)置試探值來(lái)進(jìn)行計(jì)數(shù)。在第一個(gè)時(shí)鐘脈沖到來(lái)時(shí),控制電路把最高位送到逐次逼近寄存器,使它的輸出為10000000,這個(gè)輸出數(shù)字一出現(xiàn),D/A轉(zhuǎn)換器的輸出電壓V。就成為滿(mǎn)量程值的128/255。這時(shí),若Vo>Vi則作為比較器的運(yùn)算放大器的輸出就成為低電平,控制電路據(jù)此清除逐次逼近寄存器中的最高位;若Vo≤Vi則比較器輸出高電平,控制電路使最高位的1保留下來(lái)。
若最高位被保留下來(lái),則逐次逼近寄存器的內(nèi)容為10000000,下一個(gè)時(shí)鐘脈沖使次低位D6為1。于是,逐次逼近寄存器的值為11000000,D/A轉(zhuǎn)換器的輸出電壓Vo到達(dá)滿(mǎn)量程值的192/255。此后,若Vo>Vi則比較器輸出為低電平,從而使次高位域復(fù)位;若VoVi則比較器輸出為高電平,從而保留次高位為1。重復(fù)上述過(guò)程,經(jīng)過(guò)N次比較以后,逐次逼近寄存器中得到的值就是轉(zhuǎn)換后的數(shù)值。轉(zhuǎn)換結(jié)束后,控制電路送出一個(gè)低電平作為結(jié)束信號(hào),此信號(hào)的下降沿將逐次逼近寄存器中的數(shù)字量送入緩沖寄存器,從而得到數(shù)字量輸出。
評(píng)論