<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的數字電壓表的設計

基于FPGA的數字電壓表的設計

作者: 時(shí)間:2012-10-15 來(lái)源:網(wǎng)絡(luò ) 收藏

0 引 言

本文引用地址:http://dyxdggzs.com/article/189852.htm

傳統的設汁通常以大規模ASIC(專(zhuān)用集成電路)為核心器件,并輔以少量中規模集成電路及顯示器件構成。ASIC完成從模擬量的輸入到數字量的輸出,是的心臟。這種電壓表的設計簡(jiǎn)單、精確度高,但是這種設計方法由于采用了ASIC器件使得它欠缺靈活性,其系統功能固定,難以更新擴展。后來(lái)發(fā)展起來(lái)的用微處理器(單片機)控制通用A/D轉換器件的的設計的靈活性明顯提高,系統功能的擴展變得簡(jiǎn)單,但是由于微處理器的引腳數量有限,其控制轉換速度和靈活性還是不能滿(mǎn)足日益發(fā)展的電子工業(yè)的需求。而應用EDA(電子設汁自動(dòng)化)技術(shù)及(現場(chǎng)可編程門(mén)陣列),其集成度高、速度快、性能十分可靠、用戶(hù)可自由編程且編程語(yǔ)言通俗易懂、系統功能擴展非常方便[1]。采用芯片控制通用A/D轉換器可使速度、靈活性大大優(yōu)于由微處理器和通用A/D轉換器構成的數字電壓表。

1 系統設計原理

本設計利用ADC0809作為電壓采樣端口,作為系統的核心器件,用LED(發(fā)光二極管)進(jìn)行數碼顯示。

采用Alterla公司FLEX10K系列EPF10K20TC144-4 芯片FPGA作為系統的核心器件,負責ADC0809的A/D轉換的啟動(dòng)、地址鎖存、輸入通道選擇、數據讀取。同時(shí),把讀取的8位二進(jìn)制數據轉換成便于輸出的3位十進(jìn)制BCD碼送給數碼管,以顯示當前測量電壓值。這些工作由ADC0809轉換控制模塊、數據轉換模塊、譯碼模塊完成。

2 FPGA軟件設計及模塊仿真

2.1 A/D轉換控制模塊的軟件設計

本模塊完成ADC0809的初始化、A/D轉換的啟動(dòng)、地址鎖存、通道選擇、狀態(tài)讀取及數據讀取、數據鎖存等功能。此模塊的軟件設計主要采用VHDL的多進(jìn)程狀態(tài)機完成[4]。

工作時(shí)序如下:上電瞬問(wèn),FPGA初始化,ADD置成01,狀態(tài)機處于第1個(gè)狀態(tài),此時(shí)ALE、START、OE、LOCK(數據鎖存信號)均置0,初始化ADC0809。第1個(gè)上升沿到來(lái)時(shí),狀態(tài)機由狀態(tài)1轉換到狀態(tài)2,ALE、START置1,OE、LOCK為0,此時(shí)地址鎖存信號有效,由ALE將ADD的01狀態(tài)鎖存到地址鎖存器并譯碼,選擇IN1即通道1作為模擬信號輸入端,同時(shí)STRAT信號有效,啟動(dòng)采樣。第2個(gè)上升沿到來(lái)時(shí),狀態(tài)機由狀態(tài)2轉換到狀態(tài)3,ALE、START返回到低電平,OE、LOCK繼續為低電平,此時(shí)如果FPGA檢測到ADC0809的EOC引腳由低電平變成高電平(A/D轉換完成),則當時(shí)鐘上升沿到來(lái)時(shí),轉換到狀態(tài)3,否則繼續保持在狀態(tài)2,直到轉換完成。由狀態(tài)2轉換到狀態(tài)3后,OE置高電平,允許轉換數據輸出,其余信號狀態(tài)保持不變。時(shí)鐘上升沿再次到來(lái)時(shí),狀態(tài)機由狀態(tài)3轉換到狀態(tài)4,LOCK置高電平,其余信號與狀態(tài)3一樣。當LOCK由低電平轉換到高電平的瞬問(wèn),穩定的數據鎖存到鎖存器。上升沿再次到來(lái),則狀態(tài)機返回狀態(tài)0??刂破髟跁r(shí)鐘信號控制下完成狀態(tài)轉換,實(shí)現對ADC0809的控制[3]。

