




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
(優(yōu)選)基于的數(shù)字電壓表設(shè)計當(dāng)前第1頁\共有23頁\編于星期日\21點實驗設(shè)計思路數(shù)字電壓表設(shè)計核心:FPGA設(shè)計,F(xiàn)PGA負責(zé)ADC0809的啟動以及轉(zhuǎn)換數(shù)據(jù)的讀取,再將讀取的8位二進制數(shù)據(jù)進行變換,形成便于輸出的3位LED段碼送給LED數(shù)碼管,顯示被測電壓值。FPGA的設(shè)計主要包括幾個部分:
ADC0809轉(zhuǎn)換控制模塊實現(xiàn)ADC0809的啟動以及轉(zhuǎn)換數(shù)據(jù)的讀??;數(shù)據(jù)處理模塊實現(xiàn)ADC08094位數(shù)字量對應(yīng)BCD碼的變換和處理;顯示控制模塊實現(xiàn)LED段碼譯碼輸出。當(dāng)前第2頁\共有23頁\編于星期日\21點ADC0809與FPGA接口電路
ADC0809是CMOS的8位A/D轉(zhuǎn)換器,片內(nèi)有8路模擬開關(guān),可控制8個模擬量中的一個進入轉(zhuǎn)換器中。ADC0809的精度是8位,轉(zhuǎn)換時間約為100μs,含鎖存控制的8路開關(guān),輸出有三態(tài)緩沖控制,單5V電源供電。
當(dāng)前第3頁\共有23頁\編于星期日\21點FPGA與ADC0809接口電路原理圖
當(dāng)前第4頁\共有23頁\編于星期日\21點ADC0809與FPGA接口電路設(shè)計IO_B13、B4、B12、B7、B14、B15、B16、B17接收ADC08098位數(shù)數(shù)據(jù);IO_B10接收ADC0809轉(zhuǎn)換結(jié)束信號EOC;IO_B21、B20、B19為ADC0809提供8路模擬信號開關(guān)的3位地址選通信號(ADD-A~C);IO_B18為ADC0809提供地址鎖存控制信號ALE:高電平時把三個地址信號送入地址鎖存器,并經(jīng)譯碼器得到地址輸出,以選擇相應(yīng)的模擬輸入通道;接下頁當(dāng)前第5頁\共有23頁\編于星期日\21點IO_B6為ADC0809提供輸出允許控制信號ENABLE:電平由低變高時,打開輸出鎖存器,將轉(zhuǎn)換結(jié)果的數(shù)字量送到數(shù)據(jù)總線上;IO_B11為ADC0809提供啟動控制信號START:一個正脈沖過后A/D開始轉(zhuǎn)換;IO_B5為ADC0809提供時鐘信號信號CLOCK;IN0~IN7:8路模擬信號輸入端口;Vref+和Vref-:參考電壓輸入端口;當(dāng)前第6頁\共有23頁\編于星期日\21點ADC0809VHDL采樣控制程序設(shè)計當(dāng)前第7頁\共有23頁\編于星期日\21點ADC0809的工作時序圖
當(dāng)前第8頁\共有23頁\編于星期日\21點START是轉(zhuǎn)換啟動信號,一個正脈沖過后A/D開始轉(zhuǎn)換;ALE是3位通道選擇地址(ADDC、ADDB、ADDA)信號鎖存信號。當(dāng)模擬量送至某一輸入端(如IN-0或IN-1)等,由3位地址信號選擇,而地址信號由ALE鎖存。EOC是轉(zhuǎn)換情況狀態(tài)信號,當(dāng)啟動轉(zhuǎn)換約100μs后,EOC產(chǎn)生一個負脈沖,以示轉(zhuǎn)換結(jié)束。在EOC的上升沿后,且輸出使能信號ENABLE為高電平,則控制打開三態(tài)緩沖器,把轉(zhuǎn)換好的8位數(shù)據(jù)送至數(shù)據(jù)總線。至此ADC0809的一次轉(zhuǎn)換結(jié)束
當(dāng)前第9頁\共有23頁\編于星期日\21點ADC0809采樣控制狀態(tài)圖
FPGA器件可以根據(jù)其采樣時序用狀態(tài)機來描述采樣控制過程,其狀態(tài)轉(zhuǎn)換關(guān)系如左圖所示。當(dāng)前第10頁\共有23頁\編于星期日\21點ADC0809VHDL采樣控制程序
當(dāng)前第11頁\共有23頁\編于星期日\21點ADC0809采樣控制程序電路符號
當(dāng)前第12頁\共有23頁\編于星期日\21點程序的端口信號與中間信號entityADC0809isport(d:instd_logic_vector(7downto0);--ADC0809輸出的采樣數(shù)據(jù)
clk,eoc:instd_logic;--clk為系統(tǒng)時鐘,eoc為ADC0809轉(zhuǎn)換結(jié)束信號clk1,start,ale,en:outstd_logic;--ADC0809控制信號
abc_in:instd_logic_vector(2downto0);--模擬選通信號abc_out:outstd_logic_vector(2downto0);--ADC0809模擬信號選通信號
q:outstd_logic_vector(7downto0));--送至8個并排數(shù)碼管信號endADC0809;architecturebehavofADC0809istypestatesis(st0,st1,st2,st3,st4,st5,st6);--定義各狀態(tài)的子類型signalcurrent_state,next_state:states:=st0;signalregl:std_logic_vector(7downto0);--中間數(shù)據(jù)寄存信號signalqq:std_logic_vector(7downto0);begin當(dāng)前第13頁\共有23頁\編于星期日\21點狀態(tài)轉(zhuǎn)換模塊(com)casecurrent_stateiswhenst0=>next_state<=st1;ale<='0';start<='0';en<='0';whenst1=>next_state<=st2;ale<='1';start<='0';en<='0';whenst2=>next_state<=st3;ale<='0';start<='1';en<='0';whenst3=>ale<='0';start<='0';en<='0';ifeoc='1'thennext_state<=st3;--檢測EOC的下降沿
elsenext_state<=st4;endif;whenst4=>ale<='0';start<='0';en<='0';ifeoc='0'thennext_state<=st4;--檢測EOC的上升沿
elsenext_state<=st5;endif;whenst5=>next_state<=st6;ale<='0';start<='0';en<='1';whenst6=>next_state<=st0;ale<='0';start<='0';en<='1';regl<=d;whenothers=>next_state<=st0;ale<='0';start<='0';en<='0';endcase;當(dāng)前第14頁\共有23頁\編于星期日\21點分頻模塊(clock)clock:process(clk)--對系統(tǒng)時鐘進行分頻,得到ADC0809轉(zhuǎn)換工作時鐘beginifclk'eventandclk='1'thenqq<=qq+1;--在clk1的上升沿,轉(zhuǎn)換至下一狀態(tài)ifQQ="01111111"THENclk1<='1';current_state<=next_state;elsifqq<="01111111"thenclk1<='0'; endif;endif;endprocess;q<=regl;abc_out<=abc_in;endbehav;當(dāng)前第15頁\共有23頁\編于星期日\21點
顯示模塊
當(dāng)前第16頁\共有23頁\編于星期日\21點顯示模塊libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityvalconvisport( q:instd_logic_vector(7downto0);--ad a:outstd_logic_vector(6downto0);--小數(shù)點后第2位 b:outstd_logic_vector(6downto0);--小數(shù)點后第1位 c:outstd_logic_vector(6downto0));--個位
endvalconv;當(dāng)前第17頁\共有23頁\編于星期日\21點顯示模塊architecturebhvofvalconvis signalvar1,var2,var3:integer;--分別對應(yīng)將二進制數(shù)據(jù)轉(zhuǎn)化為十進制beginprocess(q)--數(shù)據(jù)讀出時轉(zhuǎn)化成十進制并顯示beginvar1<=50*CONV_INTEGER(q)/2550;--計算個位var2<=50*CONV_INTEGER(q)/255rem10;--計算小數(shù)點后第一位var3<=500*CONV_INTEGER(q)/255rem10;--計算小數(shù)點后第二位當(dāng)前第18頁\共有23頁\編于星期日\21點顯示模塊casevar1is--對個位譯碼
when0=>c<="1000000";--0 when1=>c<="1111001";--1 when2=>c<="0100100";--2 when3=>c<="0110000";--3 when4=>c<="0011001";--4 when5=>c<="0010010";--5 when6=>c<="0000010";--6 when7=>c<="1111000";--7 when8=>c<="0000000";--8 when9=>c<="0010000";--9 whenothers=>c<="1111111";endcase;當(dāng)前第19頁\共有23頁\編于星期日\21點顯示模塊casevar2is--對小數(shù)點后第一位譯碼
when0=>b<="1000000"; when1=>b<="1111001"; when2=>b<="0100100"; --2 when3=>b<="0110000"; --3 when4=>b<="0011001"; --4 when5=>b<="0010010"; --5 when6=>b<="0000010"; --6 when7=>b<="1111000"; --7 when8=>b<="0000000"; --8 when9=>b<="0010000"; --9 whenothers=>b<="1111111";endcase;當(dāng)前第20頁\共有23頁\編于星期日\21點顯示模塊casevar3is--對小數(shù)點后第二位譯碼
when0=>a<="1000000"; when1=>a<="1111001"; when2=>a<="0100100"; --2 when3=>a<="0110000"; --3 when4=>a<="0011001"; --4 when5=>a<="0010010"; --5 when6=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第四單元(知識清單)-七年級語文下冊同步備課系列(部編版)
- 2025年全球總承包合同標(biāo)準(zhǔn)版模板
- 初三寫事作文500字11篇范文
- 《2025如何解除勞動合同范文》
- 線上培訓(xùn)課程銷售協(xié)議
- 建筑工程協(xié)議種類
- 以某名人為例的案例分析題
- 難忘的友誼故事創(chuàng)作5篇
- 旅游酒店客房預(yù)訂系統(tǒng)開發(fā)協(xié)議
- 網(wǎng)絡(luò)安全法律法規(guī)知識題庫
- 《污水處理過程》課件
- 江蘇省2024-2025年跨地區(qū)職業(yè)學(xué)校職教高考一輪聯(lián)考(機械專業(yè)綜合理論試卷含答案)
- 合伙購買無人機設(shè)備協(xié)議書
- 重慶2020-2024年中考英語5年真題回-教師版-專題04 完成句子
- 腫瘤患者心理護理與社會支持課件
- 《平衡計分卡在煙草公司績效管理中的應(yīng)用研究》
- TACE(肝動脈化療栓塞術(shù))
- 湘教版地理八年級下冊 期末綜合測試卷(二)(含答案)
- 天津市2021年中考歷史真題試卷(含答案)
- 2型糖尿病中醫(yī)防治指南2024
- 藥企微生物培訓(xùn)
評論
0/150
提交評論