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

下載本文檔

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

文檔簡介

1、<p><b>  本科生課程設(shè)計</b></p><p>  題   目: 數(shù)字微波爐控制器</p><p>  課   程: 數(shù)字電路課程設(shè)計</p><p>  專   業(yè): 電子信息工程</p><p><b>  目錄</b></p><p><b

2、>  一、緒論3</b></p><p>  二、 關(guān)鍵技術(shù)簡介3</p><p>  2.1 FPGA簡介3</p><p>  2.2 VHDL語言概述4</p><p>  2.3 ALTIUM DESIGNER簡介5</p><p>  三、微波爐定時控制器的設(shè)計方案分析5<

3、/p><p>  3.1 系統(tǒng)設(shè)計的要求5</p><p>  3.2 系統(tǒng)總體功能描述6</p><p>  3.3 各模塊的功能實現(xiàn)6</p><p>  3.3.1 輸入模塊6</p><p>  3.3.2 狀態(tài)控制模塊7</p><p>  3.3.3 顯示模塊7</p&

4、gt;<p>  四、系統(tǒng)詳細設(shè)計8</p><p><b>  4.1控制模塊8</b></p><p>  4.1.1狀態(tài)轉(zhuǎn)換控制8</p><p>  4.1.2數(shù)據(jù)裝載10</p><p>  4.1.3 烹飪計時11</p><p>  4.1.4 控制模塊的實現(xiàn)

5、12</p><p><b>  五、系統(tǒng)仿真12</b></p><p>  5.1狀態(tài)控制器仿真12</p><p>  5.2 數(shù)據(jù)裝載器的仿真13</p><p>  5.3 烹飪計時器的仿真14</p><p><b>  六、 結(jié)論15</b><

6、/p><p><b>  一、緒論</b></p><p>  隨著人民生活水平的提高,微波爐開始進人越來越多的家庭,它給人們的生活 帶來了極大的方便。微波爐由 2450MHz 的超高頻來加熱食物。它省時、省電、方便 和衛(wèi)生。作為現(xiàn)代的烹飪工具,微波爐的控制器體現(xiàn)著它的重要性能指標。目前大部分微波爐控制器采用單片機進行設(shè)計,電路比較復(fù)雜,性能不夠靈活。本文采用先進的EDA

