資源描述:
《基于fpga數(shù)字電壓表的設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、.湖南科技學(xué)院課程設(shè)計(jì)任務(wù)書課題名稱數(shù)字電壓表設(shè)計(jì)系別電子工程系專業(yè)電子科學(xué)與技術(shù)班級(jí)電科1001班學(xué)號(hào)201006003118姓名安啟祥指導(dǎo)老師梁曉琳2012年12月9日...基于FPGA數(shù)字電壓表的設(shè)計(jì)一、前言EDA是電子設(shè)計(jì)自動(dòng)化(ElectronicDesignAutomation)的縮寫,在20世紀(jì)60年代中期從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測(cè)試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來(lái)的。EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬
2、件描述語(yǔ)言VHDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。本電壓表的電路設(shè)計(jì)正是用VHDL語(yǔ)言完成的。此次設(shè)計(jì)采用的是Altera公司的QuartusII7.0軟件。本次設(shè)計(jì)的參考電壓為2.5V,精度為0.01V。此電壓表的設(shè)計(jì)特點(diǎn)為通過(guò)軟件編程下載到硬件實(shí)現(xiàn),設(shè)計(jì)周期短,開發(fā)效率高。二、設(shè)計(jì)要求設(shè)計(jì)一個(gè)數(shù)字電壓表,利用8位A/D轉(zhuǎn)換器,將連續(xù)的模擬電信號(hào)轉(zhuǎn)換成離散的數(shù)字電信號(hào),并加以顯示,要
3、求其量程為0-2.5V,分辨率約為0.01V,三位數(shù)碼管顯示。其中一位為整數(shù),兩位為小數(shù)能正確顯示小數(shù)點(diǎn)。...三、整體設(shè)計(jì)1.數(shù)字電壓表的基本原理數(shù)字電壓表整體設(shè)計(jì)框圖,如下圖所示,數(shù)字電壓表系統(tǒng)由A/D(TLC549)轉(zhuǎn)換模塊、FPGA控制模塊、數(shù)碼顯示模塊三部分構(gòu)成。FPGA控制模塊控制外部A/D轉(zhuǎn)換器自動(dòng)采樣模擬信號(hào),通過(guò)A/D芯片轉(zhuǎn)換為數(shù)字信號(hào),再由FPGA控制模塊控制數(shù)碼管動(dòng)態(tài)掃描向外部數(shù)碼管顯示電路輸出數(shù)據(jù)。數(shù)碼顯示TLC549FPGA控制控制A/D轉(zhuǎn)換器負(fù)責(zé)采集模擬電壓,轉(zhuǎn)換成8位數(shù)
4、字信號(hào)送入FPGA轉(zhuǎn)換控制模塊,F(xiàn)PGA轉(zhuǎn)換控制模塊負(fù)責(zé)A/D轉(zhuǎn)換的啟動(dòng)、地址鎖存、輸入通道選擇、數(shù)據(jù)讀取、轉(zhuǎn)換等工作,數(shù)碼顯示模塊負(fù)責(zé)顯示當(dāng)前的電壓值。2.A/D(TLC549)轉(zhuǎn)換模塊TLC549是TI公司生產(chǎn)的一種低價(jià)位、高性能的8位A/D轉(zhuǎn)換器,它以8位開關(guān)電容逐次逼近的方法實(shí)現(xiàn)A/D轉(zhuǎn)換,其轉(zhuǎn)換速度小于...17us,最大轉(zhuǎn)換速率為40000HZ,4MHZ典型內(nèi)部系統(tǒng)時(shí)鐘,電源為3V至6V。它能方便地采用三線串行接口方式與各種微處理器連接,構(gòu)成各種廉價(jià)的測(cè)控應(yīng)用系統(tǒng)。TLC549各引腳功能
5、REF+:正基準(zhǔn)電壓輸入2.5V≤REF+≤Vcc+0.1。REF-:負(fù)基準(zhǔn)電壓輸入端,-0.1V≤REF-≤2.5V。且要求:(REF+)-(REF-)≥1V。VCC:系統(tǒng)電源3V≤Vcc≤6V?! ND:接地端?! ?CS:芯片選擇輸入端,要求輸入高電平VIN≥2V,輸入低電平VIN≤0.8V。 DATAOUT:轉(zhuǎn)換結(jié)果數(shù)據(jù)串行輸出端,與TTL電平兼容,輸出時(shí)高位在前,低位在后?! NALOGIN:模擬信號(hào)輸入端,0≤ANALOGIN≤Vcc,當(dāng)ANALOGIN≥REF+電壓時(shí),轉(zhuǎn)換結(jié)果為
6、全“1”(0FFH),ANALOGIN≤REF-電壓時(shí),轉(zhuǎn)換結(jié)果為全“0”(00H)。 I/OCLOCK:外接輸入/輸出時(shí)鐘輸入端,同于同步芯片的輸入輸出操作,無(wú)需與芯片內(nèi)部系統(tǒng)時(shí)鐘同步。四、模塊設(shè)計(jì)1、部分設(shè)計(jì)程序TLC549模塊:...moduleTLC549(clk,reset,sdata,cs,dataout,clk_ad);inputclk;inputreset,sdata;output[7:0]dataout;outputclk_ad,cs;reg[7:0]dataout,dataou
7、t_r;regcs;regclk_ad_r,clk_r;reg[7:0]count;reg[2:0]temp;reg[3:0]cnt;regmark;regflag;parameter[2:0]s0=0,s1=1,s2=2;reg[2:0]c_st;//內(nèi)部邏輯功能描述always@(posedgeclk)//分頻電路beginif(count<119)count<=count+1;elsebegincount<=0;clk_r<=~clk_r;endendalways@(posedgeclk)//
8、時(shí)鐘信號(hào)beginclk_ad_r<=~clk_r;endalways@(posedgeclk_rornegedgereset)//狀態(tài)機(jī)beginif(!reset)c_st<=s0;elsecase(c_st)s0:begincs<=1;mark<=0;if(temp==3)begintemp<=0;c_st<=s1;endelsebegintemp<=temp+1;c_st<=s0;endends1:begincs<=0;mark<=1;c_st<=s2;end