VHDL微波爐控制器設(shè)計(jì)_第1頁
VHDL微波爐控制器設(shè)計(jì)_第2頁
VHDL微波爐控制器設(shè)計(jì)_第3頁
VHDL微波爐控制器設(shè)計(jì)_第4頁
VHDL微波爐控制器設(shè)計(jì)_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

目錄緒論............................................................2關(guān)鍵技術(shù)簡介...................................................2.1FPGA簡介....................................................2.2VHDL語言概述.22.3ALTIUMDESIGNER簡介.........................................三、微波爐定時(shí)控制器的設(shè)計(jì)方案分析..................................3.1系統(tǒng)設(shè)計(jì)的要求..............................................43.2系統(tǒng)總體功能描述43.3各模塊的功能實(shí)現(xiàn)53.3.1輸入模塊...............................................53.3.2狀態(tài)控制模塊...........................................53.3.3顯示模塊...............................................5四、系統(tǒng)詳細(xì)設(shè)計(jì)....................................................74.1控制模塊.....................................................74.1.1狀態(tài)轉(zhuǎn)換控制...........................................74.1.2數(shù)據(jù)裝載94.1.3烹飪計(jì)時(shí)..............................................104.1.4控制模塊的實(shí)現(xiàn)........................................11五、系統(tǒng)仿真.......................................................5.1狀態(tài)控制器仿真..............................................115.2數(shù)據(jù)裝載器的仿真...........................................125.3烹飪計(jì)時(shí)器的仿真...........................................13六、結(jié)論..........................................................14一、緒論隨著人民生活水平的提高波爐開始進(jìn)人越來越多的家庭給人們的生活帶來了極大的方便。微波爐由2450MHz的超高頻來加熱食物。它省時(shí)、省電、方便和衛(wèi)生。作為現(xiàn)代的烹飪工具,微波爐的控制器體現(xiàn)著它的重要性能指標(biāo)。目前大部分微波爐控制器采用單片機(jī)進(jìn)行設(shè)計(jì),電路比較復(fù)雜,性能不夠靈活。本文采用先進(jìn)的EDA技術(shù),用ALTIUM工作平臺(tái)和VHDL設(shè)計(jì)語言,設(shè)計(jì)了一種新型的微波爐控制器系統(tǒng)該系統(tǒng)具有系統(tǒng)復(fù)位時(shí)間設(shè)定烹飪計(jì)時(shí)等功能,在FPGA上實(shí)現(xiàn)。二、關(guān)鍵術(shù)簡介2.1FPGA介FPGA即現(xiàn)場可編程門陣列,它是在PAL、GALCPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物它是作為專用集成電路(ASIC領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。目前以硬件描述語言(VerilogVHDL所完成的電路設(shè)計(jì),可以經(jīng)過簡單的綜合與布局快速的燒錄至FPGA上進(jìn)行測試是現(xiàn)代IC設(shè)計(jì)驗(yàn)證的技術(shù)主流。這些可編輯元件可以被用來實(shí)現(xiàn)一些基本的邏輯門電路(比如AND、OR、XOR、NOT或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器Flipflop)或者其他更加完整的記憶塊。系統(tǒng)設(shè)計(jì)師可以根據(jù)需要通過可編輯的連接把FPGA內(nèi)部的邏輯塊連接起來就好像一個(gè)電路試驗(yàn)板被放在了一個(gè)芯片里一個(gè)出廠后的成品FPGA的邏輯塊和連接可以按照設(shè)計(jì)者而改變,所以FPGA可以完成所需要的邏輯功能。FPGA一般來說比(專用集成芯片的速度要慢法完成復(fù)雜的設(shè)計(jì),而且消耗更多的電能但是他們也有很多的優(yōu)點(diǎn)比如可以快速成品可以被修改來改正程序中的錯(cuò)誤和更便宜的造價(jià)商也可能會(huì)提供便宜的但是編輯能力差的FPGA。因?yàn)檫@些芯片有比較差的可編輯能力,所以這些設(shè)計(jì)的開發(fā)是在普通的FPGA上完成的,然后將設(shè)計(jì)轉(zhuǎn)移到一個(gè)類似于的芯片上。2.2VHDL言概述VHDL的文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,誕生于1982年1987年底VHDL被IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級(jí)語言。VHDL程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可視部分,及端)和內(nèi)部(或稱不可視部分涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后一旦其內(nèi)部開發(fā)完成后其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。VHDL語言能夠成為標(biāo)準(zhǔn)化的硬件描述語言并獲得廣泛應(yīng)用,它自身必然具有很多其他硬件描述語言所不具備的優(yōu)點(diǎn)歸納起來VHDL語言主要具有以下優(yōu)點(diǎn):(1)VHDL語言功能強(qiáng)大計(jì)方式多樣VHDL語言具有強(qiáng)大的語言結(jié)構(gòu)只需采用簡單明確的VHDL語言程序就可以述十分復(fù)雜的硬件電路。同時(shí),它還具有多層次的電路設(shè)計(jì)描述功能此外VHDL語言能夠同時(shí)支持同步電路異步電路和隨機(jī)電路的設(shè)計(jì)實(shí)現(xiàn)這是其他硬件描述語言所不能比擬的VHDL語言設(shè)計(jì)方法靈活多樣,既支持自頂向下的設(shè)計(jì)方式,也支持自底向上的設(shè)計(jì)方法;既支持模塊化設(shè)計(jì)方法,也支持層次化設(shè)計(jì)方法。(2)VHDL語言具有強(qiáng)大的硬件描述能力VHDL語言具有多層次的電路設(shè)計(jì)描述功能,既可描述系統(tǒng)級(jí)電路,也可以描述門級(jí)電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以采用三者的混合描述方式。同時(shí)VHDL語言也支持慣性延遲和傳輸延遲這樣可以準(zhǔn)確地建立硬件電路的模型。VHDL語言的強(qiáng)大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型。語言既支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類型也支持用戶定義的數(shù)據(jù)類型這樣便會(huì)給硬件描述帶來較大的自由度。VHDL語言具有很強(qiáng)的移植能力VHDL語言很強(qiáng)的移植能力主要體現(xiàn)在:對(duì)于同一個(gè)硬件電路的VHDL語言描述,它可以從一個(gè)模擬器移植到另一個(gè)模擬器上從一個(gè)綜合器移植到另一個(gè)綜合器上或者從一個(gè)工作平臺(tái)移植到另一個(gè)工作平臺(tái)上去執(zhí)行。VHDL語言的設(shè)計(jì)描述與器件無關(guān)采用VHDL語言描述硬件電路時(shí),設(shè)計(jì)人員并不需要首先考慮選擇進(jìn)行設(shè)計(jì)的器件。這樣做的好處是可以使設(shè)計(jì)人員集中精力進(jìn)行電路設(shè)計(jì)的優(yōu)化,而不需要考慮其他的問題。當(dāng)硬件電路的設(shè)計(jì)描述完成以后語言允許采用多種不同的器件結(jié)構(gòu)來實(shí)現(xiàn)(5)VHDL語言程序易于共享和復(fù)用VHDL語言采用基于庫(library)的設(shè)計(jì)方法設(shè)計(jì)過程中,設(shè)計(jì)人員可以建立各種可再次利用的模塊,一個(gè)大規(guī)模的硬件電路的設(shè)計(jì)不可能從門級(jí)電路開始一步步地進(jìn)行設(shè)計(jì)而是一些模塊的累加這些模塊可以預(yù)先設(shè)計(jì)或者使用以前設(shè)計(jì)中的存檔模塊將這些模塊存放在庫中就可以在以后的設(shè)計(jì)中進(jìn)行復(fù)用。由于VHDL語言是一種描述擬綜合優(yōu)化和布線的標(biāo)準(zhǔn)硬件描述語言,因此它可以使設(shè)計(jì)成果在設(shè)計(jì)人員之間方便地進(jìn)行交流和共享而減小硬件電路設(shè)計(jì)的工作量,縮短開發(fā)周期。2.3ALTIUMDESIGNER簡介Altium是原Protel軟件開發(fā)商Altium司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),主要運(yùn)行WindowsXP操作系統(tǒng)。這套軟件通過把原理圖設(shè)計(jì)、電路仿真、PCB繪制編輯、拓?fù)溥壿嬜詣?dòng)布線、信號(hào)完整性分析和設(shè)計(jì)輸出等技術(shù)的完美融合為設(shè)計(jì)者提供了全新的設(shè)計(jì)解決方案使設(shè)計(jì)者可以輕松進(jìn)行設(shè)計(jì),熟練使用這一軟件必將使電路設(shè)計(jì)的質(zhì)量和效率大大提高。AltiumDesigner除了全面繼承包括Protel99SE、ProtelDXP在內(nèi)的先前一系列版本的功能和優(yōu)點(diǎn)外還增加了許多改進(jìn)和很多高端功能該平臺(tái)拓寬了板級(jí)設(shè)計(jì)的傳統(tǒng)界面全面集成了FPGA設(shè)計(jì)功能和設(shè)計(jì)實(shí)現(xiàn)功能從而允許工程設(shè)計(jì)人員能將系統(tǒng)設(shè)計(jì)中的與PCB設(shè)計(jì)及嵌入式設(shè)計(jì)集成在一起。由于Altium在繼承先前Protel軟件功能的基礎(chǔ)上,綜合了FPGA計(jì)和嵌入式系統(tǒng)軟件設(shè)計(jì)功能AltiumDesigner對(duì)計(jì)算機(jī)的系統(tǒng)需求比先前的版本要高一些。三、微波定時(shí)控制器設(shè)計(jì)方案分析3.1系統(tǒng)設(shè)計(jì)的要求現(xiàn)需設(shè)計(jì)一個(gè)微波爐控制器通過該控制器再配以個(gè)七段數(shù)碼二極管完成微波爐的定時(shí)及信息顯示。各信號(hào)的功能及要求如下:CLK是秒時(shí)鐘脈沖輸入,它接每秒一個(gè)時(shí)鐘脈沖的節(jié)拍信號(hào)。為復(fù)位信號(hào),高電平有效,用于芯片的復(fù)位功能TEST為測試信號(hào),高電平有效,用于測試4個(gè)七段數(shù)碼二極管工作是否正常。START為開始加熱信號(hào),高電平有效,SET_UP信號(hào)為定時(shí)設(shè)置信號(hào),高電平時(shí)可以設(shè)置定時(shí)時(shí)間DATA為定時(shí)的時(shí)間,COOK為加熱輸出,另外四個(gè)輸出分別表示顯示的定時(shí)時(shí)間的分和秒。3.2系統(tǒng)總體功能描述各信號(hào)功能及要求如下:CLK是秒時(shí)鐘脈沖輸入,它接每秒一個(gè)時(shí)鐘脈沖的節(jié)拍信號(hào)。為復(fù)位信號(hào),高電平有效,用于芯片的復(fù)位功能TEST信號(hào)是測試信號(hào),高電平有效,用于測試七段數(shù)碼管工作是否正常是烹調(diào)時(shí)間設(shè)置控制信號(hào)電平有效。DATA1一個(gè)16位總線輸入信號(hào),輸入所設(shè)置的時(shí)間長短,它由高到低分為4組,每一組是BCD碼輸入,分別表示分、秒十位、個(gè)位的數(shù)字,如分59秒。START是烹調(diào)開始的控制信號(hào),高電平有效COOK是烹調(diào)進(jìn)行信號(hào),外接用于控制烹調(diào)的繼電器開關(guān),高電平時(shí)表明烹調(diào)已經(jīng)開始或正在進(jìn)行,低電平表示烹調(diào)結(jié)束或沒有進(jìn)行。MIN_H,MIN_L,SEC_H,SEC_L四組七位總線信號(hào),通過態(tài)的顯示完成烹調(diào)所剩的時(shí)間及測試狀態(tài)信息,烹調(diào)完畢的狀態(tài)信息。該微波爐控制器的具體功能要求如下:上電后系統(tǒng)首先處于復(fù)位狀態(tài)。在工作是首先按時(shí)間設(shè)置鍵設(shè)置烹調(diào)時(shí)間此時(shí)系統(tǒng)輸入DATA1的數(shù)據(jù)作為烹調(diào)所需的時(shí)間,然后系統(tǒng)自動(dòng)回到復(fù)位狀態(tài),同4個(gè)七段數(shù)碼管顯示時(shí)間信息。在按START鍵后系統(tǒng)進(jìn)入烹調(diào)狀態(tài)。COOK號(hào)開始為高電平,此時(shí)4個(gè)七段數(shù)碼管每隔一秒鐘變化一次,用以刷新還剩剩余多少時(shí)間結(jié)束烹調(diào)。烹調(diào)結(jié)束后,COOK信號(hào)變?yōu)榈碗娖?,同時(shí)LCD顯示“0000”的信息,同時(shí)蜂鳴器發(fā)出提示音,然后系統(tǒng)回到復(fù)位狀態(tài)統(tǒng)可以通過按鍵隨時(shí)回到復(fù)位狀態(tài)復(fù)位狀態(tài)下,按在4個(gè)數(shù)碼管上會(huì)顯示“8888的信息,它可以測試工作是否正常。3.3各模塊的功能實(shí)現(xiàn)本系統(tǒng)主要由輸入、控制和顯示部分組成。輸入部分主要完成用戶對(duì)控制功能的設(shè)置采用按鍵作為輸入設(shè)備制部分是本系統(tǒng)的核心它接收用戶的輸入,完成相應(yīng)的控制邏輯功能,并將當(dāng)前的工作狀態(tài)等信息送到顯示部分。顯示部分主要監(jiān)視系統(tǒng)工作狀態(tài)并提示用戶進(jìn)行控制操作。3.3.1輸入模塊本系統(tǒng)采用鍵盤進(jìn)行輸入設(shè)置,即由一個(gè)4*4矩陣鍵盤實(shí)現(xiàn)數(shù)據(jù)輸入控制。該矩陣鍵盤上16個(gè)按鍵分別是:輸入模塊包括時(shí)鐘脈沖電路、鍵盤掃描電路、消枓同步電路和鍵盤譯碼電路,通過該模塊將掃描得到的按鍵值送到控制模塊。3.3.2狀態(tài)控制模塊控制部分作為整個(gè)微波爐控制器系統(tǒng)的核心,它采用FPGA芯片作為主控核心,完成許多復(fù)雜的控制和數(shù)據(jù)處理任務(wù)通過輸入模塊提供的按鍵輸入實(shí)現(xiàn)數(shù)據(jù)信息裝載處理并將處理結(jié)果通過顯示模塊顯示出來其涉及到數(shù)據(jù)的裝載狀態(tài)轉(zhuǎn)換控制、烹飪計(jì)時(shí)。3.3.3顯示模塊顯示部分采用LCD和LED來實(shí)現(xiàn)。其中,LCD作為時(shí)間、狀態(tài)顯示,用發(fā)光二極管作為火力大小顯示。具體設(shè)計(jì)時(shí),采用LCD進(jìn)行8顯示,高四位顯示烹飪時(shí)間,低四位顯示當(dāng)前的烹飪狀態(tài)3個(gè)LED顯示火力的大小,其中第一個(gè)亮表示小火,第一和第二個(gè)亮表示中火,3個(gè)全亮表示大火。3.4系統(tǒng)的工作流程開始系統(tǒng)復(fù)位、初始數(shù)據(jù)裝載