7、技術(shù),利用ALTIUM DESIGNER工作平臺和VHDL設(shè)計語言,設(shè)計了一種新型的微波爐控制器系統(tǒng)。該系統(tǒng)具有系統(tǒng)復(fù)位、時間設(shè)定、烹飪計時等功能,在 FPGA 上實現(xiàn)。</p><p><b>  關(guān)鍵技術(shù)簡介</b></p><p>  2.1 FPGA簡介</p><p>  FPGA(Field-Programmable GateArr

8、ay),即現(xiàn)場可編程門陣列,它是在 PAL、 GAL、CPLD 等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路 (ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了 原有可編程器件門電路數(shù)有限的缺點。</p><p>  目前以硬件描述語言(Verilog 或 VHDL)所完成的電路設(shè)計,可以經(jīng)過簡單的綜合與布局,快速的燒錄至 FPGA 上進行測試,是現(xiàn)代 IC 設(shè)計驗證的技術(shù)

9、主流。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(比如 AND、OR、XOR、 NOT)或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的 FPGA 里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的 記憶塊。</p><p>  系統(tǒng)設(shè)計師可以根據(jù)需要通過可編輯的連接把 FPGA 內(nèi)部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品

10、FPGA 的邏輯塊和連 接可以按照設(shè)計者而改變,所以 FPGA 可以完成所需要的邏輯功能。</p><p>  FPGA一般來說比 ASIC(專用集成芯片)的速度要慢,無法完成復(fù)雜的設(shè)計,而且消耗更多的電能。但是他們也有很多的優(yōu)點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA。因為這些芯片有比較差的可編輯能力,所以這些設(shè)計的開發(fā)是在普通的FPGA上完成

11、的,然后將設(shè)計轉(zhuǎn)移到一個類似于ASIC的芯片上。</p><p>  2.2 VHDL語言概述</p><p>  VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,誕生于 1982 年。1987 年底,VHDL 被 IEEE 和美國國防部確認為標準 硬件描述語言。 </p>

12、<p>  VHDL 主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計算機 高級語言。VHDL的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計

13、就可以直接調(diào)用這個實體。這種將設(shè)計實 體分成內(nèi)外部分的概念是 VHDL 系統(tǒng)設(shè)計的基本點。 </p><p>  VHDL語言能夠成為標準化的硬件描述語言并獲得廣泛應(yīng)用,它自身必然具有 很多其他硬件描述語言所不具備的優(yōu)點。歸納起來,VHDL 語言主要具有以下優(yōu)點: </p><p>  VHDL 語言功能強大,設(shè)計方式多樣 VHDL 語言具有強大的語言結(jié)構(gòu), 只需采用簡單明確的 VHDL

14、語言程序就可以 述十分復(fù)雜的硬件電路。同時, 它還具有多層次的電路設(shè)計描述功能。此外,VHDL 語 言能夠同時支持同步電路、異步電路和隨機電路的設(shè)計實現(xiàn),這是其他硬件描述語言 所不能比擬的。VHDL 語言設(shè)計方法靈活多樣,既支持自頂向下的設(shè)計方式,也支 持自底向上的設(shè)計方法;既支持模塊化設(shè)計方法,也支持層次化設(shè)計方法。 </p><p> ?。?)VHDL 語言具有強大的硬件描述能力 VHDL 語言具有多層次的電

15、路設(shè)計描述功能,既可描述系統(tǒng)級電路,也可以描 述門級電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以 采用三者的混合描述方式。同時,VHDL 語言也支持慣性延遲和傳輸延遲,這樣可 以準確地建立硬件電路的模型。VHDL 語言的強大描述能力還體現(xiàn)在它具有豐富的 數(shù)據(jù)類型。VHDL 語言既支持標準定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會給硬件描述帶來較大的自由度。 </p><p>  (

16、3)VHDL 語言具有很強的移植能力 VHDL 語言很強的移植能力主要體現(xiàn)在:對于同一個硬件電路的 VHDL 語言 描述,它可以從一個模擬器移植到另一個模擬器上,從一個綜合器移植到另一個綜合器上,或者從一個工作平臺移植到另一個工作平臺上去執(zhí)行。 </p><p>  VHDL 語言的設(shè)計描述與器件無關(guān) 采用 VHDL 語言描述硬件電路時,設(shè)計人員并不需要首先考慮選擇進行設(shè)計的 器件。這樣做的好處是可以使設(shè)計人員集

17、中精力進行電路設(shè)計的優(yōu)化,而不需要考慮 其他的問題。當硬件電路的設(shè)計描述完成以后,VHDL 語言允許采用多種不同的器 件結(jié)構(gòu)來實現(xiàn)。 (5)VHDL 語言程序易于共享和復(fù)用 VHDL 語言采用基于庫 (library)的設(shè)計方法。在設(shè)計過程中,設(shè)計人員可以建 立各種可再次利用的模塊,一個大規(guī)模的硬件電路的設(shè)計不可能從門級電路開始一步步地進行設(shè)計,而是一些模塊的累加。這些模塊可以預(yù)先設(shè)計或者使用以前設(shè)計中的存檔模塊,將這些模塊存放在庫中,

18、就可以在以后的設(shè)計中進行復(fù)用。 </p><p>  由于 VHDL 語言是一種描述、模擬、綜合、優(yōu)化和布線的標準硬件描述語言, 因此它可以使設(shè)計成果在設(shè)計人員之間方便地進行交流和共享,從而減小硬件電路設(shè)計的工作量,縮短開發(fā)周期。</p><p>  2.3 ALTIUM DESIGNER簡介</p><p>  Altium Designer 是原Protel軟件

