版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 數(shù)字電路課程設(shè)計報告</p><p> 課題:基于FPGA的高低位數(shù)字測溫計</p><p><b> 學院:機電工程學院</b></p><p><b> 專業(yè):自動化</b></p><p><b> 班級:</b></p>&l
2、t;p><b> 姓名:</b></p><p><b> 學號:</b></p><p><b> 指導老師:</b></p><p> 2014年10月14日星期二</p><p><b> 一、引言</b></p>&l
3、t;p> 課題確定過程:最初在網(wǎng)上搜過不少課題,如自動售貨機、3層電梯控制器、聲控電子鎖等,但每一個的信號采集模塊的設(shè)計以我現(xiàn)在的水平而言都很復雜,于是在嘗試了一段時間后就放棄了。后來我覺得自己必須先了解點關(guān)于FPGA、EDA、VHDL的一些基礎(chǔ)知識,于是到圖書館借閱了一些相關(guān)書籍,同時想到平時生活里測物體溫度時因為導熱不均勻使得兩端極的溫度有較大的不同,于是就有了做高低位數(shù)字測溫計的想法。</p><p&g
4、t; 系統(tǒng)總體介紹:系統(tǒng)由FPGA器件實現(xiàn)數(shù)字測溫,利用溫度傳感器AD590采集溫度信號,產(chǎn)生的溫度信號經(jīng)調(diào)零、放大處理后,利用A/D轉(zhuǎn)換器ADC0809將模擬信號轉(zhuǎn)換成分高低位的數(shù)字信號,最后將高4位和低4位的數(shù)字信號分別連接到7段共陰極數(shù)碼顯示管上輸出溫度大小(以十六進制的形式)。</p><p><b> 二、硬件描述</b></p><p><b&g
5、t; 2.1系統(tǒng)組成框圖</b></p><p> 2.2測溫模塊(采集電路)</p><p> 溫度傳感器AD590簡介</p><p> AD590是美國ANALOG DEVICES公司的單片集成兩端感溫電流源,AD590適用于150°C以下、目前采用傳統(tǒng)電氣溫度傳感器的任何溫度檢測應用。低成本的單芯片集成電路及無需支持電路的特點,
6、使它成為許多溫度測量應用的一種很有吸引力的備選方案。</p><p><b> 2.3模數(shù)轉(zhuǎn)換模塊</b></p><p> A/D轉(zhuǎn)換器ADC0809簡介</p><p> ADC0809是美國國家半導體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路
7、模擬輸入信號中的一個進行A/D轉(zhuǎn)換。</p><p> 本系統(tǒng)采集到的溫度與數(shù)字輸出量的關(guān)系</p><p> 2.4七段數(shù)碼管顯示模塊(執(zhí)行電路)</p><p> 數(shù)碼管的一種是半導體發(fā)光器件,數(shù)碼管可分為七段數(shù)碼管和八段數(shù)碼管,區(qū)別在于八段數(shù)碼管比七段數(shù)碼管多一個用于顯示小數(shù)點的發(fā)光二極管單元DP(decimal point),其基本單元是發(fā)光二極管。&
8、lt;/p><p><b> 三、軟件仿真</b></p><p><b> 3.1模數(shù)轉(zhuǎn)換模塊</b></p><p> 3.1.1VHDL語言描述</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL
9、;</p><p> ENTITY ADC0809 IS</p><p> PORT(CLK:IN STD_LOGIC;--時鐘信號</p><p> EOC:IN STD_LOGIC;--轉(zhuǎn)換結(jié)束信號</p><p> DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);--采集溫度信號</p>&
10、lt;p> ALE:OUT STD_LOGIC;--地址鎖存允許信號</p><p> START:OUT STD_LOGIC;-- A/D轉(zhuǎn)換啟動脈沖輸入端</p><p> OE:OUT STD_LOGIC;--數(shù)據(jù)輸出允許信號</p><p> LOCK0:OUT STD_LOGIC;--觀察數(shù)據(jù)鎖存信號</p><p>
11、 ADDA:OUT STD_LOGIC;--3條地址輸入線</p><p> ADDB:OUT STD_LOGIC;</p><p> ADDC:OUT STD_LOGIC;</p><p> DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));--輸出8位數(shù)字信號</p><p> END ADC0809
12、;</p><p> ARCHITECTURE BEHAV OF ADC0809 IS</p><p> TYPE STATE IS (S0,S1,S2,S3,S4);</p><p> SIGNAL CURRENT_STATE,NEXT_STATE:STATE:=S0;</p><p> SIGNAL REGL:STD_LOGIC_
13、VECTOR(7 DOWNTO 0);</p><p> SIGNAL LOCK:STD_LOGIC;</p><p><b> BEGIN</b></p><p> ADDA<='0'; --進入通道1</p><p> ADDB<='0';<
14、/p><p> ADDC<='0';</p><p> DOUT<=REGL;</p><p> LOCK0<=LOCK; --轉(zhuǎn)換后輸出鎖存信號</p><p> COM:PROCESS(CURRENT_STATE,EOC)</p><p><b> BEGIN
15、</b></p><p> CASE CURRENT_STATE IS --5個狀態(tài)</p><p> WHEN S0=>ALE<='0'; --初始化</p><p> START<='0';</p><p> LOCK<=
16、39;0';</p><p><b> OE<='0';</b></p><p> NEXT_STATE<=S1;</p><p> WHEN S1=>ALE<='1'; --打開輸入通道</p><p> START<=
17、39;1';</p><p> LOCK<='0';</p><p><b> OE<='0';</b></p><p> NEXT_STATE<=S2;</p><p> WHEN S2=>ALE<='0';
18、--開始轉(zhuǎn)換</p><p> START<='0';</p><p> LOCK<='0';</p><p><b> OE<='0';</b></p><p> IF (EOC='1')THEN</p><p
19、> NEXT_STATE<=S3;</p><p> ELSE NEXT_STATE<=S2;</p><p><b> END IF;</b></p><p> WHEN S3=>ALE<='0';</p><p> START<='0';&
20、lt;/p><p> LOCK<='0'; --輸出數(shù)據(jù)</p><p><b> OE<='1';</b></p><p> NEXT_STATE<=S4;</p><p> WHEN S4=>ALE<='0';</p&
21、gt;<p> START<='0';</p><p> LOCK<='1'; --鎖存輸出數(shù)據(jù)</p><p> NEXT_STATE<=S0;</p><p> WHEN OTHERS=>NEXT_STATE<=S0;</p><p><
22、;b> END CASE;</b></p><p> END PROCESS COM;</p><p> REG:PROCESS(CLK)</p><p><b> BEGIN</b></p><p> IF(CLK'EVENT AND CLK='1')THEN<
23、/p><p> CURRENT_STATE<=NEXT_STATE;</p><p><b> END IF;</b></p><p> END PROCESS REG;</p><p> LATCH:PROCESS(LOCK) --數(shù)據(jù)鎖存</p><p>&l
24、t;b> BEGIN</b></p><p> IF LOCK='1' AND LOCK'EVENT THEN </p><p> REGL<=DIN; --lock上升沿鎖入轉(zhuǎn)換好的數(shù)據(jù)</p><p><b> END IF;</b></p>&l
25、t;p> END PROCESS LATCH;</p><p> END BEHAV;</p><p><b> 3.1.2統(tǒng)計報告</b></p><p><b> 3.1.3仿真波形</b></p><p> 注:(1)(2)(3)(4)(5)代表先后順序</p>
26、<p> 3.2七段數(shù)碼管顯示模塊</p><p> 3.2.1VHDL語言描述</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> ENTITY YIMA7 IS</p><p> PORT(A:IN STD
27、_LOGIC_VECTOR(3 DOWNTO 0); --4位輸入信號</p><p> LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); --7位輸出控制數(shù)碼管</p><p><b> END;</b></p><p> ARCHITECTURE ART OF YIMA7 IS</p>
28、<p><b> BEGIN</b></p><p> PROCESS(A)</p><p><b> BEGIN</b></p><p> CASE A IS --輸入信號與數(shù)碼管顯示數(shù)字之間的關(guān)系</p><p> WHEN&q
29、uot;0000"=> LED7S<="0111111"; --分別對應管腳圖中GFEDCBA</p><p> WHEN"0001"=> LED7S<="0000110";</p><p> WHEN"0010"=> LED7S<="1011011&
30、quot;;</p><p> WHEN"0011"=> LED7S<="1001111";</p><p> WHEN"0100"=> LED7S<="1100110";</p><p> WHEN"0101"=> LED7S&l
31、t;="1101101";</p><p> WHEN"0110"=> LED7S<="1111101";</p><p> WHEN"0111"=> LED7S<="0000111";</p><p> WHEN"1000&q
32、uot;=> LED7S<="1111111";</p><p> WHEN"1001"=> LED7S<="1101111";</p><p> WHEN"1010"=> LED7S<="1110111";</p><p>
33、 WHEN"1011"=> LED7S<="1111100";</p><p> WHEN"1100"=> LED7S<="0111001";</p><p> WHEN"1101"=> LED7S<="1011110";</
34、p><p> WHEN"1110"=> LED7S<="1111001";</p><p> WHEN"1111"=> LED7S<="1110001";</p><p> WHEN OTHERS=> NULL;</p><p>&
35、lt;b> END CASE;</b></p><p> END PROCESS;</p><p> END; </p><p><b> 3.2.2統(tǒng)計報告</b></p><p><b> 3.2.3波形仿真</b></p><p&g
36、t;<b> 3.3頂層文件模塊</b></p><p> 3.3.1VHDL語言描述</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> ENTITY DCWJ IS</p><p> PORT(
37、 CLK:IN STD_LOGIC;</p><p> EOC:IN STD_LOGIC;</p><p> DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p> ALE:OUT STD_LOGIC; </p><p> START:OUT STD_LOGIC;</p><
38、;p> OE:OUT STD_LOGIC;</p><p> LOCK0:OUT STD_LOGIC;</p><p> ADDA:OUT STD_LOGIC;</p><p> ADDB:OUT STD_LOGIC;</p><p> ADDC:OUT STD_LOGIC;--以上輸入輸出與ADC0809類似</p&g
39、t;<p> LED7SL:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--低位數(shù)碼顯示管</p><p> LED7SH:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));--高位數(shù)碼顯示管</p><p><b> END DCWJ;</b></p><p> ARCHITECT
40、URE LINK OF DCWJ IS</p><p> COMPONENT ADC0809 --ADC0809的端口</p><p> PORT( CLK:IN STD_LOGIC;</p><p> EOC:IN STD_LOGIC;</p><p> DIN:IN STD_LOGIC_VECTOR(7
41、 DOWNTO 0);</p><p> ALE:OUT STD_LOGIC;</p><p> START:OUT STD_LOGIC;</p><p> OE:OUT STD_LOGIC;</p><p> LOCK0:OUT STD_LOGIC;</p><p> ADDA:OUT STD_LOGIC;
42、</p><p> ADDB:OUT STD_LOGIC;</p><p> ADDC:OUT STD_LOGIC;</p><p> DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));</p><p> END COMPONENT;</p><p> COMPONENT YIMA
43、7 --YIMA7的端口</p><p> PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));</p><p> END COMPONENT;</p><p> SIGNAL CARRY
44、_OUTL:STD_LOGIC_VECTOR(3 DOWNTO 0); --采用名稱映射方法</p><p> SIGNAL CARRY_OUTH:STD_LOGIC_VECTOR(3 DOWNTO 0); --CARRY_OUTL和--CARRY_OUTH為中間信號</p><p><b> BEGIN</b></p><p>
45、U1:ADC0809 PORT MAP(CLK=>CLK,</p><p><b> EOC=>EOC,</b></p><p><b> DIN=>DIN,</b></p><p><b> ALE=>ALE,</b></p><p> STA
46、RT=>START,</p><p><b> OE=>OE,</b></p><p> LOCK0=>LOCK0,</p><p> ADDA=>ADDA,</p><p> ADDB=>ADDB,</p><p> ADDC=>ADDC,</
47、p><p> DOUT(7 DOWNTO 4)=>CARRY_OUTH, --高4位輸入</p><p> DOUT(3 DOWNTO 0)=>CARRY_OUTL); --低4位輸入</p><p> U2:YIMA7 PORT MAP(A(3 DOWNTO 0)=>CARRY_OUTL,--低4位輸出與低4位輸入連接</p
48、><p> LED7S=>LED7SL);--低位數(shù)碼管顯示</p><p> U3:YIMA7 PORT MAP(A(3 DOWNTO 0)=>CARRY_OUTH, --高4位輸出與高4位輸入連接</p><p> LED7S=>LED7SH);--高位數(shù)碼管顯示</p><p><b> END LINK
49、;</b></p><p><b> 3.3.2統(tǒng)計報告</b></p><p><b> 3.3.3波形仿真</b></p><p> 3.4總體模塊封裝圖</p><p><b> 3.5總結(jié)</b></p><p> 本系統(tǒng)通
50、過AD590采集溫度信號,后經(jīng)ADC0809進行模數(shù)轉(zhuǎn)換,最后分高低位輸出到數(shù)碼顯示管上讀出溫度,以達到測量溫度的功能。</p><p><b> 四、感悟與思考</b></p><p> 最初聽到“數(shù)字電路課程設(shè)計”這門課的時候,我以為與上學期的數(shù)電實驗是差不多的東西,于是就沒把課程設(shè)計放在心上,可是經(jīng)過一番了解后,才發(fā)現(xiàn)這對于我來說完全是一個未知的領(lǐng)域,像是F
51、PGA、VHDL這種詞匯我之前是完全沒有聽過的。雖然9月就知道了設(shè)計的要求,但真正開始進行課程設(shè)計是從10月份開始的,無論是VHDL語言的編寫還是軟件的使用都是從零開始,甚至連上學期自認為學的挺好的數(shù)電也忘得差不多了,時間緊任務(wù)重,所以最后完成的課程設(shè)計顯得比較簡單,一些問題也被擱置了下來,比如波形中出現(xiàn)的毛刺自己不會消除。說實話,設(shè)計過程中真的好多次想要放棄,VHDL語言不會描述,模塊不會連接,仿真波形一直在出錯,這些都一點一點打擊著
52、自己的信心,消磨著自己的耐心。但即便如此,我還是咬咬牙過來了,也許是受到了同學的感染,也許是因為自己內(nèi)心中小小的自尊,反正當整個系統(tǒng)完成的時候,在自己長舒一口氣的同時,也體會到了激動與喜悅,還有小小的驕傲。如果時間能在充裕一點,我相信自己肯定能做得更好。最后,向那些在課程設(shè)計過程中幫助過我的老師和同學們表示衷心的感謝。</p><p><b> 參考文獻</b></p>&l
53、t;p> [1] 楊頌華等,數(shù)字電子技術(shù)基礎(chǔ)(第二版).西安:西安電子科技大學出版社,2008</p><p> [2] 唐小華等,數(shù)字電路與EDA實踐教程.北京:科學出版社,2010</p><p> [3] 王革思,數(shù)字電路原理設(shè)計與實踐教程.哈爾濱:哈爾濱工程大學出版社,2007</p><p> [4] 賈秀美,數(shù)字電路硬件設(shè)計實踐.北京:高等
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字電路課程設(shè)計--數(shù)字溫度計的設(shè)計
- 基于數(shù)字電路的頻率計設(shè)計(課程設(shè)計)
- 低頻與數(shù)字電路課程設(shè)計--數(shù)字溫度計
- 脈沖與數(shù)字電路課程設(shè)計報告--基于fpga的數(shù)字鐘
- 低頻與數(shù)字電路課程設(shè)計數(shù)字溫度計
- 數(shù)字電路課程設(shè)計
- 數(shù)字電路課程設(shè)計
- 數(shù)字電路課程設(shè)計--數(shù)字秒表
- 數(shù)字電路課程設(shè)計
- 數(shù)字電路課程設(shè)計--數(shù)字鐘
- 數(shù)字電路課程設(shè)計報告---數(shù)字秒表
- 數(shù)字電路課程設(shè)計-- 數(shù)字鐘
- 數(shù)字電路課程設(shè)計--簡易數(shù)字秒表
- 數(shù)字電路課程設(shè)計 (2)
- 數(shù)字電路彩燈課程設(shè)計
- 數(shù)字電路課程設(shè)計報告
- 數(shù)字電路課程設(shè)計報告
- 基于數(shù)字電路的電子秒表課程設(shè)計
- 數(shù)字電路課程設(shè)計---數(shù)字密碼判斷電路
- 數(shù)字電路課程設(shè)計----多功能數(shù)字時鐘
評論
0/150
提交評論