




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編號(hào): EDA 設(shè)計(jì)與制作 實(shí)訓(xùn) (論文)說(shuō)明書(shū)題 目: 數(shù)字電壓表 院 (系): 信息與通信學(xué)院 專(zhuān) 業(yè): 電子信息工程 2013 年 1 月 10 日桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙第 1 頁(yè) 共 2 頁(yè)摘 要電子設(shè)計(jì)自動(dòng)化(electronic design automation,EDA)是近幾年迅速發(fā)展起來(lái)的將計(jì)算機(jī)軟件、硬件、微電子技術(shù)交叉運(yùn)用的現(xiàn)代電子設(shè)計(jì)技術(shù)。其中 EDA 設(shè)計(jì)語(yǔ)言中的 VHDL 語(yǔ)言是一種快速的電路設(shè)計(jì)工具,功能涵蓋了電路描述、電路綜合、電路仿真等三大電路設(shè)計(jì)內(nèi)容。本電壓表的電路設(shè)計(jì)正是用 VHDL 語(yǔ)言完成的。此次設(shè)計(jì)主要應(yīng)用的軟件是美國(guó) ALTERA 公
2、司自行設(shè)計(jì)的一種 EDA 軟件工具,即 Quartus 。本次所設(shè)計(jì)的電壓表的測(cè)量范圍是 05V,精度為 0.001V。此電壓表的設(shè)計(jì)特點(diǎn)為:通過(guò)軟件編程下載到硬件實(shí)現(xiàn),設(shè)計(jì)周期短,開(kāi)發(fā)效率高。關(guān)鍵詞:電子設(shè)計(jì)自動(dòng)化(EDA)、FPGA、VHDL、A/D 采集、數(shù)字電壓表桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙第 2 頁(yè) 共 2 頁(yè)AbstractThe design of digital system is becoming faster, bulkier ,smaller and lighter than before. Electronic design automation is in t
3、he last few years quickly develop, it makes use of software , hardware ,micro-electronics technology to form a course of electronic design. Among them , the VHDL language of EDA is a kind of tool of fast circuit design , the function covered the circuit describe , the circuit synthesize , the circui
4、t imitate the true etc . The circuit of the design that use VHDL language to complete . The this time design is primarily the applied software is Quartus which is made by the United States ALTERA company.This systems range is -5v to +5v and precision is 0.001v.Characteristics of this electric voltag
5、e watch is :Pass the software program to download the hardware o realize , design the period is short ,development the efficiency is high. Key words: Electronic Design Automation (EDA)、FPGA、VHDL、A/D Acquisition digital voltage桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙第 1 頁(yè) 共 1 頁(yè)目 錄引言.11 實(shí)訓(xùn)任務(wù)及要求.11.1 實(shí)訓(xùn)內(nèi)容.11.2 實(shí)訓(xùn)基本要求.12 電路設(shè)
6、計(jì)原理以及各功能模塊.22.1 AD 轉(zhuǎn)換模塊.22.1.1 AD0809.22.2.2 對(duì) ADC0809 控制的 FPGA 編程.42.2 數(shù)據(jù)處理模塊.72.3 顯示譯碼.92.3.1 顯示.92.3.1 譯碼.113 頂層文件.125 總結(jié).14謝 辭.15參考文獻(xiàn).16桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙第 2 頁(yè) 共 1 頁(yè)桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙 第 1 頁(yè) 共 16 頁(yè)引言引言數(shù)字電壓表(Digital Voltmeter)簡(jiǎn)稱(chēng) DVM,是大學(xué)物理教學(xué)和實(shí)驗(yàn)中的重要儀表,其數(shù)字化是指將連續(xù)的模擬電壓量轉(zhuǎn)換成不連續(xù)、離散的數(shù)字量并加以顯示。傳統(tǒng)的實(shí)驗(yàn)用模擬電壓表功能單
7、一、精度低、體積大,且存在讀數(shù)時(shí)的視差,長(zhǎng)時(shí)間連續(xù)使用易引起視覺(jué)疲勞,使用中存在諸多不便。而目前數(shù)字萬(wàn)用表的內(nèi)部核心多是模數(shù)轉(zhuǎn)換器,其精度很大程度上限制了整個(gè)表的準(zhǔn)確度,可靠性較差。傳統(tǒng)的數(shù)字電壓表設(shè)汁通常以大規(guī)模 ASIC(專(zhuān)用集成電路)為核心器件,并輔以少量中規(guī)模集成電路及顯示器件構(gòu)成。ASIC 完成從模擬量的輸入到數(shù)字量的輸出,是數(shù)字電壓表的心臟。這種電壓表的設(shè)計(jì)簡(jiǎn)單、精確度高,但是這種設(shè)計(jì)方法由于采用了ASIC 器件使得它欠缺靈活性,其系統(tǒng)功能固定,難以更新擴(kuò)展。后來(lái)發(fā)展起來(lái)的用微處理器(單片機(jī))控制通用 A/D 轉(zhuǎn)換器件的數(shù)字電壓表的設(shè)計(jì)的靈活性明顯提高,系統(tǒng)功能的擴(kuò)展變得簡(jiǎn)單,但是
8、由于微處理器的引腳數(shù)量有限,其控制轉(zhuǎn)換速度和靈活性還是不能滿足日益發(fā)展的電子工業(yè)的需求。而應(yīng)用 EDA(電子設(shè)汁自動(dòng)化)技術(shù)及FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列),其集成度高、速度快、性能十分可靠、用戶(hù)可自由編程且編程語(yǔ)言通俗易懂、系統(tǒng)功能擴(kuò)展非常方便。采用 FPGA 芯片控制通用 A/D 轉(zhuǎn)換器可使速度、靈活性大大優(yōu)于由微處理器和通用 A/D 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表。本文采用 8 位 AD 轉(zhuǎn)換器 ADC0809 對(duì)模擬電壓采樣,以一片高性能 FPGA 芯片為控制核心,以軟件實(shí)現(xiàn)了諸多硬件功能,對(duì)電壓信號(hào)的轉(zhuǎn)換結(jié)果進(jìn)行準(zhǔn)確實(shí)時(shí)的運(yùn)算處理并送出顯示。系統(tǒng)的主要功能都集成在一塊芯片上,大大減少了系統(tǒng)的分
9、立元件數(shù)量,降低了功耗,增加了可靠性,較好地實(shí)現(xiàn)了電壓的精準(zhǔn)測(cè)量。1 實(shí)訓(xùn)任務(wù)及要求1.1 實(shí)訓(xùn)內(nèi)容用 EDA 實(shí)訓(xùn)儀的 I/O 設(shè)備和 PLD 芯片實(shí)現(xiàn)數(shù)字電壓表的設(shè)計(jì),用 4 只八段數(shù)碼管顯示被測(cè)電壓的結(jié)果。1.2 實(shí)訓(xùn)基本要求1. 測(cè)量范圍為 0V5V,測(cè)量精度為 0.001V。2. 可以用 EDA 實(shí)訓(xùn)儀上的 A/D 輸入端口直接測(cè)量直流電壓。3. 測(cè)試儀應(yīng)具有安全性和可靠性。桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙 第 2 頁(yè) 共 16 頁(yè)2 電路設(shè)計(jì)原理以及各功能模塊數(shù)字電壓表,它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(直流或交流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。由
10、于數(shù)字式儀器具有讀數(shù)準(zhǔn)確方便、精度高、誤差小、靈敏度高和分辨率高、測(cè)量速度快等特點(diǎn)而倍受青睞。通常按A/D 轉(zhuǎn)換方式的不同將 DVM 分成兩大類(lèi),一類(lèi)是直接轉(zhuǎn)換型;另一類(lèi)是間接轉(zhuǎn)換型,又稱(chēng)積分型,包括電壓一頻率變換。而由前面分析可知本課題的核心電路路由 FPGA完成,用 VHDL 語(yǔ)言對(duì)它進(jìn)行設(shè)計(jì),本設(shè)計(jì)是由三大模塊組成, (1)AD 轉(zhuǎn)換模塊,主要負(fù)責(zé)將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),以便送 FPGA 處理;(2)FPGA 模塊,即數(shù)字處理模塊。激活 A/D 轉(zhuǎn)換器動(dòng)作、接收 A/D 轉(zhuǎn)換器傳遞過(guò)來(lái)的數(shù)字轉(zhuǎn)換值,將接收到的轉(zhuǎn)換值調(diào)整成對(duì)應(yīng)的數(shù)字信號(hào);(3)顯示模塊,將數(shù)據(jù)處理模塊輸出的 4 位 BC
11、D 碼譯成相應(yīng) 7 段數(shù)碼驅(qū)功值,使模擬電壓值在 4 個(gè)數(shù)碼管上顯示。工作時(shí),系統(tǒng)按一定的速率采集輸入的模擬電壓,經(jīng) ADC0809 轉(zhuǎn)換為 8 位數(shù)字量,此 8 位數(shù)字量經(jīng) FPGA 處理得到模擬電壓的數(shù)字碼,再輸入數(shù)碼管獲得被測(cè)電壓的數(shù)字顯示。此電壓表的測(cè)量范圍:05V,四位數(shù)碼管顯示。整個(gè)數(shù)字電壓表的結(jié)構(gòu)如圖 1 所示。圖 1 數(shù)字電壓表電路設(shè)計(jì)原理框圖2.1 AD 轉(zhuǎn)換模塊2.1.1 AD0809本次設(shè)計(jì)主要使用的元件是 ADC0809 模數(shù)轉(zhuǎn)換器件。ADC0809 是 CMOS 的 8 位 A/D 轉(zhuǎn)換器,片內(nèi)有 8 路模擬開(kāi)關(guān),可控制 8 個(gè)模擬桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙
12、 第 3 頁(yè) 共 16 頁(yè)量中的一個(gè)進(jìn)入轉(zhuǎn)換器中。ADC0809 的分辨率為 8 位,轉(zhuǎn)換時(shí)間約 1OOus,含鎖存控制的 8 路多路開(kāi)關(guān),輸出有三態(tài)緩沖器控制,單 5V 電源供電。圖 2 所示為 AD0809 的內(nèi)部結(jié)構(gòu)框圖。圖 2 AD0809 的內(nèi)部結(jié)構(gòu)框圖各引腳功能如下:1IN7IN0模擬量輸入通道。ADC0809 對(duì)輸入模擬量的要求主要有:信號(hào)單極性,電壓范圍 05V,若信號(hào)過(guò)小,還需進(jìn)行放大。另外,模擬量輸入在 A/D 轉(zhuǎn)換的過(guò)程中,其值應(yīng)保持不變,因此,對(duì)變化速度快的模擬輸入量,在輸入前應(yīng)增加采樣保持電路。2A、B、C地址線。A 為低位地址,C 為高位地址,用于對(duì) 8 路模擬通道
13、進(jìn)行選擇,引腳圖中相應(yīng)為 ADDA、ADDB 和 ADDC。其地址狀態(tài)與通道的對(duì)應(yīng)關(guān)系見(jiàn)表 1-1。3ALE地址鎖存允許信號(hào)。由低至高電平的正跳變將通道地址鎖存至地址鎖存器中。4START啟動(dòng)轉(zhuǎn)換信號(hào)。START 上跳沿時(shí),所有內(nèi)部寄存器清 0;START 下跳沿時(shí),開(kāi)始進(jìn)行 A/D 轉(zhuǎn)換。在 A/D 轉(zhuǎn)換期間,START 應(yīng)保持低電平。5D7D0數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式,可以和單片機(jī)的數(shù)據(jù)線直接相連。6OE輸出允許信號(hào)。用于控制三態(tài)輸出鎖存器向單片機(jī)上輸出轉(zhuǎn)換得到的數(shù)桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙 第 4 頁(yè) 共 16 頁(yè)據(jù)。OE=0,輸出數(shù)據(jù)線呈高電阻態(tài);OE=1,輸出轉(zhuǎn)換得到
14、的數(shù)據(jù)。7CLOCK時(shí)鐘信號(hào)。ADC0809 內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)由外界提供,要求頻率范圍 10kHz1.2MHz。通常使用頻率為 500 kHz 的時(shí)鐘信號(hào)。8EOC轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)。EOC0,正在進(jìn)行轉(zhuǎn)換;EOC=1,轉(zhuǎn)換結(jié)束。該狀態(tài)信號(hào)既可作為查詢(xún)的狀態(tài)標(biāo)志,又可以作為中斷請(qǐng)求信號(hào)使用。9VCC+5V 電源。10REF(+)、REF(-)參考電壓。參考電壓用來(lái)與輸入的模擬信號(hào)進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為 REF(+)=+5V,REF(-)=0V。ADC0809 的工作時(shí)序如圖 3 所示。圖 3 AD0809 作時(shí)序圖首先輸入 3 位地址,并使 ALE=1,將地址存入
15、地址鎖存器中。此地址經(jīng)譯碼選通 8路模擬輸入之一到比較器。START 上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng) AD 轉(zhuǎn)換,之后 EOC 輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。直到 AD 轉(zhuǎn)換完成,EOC 變?yōu)楦唠娖?,指?AD 轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請(qǐng)。當(dāng) OE輸入高電平 時(shí),輸出三態(tài)門(mén)打開(kāi),轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。2.2.2 對(duì) ADC0809 控制的 FPGA 編程AD 轉(zhuǎn)換功能模塊是進(jìn)行時(shí)序控制,控制AD 轉(zhuǎn)換器件對(duì)模擬信號(hào)采樣,轉(zhuǎn)換為數(shù)字信號(hào)。對(duì)其的編程主要利用狀態(tài)機(jī)原理來(lái)實(shí)現(xiàn)。如圖 4 所示為 AD 控制模塊狀態(tài)轉(zhuǎn)換關(guān)系。在上電瞬間, AD 轉(zhuǎn)換控制
16、模塊處于st0 的狀態(tài);進(jìn)入 st1 狀態(tài)后,選擇模擬信號(hào)的輸入通道,啟動(dòng)采樣;在st2 狀桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙 第 5 頁(yè) 共 16 頁(yè)態(tài)中進(jìn)行 AD 轉(zhuǎn)換,當(dāng) eoc=1 時(shí)進(jìn)入 st3 狀態(tài);st3 狀態(tài)表示轉(zhuǎn)換完成,允許轉(zhuǎn)換好的數(shù)據(jù)輸出;進(jìn)入 st4 狀態(tài),如果 lock 出現(xiàn)上升沿,則轉(zhuǎn)好的數(shù)據(jù)送入鎖存器 。編程如下:LIBRARY ieee; -A/D0809use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity ad is por
17、t(clk,eoc:in std_logic; -控制端口d:in std_logic_vector(7 downto 0);oe,sta,ale,adda:out std_logic;q:out std_logic_vector(7 downto 0);end ad; 圖 4 ADC0809 的控制狀態(tài)機(jī)architecture a of ad istype states is(st0,st1,st2,st3,st4,st5,st6); -7 個(gè)狀態(tài)signal c_state,n_state:states :=st0;signal regl:std_logic_vector(7 downt
18、o 0);signal lock:std_logic;begin addaale=0;sta=0;oe=0;lock=0;n_stateale=1;sta=0;oe=0;lock=0;n_stateale=0;sta=1;oe=0;lock=0;n_stateale=0;sta=0;oe=0;lock=0;if(eoc=1) then n_state=st4;else n_stateale=0;sta=0;oe=1;lock=0;n_stateale=0;sta=0;oe=0;lock=1;n_stateale=0;sta=0;oe=0;lock=1;n_staten_state=st0;en
19、d case;end process com;reg:process(clk) beginif(clkevent and clk=1) thenc_state=n_state;end if;end process reg;lo:process(lock) -鎖存begin if(lockevent and lock=1) then regl=d;end if;end process lo;q=regl; end a;仿真如圖 5 所示。桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙 第 7 頁(yè) 共 16 頁(yè)圖 5 AD0809 的控制仿真圖2.2 數(shù)據(jù)處理模塊ADC0809 是 8 位模數(shù)轉(zhuǎn)換器,它的輸
20、出狀態(tài)共有 256 種,如果輸入信號(hào) Ui 為05V 電壓范圍,則每?jī)蓚€(gè)狀態(tài)值為 5/(256-1),約為 0.0196V,故測(cè)量分辨率為0.02V。本設(shè)計(jì)用查表命令來(lái)得到正確的電壓值。在讀取到 ADC0809 的轉(zhuǎn)換數(shù)據(jù)后,先用查表指令算出高、低 4 位的兩個(gè)電壓值,并分別用 16 位 BCD 碼表示;接著設(shè)計(jì) 16位的 BCD 碼加法,如果每 4 位相加結(jié)果超過(guò) 9 需進(jìn)行減 10 進(jìn) 1。這樣得到模擬電壓的BCD 碼。編程如下:LIBRARY ieee; -A/D0809use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;us
21、e ieee.std_logic_unsigned.all;entity BCD is port(datain:in std_logic_vector(7 downto 0);q1,q2,q3,q4:out std_logic_vector(3 downto 0);end BCD;architecture behave of BCD issignal date0,date1:std_logic_vector(15 downto 0);signal sum1,sum2,sum3,sum4:std_logic_vector(4 downto 0);signal c1,c2,c3:std_logic
22、_vector(4 downto 0);begindate1=0000000000000000 when datain(7 downto 4)=0000 else 0000001100010011 when datain(7 downto 4)=0001 else 0000011000100101 when datain(7 downto 4)=0010 else 0000100100111000 when datain(7 downto 4)=0011 else 0001001001010000 when datain(7 downto 4)=0100 else 00010101011000
23、11 when datain(7 downto 4)=0101 else 0001100001110101 when datain(7 downto 4)=0110 else 0010000110001000 when datain(7 downto 4)=0111 else 0010010100000000 when datain(7 downto 4)=1000 else 0010100000010011 when datain(7 downto 4)=1001 else 0011000100100101 when datain(7 downto 4)=1010 else 00110100
24、00111000 when datain(7 downto 4)=1011 else桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙 第 8 頁(yè) 共 16 頁(yè) 0011011101010000 when datain(7 downto 4)=1100 else 0100000001100011 when datain(7 downto 4)=1101 else 0100001101110101 when datain(7 downto 4)=1110 else 0100011010001000 when datain(7 downto 4)=1111 else 0000000000000000;date0
25、=0000000000000000 when datain(3 downto 0)=0000 else 0000000000100000 when datain(3 downto 0)=0001 else 0000000000111001 when datain(3 downto 0)=0010 else 0000000001011001 when datain(3 downto 0)=0011 else 0000000001111000 when datain(3 downto 0)=0100 else 0000000010011000 when datain(3 downto 0)=010
26、1 else 0000000100010111 when datain(3 downto 0)=0110 else 0000000100110111 when datain(3 downto 0)=0111 else 0000000101010110 when datain(3 downto 0)=1000 else 0000000101110110 when datain(3 downto 0)=1001 else 0000000110010101 when datain(3 downto 0)=1010 else 0000001000010101 when datain(3 downto
27、0)=1011 else 0000001000110100 when datain(3 downto 0)=1100 else 0000001001010100 when datain(3 downto 0)=1101 else 0000001001110011 when datain(3 downto 0)=1110 else 0000001010011011 when datain(3 downto 0)=1111 else 0000000000000000;sum1=(0 & date1(3 downto 0)+(0 & date0(3 downto 0);c1=0000
28、0 when sum101010 else 00001;sum2=(0 & date1(7 downto 4)+(0 & date0(7 downto 4)+c1;c2=00000 when sum201010 else 00001;sum3=(0 & date1(11 downto 8)+(0 & date0(11 downto 8)+c2;c3=00000 when sum301010 else 00001;sum4=(0 & date1(15 downto 12)+(0 & date0(15 downto 12)+c3;q1=sum1(3
29、downto 0) when sum101010 else sum1(3 downto 0)+0110; q2=sum2(3 downto 0) when sum201010 else 桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙 第 9 頁(yè) 共 16 頁(yè) sum2(3 downto 0)+0110; q3=sum3(3 downto 0) when sum301010 else sum3(3 downto 0)+0110; q4=sum4(3 downto 0) when sum401010 else sum4(3 downto 0)+0110; end behave; 以上程序主要功能為接收來(lái)自
30、AD 轉(zhuǎn)換的 8 位數(shù)據(jù)信號(hào) datain7.0,將這 8 位數(shù)據(jù)分為高 4 位和低 4 位,利用查表法分別給出高 4 位對(duì)應(yīng)電壓值和低 4 位對(duì)應(yīng)電壓值,這些電壓值用 2 個(gè) 16 位 BCD 碼來(lái)表,作 BCD 碼加法得到 16 位 BCD 碼表示的電壓值,這組數(shù)據(jù)以 4 組 4 位的 BCD 碼形式送給下一個(gè)模塊以顯示。仿真如下:圖 6 數(shù)據(jù)處理模塊的功能仿真2.3 顯示譯碼本模塊主要是把來(lái)自數(shù)據(jù)轉(zhuǎn)換模塊的 BCD 碼轉(zhuǎn)換成能被數(shù)碼管識(shí)別的字型編碼,并以十進(jìn)制的形式用 4 位數(shù)碼管顯示出來(lái),精度為 0.001V,所示第一位要考慮到小數(shù)點(diǎn)的點(diǎn)亮(而實(shí)際上,由于實(shí)驗(yàn)板上模式 5 的限有條件,
31、是無(wú)法顯示小數(shù)點(diǎn)的,除非另外搭建電路) 。而數(shù)碼管的顯示是利用動(dòng)態(tài)掃描的方法。所示這個(gè)模塊又可以分為顯示、譯碼兩個(gè)小模塊。2.3.1 顯示程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙 第 10 頁(yè) 共 16 頁(yè)ENTITY segdisp IS PORT(Q1,Q2,Q3,Q4: IN STD_LOGIC_VECTOR(3 DOWNTO 0); CLK : IN STD_LOGIC; dp
32、: out STD_LOGIC; selout : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); segout : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ;end segdisp;architecture behave OF segdisp IS COMPONENT encoder port(din:in std_logic_vector(3 downto 0); sout:out std_logic_vector(6 downto 0); end component; signal sel :std_logic_vector(3 downto
33、 0) := 1000; signal b_din :std_logic_vector(3 downto 0); signal b_sout:std_logic_vector(6 downto 0); begin p1:process(clk) begin if (clkevent and clk = 1) then if (sel = 1000) then sel = 0100; elsif (sel = 0100) then sel = 0010; elsif (sel = 0010) then sel = 0001; elsif (sel = 0001) then sel = 1000;
34、 end if; end if; end process p1; selout b_din=Q4;dp b_din=Q3;dp b_din=Q2;dp b_din=Q1;dp null; end case; end process p2; u0:encoder port MAP(din=b_din,sout=b_sout); segout=b_sout; end behave; 8 位二進(jìn)制數(shù)在數(shù)據(jù)處理模塊中已經(jīng)轉(zhuǎn)成了 16 位的 BCD 碼,所以接收來(lái)自數(shù)據(jù)處理模塊的 4 組 4 位的 BCD 碼分別為 Q1,Q2,Q3,Q4,利用位選信號(hào) selout,分別選通4 個(gè)數(shù)碼管,從左往右,依次
35、點(diǎn)亮,利用動(dòng)態(tài)掃描的方法來(lái)達(dá)到有小數(shù)點(diǎn)顯示的效果。2.3.1 譯碼程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY encoder IS PORT(din:IN STD_LOGIC_VECTOR(3 DOWNTO 0); sout:out STD_LOGIC_VECTOR(6 DOWNTO 0) );end encoder;architecture behave OF encoder IS begin sout=011
36、1111 when din=0000 else 0000110 when din=0001 else 1011011 when din=0010 else 1001111 when din=0011 else 1100110 when din=0100 else 1101101 when din=0101 else 1111101 when din=0110 else 0000111 when din=0111 else 桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙 第 12 頁(yè) 共 16 頁(yè) 1111111 when din=1000 else 1101111 when din=1001 else
37、1110111 when din=1010 else 1111100 when din=1011 else 0111001 when din=1100 else 1011110 when din=1101 else 1111001 when din=1110 else 1110001 when din=1111 else 0000000 ; end behave;以上程序中,將數(shù)據(jù)處理得到的數(shù)據(jù),通過(guò)元件例化語(yǔ)句,將數(shù)據(jù)傳到 din 端口,再轉(zhuǎn)成 7 段數(shù)碼管能識(shí)別的二進(jìn)制數(shù)。與掃描模塊結(jié)合,從而得出數(shù)碼顯示的電路模塊。仿真如圖 6 所示。圖 7 數(shù)碼顯示仿真輸入端口有 clk 作為時(shí)鐘,以及
38、來(lái)自數(shù)據(jù)處理的 q1,q2,q3。輸出則有小數(shù)點(diǎn)dpout、位選 selout 和段選 segout。3 頂層文件將以上的三個(gè)模塊,即 AD 轉(zhuǎn)換模塊、數(shù)字處理模塊、動(dòng)態(tài)掃描顯示模塊,分別轉(zhuǎn)成可以圖形輸入的模塊,方法是,在 Quartus 里,選擇 Filecreate/updatecreate symbol file for current file。即可得到各功能模塊的框圖,最后將它們以圖形輸入的方法連接好,設(shè)置為頂層文件,即可仿真,鎖引腳,進(jìn)行硬件測(cè)試。得到如圖 8 的頂層文件,該頂層是以圖形輸入的方式來(lái)實(shí)現(xiàn)設(shè)計(jì)的要求。最后的仿真如圖 9 所示。在圖中給輸入信號(hào)(即來(lái)自 ADC0809
39、的轉(zhuǎn)換數(shù)據(jù))桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙 第 13 頁(yè) 共 16 頁(yè)VCCclk17INPUTVCCeoc11INPUTVCCclk93INPUTVCC39to50d7.0INPUTdp97OUTPUToe76OUTPUTsta75OUTPUTale74OUTPUTadda73OUTPUT83to96selout3.0OUTPUT98to108segout6.0OUTPUTQ13.0Q23.0Q33.0Q43.0CLKdpselout3.0segout6.0segdispinstdatain7.0q13.0q23.0q33.0q43.0BCDinst1clkeocd7.0oestaal
40、eaddaq7.0adinst2din7.0=“01000110B”,設(shè)置時(shí)鐘信號(hào)和必要的控制信號(hào),經(jīng)過(guò)仿真,輸出位選碼selout2.0為 101、110、111,即八位數(shù)碼管中的高三位,段選碼 segout6.0在輸出時(shí)間上與位選碼一一對(duì)應(yīng),輸出顯示電壓值為 1.370V 滿足查找法電壓設(shè)計(jì)值,能正確顯示數(shù)值字形。整個(gè)設(shè)計(jì)基本符合要求。桂林電子科技大學(xué)實(shí)訓(xùn)(論文)報(bào)告用紙 第 14 頁(yè) 共 16 頁(yè)圖 8 頂層設(shè)計(jì)原理圖圖 9 頂層設(shè)計(jì)的仿真5 總結(jié)時(shí)光荏苒,光陰易逝,轉(zhuǎn)眼間兩周的時(shí)間過(guò)去了。那些和同學(xué)老師一起學(xué)習(xí)的日子仍然記憶猶新,我相信這一定是人生中值得回憶的一件有意義的事?;厥走@兩周,有了不少收獲,為這次實(shí)訓(xùn)畫(huà)了一個(gè)圓滿的句號(hào)。在實(shí)訓(xùn)過(guò)程中,遇到不少困難,也
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 美容美發(fā)店員工入股2025年度全新合作框架合同匯編
- 2025年度高端服裝店品牌代理權(quán)轉(zhuǎn)讓合同范本
- 砌體抹灰勞務(wù)分包合同書(shū)
- 工業(yè)生產(chǎn)過(guò)程質(zhì)量控制要點(diǎn)
- 農(nóng)業(yè)養(yǎng)殖業(yè)智能化養(yǎng)殖管理系統(tǒng)建設(shè)
- 新能源車(chē)充電樁建設(shè)合同
- 汽車(chē)工程車(chē)輛維護(hù)與故障診斷技能考試試題集
- 中學(xué)生物多樣性的感悟
- 城市商業(yè)管理系統(tǒng)升級(jí)服務(wù)協(xié)議
- 給排水安裝工程勞務(wù)合同
- 2025年萍鄉(xiāng)衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)審定版
- 人教版四年級(jí)數(shù)學(xué)下冊(cè)《圖形的運(yùn)動(dòng)(二)》試題(含答案)
- 2024-2025學(xué)年五年級(jí)(下)信息科技教學(xué)計(jì)劃
- 《老年人權(quán)益保障法》
- 2025屆上海市(春秋考)高考英語(yǔ)考綱詞匯對(duì)照表清單
- 2025-2030年中國(guó)pcb行業(yè)競(jìng)爭(zhēng)格局及未來(lái)投資趨勢(shì)分析報(bào)告新版
- 2025年年食堂工作總結(jié)和年工作計(jì)劃例文
- 船舶制造設(shè)施安全生產(chǎn)培訓(xùn)
- 全國(guó)駕駛員考試(科目一)考試題庫(kù)下載1500道題(中英文對(duì)照版本)
- TSG 07-2019電梯安裝修理維護(hù)質(zhì)量保證手冊(cè)程序文件制度文件表單一整套
- 2025深圳勞動(dòng)合同下載
評(píng)論
0/150
提交評(píng)論