19、開發(fā)商Altium公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),主要運行在Windows XP操作系統(tǒng)。這套軟件通過把原理圖設(shè)計、電路仿真、PCB繪制編輯、拓撲邏輯自動布線、信號完整性分析和設(shè)計輸出等技術(shù)的完美融合,為設(shè)計者提供了全新的設(shè)計解決方案,使設(shè)計者可以輕松進行設(shè)計,熟練使用這一軟件必將使電路設(shè)計的質(zhì)量和效率大大提高。</p><p>  Altium Designer 除了全面繼承包括Protel 99SE、Pr

20、otel DXP在內(nèi)的先前一系列版本的功能和優(yōu)點外,還增加了許多改進和很多高端功能。該平臺拓寬了板級設(shè)計的傳統(tǒng)界面,全面集成了FPGA設(shè)計功能和SOPC設(shè)計實現(xiàn)功能,從而允許工程設(shè)計人員能將系統(tǒng)設(shè)計中的FPGA與PCB設(shè)計及嵌入式設(shè)計集成在一起。 由于Altium Designer 在繼承先前Protel軟件功能的基礎(chǔ)上,綜合了FPGA設(shè)計和嵌入式系統(tǒng)軟件設(shè)計功能,Altium Designer 對計算機的系統(tǒng)需求比先前的版本要高一些。

21、</p><p>  三、微波爐定時控制器的設(shè)計方案分析</p><p>  3.1 系統(tǒng)設(shè)計的要求</p><p>  現(xiàn)需設(shè)計一個微波爐控制器,通過該控制器再配以4個七段數(shù)碼二極管完成微波爐的定時及信息顯示。各信號的功能及要求如下:</p><p>  CLK是秒時鐘脈沖輸入,它接收每秒一個時鐘脈沖的節(jié)拍信號。RESET為復(fù)位信號,高電平

22、有效,用于芯片的復(fù)位功能。TEST為測試信號,高電平有效,用于測試4個七段數(shù)碼二極管工作是否正常。START為開始加熱信號,高電平有效,SET_UP信號為定時設(shè)置信號,高電平時可以設(shè)置定時時間,DATA為定時的時間,COOK為加熱輸出,另外四個輸出分別表示顯示的定時時間的分和秒。</p><p>  3.2 系統(tǒng)總體功能描述</p><p>  各信號功能及要求如下:</p>

23、<p>  CLK是秒時鐘脈沖輸入,它接收每秒一個時鐘脈沖的節(jié)拍信號。RESET為復(fù)位信號,高電平有效,用于芯片的復(fù)位功能。TEST信號是測試信號,高電平有效,用于測試七段數(shù)碼管工作是否正常。SET_UP是烹調(diào)時間設(shè)置控制信號,高電平有效。DATA1是一個16位總線輸入信號,輸入所設(shè)置的時間長短,它由高到低分為4組,每一組是BCD碼輸入,分別表示分、秒十位、個位的數(shù)字,如12分59秒。START是烹調(diào)開始的控制信號,高電平有

24、效。COOK是烹調(diào)進行信號,外接用于控制烹調(diào)的繼電器開關(guān),高電平時表明烹調(diào)已經(jīng)開始或正在進行,低電平表示烹調(diào)結(jié)束或沒有進行。MIN_H,MIN_L,SEC_H,SEC_L是四組七位總線信號,通過LCD動態(tài)的顯示完成烹調(diào)所剩的時間及測試狀態(tài)信息,烹調(diào)完畢的狀態(tài)信息。</p><p>  該微波爐控制器的具體功能要求如下:上電后系統(tǒng)首先處于復(fù)位狀態(tài)。在工作是首先按時間設(shè)置鍵設(shè)置烹調(diào)時間,此時系統(tǒng)輸入DATA1的數(shù)據(jù)作

