FPGA在智能儀表中的應(yīng)用
隨著微電子技術(shù)的發(fā)展,采用現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)進(jìn)行數(shù)字信號(hào)處理得到了飛速發(fā)展。由于FPGA具有現(xiàn)場(chǎng)可編程的特點(diǎn),可以實(shí)現(xiàn)專用集成電路,因此越來(lái)越受到硬件電路設(shè)計(jì)工程師們的青睞。
目前,在自動(dòng)化監(jiān)測(cè)與控制儀器和裝置中,大多以8位或16位MCU為核心部件。然而伴隨著生產(chǎn)技術(shù)的進(jìn)步和發(fā)展,對(duì)監(jiān)測(cè)與控制的要求也在不斷提高,面對(duì)日益復(fù)雜的監(jiān)測(cè)對(duì)象和控制算法,傳統(tǒng)的MCU往往不堪重負(fù)。把FPGA運(yùn)用到這些儀表和設(shè)備中,可以減少這些儀器、設(shè)備的開(kāi)發(fā)周期,大幅度提升這些儀器的性能,減少總成本和體積。
在低阻值、高精度線圈電阻測(cè)試儀中關(guān)鍵部分用FPGA硬件電路來(lái)實(shí)現(xiàn),可以節(jié)省系統(tǒng)的面積開(kāi)銷、減少所用的芯片數(shù)和PCB板塊數(shù),提升系統(tǒng)性能,并降低成本。
低阻值、高精度測(cè)試儀系統(tǒng)結(jié)構(gòu)介紹
系統(tǒng)的待測(cè)體是一個(gè)繞有三組銅線圈的機(jī)構(gòu),外形尺寸大約是7×7×6(mm),外形結(jié)構(gòu)較復(fù)雜。由于系統(tǒng)要通過(guò)測(cè)量待測(cè)線圈的阻值,來(lái)確定線圈的圈數(shù),因此,要求有比較高的測(cè)量精度。按照工廠流水線作業(yè)的要求,待測(cè)體電阻值均在5Q以下,測(cè)量精度在±0.01Ω以內(nèi),反應(yīng)速度在0.8s以內(nèi)。整個(gè)測(cè)試系統(tǒng)由數(shù)據(jù)采樣模塊、數(shù)據(jù)處理模塊和顯示輸出模塊組成,系統(tǒng)的原理框圖如圖1所示。
數(shù)據(jù)采樣部分
由于本系統(tǒng)要對(duì)微小電阻進(jìn)行精確測(cè)量,因此采用四引線制測(cè)量法,配以高精度、低溫漂的恒流源。本系統(tǒng)的A/D轉(zhuǎn)換芯片采用Intersil公司的三位半A/I)轉(zhuǎn)換器ICL7107,恒流源產(chǎn)生的10mA電流流經(jīng)待測(cè)線圈,產(chǎn)生一個(gè)與線圈阻值成正比的壓降。此壓降通過(guò)三位半A/D轉(zhuǎn)換器直接轉(zhuǎn)換為七段碼形式的十進(jìn)制數(shù)據(jù)流,直接送至顯示輸出部分,由LED數(shù)碼管顯示輸出。
數(shù)據(jù)處理部分
這部分有三個(gè)功能:
(1)將A/D轉(zhuǎn)換器輸出的七段碼形式的數(shù)據(jù)轉(zhuǎn)換為BCD碼;
(2)將轉(zhuǎn)換好的的BCD碼數(shù)據(jù)進(jìn)行相減,實(shí)現(xiàn)電阻值求差功能;
(3)將轉(zhuǎn)換好的BCD碼數(shù)據(jù)與設(shè)定的上下限進(jìn)行比較,第2步得到的電阻差值與基準(zhǔn)比較值進(jìn)行比較,實(shí)現(xiàn)比較功能。
本文著重介紹這一部分的原理以及實(shí)現(xiàn)。針對(duì)數(shù)據(jù)處理部分,這一部分功能可以采用三種方案來(lái)實(shí)現(xiàn):
(1)采用ALU和7485系列芯片來(lái)實(shí)現(xiàn),這種方案需要6個(gè)ALU單元(3片處理4位BCD減法的單元和3片處理借位的單元)和18片74LS85芯片(作為數(shù)字比較器),占用相當(dāng)大的系統(tǒng)面積,并且看起來(lái)非常繁瑣功能復(fù)雜,不直觀。時(shí)間延遲大,測(cè)量誤差也比較大。
(2)完全采用數(shù)字組合邏輯電路來(lái)實(shí)現(xiàn),這一方案設(shè)計(jì)門(mén)檻比較低,但是占用的系統(tǒng)面積、功耗和測(cè)量誤差比第一種方案大的多,達(dá)到較難以實(shí)現(xiàn)的地步。
(3)采用FPGA來(lái)實(shí)現(xiàn),把本部分要實(shí)現(xiàn)的功能完全集成在一塊FPGA上,與上述兩個(gè)方案比較,大大節(jié)省面積,系統(tǒng)功能讓人一目了然,而且儀器穩(wěn)準(zhǔn)度更高,反應(yīng)速度更快
顯示輸出部分
該部分有LED顯示燈(紅、綠)和LED數(shù)碼管組成,根據(jù)輸入顯示相應(yīng)結(jié)果。
FPGA實(shí)現(xiàn)的數(shù)據(jù)處理功能
測(cè)試儀中通過(guò)待測(cè)線圈的壓降通過(guò)三位半A/I)轉(zhuǎn)換器ICL7107后,一輸出的數(shù)據(jù)(samplel、sample2)均為七段碼形式的十進(jìn)制三位數(shù)(個(gè)、十、百位),要求與兩個(gè)可調(diào)的上下限(BCD碼撥碼輸入)進(jìn)行比較,若在比較限度內(nèi)則亮綠燈(greenl、green2),否則亮紅燈(rerll、red2)。另外,兩個(gè)采樣值相減,若其差值(sub)在固定范圍以內(nèi)則亮綠燈(green3),否則亮紅燈(red3)。所有的綠燈亮,總控的綠燈(greerl)才亮,否則,總控紅燈(red)亮。設(shè)計(jì)方案按照TOP—DOwN的思想對(duì)系統(tǒng)進(jìn)行整體功能劃分,再以BOTTOM—uP方式進(jìn)行設(shè)計(jì)輸入,使系統(tǒng)具有層次感(hierarchy),各個(gè)功能模塊內(nèi)包含小的模塊,也便于模塊的重復(fù)調(diào)用,最后進(jìn)行芯片的功能、性能等各項(xiàng)模擬。各模塊功能及結(jié)構(gòu)圖介紹如下:
datachange(數(shù)據(jù)轉(zhuǎn)換)模塊
將輸人為七段碼的數(shù)據(jù)轉(zhuǎn)換為BcD碼,輸出轉(zhuǎn)換后的數(shù)據(jù),直接送到顯示輸出部分,在LED數(shù)碼管上顯示出來(lái),如圖2所示。
suball(減法)模塊 [!--empirenews.page--]
系統(tǒng)數(shù)據(jù)處理的核心部分,包括3個(gè)子模塊,來(lái)實(shí)現(xiàn)采樣的兩個(gè)12位BCD碼數(shù)之間的相減。其中的核心子模塊為4位BcD減法模塊,通過(guò)借位,將此模塊串接,實(shí)現(xiàn)模塊復(fù)用。將差值送到顯示輸出部分,在LED數(shù)碼管上顯示出來(lái),如圖3所示。
compareall(比較)模塊
實(shí)現(xiàn)轉(zhuǎn)換后數(shù)據(jù)(A、B)同設(shè)定的上下限(圖中為upperl、lower。1和upper2、lower2)進(jìn)行比較;減法模塊得出的差值(sub),與設(shè)定的基準(zhǔn)值c進(jìn)行比較。最后輸出比較結(jié)果,將結(jié)果送到顯示輸出部分,以LED顯示燈形式來(lái)顯示結(jié)果,如圖4所示。
lamp模塊
總控顯示燈選擇模塊,根據(jù)輸入的結(jié)果來(lái)決定輸出燈的顏色,如圖5所示。
具體算法流程如圖6所示。
仿真驗(yàn)證
數(shù)據(jù)處理模塊采用verilog語(yǔ)言編寫(xiě),用Maxplus II進(jìn)行功能仿真,設(shè)定upperl與upperl2值均為400(即上限4.0Ω),lowerl與lower2值均為300(即下限3.0Ω),基準(zhǔn)比較值C為025(即電阻差值最大限度為0.25),采用六組不同區(qū)間數(shù)據(jù)作為采樣輸入,仿真結(jié)果如圖7所示。
波形顯示該算法完全正確,功能達(dá)到設(shè)計(jì)要求。我們采用Altera公司Cyclone系列的EPlC3芯片,進(jìn)行FPGA仿真,并將其應(yīng)用于實(shí)際系統(tǒng)中,完全達(dá)到預(yù)期效果。為了檢驗(yàn)系統(tǒng)的精確度,采用精密數(shù)字微歐計(jì)進(jìn)行校驗(yàn),該儀表測(cè)量準(zhǔn)確度達(dá)0.1%,分辨率最高可達(dá)1mΩ。
本文提出的設(shè)計(jì)方法,從實(shí)際應(yīng)用來(lái)看,節(jié)省了面積開(kāi)銷,儀器穩(wěn)準(zhǔn)度更高,反應(yīng)速度更快,并且降低了系統(tǒng)整體電路的復(fù)雜度,提高了系統(tǒng)集成度。經(jīng)軟件仿真和實(shí)際功能驗(yàn)證.證明設(shè)計(jì)可靠、設(shè)計(jì)方案可行,在實(shí)際應(yīng)用中有較大的實(shí)用價(jià)值。