版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 本科生課程設計</b></p><p> 題 目: 數(shù)字微波爐控制器</p><p> 課 程: 數(shù)字電路課程設計</p><p> ?! I(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> 三、微波爐定時控制器的設計方案分析5<
3、/p><p> 3.1 系統(tǒng)設計的要求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)詳細設計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)著它的重要性能指標。目前大部分微波爐控制器采用單片機進行設計,電路比較復雜,性能不夠靈活。本文采用先進的EDA
7、技術(shù),利用ALTIUM DESIGNER工作平臺和VHDL設計語言,設計了一種新型的微波爐控制器系統(tǒng)。該系統(tǒng)具有系統(tǒng)復位、時間設定、烹飪計時等功能,在 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)所完成的電路設計,可以經(jīng)過簡單的綜合與布局,快速的燒錄至 FPGA 上進行測試,是現(xiàn)代 IC 設計驗證的技術(shù)
9、主流。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(比如 AND、OR、XOR、 NOT)或者更復雜一些的組合功能比如解碼器或數(shù)學方程式。在大多數(shù)的 FPGA 里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的 記憶塊。</p><p> 系統(tǒng)設計師可以根據(jù)需要通過可編輯的連接把 FPGA 內(nèi)部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品
10、FPGA 的邏輯塊和連 接可以按照設計者而改變,所以 FPGA 可以完成所需要的邏輯功能。</p><p> FPGA一般來說比 ASIC(專用集成芯片)的速度要慢,無法完成復雜的設計,而且消耗更多的電能。但是他們也有很多的優(yōu)點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA。因為這些芯片有比較差的可編輯能力,所以這些設計的開發(fā)是在普通的FPGA上完成
11、的,然后將設計轉(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的語言形式和描述風格與句法是十分類似于一般的計算機 高級語言。VHDL的程序結(jié)構(gòu)特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設計
13、就可以直接調(diào)用這個實體。這種將設計實 體分成內(nèi)外部分的概念是 VHDL 系統(tǒng)設計的基本點。 </p><p> VHDL語言能夠成為標準化的硬件描述語言并獲得廣泛應用,它自身必然具有 很多其他硬件描述語言所不具備的優(yōu)點。歸納起來,VHDL 語言主要具有以下優(yōu)點: </p><p> VHDL 語言功能強大,設計方式多樣 VHDL 語言具有強大的語言結(jié)構(gòu), 只需采用簡單明確的 VHDL
14、語言程序就可以 述十分復雜的硬件電路。同時, 它還具有多層次的電路設計描述功能。此外,VHDL 語 言能夠同時支持同步電路、異步電路和隨機電路的設計實現(xiàn),這是其他硬件描述語言 所不能比擬的。VHDL 語言設計方法靈活多樣,既支持自頂向下的設計方式,也支 持自底向上的設計方法;既支持模塊化設計方法,也支持層次化設計方法。 </p><p> ?。?)VHDL 語言具有強大的硬件描述能力 VHDL 語言具有多層次的電
15、路設計描述功能,既可描述系統(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 語言的設計描述與器件無關(guān) 采用 VHDL 語言描述硬件電路時,設計人員并不需要首先考慮選擇進行設計的 器件。這樣做的好處是可以使設計人員集
17、中精力進行電路設計的優(yōu)化,而不需要考慮 其他的問題。當硬件電路的設計描述完成以后,VHDL 語言允許采用多種不同的器 件結(jié)構(gòu)來實現(xiàn)。 (5)VHDL 語言程序易于共享和復用 VHDL 語言采用基于庫 (library)的設計方法。在設計過程中,設計人員可以建 立各種可再次利用的模塊,一個大規(guī)模的硬件電路的設計不可能從門級電路開始一步步地進行設計,而是一些模塊的累加。這些模塊可以預先設計或者使用以前設計中的存檔模塊,將這些模塊存放在庫中,
18、就可以在以后的設計中進行復用。 </p><p> 由于 VHDL 語言是一種描述、模擬、綜合、優(yōu)化和布線的標準硬件描述語言, 因此它可以使設計成果在設計人員之間方便地進行交流和共享,從而減小硬件電路設計的工作量,縮短開發(fā)周期。</p><p> 2.3 ALTIUM DESIGNER簡介</p><p> Altium Designer 是原Protel軟件
19、開發(fā)商Altium公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),主要運行在Windows XP操作系統(tǒng)。這套軟件通過把原理圖設計、電路仿真、PCB繪制編輯、拓撲邏輯自動布線、信號完整性分析和設計輸出等技術(shù)的完美融合,為設計者提供了全新的設計解決方案,使設計者可以輕松進行設計,熟練使用這一軟件必將使電路設計的質(zhì)量和效率大大提高。</p><p> Altium Designer 除了全面繼承包括Protel 99SE、Pr
20、otel DXP在內(nèi)的先前一系列版本的功能和優(yōu)點外,還增加了許多改進和很多高端功能。該平臺拓寬了板級設計的傳統(tǒng)界面,全面集成了FPGA設計功能和SOPC設計實現(xiàn)功能,從而允許工程設計人員能將系統(tǒng)設計中的FPGA與PCB設計及嵌入式設計集成在一起。 由于Altium Designer 在繼承先前Protel軟件功能的基礎(chǔ)上,綜合了FPGA設計和嵌入式系統(tǒng)軟件設計功能,Altium Designer 對計算機的系統(tǒng)需求比先前的版本要高一些。
21、</p><p> 三、微波爐定時控制器的設計方案分析</p><p> 3.1 系統(tǒng)設計的要求</p><p> 現(xiàn)需設計一個微波爐控制器,通過該控制器再配以4個七段數(shù)碼二極管完成微波爐的定時及信息顯示。各信號的功能及要求如下:</p><p> CLK是秒時鐘脈沖輸入,它接收每秒一個時鐘脈沖的節(jié)拍信號。RESET為復位信號,高電平
22、有效,用于芯片的復位功能。TEST為測試信號,高電平有效,用于測試4個七段數(shù)碼二極管工作是否正常。START為開始加熱信號,高電平有效,SET_UP信號為定時設置信號,高電平時可以設置定時時間,DATA為定時的時間,COOK為加熱輸出,另外四個輸出分別表示顯示的定時時間的分和秒。</p><p> 3.2 系統(tǒng)總體功能描述</p><p> 各信號功能及要求如下:</p>
23、<p> CLK是秒時鐘脈沖輸入,它接收每秒一個時鐘脈沖的節(jié)拍信號。RESET為復位信號,高電平有效,用于芯片的復位功能。TEST信號是測試信號,高電平有效,用于測試七段數(shù)碼管工作是否正常。SET_UP是烹調(diào)時間設置控制信號,高電平有效。DATA1是一個16位總線輸入信號,輸入所設置的時間長短,它由高到低分為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)首先處于復位狀態(tài)。在工作是首先按時間設置鍵設置烹調(diào)時間,此時系統(tǒng)輸入DATA1的數(shù)據(jù)作
25、為烹調(diào)所需的時間,然后系統(tǒng)自動回到復位狀態(tài),同時4個七段數(shù)碼管顯示時間信息。在按START鍵后系統(tǒng)進入烹調(diào)狀態(tài)。COOK信號開始為高電平,此時4個七段數(shù)碼管每隔一秒鐘變化一次,用以刷新還剩剩余多少時間結(jié)束烹調(diào)。烹調(diào)結(jié)束后,COOK信號變?yōu)榈碗娖剑瑫rLCD顯示“0000”的信息,同時蜂鳴器發(fā)出提示音,然后系統(tǒng)回到復位狀態(tài)。系統(tǒng)可以通過按RESET鍵隨時回到復位狀態(tài)。在復位狀態(tài)下,按TEST鍵在4個數(shù)碼管上會顯示“8888”的信息,它可以
26、測試LCD工作是否正常。</p><p> 3.3 各模塊的功能實現(xiàn)</p><p> 本系統(tǒng)主要由輸入、控制和顯示部分組成。輸入部分主要完成用戶對控制功能</p><p> 的設置,采用按鍵作為輸入設備??刂撇糠质潜鞠到y(tǒng)的核心,它接收用戶的輸入,完成相應的控制邏輯功能,并將當前的工作狀態(tài)等信息送到顯示部分。顯示部分主要監(jiān)視系統(tǒng)工作狀態(tài)并提示用戶進行控制操作。
27、 </p><p> 3.3.1 輸入模塊</p><p> 本系統(tǒng)采 用鍵盤進行輸入設置,即由一個 4*4 矩陣鍵盤實現(xiàn)數(shù)據(jù)輸入控制。該矩陣鍵盤上16個按鍵分別是:</p><p> 輸入模塊包括時鐘脈沖電路、鍵盤掃描電路、消枓同步電 路和鍵盤譯碼電路,通過該模塊將掃描得到的按鍵值送到控制模塊。</p><p> 3.3.2 狀態(tài)控
28、制模塊</p><p> 控制部分作為整個微波爐控制器系統(tǒng)的核心,它采用 FPGA 芯片作為主控核心, 完成許多復雜的控制和數(shù)據(jù)處理任務。它通過輸入模塊提供的按鍵輸入實現(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ā)光二極管作為火力大小顯示。具體設計時,采用 LCD進行8位顯示,高四位顯示烹飪時間,低四位顯示當前的烹飪狀態(tài)。3個LED顯示火力的大小,其中第一個亮表示小火,第一和第二個亮表示中火,3個全亮表示大火。</p><p> 3.4 系統(tǒng)的工作流程</p><p><b> 四、系統(tǒng)詳細設計</b></p><p&
30、gt;<b> 4.1控制模塊 </b></p><p> 控制模塊是整個微波爐控制器系統(tǒng)的核心,完成許多復雜的控制和數(shù)據(jù)處理任</p><p> 務,它通過輸入模塊提供的按鍵輸入實現(xiàn)數(shù)據(jù)信息裝載處理,控制顯示模塊顯示相應的信息。 控制模塊采FPGA芯片作為主控芯片,其涉及到數(shù)據(jù)的裝載、狀態(tài)控制轉(zhuǎn)換、 烹飪計時等。其中,狀態(tài)控制轉(zhuǎn)換子模塊,其功能是控制微波爐工作
31、過程中的狀態(tài)轉(zhuǎn)換,并發(fā)出相關(guān)控制信號。數(shù)據(jù)裝載子模塊,其功能是根據(jù)按鍵信號設置定時時間、最高溫度、火力檔位,烹調(diào)屬性設置以及烹調(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 圖進行程序設計,在編寫程序代碼實現(xiàn)狀態(tài)轉(zhuǎn)換控制子模塊過程時,首先,如果 RESET=‘1’,則系統(tǒng)復位,當前狀態(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> 時間設置狀態(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)即為時間設置狀態(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> 生成的控制模塊相應的電路符號:</p><p><b> 4.1.2數(shù)據(jù)裝載</b></p><p> 數(shù)據(jù)裝載器,它本質(zhì)上就是一個三選一的數(shù)據(jù)選擇器。根據(jù)其應完成的邏輯功能,本設計可采用一個進程來完成,但由于三個被選擇的數(shù)據(jù)只有一個來自輸入口,因此另兩個被選擇的數(shù)據(jù)則通過進程的說明部分定義兩個常數(shù)來產(chǎn)生。由于裝入測試的數(shù)據(jù)可以用4個
43、8作為顯示測試信息數(shù)據(jù),經(jīng)過八個譯碼器譯碼后顯示測試信息編碼。因此,該常數(shù)應是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 源程序的輸入,編譯、運行,生成相應的電路符號:</p><p&
48、gt; 4.1.3 烹飪計時</p><p> 烹飪計時器JSQ為減計數(shù)計數(shù)器,其最大計時時間為59:59,因此可以編寫一個60進制計數(shù)器來實現(xiàn)。</p><p> 由所學知識可知,計數(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> 生成相應的電路符號:</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> 綜合上述分析,對該控制模塊進行完整設計,連線圖如下: </p><p> 其中,輸入信號 CLK 為時鐘輸入信號,時鐘上升沿敏感;TEST 為數(shù)碼顯示管 測試信號,高電平有效,用于測試顯示管是否正常工作;SETUP 為烹調(diào)時間設置時間,高電平有效時允許設置烹調(diào)時間;DATAIN為數(shù)據(jù)輸入信號,用于設置烹調(diào)時間的長短;STA
57、RT為烹調(diào)開始的控制信號,高電平有效時開始烹調(diào);RESET為復位信號,高電平有效時系統(tǒng)復位。</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)換和輸出相應的控制信號。LOAD_SET 指示數(shù)據(jù)裝載器裝入設置的烹調(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為高電平;否則,當時間設置信號SETUP為高電平時,對應的指示信號 LOAD_SET輸出高電平;當烹飪開始信號START信號為高電平時,對應輸出 COOK為高電平;當復位信號RESET為高電平時,系統(tǒng)復位,恢復初始狀態(tài)。仿真結(jié)果符合模塊設計的要求。<
61、/p><p> 5.2 數(shù)據(jù)裝載器的仿真</p><p> 完成數(shù)據(jù)裝載器子模塊VHDL源程序文件輸入后,保存文件,對文件進行編譯,編寫測試平臺文件進行仿真:</p><p> 其中,輸入信號LOAD_DONE為高電平時,輸出烹調(diào)完畢的狀態(tài)信息數(shù)據(jù);LOAD_SET 為高電平時,輸出設置的烹調(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三路信號中有且僅有一路信號電平有效時,裝載器相應的值作為輸出。</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程序設計,然后進行仿真,調(diào)試,以Altium NB1實驗箱實驗系統(tǒng)
65、為硬件平臺,實現(xiàn)了一個簡單的微波爐控制器系統(tǒng)的設計。在整個畢業(yè)設計過程中,進行了系統(tǒng)的總體設計,硬件設備的選用,軟件和開發(fā)環(huán)境的安裝,VHDL程序設計與仿真。設計的重點主要在系統(tǒng)的規(guī)劃以及程序的設計與調(diào)試上,要做到鍵盤與LCD, LED 燈的一體化,需要在鍵位設置時進行準確的設計,通過鍵盤的掃描,消抖和譯碼,達到一鍵一碼的目的,做到功能的完善。</p><p> 設計的難點主要在功能控制上,數(shù)據(jù)和控制信號較多,
66、狀態(tài)之間的轉(zhuǎn)化也較為</p><p> 復雜,在設計中帶來了一些困難。另外在仿真分析上,因為需要測試的結(jié)果很多,有些結(jié)果無法預料,無法在仿真中看到。</p><p> 本設計也存在一定的不足。由于本身能力和實驗器材的限制,無法在系統(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設計---vhdl設計微波爐控制器
- 微波爐控制器論文
- 數(shù)字電路課程設計微波爐控制器
- eda課程設計---微波爐控制器設計
- eda課程設計---微波爐定時控制器
- eda課程設計---微波爐定時控制器的設置
- 課程設計---基于fpga的微波爐控制器設計
- 基于fpga的微波爐控制器設計
- 畢業(yè)設計--微波爐控制器系統(tǒng)
- 微波爐課程設計---基于微波爐控制系統(tǒng)設計
- 可編程微波爐控制器系統(tǒng)設計
- 簡易微波爐控制器的設計與實現(xiàn)
- eda綜合課程設計報告-----微波爐定時控制器的設計
- 基于fpga的微波爐控制器【開題報告】
- 開題報告---基于fpga的微波爐控制器設計
- 數(shù)電課程設計--微波爐定時控制器的設計與制作
- 畢業(yè)設計---可編程微波爐控制器設計
- 基于fpga的微波爐控制器【畢業(yè)論文】
- 畢業(yè)設計論文--基于fpga的微波爐控制器設計
- 畢業(yè)設計論文--基于fpga的微波爐控制器設計
評論
0/150
提交評論