25、為烹調(diào)所需的時間,然后系統(tǒng)自動回到復(fù)位狀態(tài),同時4個七段數(shù)碼管顯示時間信息。在按START鍵后系統(tǒng)進入烹調(diào)狀態(tài)。COOK信號開始為高電平,此時4個七段數(shù)碼管每隔一秒鐘變化一次,用以刷新還剩剩余多少時間結(jié)束烹調(diào)。烹調(diào)結(jié)束后,COOK信號變?yōu)榈碗娖?,同時LCD顯示“0000”的信息,同時蜂鳴器發(fā)出提示音,然后系統(tǒng)回到復(fù)位狀態(tài)。系統(tǒng)可以通過按RESET鍵隨時回到復(fù)位狀態(tài)。在復(fù)位狀態(tài)下,按TEST鍵在4個數(shù)碼管上會顯示“8888”的信息,它可以

26、測試LCD工作是否正常。</p><p>  3.3 各模塊的功能實現(xiàn)</p><p>  本系統(tǒng)主要由輸入、控制和顯示部分組成。輸入部分主要完成用戶對控制功能</p><p>  的設(shè)置,采用按鍵作為輸入設(shè)備。控制部分是本系統(tǒng)的核心,它接收用戶的輸入,完成相應(yīng)的控制邏輯功能,并將當前的工作狀態(tài)等信息送到顯示部分。顯示部分主要監(jiān)視系統(tǒng)工作狀態(tài)并提示用戶進行控制操作。

27、 </p><p>  3.3.1 輸入模塊</p><p>  本系統(tǒng)采 用鍵盤進行輸入設(shè)置,即由一個 4*4 矩陣鍵盤實現(xiàn)數(shù)據(jù)輸入控制。該矩陣鍵盤上16個按鍵分別是:</p><p>  輸入模塊包括時鐘脈沖電路、鍵盤掃描電路、消枓同步電 路和鍵盤譯碼電路,通過該模塊將掃描得到的按鍵值送到控制模塊。</p><p>  3.3.2 狀態(tài)控

28、制模塊</p><p>  控制部分作為整個微波爐控制器系統(tǒng)的核心,它采用 FPGA 芯片作為主控核心, 完成許多復(fù)雜的控制和數(shù)據(jù)處理任務(wù)。它通過輸入模塊提供的按鍵輸入實現(xiàn)數(shù)據(jù)信息裝載處理,并將處理結(jié)果通過顯示模塊顯示出來。其涉及到數(shù)據(jù)的裝載、狀態(tài)轉(zhuǎn)換控制、烹飪計時。</p><p>  3.3.3 顯示模塊</p><p>  顯示部分采用LCD和LED來實現(xiàn)。其

29、中,用LCD作為時間、狀態(tài)顯示,用發(fā)光二極管作為火力大小顯示。具體設(shè)計時,采用 LCD進行8位顯示,高四位顯示烹飪時間,低四位顯示當前的烹飪狀態(tài)。3個LED顯示火力的大小,其中第一個亮表示小火,第一和第二個亮表示中火,3個全亮表示大火。</p><p>  3.4 系統(tǒng)的工作流程</p><p><b>  四、系統(tǒng)詳細設(shè)計</b></p><p&

30、gt;<b>  4.1控制模塊 </b></p><p>  控制模塊是整個微波爐控制器系統(tǒng)的核心,完成許多復(fù)雜的控制和數(shù)據(jù)處理任</p><p>  務(wù),它通過輸入模塊提供的按鍵輸入實現(xiàn)數(shù)據(jù)信息裝載處理,控制顯示模塊顯示相應(yīng)的信息。 控制模塊采FPGA芯片作為主控芯片,其涉及到數(shù)據(jù)的裝載、狀態(tài)控制轉(zhuǎn)換、 烹飪計時等。其中,狀態(tài)控制轉(zhuǎn)換子模塊,其功能是控制微波爐工作