2.2 數據轉換模塊的軟件設計

本設計采用5 V參考電壓,測量范圍為0~5 V,由于轉換器件為8位,則電壓的最小分辨率為0.02V,因此待轉換數據。

編一個(gè)查表程序,對上述電壓進(jìn)行BCD碼編碼,然后根據對應的4位BCD碼相加的結果決定是否進(jìn)位,從而得到待處理數據的BCD碼[5]。例如:從AD0809上取得的數據為11011110,1101對應的電壓值為4.16 V,其對應的BCD編碼為010000010110,1110對應的電壓值為0.28 V,其對應的BCD編碼為000000101000。低4位相加為1110,大于9,加6將其調整為BCD碼,其值為0100,并且向前有一進(jìn)位。4位相加的結果為0011,由于低位有進(jìn)位,因此最終結果為0100。高4位的結果為0100。3位合計的值為4.44 V,與4.16+0.28的結果相符。

2.3 譯碼輸出模塊的軟件設計

本模塊的任務(wù)是把數據處理模塊處理得到的BCD碼轉換成能被數碼管識別的字型編碼。8位二進(jìn)制數轉換成BCD碼后為12位,因此需3個(gè)數碼管顯示結果。為了節省資源,采用掃描方式控制數碼管的顯示,掃描時(shí)鐘由CK提供,其頻率應大于100 Hz,否則會(huì )有閃爍現象。

3 系統仿真及驗證

當FPGA從AD0809上讀取的數據為0F8H(十進(jìn)制248)時(shí)輸出的段碼為66H、6FH、7D,分別對應字符4、9、6,加上小數點(diǎn)就是4.96 V,而其分辨率為0.02 V,則A/D轉換得到的電壓值應為0F8x0.02 V=4.96 V。顯示結果與理論推算完全相符。

選EPF10K10TC20TC144-4作為目標器件并進(jìn)行正確的引腳鎖定后,將程序下載到目標配置器件[6]。改變ADC0809的模擬通道輸入電壓,觀(guān)察數碼管的輸出,其輸出隨著(zhù)輸人電壓的變化而變化,當輸入電壓變?yōu)?時(shí),數碼管的輸出為0,輸人為5 V時(shí)數碼管輸出也為5.00 V,其余情況下輸入與輸出也一致,至此,基于FPGA的數字電壓表設計完成。本設計的結果已通過(guò)硬件測試。

4 結束語(yǔ)

本設計只用了ADC0809的一個(gè)通道,在不改變硬件電路的前提下,只要稍微改變VHDL的源程序,就可實(shí)現其余通道的利用,構成復雜的數據采集系統。數據處理模塊用查表方式設計,設計比較簡(jiǎn)單,易于理解,但對FPGA的芯片資源利用率不高,因此要想編寫(xiě)出更高效率的數據處理源程序,可以用權位相加的方法實(shí)現,其原理見(jiàn)文獻[5]。這種方法不是很好理解,但是其資源利用率明顯高于查表方式;同時(shí)可以用LCD(液晶顯示器)代替LED顯示,用LCD顯示時(shí)譯碼程序要進(jìn)行相應更改,以便與LCD驅動(dòng)時(shí)序同步。編碼用ASCII碼,并且由于LCD的速度較慢,因此時(shí)鐘頻率不能過(guò)高,否則將不能對LCD進(jìn)行讀寫(xiě)。本設計通過(guò)添加一些前置電路就可擴展其功能,如果采用16位A/D轉換器,則可以提高其分辨率。



關(guān)鍵詞: FPGA 數字電壓表

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>