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