測試系統(tǒng)預(yù)置方案

自定義方案選擇解凍、蒸煮,烘烤

N是否閉合Y烹飪N時(shí)間到否Y結(jié)束四、系統(tǒng)細(xì)設(shè)計(jì)4.1控制模塊控制模塊是整個(gè)微波爐控制器系統(tǒng)的核心,完成許多復(fù)雜的控制和數(shù)據(jù)處理任務(wù)它通過輸入模塊提供的按鍵輸入實(shí)現(xiàn)數(shù)據(jù)信息裝載處理控制顯示模塊顯示相應(yīng)的信息??刂颇K采芯片作為主控芯片其涉及到數(shù)據(jù)的裝載狀態(tài)控制轉(zhuǎn)換、烹飪計(jì)時(shí)等。其中,狀態(tài)控制轉(zhuǎn)換子模塊,其功能是控制微波爐工作過程中的狀態(tài)轉(zhuǎn)換并發(fā)出相關(guān)控制信號(hào)數(shù)據(jù)裝載子模塊其功能是根據(jù)按鍵信號(hào)設(shè)置定時(shí)時(shí)間最高溫度火力檔位烹調(diào)屬性設(shè)置以及烹調(diào)數(shù)據(jù)信息裝載烹飪計(jì)時(shí)子模塊其功能是對(duì)時(shí)鐘進(jìn)行減法計(jì)數(shù)提供烹調(diào)完成時(shí)的狀態(tài)信號(hào)音效控制子模塊其功能是控制微波爐工作時(shí)的音效提示這里直接外接一個(gè)蜂鳴器實(shí)現(xiàn)該功能。其功能子模塊圖如下:控制模塊狀態(tài)轉(zhuǎn)換控制子模塊

