【正文】
器 AD590的輸出經(jīng)過放大器后,將電壓引入 ADC0809 的 Vin (+) 管腳 , 由 ADC0809 進行模數(shù)轉(zhuǎn)換 。 AD590 用于模擬微波爐內(nèi)食品的溫度, AD590 溫度傳感器的感測能力是溫度每升高 1K 就增加 1μA的電量,該電流流入 10kΩ 電阻后,將產(chǎn)生 10mV()的電壓。由六進制計數(shù)器和十進制計數(shù)器級聯(lián)構(gòu)成的計時器內(nèi)部組成原理圖如圖 所示: 西南石油大學(xué)本科畢業(yè)設(shè) 計(論文) 圖 JSQ 的內(nèi)部組成原理圖 這里,計時器相應(yīng)的頂層文件電路符號如圖 所示: 圖 JSQ 電路符號 其中,輸入信號 LOAD 為高電平時完成信號的載入; COOK 信號為高電平時,在每個時鐘周期的上升沿進行減法計數(shù)。 ELSE CQI=CQI39。 因此,根據(jù)減法計數(shù)器隨計數(shù)脈沖的不斷輸入而遞減計數(shù),在具體設(shè)計該十進制減法計數(shù)器和六進制減法計數(shù)器過程中,可以當(dāng)計數(shù)值減到 0 時,其計 數(shù)器的數(shù)值自動轉(zhuǎn)為定時設(shè)定時間,在十進制計數(shù)器的設(shè)計過程中,可表達為: IF CQI=0000 THEN CQI=1001。 END PROCESS。 LOAD_TEST =1 WHEN 010 = DATA2=DONE。 TEMP:=LD_TEST amp。 西南石油大學(xué)本科畢業(yè)設(shè) 計(論文) 通過上述分析,該模塊的主要程序可實現(xiàn)如下: PROCESS(DATA1,LD_TEST,LD_CLK,LD_DONE) IS CONSTANT ALLS:STD_LOGIC_VECTOR(15 DOWNTO 0):=1000100010001000。 生成 的控制模塊 相應(yīng)的電路符 號,如圖 所示: R ESE TSET _TST AR TTESTC LKD O N EC O O KLD _T ESTLD _C LKLD _D O N EALA R MKZ Qins t4 圖 KZQ 電路符號 . 數(shù)據(jù)裝載 數(shù)據(jù)裝載器 ZZQ,它本質(zhì)上就是一個三選一的數(shù)據(jù)選擇器。 ELSE NEXT_STATE=TIMER。139。 COOK=39。139。 THEN NEXT_STATE=SET_CLOCK。 LD_TEST=39。039。039。039。039。039。 END IF。 ELSIF CLK39。 S E T _ T / C O O KO T H E R W I S E/ A L L O U T P U T = 0 圖 控制模塊狀態(tài)轉(zhuǎn)換圖 圖中,當(dāng) RESET 信號 有效時,系統(tǒng)復(fù)位清零;輸入 /輸出對應(yīng)時間溫度設(shè)置、顯示譯碼測試、完成信號顯示和減法計數(shù)定時四種狀態(tài)進行相應(yīng)的轉(zhuǎn)換。如圖 所示: 時 間 、 溫 度設(shè) 置 狀 態(tài)S E T _ C L O C K顯 示 譯 碼測 試 狀 態(tài)L A M P _ T E S T完 成 信 息顯 示 狀 態(tài)D O N E _ M S G減 法 計 數(shù)定 時 狀 態(tài)T I M E R初 始 狀 態(tài)I D L EX / L D _ T E S TT E S T / L D _ T E S TS E T _ T amp。烹飪計時子模塊,其功能是對時鐘進行減法計數(shù),提供烹調(diào)完成時的狀態(tài)信號 。 西南石油大學(xué)本科畢業(yè)設(shè) 計(論文) 生成 相應(yīng)的電路符號 , 如圖 所示: C LKKE Y _I N [3. .0]OU T _C LKOU T _D AT A[ 15. .0]k ey boar dins t 圖 輸 入 模塊電路符號圖 . 控制模塊設(shè)計 控制模塊是整個微波爐控制器系 統(tǒng)的核心,完成許多復(fù)雜的控制和數(shù)據(jù)處理任務(wù),它通過輸入模塊提供的按鍵輸入實現(xiàn)數(shù)據(jù)信息裝載處理, 控制 顯示模塊顯示 相應(yīng)的 信息。 WHEN 01110111= K_VALUE=15。 WHEN 10110111= K_VALUE=11。 WHEN 11010111= K_VALUE=7。 WHEN 11100111= K_VALUE=3。139。 程序設(shè)計如下: key_decode : PROCESS(SC_CLK) BEGIN Z=KEY_DRV amp。 鍵掃信號 END PROCESS。)THEN Q=Q+1。 因此,鍵盤掃描的頻率取 100KHz,消抖時鐘頻率取200KHz。按照這個想法,只需設(shè)置一個倒數(shù)計數(shù)器,當(dāng)每次讀到的非空掃描碼與上一次的相同,就將計數(shù)器加 1;而當(dāng)一旦讀到不同的掃描碼或空碼則立即將計數(shù)器清 0。 表 nm 行列矩陣對應(yīng)關(guān)系表 KEY_DRV3 ~ KEY_DRV0 KEY_IN3 ~ KEY_IN0 對應(yīng)的按鍵 1110 1110 1 1101 2 1011 3 0111 4 1101 1110 5 1101 6 1011 7 0111 8 1011 1110 9 1101 0 1011 A 0111 B 0111 1110 C 1101 D 1011 E 0111 F 鍵盤掃描電路是用來產(chǎn)生掃描信號 KEY_DRV[3..0],其變化為周期性的有規(guī)律的變化 (1110 1101 1011 0111),停留在每個狀態(tài)的時間由按鍵的機械物理特性決定,按鍵在閉合和斷開的瞬太短的按鍵掃描時間容易采集到按鍵抖動,太長 的掃描時間容易丟失某些較快的按鍵信息。列線通過上拉電阻截止 +5V 電壓,即列線的輸出被定位到高電平狀態(tài) ;判斷有無按鍵按下時通過行線送出掃描信號,然后列線讀取狀態(tài)得到。 掃描鍵盤時鐘 CLK_DEB : OUT STD_LOGIC 鍵盤消抖 動時鐘 一般消抖動信號時鐘 頻率必須比其它的電路使用的脈沖信號頻率更高 ,一般消抖動頻率是鍵盤掃描或 LED 頻率的 4 倍或更高。 . 鍵盤掃描 鍵盤處理的重要環(huán)節(jié)是時序產(chǎn)生、鍵盤掃描和按鍵消抖,以下分別針對所涉及到的電路進行描述。 根據(jù)系統(tǒng) 工作流程 ,繪制主程序流程圖, 如圖 所示: 西南石油大學(xué)本科畢業(yè)設(shè) 計(論文) 圖 系統(tǒng)工作 流程 圖 基于 FPGA 的微波爐控制器設(shè)計 4. 系統(tǒng)詳細設(shè)計 . 輸入模塊設(shè)計 輸入模塊采用 4*4 矩陣鍵盤作為輸入設(shè)備,實現(xiàn)數(shù)據(jù)輸入控制。按 TEST 鍵 , 數(shù)碼管和發(fā)光二極管全亮、全滅交替閃爍 , 可以測試數(shù)碼管 和指示燈 工作是否正常。具體設(shè)計時,采用 4 位 LED 數(shù)碼管顯示加熱倒計時, 3 位 LED數(shù)碼管顯示當(dāng)前溫度值, 1 位 LED 數(shù)碼管顯示當(dāng)前火力檔位。其涉及到數(shù)據(jù)的裝載、狀態(tài)轉(zhuǎn)換控制、烹飪計時、溫度控制、火力控制、音響效應(yīng)提示等。該矩陣鍵盤上 16個按鍵分別是: 10Min 1Min/100℃ /High 10Sec/10℃ /Middle 1Sec/1℃ /Low ▲/+1 復(fù)位 暫停 /取消 測試 ▼/1 火力設(shè)定 溫度設(shè)定 時間設(shè)置 烹調(diào) 烘烤 解凍 開始 /確認(rèn) 。輸入部分主要完成用戶對控制功能的設(shè)置,采用按鍵作為輸入設(shè)備。 開始 /確認(rèn) :在選擇烹調(diào)、烘烤、解凍或者設(shè)置時間、設(shè)定溫度、選擇火力等烹飪參數(shù)后,按下此鍵,開始進行烹飪。按下該鍵,進入調(diào)整 10Min 1Min/100℃ /High 10Sec/10℃ /Middle 1Sec/1℃ /Low ▲/+1 ▼/1 按鍵狀態(tài)。按下該鍵,進入選擇 1Min/100℃ /High 10Sec/10℃ /Middle 1Sec/1℃ /Low 按鍵狀態(tài)。同理,溫度設(shè)定操作如上。 10Min 1Min/100℃ /High 10Sec/10℃ /Middle 1Sec/1℃ /Low: 四個鍵用于設(shè)定加熱時間、最高溫度或者選擇火力檔位。 以下是該系統(tǒng)總體框圖,如圖 所示: 圖 微波爐控制器系統(tǒng)總體框圖 該控制器系統(tǒng)在 EDA 實驗箱上實現(xiàn)的 外觀布局如圖 所示。這些操作都可以利用 Quartus II 軟件實現(xiàn)。 Quartus II 軟件能夠編譯 HardCopy Stratix 器件,從 而提供了高性能低成本器件的解決方法。然而, Quartus II 軟件能夠輕松地實現(xiàn)后期設(shè)計更改。用戶可以使用設(shè)計空間搜索器( DSE)采用自動技術(shù),是寄存器到寄存器設(shè)計性能平均提高 21%。 更快的時序逼近 Quartus II 軟件用戶能夠利用強大的時序逼近流程特性來優(yōu)化設(shè)計,使其超過按鍵式編譯結(jié)果的性能。 . Quartus II 開發(fā)系統(tǒng)簡介 Altera 公司的 Quartus II 開發(fā)系統(tǒng)以其獨特的設(shè)計理念,為用戶提供了一種全新的可編程邏輯器件開發(fā)系統(tǒng)。 (5) VHDL 語言程序易于共享和復(fù)用 VHDL 語言采用基于庫 ( library) 的設(shè)計方法。 (3) VHDL 語言具有很強的移植能力 VHDL 語言很強的移植能力主要體現(xiàn)在:對于同一個硬件電路的 VHDL 語言描述,它可以從一個模擬器移植到另一個模擬器上,從一個綜合器移植到另一個綜合器上,或者從一個工作平臺移植到另一個工作平臺上去執(zhí)行。 (2) VHDL 語言具有強大的硬件描述能力 VHDL 語言具有多層次的電路設(shè)計描述功能,既可描述系統(tǒng)級電路,也可以描述門級電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以采用三者的混合描述方式。歸納起來, VHDL 語言主要具有以下優(yōu)點: (1) VHDL 語言功能強大,設(shè)計方式多樣 VHDL 語言具有強大的語言結(jié)構(gòu) , 只需采用簡單明確的 VHDL 語言程序就可以述十分復(fù)雜的硬件電路。 VHDL 的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分 ,及端口 )和內(nèi)部(或稱不可西南石油大學(xué)本科畢業(yè)設(shè) 計(論文) 視部分),既涉及實體的內(nèi)部功能和算法完成部分。 . VHDL 語言概述 VHDL 的英文全名是 VeryHighSpeed Integrated Circuit Hardware Description Language,誕生于 1982 年。 FPGA 一般來說比 ASIC(專用集成芯片)的速度要慢,無法完成復(fù)雜的設(shè)計,而且消耗更多的電能。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(比如 AND、 OR、 XOR、NOT)或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。 該系統(tǒng)在功能執(zhí)行時,能實現(xiàn)門開關(guān)檢測、鍵盤輸入掃描、溫度控制、 LED 顯示、工作狀態(tài)指示、蜂鳴等。 該微波爐控制系統(tǒng),除實現(xiàn)常規(guī)的解凍、烹調(diào)、烘烤的基本功能外,還進行了創(chuàng)新設(shè)計,實現(xiàn)了微波爐的自定義設(shè)置。 ? 顯示微波爐控制器的烹調(diào)狀態(tài)。 ? 可以根據(jù)需要設(shè)置烹調(diào)時間的長短,系統(tǒng)最長的烹調(diào)時間 為 59 分 59 秒;開始烹調(diào)后,能夠顯示剩余時間的多少。而現(xiàn)有市售的微波爐其主要弊端為:不能按既有程序進行烹調(diào),需要使用者根據(jù)食物的類型、數(shù)量、溫度等因素去設(shè)定微波爐的工作時間,若設(shè)定的工作時間過長,含水分較多的食物可能會產(chǎn)生過熱碳化 的現(xiàn)象,若時間過短則達不到預(yù)期的烹調(diào)效果。本文采用先進的 EDA 技術(shù) , 利用 Quartus II 工作平臺和 VHDL 設(shè)計語言,設(shè)計了一種新型的微波爐控制器系統(tǒng)。微波爐由 2450MHz 的超高頻來加熱食物。 主要有 以下幾個模塊:輸入模塊、控制模塊 和 顯示模塊。 摘 要 本論文介紹了應(yīng)用 FPGA 芯片和硬件描述語言 (VHDL)設(shè)計微波爐控制器系統(tǒng)的方法。 微波爐控制器系統(tǒng)是一個實用型的系統(tǒng),系統(tǒng)不僅 具有 操作簡單 的功能, 而且烹調(diào)效果好, 你 可以按 照 固定程序 烹調(diào) 一些家常菜, 可以 采取分時、分 不同級別 火力加熱, 既能節(jié)約時間又能節(jié)約能源 。 關(guān)鍵詞: FPGA; VHDL;微波爐;狀態(tài)圖;定時器 Abstract This paper introduces the method that applying FPGA chip and VHDL to design the control system of microwave ovens. The system uses VHDL to fulfill the function of each bottom module and the design of the top layer is pleted via graphic entering. This paper mainly illustrates the idea of module design and description method of state chart and that their application in VHDL and