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