數(shù)據(jù)裝載子模塊

烹飪計(jì)時(shí)子模塊4.1.1狀態(tài)轉(zhuǎn)換控制根據(jù)微波爐工作流程的描述分析狀態(tài)轉(zhuǎn)換條件及輸出信號(hào)可以得到控制模塊的狀態(tài)轉(zhuǎn)換圖下面,根據(jù)上述狀態(tài)轉(zhuǎn)換圖和ASM圖進(jìn)行程序設(shè)計(jì),在編寫程序代碼實(shí)現(xiàn)狀態(tài)轉(zhuǎn)換控制子模塊過程時(shí),首先,如果RESET=‘則系統(tǒng)復(fù)位,當(dāng)前狀態(tài)為初始狀態(tài),當(dāng)同步時(shí)鐘脈沖,當(dāng)前狀態(tài)為下一狀態(tài),用程序代碼表示如下IFRESET='1'THENCURR_STATE<=DEFAULT;ELSIFCLK'EVENTANDCLK='1'THENCURR_STATE<=;ENDIF;當(dāng)當(dāng)前狀態(tài)為初始狀態(tài)時(shí),LOAD_LED<='0';LOAD_DONE<='0';<='0';此時(shí),顯示測試狀態(tài):WHENLED_TEST=>LOAD_LED<='1';COOK時(shí)間設(shè)置狀態(tài):WHENSETTING=>LOAD_SET<='1';COOK完成信息顯示狀態(tài):WHENFINISHED=>LOAD_DONE<='1';COOK在初始狀態(tài)果按TEST狀態(tài)即為顯示測試狀態(tài)按下“SETUP”鍵下一狀態(tài)即為時(shí)間設(shè)置狀態(tài)果按“START鍵即烹調(diào)開始進(jìn)行時(shí),此時(shí)下一狀態(tài)為減法計(jì)數(shù)定時(shí)狀態(tài),該過程用程序代碼實(shí)現(xiàn)如下:WHENDEFAULT=>IFTEST='1'THENNEXT_STATE<=LED_TEST;LOAD_LED<='1';ELSIFSETUPTHENNEXT_STATE<=SETTING;LOAD_SET<='1';ELSIFTHENNEXT_STATE<=COUNTER;COOK<='1';ENDIF;在減法計(jì)數(shù)定時(shí)狀態(tài)果輸出指示烹調(diào)信息完成下一狀態(tài)為顯示信息完成狀態(tài),顯示烹調(diào)完成信息,否則,下一狀態(tài)還是減法計(jì)數(shù)定時(shí)狀態(tài)高電平有效,用程序代碼實(shí)現(xiàn)如下:WHENCOUNTER=>IFDONE='1'THENNEXT_STATE<=FINISHED;LOAD_DONE<='1';ELSENEXT_STATE<=COUNTER;COOK<='1';ENDIF;生成的控制模塊相應(yīng)的電路符號(hào):4.1.2數(shù)據(jù)裝載數(shù)據(jù)裝載器本質(zhì)上就是一三選一的數(shù)據(jù)選擇器據(jù)其應(yīng)完成的邏輯功能,本設(shè)計(jì)可采用一個(gè)進(jìn)程來完成,但由于三個(gè)被選擇的數(shù)據(jù)只有一個(gè)來自輸入口,因此另兩個(gè)被選擇的數(shù)據(jù)則通過進(jìn)程的說明部分定義兩個(gè)常數(shù)來產(chǎn)生于裝入測試的數(shù)據(jù)可以用4個(gè)8作為顯示測試信息數(shù)據(jù)過八個(gè)譯碼器譯碼后顯示測試信息編碼此常數(shù)應(yīng)是8個(gè)分段的4BCD碼1000100010001000同理的BCD碼分別0000000000000000顯示DONE的?!?000通過上述分析,該模塊的主要程序可實(shí)現(xiàn)如下:PROCESS(DATA1,LOAD_LED,LOAD_SET,)ISCONSTANTTEST8:STD_LOGIC_VECTOR(15DOWNTO0):=X"8888";CONSTANTSTD_LOGIC_VECTOR(15DOWNTO;VARIABLETEMP:STD_LOGIC_VECTORDOWNTO0);BEGINLOAD<=LOAD_LEDORLOAD_DONEORLOAD_SET;TEMP:=LOAD_LED&LOAD_DONE&LOAD_SET;CASETEMPISWHEN"100"=>DATA2<=TEST8;WHEN"010"=>DATA2<=COOKED;WHEN"001"=>DATA2<=DATA1;WHENOTHERSNULL;ENDCASE;ENDPROCESS;完成VHDL源程序的輸入,編譯、運(yùn)行,生成相應(yīng)的電路符號(hào)4.1.3烹飪計(jì)時(shí)烹飪計(jì)時(shí)器JSQ為減計(jì)數(shù)計(jì)數(shù)器,其最大計(jì)時(shí)時(shí)間為,因此可以編寫一個(gè)60進(jìn)制計(jì)數(shù)器來實(shí)現(xiàn)。由所學(xué)知識(shí)可知計(jì)數(shù)的功能是累計(jì)輸入脈沖的個(gè)數(shù)實(shí)現(xiàn)計(jì)數(shù)功能的數(shù)字電路即計(jì)數(shù)器被計(jì)數(shù)的脈沖可以是周期性脈沖也可以是非周期性脈沖通常加在計(jì)數(shù)器的時(shí)鐘脈沖輸入端,作為計(jì)數(shù)器的時(shí)鐘脈沖。計(jì)數(shù)器的代碼如下:IF(CLK'EVENTANDCLK='1')THENIF(TIME1(3DOWNTO0)="0000")THENTIME1(3DOWNTO0)<="1001";IF(TIME1(7DOWNTO4)="0000")THENTIME1(7DOWNTO4)<="0101";IF(TIME1(11DOWNTO8)="0000")THENTIME1(11DOWNTO8)<="1001";IF(TIME1(15DOWNTO12)="0000")THENTIME1(15DOWNTO12)<="0101";ELSETIME1(15DOWNTO12)<=TIME1(15DOWNTO12)-1;ENDIF;ELSETIME1(11DOWNTO8)<=TIME1(11DOWNTO8)-1;ENDIF;ELSETIME1(7DOWNTO4)<=TIME1(7DOWNTO4)-1;ENDIF;ELSETIME1(3DOWNTO0)<=TIME1(3DOWNTO0)-1;ENDIF;ENDIF;生成相應(yīng)的電路符號(hào):其中TIME_OUT[3..0]表示秒個(gè)位,TIME_OUT[7..4]表示秒的十位,TIME_OUT[11..8]示分的個(gè)位,TIME_OUT[15..12]示分的十位。輸入信號(hào)LOAD為高電平時(shí)完成信號(hào)的載入;COOK號(hào)為高電平時(shí),在每個(gè)時(shí)鐘周期的上升沿進(jìn)行減法計(jì)數(shù)。輸出信號(hào)DONE表示烹調(diào)時(shí)間到。4.1.4控制模塊的實(shí)現(xiàn)綜合上述分析,對(duì)該控制模塊進(jìn)行完整設(shè)計(jì),連線圖如下:其中,輸入信號(hào)為時(shí)鐘輸入信號(hào),時(shí)鐘上升沿敏感TEST為碼顯示管測試信號(hào),高電平有效,用于測試顯示管是否正常工作為烹調(diào)時(shí)間設(shè)置時(shí)間,高電平有效時(shí)允許設(shè)置烹調(diào)時(shí)間;DATAIN為數(shù)據(jù)輸入信號(hào),用于設(shè)置烹調(diào)間的長短為調(diào)開始的控制信號(hào),高電平有效時(shí)開始烹調(diào)RESET為復(fù)位信號(hào),電平有效時(shí)系統(tǒng)復(fù)位。DATAOUT[3..0],DATAOUT[7..4],DATAOUT[15..12]別表示秒個(gè)位、秒十位、分個(gè)位、分十位。他們分別接8位的搞死為,動(dòng)態(tài)地顯示完成烹調(diào)所剩的時(shí)間以及測試狀態(tài)信息“五、系統(tǒng)真5.1態(tài)控制器仿真完成狀態(tài)轉(zhuǎn)換控制器KZQ子模塊VHDL源程序文件輸入后,保存文件,對(duì)文件進(jìn)行編譯,然后編寫測試平臺(tái)文件進(jìn)行仿真:其中輸入信號(hào)為RESETSETUPSTARTTESTCLKDONE輸出信號(hào)為COOK、LOAD_TEST、LOAD_SETLOAD_DONE。控制器根據(jù)輸入信號(hào)和自身當(dāng)時(shí)所處的狀態(tài)完成狀態(tài)的轉(zhuǎn)換和輸出相應(yīng)的控制信號(hào)LOAD_SET指示數(shù)據(jù)裝載器裝入設(shè)置的烹調(diào)時(shí)間數(shù)據(jù);LOAD_DONE指示轉(zhuǎn)載起裝入烹調(diào)完畢的狀態(tài)信息“0000”的顯示驅(qū)動(dòng)信息數(shù)據(jù)LOAD_TEST指示裝載器裝入用于測試的數(shù)“8888以顯示驅(qū)動(dòng)信息數(shù)據(jù);COOK指示烹調(diào)正在進(jìn)行之中,并提示計(jì)時(shí)器進(jìn)行減計(jì)數(shù)。仿真結(jié)果如圖:分析該仿真文件,可以看到,當(dāng)測試信號(hào)TEST高電平有效時(shí),測試輸出信號(hào)LOAD_TEST為高電平;否則,當(dāng)時(shí)間設(shè)置信SETUP為高電平時(shí),對(duì)應(yīng)的指示信

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論