31、過程中的狀態(tài)轉(zhuǎn)換,并發(fā)出相關(guān)控制信號。數(shù)據(jù)裝載子模塊,其功能是根據(jù)按鍵信號設(shè)置定時時間、最高溫度、火力檔位,烹調(diào)屬性設(shè)置以及烹調(diào)數(shù)據(jù)信息裝載。烹飪計時子模塊,其功能是對時鐘進行減法計數(shù),提供烹調(diào)完成時的狀態(tài)信號。音效控制子模塊,其功能是控制微波爐工作時的音效提示,這里直接外接一個蜂鳴器實現(xiàn)該功能。 </p><p>  其功能子模塊圖如下: </p><p>  4.1.1狀態(tài)轉(zhuǎn)換控制&

32、lt;/p><p>  根據(jù)微波爐工作流程的描述,分析狀態(tài)轉(zhuǎn)換條件及輸出信號,可以得到控制模塊的狀態(tài)轉(zhuǎn)換圖</p><p>  下面,根據(jù)上述狀態(tài)轉(zhuǎn)換圖和 ASM 圖進行程序設(shè)計,在編寫程序代碼實現(xiàn)狀態(tài)轉(zhuǎn)換控制子模塊過程時,首先,如果 RESET=‘1’,則系統(tǒng)復(fù)位,當前狀態(tài)為初始狀態(tài),當同步時鐘脈沖,當前狀態(tài)為下一狀態(tài),用程序代碼表示如下:</p><p>  IF

33、RESET='1' THEN</p><p>  CURR_STATE<=DEFAULT;</p><p>  ELSIF CLK'EVENT AND CLK='1' THEN</p><p>  CURR_STATE<=NEXT_STATE;</p><p><b>  END

34、IF;</b></p><p>  當當前狀態(tài)為初始狀態(tài)時, </p><p>  LOAD_LED<='0';</p><p>  LOAD_DONE<='0';</p><p>  LOAD_SET<='0';</p><p>  COO

35、K<='0';</p><p>  此時,顯示測試狀態(tài):</p><p>  WHEN LED_TEST=>LOAD_LED<='1';COOK<='0';</p><p><b>  時間設(shè)置狀態(tài): </b></p><p>  WHEN SETT

36、ING=>LOAD_SET<='1';COOK<='0';</p><p>  完成信息顯示狀態(tài): </p><p>  WHEN FINISHED=>LOAD_DONE<='1';COOK<='0';</p><p>  在初始狀態(tài),如果按下“TEST”鍵,下一狀態(tài)

37、即為顯示測試狀態(tài),如果按下 “SETUP”鍵,下一狀態(tài)即為時間設(shè)置狀態(tài),如果按下“START”鍵,即烹調(diào)開始進行時, 此時下一狀態(tài)為減法計數(shù)定時狀態(tài),該過程用程序代碼實現(xiàn)如下: </p><p>  WHEN DEFAULT=></p><p>  IF TEST='1' THEN</p><p>  NEXT_STATE<=LED_TE

38、ST;</p><p>  LOAD_LED<='1';</p><p>  ELSIF SETUP='1' THEN</p><p>  NEXT_STATE<=SETTING;</p><p>  LOAD_SET<='1';</p><p>  

39、ELSIF START='1' THEN</p><p>  NEXT_STATE<=COUNTER;</p><p>  COOK<='1';</p><p><b>  END IF;</b></p><p>  在減法計數(shù)定時狀態(tài),如果輸出 DONE 指示烹調(diào)信息完成,則

40、下一狀態(tài)為顯示 信息完成狀態(tài),顯示烹調(diào)完成信息,否則,下一狀態(tài)還是減法計數(shù)定時狀態(tài),COOK 高電平有效,用程序代碼實現(xiàn)如下: </p><p>  WHEN COUNTER=></p><p>  IF DONE='1' THEN</p><p>  NEXT_STATE<=FINISHED;</p><p> 

