2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  數(shù)字電路課程設(shè)計(jì)報(bào)告</p><p>  課題:基于FPGA的高低位數(shù)字測溫計(jì)</p><p><b>  學(xué)院:機(jī)電工程學(xué)院</b></p><p><b>  專業(yè):自動化</b></p><p><b>  班級:</b></p>&l

2、t;p><b>  姓名:</b></p><p><b>  學(xué)號:</b></p><p><b>  指導(dǎo)老師:</b></p><p>  2014年10月14日星期二</p><p><b>  一、引言</b></p>&l

3、t;p>  課題確定過程:最初在網(wǎng)上搜過不少課題,如自動售貨機(jī)、3層電梯控制器、聲控電子鎖等,但每一個的信號采集模塊的設(shè)計(jì)以我現(xiàn)在的水平而言都很復(fù)雜,于是在嘗試了一段時間后就放棄了。后來我覺得自己必須先了解點(diǎn)關(guān)于FPGA、EDA、VHDL的一些基礎(chǔ)知識,于是到圖書館借閱了一些相關(guān)書籍,同時想到平時生活里測物體溫度時因?yàn)閷?dǎo)熱不均勻使得兩端極的溫度有較大的不同,于是就有了做高低位數(shù)字測溫計(jì)的想法。</p><p&g

4、t;  系統(tǒng)總體介紹:系統(tǒng)由FPGA器件實(shí)現(xiàn)數(shù)字測溫,利用溫度傳感器AD590采集溫度信號,產(chǎn)生的溫度信號經(jīng)調(diào)零、放大處理后,利用A/D轉(zhuǎn)換器ADC0809將模擬信號轉(zhuǎn)換成分高低位的數(shù)字信號,最后將高4位和低4位的數(shù)字信號分別連接到7段共陰極數(shù)碼顯示管上輸出溫度大?。ㄒ允M(jìn)制的形式)。</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)電氣溫度傳感器的任何溫度檢測應(yīng)用。低成本的單芯片集成電路及無需支持電路的特點(diǎn),

6、使它成為許多溫度測量應(yīng)用的一種很有吸引力的備選方案。</p><p><b>  2.3模數(shù)轉(zhuǎn)換模塊</b></p><p>  A/D轉(zhuǎn)換器ADC0809簡介</p><p>  ADC0809是美國國家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路

7、模擬輸入信號中的一個進(jìn)行A/D轉(zhuǎn)換。</p><p>  本系統(tǒng)采集到的溫度與數(shù)字輸出量的關(guān)系</p><p>  2.4七段數(shù)碼管顯示模塊(執(zhí)行電路)</p><p>  數(shù)碼管的一種是半導(dǎo)體發(fā)光器件,數(shù)碼管可分為七段數(shù)碼管和八段數(shù)碼管,區(qū)別在于八段數(shù)碼管比七段數(shù)碼管多一個用于顯示小數(shù)點(diǎn)的發(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'; --進(jìn)入通道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)計(jì)報(bào)告</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"; --分別對應(yīng)管腳圖中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)計(jì)報(bào)告</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)計(jì)報(bào)告</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進(jìn)行模數(shù)轉(zhuǎn)換,最后分高低位輸出到數(shù)碼顯示管上讀出溫度,以達(dá)到測量溫度的功能。</p><p><b>  四、感悟與思考</b></p><p>  最初聽到“數(shù)字電路課程設(shè)計(jì)”這門課的時候,我以為與上學(xué)期的數(shù)電實(shí)驗(yàn)是差不多的東西,于是就沒把課程設(shè)計(jì)放在心上,可是經(jīng)過一番了解后,才發(fā)現(xiàn)這對于我來說完全是一個未知的領(lǐng)域,像是F

51、PGA、VHDL這種詞匯我之前是完全沒有聽過的。雖然9月就知道了設(shè)計(jì)的要求,但真正開始進(jìn)行課程設(shè)計(jì)是從10月份開始的,無論是VHDL語言的編寫還是軟件的使用都是從零開始,甚至連上學(xué)期自認(rèn)為學(xué)的挺好的數(shù)電也忘得差不多了,時間緊任務(wù)重,所以最后完成的課程設(shè)計(jì)顯得比較簡單,一些問題也被擱置了下來,比如波形中出現(xiàn)的毛刺自己不會消除。說實(shí)話,設(shè)計(jì)過程中真的好多次想要放棄,VHDL語言不會描述,模塊不會連接,仿真波形一直在出錯,這些都一點(diǎn)一點(diǎn)打擊著

52、自己的信心,消磨著自己的耐心。但即便如此,我還是咬咬牙過來了,也許是受到了同學(xué)的感染,也許是因?yàn)樽约簝?nèi)心中小小的自尊,反正當(dāng)整個系統(tǒng)完成的時候,在自己長舒一口氣的同時,也體會到了激動與喜悅,還有小小的驕傲。如果時間能在充裕一點(diǎn),我相信自己肯定能做得更好。最后,向那些在課程設(shè)計(jì)過程中幫助過我的老師和同學(xué)們表示衷心的感謝。</p><p><b>  參考文獻(xiàn)</b></p>&l

53、t;p>  [1] 楊頌華等,數(shù)字電子技術(shù)基礎(chǔ)(第二版).西安:西安電子科技大學(xué)出版社,2008</p><p>  [2] 唐小華等,數(shù)字電路與EDA實(shí)踐教程.北京:科學(xué)出版社,2010</p><p>  [3] 王革思,數(shù)字電路原理設(shè)計(jì)與實(shí)踐教程.哈爾濱:哈爾濱工程大學(xué)出版社,2007</p><p>  [4] 賈秀美,數(shù)字電路硬件設(shè)計(jì)實(shí)踐.北京:高等

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論