41、 LOAD_DONE<='1';</p><p><b>  ELSE</b></p><p>  NEXT_STATE<=COUNTER;</p><p>  COOK<='1';</p><p><b>  END IF;</b></p&g

42、t;<p>  生成的控制模塊相應(yīng)的電路符號:</p><p><b>  4.1.2數(shù)據(jù)裝載</b></p><p>  數(shù)據(jù)裝載器,它本質(zhì)上就是一個三選一的數(shù)據(jù)選擇器。根據(jù)其應(yīng)完成的邏輯功能,本設(shè)計可采用一個進程來完成,但由于三個被選擇的數(shù)據(jù)只有一個來自輸入口,因此另兩個被選擇的數(shù)據(jù)則通過進程的說明部分定義兩個常數(shù)來產(chǎn)生。由于裝入測試的數(shù)據(jù)可以用4個

43、8作為顯示測試信息數(shù)據(jù),經(jīng)過八個譯碼器譯碼后顯示測試信息編碼。因此,該常數(shù)應(yīng)是8個分段的4位 BCD 碼,即“1000100010001000”,同理,DONE 的 BCD 碼分別為“0000000000000000”以顯示DONE的常數(shù) “0000”。</p><p>  通過上述分析,該模塊的主要程序可實現(xiàn)如下:</p><p>  PROCESS(DATA1,LOAD_LED,LOA

44、D_SET,LOAD_DONE) IS</p><p>  CONSTANTTEST8: STD_LOGIC_VECTOR(15 DOWNTO 0):=X"8888";</p><p>  CONSTANT COOKED:STD_LOGIC_VECTOR(15 DOWNTO 0):=x"0000";</p><p>  VAR

45、IABLE TEMP:STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  LOAD<=LOAD_LED OR LOAD_DONE OR LOAD_SET;</p><p>  TEMP:=LOAD_LED & LOAD_DONE & LOAD_SE

46、T;</p><p>  CASE TEMP IS</p><p>  WHEN "100" => DATA2<=TEST8;</p><p>  WHEN "010" => DATA2<=COOKED;</p><p>  WHEN "001" =>

47、DATA2<=DATA1;</p><p>  WHEN OTHERS=> NULL;</p><p><b>  END CASE;</b></p><p>  END PROCESS; </p><p>  完成 VHDL 源程序的輸入,編譯、運行,生成相應(yīng)的電路符號:</p><p&

48、gt;  4.1.3 烹飪計時</p><p>  烹飪計時器JSQ為減計數(shù)計數(shù)器,其最大計時時間為59:59,因此可以編寫一個60進制計數(shù)器來實現(xiàn)。</p><p>  由所學(xué)知識可知,計數(shù)的功能是累計輸入脈沖的個數(shù),實現(xiàn)計數(shù)功能的數(shù)字電路即計數(shù)器,被計數(shù)的脈沖可以是周期性脈沖,也可以是非周期性脈沖,通常加在計數(shù)器的時鐘脈沖輸入端,作為計數(shù)器的時鐘脈沖。</p><p

49、><b>  計數(shù)器的代碼如下:</b></p><p>  IF(CLK'EVENT AND CLK='1')THEN</p><p>  IF(TIME1(3 DOWNTO 0)="0000")THEN</p><p>  TIME1(3 DOWNTO 0)<="1001&q

50、uot;;</p><p>  IF(TIME1(7 DOWNTO 4)="0000")THEN</p><p>  TIME1(7 DOWNTO 4)<="0101";</p><p>  IF(TIME1(11 DOWNTO 8)="0000")THEN</p><p> 

51、 TIME1(11 DOWNTO 8)<="1001";</p><p>  IF(TIME1(15 DOWNTO 12)="0000")THEN</p><p>  TIME1(15 DOWNTO 12)<="0101";</p><p><b>  ELSE</b>&l

52、t;/p><p>  TIME1(15 DOWNTO 12)<=TIME1(15 DOWNTO 12)-1;</p><p><b>  END IF;</b></p><p><b>  ELSE</b></p><p>  TIME1(11 DOWNTO 8)<=TIME1(11 DOW

53、NTO 8)-1;</p><p><b>  END IF;</b></p><p><b>  ELSE</b></p><p>  TIME1(7 DOWNTO 4)<=TIME1(7 DOWNTO 4)-1;</p><p><b>  END IF;</b>&l

54、t;/p><p><b>  ELSE</b></p><p>  TIME1(3 DOWNTO 0)<=TIME1(3 DOWNTO 0)-1;</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p>&

55、lt;p>  生成相應(yīng)的電路符號:</p><p>  其中TIME_OUT[3..0]表示秒的個位,TIME_OUT[7..4]表示秒的十位,TIME_OUT[11..8]表示分的個位,TIME_OUT[15..12]表示分的十位。輸入信號 LOAD 為高電平時完成信號的載入;COOK 信號為高電平時, 在每個時鐘周期的上升沿進行減法計數(shù)。輸出信號 DONE 表示烹調(diào)時間到。</p><

56、;p>  4.1.4 控制模塊的實現(xiàn)</p><p>  綜合上述分析,對該控制模塊進行完整設(shè)計,連線圖如下: </p><p>  其中,輸入信號 CLK 為時鐘輸入信號,時鐘上升沿敏感;TEST 為數(shù)碼顯示管 測試信號,高電平有效,用于測試顯示管是否正常工作;SETUP 為烹調(diào)時間設(shè)置時間,高電平有效時允許設(shè)置烹調(diào)時間;DATAIN為數(shù)據(jù)輸入信號,用于設(shè)置烹調(diào)時間的長短;STA

57、RT為烹調(diào)開始的控制信號,高電平有效時開始烹調(diào);RESET為復(fù)位信號,高電平有效時系統(tǒng)復(fù)位。</p><p>  DATAOUT[3..0],DATAOUT[7..4],DATA_OUT[11..8],DATAOUT[15..12]分別表示秒個位、秒十位、分個位、分十位。他們分別接 8位LCD的搞死為,動態(tài)地顯示完成烹調(diào)所剩的時間以及測試狀態(tài)信息“8888”。</p><p><b&

58、gt;  五、系統(tǒng)仿真</b></p><p>  5.1狀態(tài)控制器仿真</p><p>  完成狀態(tài)轉(zhuǎn)換控制器 KZQ 子模塊 VHDL 源程序文件輸入后,保存文件,對文件 進行編譯,然后編寫測試平臺文件進行仿真:</p><p>  其中,輸入信號為 RESET、SETUP、START、TEST、CLK、DONE,輸出信號為 COOK、LOAD_TE

59、ST、LOAD_SET、LOAD_DONE。 控制器根據(jù)輸入信號和自身當時所處的狀態(tài)完成狀態(tài)的轉(zhuǎn)換和輸出相應(yīng)的控制信號。LOAD_SET 指示數(shù)據(jù)裝載器裝入設(shè)置的烹調(diào)時間數(shù)據(jù);LOAD_DONE指示轉(zhuǎn)載起裝入烹調(diào)完畢的狀態(tài)信息“0000”的顯示驅(qū)動信息數(shù)據(jù);LOAD_TEST指示裝載器裝入用于測試的數(shù)據(jù)“8888以顯示驅(qū)動信息數(shù)據(jù);COOK指示烹調(diào)正在進行之中,并提示計時器進行減計數(shù)。</p><p><b

60、>  仿真結(jié)果如圖:</b></p><p>  分析該仿真文件,可以看到,當測試信號TEST為高電平有效時,測試輸出信號 LOAD_TEST為高電平;否則,當時間設(shè)置信號SETUP為高電平時,對應(yīng)的指示信號 LOAD_SET輸出高電平;當烹飪開始信號START信號為高電平時,對應(yīng)輸出 COOK為高電平;當復(fù)位信號RESET為高電平時,系統(tǒng)復(fù)位,恢復(fù)初始狀態(tài)。仿真結(jié)果符合模塊設(shè)計的要求。<

61、/p><p>  5.2 數(shù)據(jù)裝載器的仿真</p><p>  完成數(shù)據(jù)裝載器子模塊VHDL源程序文件輸入后,保存文件,對文件進行編譯,編寫測試平臺文件進行仿真:</p><p>  其中,輸入信號LOAD_DONE為高電平時,輸出烹調(diào)完畢的狀態(tài)信息數(shù)據(jù);LOAD_SET 為高電平時,輸出設(shè)置的烹調(diào)時間數(shù)據(jù);LOAD_TEST 為高電平時,輸出測試數(shù)據(jù)。輸出信號LOAD

62、用于指示電路正處于上述三路信號模式中的哪一種,同時提示計數(shù)器將處于數(shù)據(jù)裝入狀態(tài)。 </p><p><b>  仿真結(jié)果如圖:</b></p><p>  分析該模塊仿真結(jié)果,由于數(shù)據(jù)裝載器本質(zhì)上即多了選擇譯碼電路??芍?,當 LOAD_SET、LOAD_TEST、LOAD_DONE三路信號中有且僅有一路信號電平有效時,裝載器相應(yīng)的值作為輸出。</p>&

63、lt;p>  5.3 烹飪計時器的仿真</p><p>  完成計時器子模塊VHDL源程序文件輸入后,保存文件,對文件進行編譯,編寫測試平臺文件進行仿真:</p><p>  其中,輸入信號 LOAD 為高電平時完成信號的載入;COOK 信號為高電平時, 在每個時鐘周期的上升沿進行減法計數(shù)。輸出信號 DONE 表示烹調(diào)時間到。</p><p><b>

64、;  仿真結(jié)果如下圖:</b></p><p>  由以上仿真結(jié)果可以看到,該 JSQ 模塊實現(xiàn)了烹調(diào)計時的定時作用</p><p><b>  結(jié)論</b></p><p>  該課題是利用Altium公司的ALTIUM DESIGNER開發(fā)環(huán)境和軟件,進行VHDL程序設(shè)計,然后進行仿真,調(diào)試,以Altium NB1實驗箱實驗系統(tǒng)

65、為硬件平臺,實現(xiàn)了一個簡單的微波爐控制器系統(tǒng)的設(shè)計。在整個畢業(yè)設(shè)計過程中,進行了系統(tǒng)的總體設(shè)計,硬件設(shè)備的選用,軟件和開發(fā)環(huán)境的安裝,VHDL程序設(shè)計與仿真。設(shè)計的重點主要在系統(tǒng)的規(guī)劃以及程序的設(shè)計與調(diào)試上,要做到鍵盤與LCD, LED 燈的一體化,需要在鍵位設(shè)置時進行準確的設(shè)計,通過鍵盤的掃描,消抖和譯碼,達到一鍵一碼的目的,做到功能的完善。</p><p>  設(shè)計的難點主要在功能控制上,數(shù)據(jù)和控制信號較多,

66、狀態(tài)之間的轉(zhuǎn)化也較為</p><p>  復(fù)雜,在設(shè)計中帶來了一些困難。另外在仿真分析上,因為需要測試的結(jié)果很多,有些結(jié)果無法預(yù)料,無法在仿真中看到。</p><p>  本設(shè)計也存在一定的不足。由于本身能力和實驗器材的限制,無法在系統(tǒng)中建</p><p>  立完善的體制,只是實現(xiàn)了一個微波爐控制器的基本功能。比如像存儲功能,就沒有在系統(tǒng)中考慮到,這些都有待以后的

溫馨提示

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

評論

0/150

提交評論