《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 可編程微波爐控制器的設(shè)計
可編程微波爐控制器的設(shè)計
來源:微型機與應(yīng)用2011年第12期
龔蘭芳, 梁文禎
(廣東水利電力職業(yè)技術(shù)學(xué)院, 廣東 廣州 510630)
摘要: 基于可編程邏輯器件EPM240T100C5,使用硬件描述語言VHDL,采用“自頂向下”的設(shè)計方法,編寫一個微波爐控制器的芯片。介紹了微波爐控制器的設(shè)計思路與模塊劃分,應(yīng)用Quartus II軟件對每個模塊和主程序分別進行了調(diào)試,并硬件下載到開發(fā)板上進行了模擬調(diào)試。
Abstract:
Key words :

摘  要:  基于可編程邏輯器件EPM240T100C5,使用硬件描述語言VHDL,采用“自頂向下”的設(shè)計方法,編寫一個微波爐控制器的芯片。介紹了微波爐控制器的設(shè)計思路與模塊劃分,應(yīng)用Quartus II軟件對每個模塊和主程序分別進行了調(diào)試,并硬件下載到開發(fā)板上進行了模擬調(diào)試。
關(guān)鍵詞: 復(fù)雜可編程邏輯器件; 現(xiàn)場可編程門陣列; 高速集成電路描述語言; Quartus II軟件

 隨著大規(guī)模集成電路技術(shù)和計算機技術(shù)的不斷發(fā)展,在涉及通信、國防、航天、醫(yī)學(xué)、工業(yè)自動化、計算機應(yīng)用、儀器儀表等領(lǐng)域的電子系統(tǒng)設(shè)計工作中,EDA技術(shù)的含量正以驚人的速度上升;電子類的高新技術(shù)項目的開發(fā)也日益依賴于EDA技術(shù)的應(yīng)用。設(shè)計者的工作僅限于利用軟件的方式來完成對系統(tǒng)硬件功能的描述,在EDA工具的幫助下并應(yīng)用相應(yīng)的FPGA/CPLD器件,就可以得到最后的設(shè)計結(jié)果。盡管目標(biāo)系統(tǒng)是硬件,但整個設(shè)計和修改過程如同完成軟件設(shè)計一樣方便和高效,從而使產(chǎn)品的開發(fā)周期大為縮短、性能價格比大幅提高。不言而喻,EDA技術(shù)將迅速成為電子設(shè)計領(lǐng)域中的極其重要的組成部分。
1 系統(tǒng)硬件設(shè)計框圖
    本系統(tǒng)設(shè)計采用Altera MAXⅡ系列性價比較高的EPM240T100C5可編程邏輯器件作為信號處理及系統(tǒng)控制核心,完成包括分頻、計數(shù)、顯示等一系列工作,結(jié)合所需的外圍模塊,組成一個最小系統(tǒng),完成按鍵控制、LED顯示、音頻提示。總體設(shè)計如圖1所示。

    利用CPLD/FPGA可編程的特點,使電路大為簡化,利用軟件Quartus II和硬件描述語言VHDL對數(shù)字系統(tǒng)進行編程、調(diào)試和仿真,使得設(shè)計、調(diào)試方便便捷,充分地發(fā)揮了CPLD/FPGA的優(yōu)勢及特點。
2 微波爐控制器的整體設(shè)計方案
 根據(jù)該微波爐的功能設(shè)計要求,軟件設(shè)計可由:分頻器、狀態(tài)控制器、 數(shù)據(jù)裝載器大、計時器、顯示器、微波加熱信號鎖存器6個模塊組成。各模塊之間的關(guān)系如圖2所示。

2.1 分頻器fredivn的設(shè)計
 在接口電路中,時鐘信號的作用至關(guān)重要,一般CPLD的外部時鐘信號可達到幾十MHz,但是由于一些接口電路的特性所致,這樣高頻率的時鐘不適合電路工作,所以應(yīng)該引入時鐘分頻電路產(chǎn)生適合接口的工作頻率。分頻模塊的設(shè)計用于產(chǎn)生合適的掃描時鐘、計數(shù)時鐘和閃爍時鐘,其外部接口如圖3所示。時鐘發(fā)生器的輸入是全局時鐘clk,是從50 MHz的石英晶振得到的信號。輸出信號是掃描時鐘clk 1 kHz、clk 5 Hz和clk 1 Hz。
    部分關(guān)鍵程序如下:
------1 kHz分頻---------------
process(clk)
variable count0:integer range 0 to 24999;
begin
if clk'event and clk='1' then
    if count0=24999 then
           clk0<=not clk0;
           count0:=0;
           else count0:=count0+1;
    end if;
end if;
clk1kHz<=clk0;
end process;
------5 Hz分頻---------------
process(clk0)
variable count1:integer range 0 to 99;
begin
if clk0'event and clk0='1' then
     if count1=99 then clk1<=not clk1;count1:=0;
           else count1:=count1+1;
     end if;
end if;
clk5 Hz<=clk1;
end process;
-----1 Hz分頻-----------------
process(clk0)
variable count2:integer range  0 to 499;
begin
if clk0′event and clk0=′1′ then
     if count2=499 then clk2<=not clk2;count2:=0;
           else count2:=count2+1;
        end if;
end if;
clk1Hz<=clk2;
end process;
end;

2.2 狀態(tài)控制器state的設(shè)計
 通常狀態(tài)機是控制單元的主體,它接收外部信號及數(shù)據(jù)單元產(chǎn)生的狀態(tài)信息,產(chǎn)生控制信號。微波爐狀態(tài)控制器state的功能是控制微波爐工作過程中的狀態(tài)轉(zhuǎn)換,并發(fā)出有關(guān)控制信息,因此可用一個狀態(tài)機實現(xiàn)。通過對微波爐工作過程中的轉(zhuǎn)換條件及輸出信號進行分析,可得到其狀態(tài)轉(zhuǎn)換圖如圖4所示。

    該狀態(tài)機有8個狀態(tài)。當(dāng)狀態(tài)機的reset信號為0時,狀態(tài)機復(fù)位到idle狀態(tài),當(dāng)reset信號為1時,狀態(tài)機處于工作狀態(tài)或待機狀態(tài)。狀態(tài)機的轉(zhuǎn)換關(guān)系是:當(dāng)前狀態(tài)是idle狀態(tài),在時鐘上升沿到來時,如果輸入信號test=0或stall_1=0或stall_2=0或stall_3=0,則轉(zhuǎn)入下一狀態(tài)tap1或tap2或tap3或tap4, 否則仍停留在idle狀態(tài),實現(xiàn)了微波爐上電復(fù)位時處于待機狀態(tài)。當(dāng)test=0時,狀態(tài)機轉(zhuǎn)入測試狀態(tài)tap1。當(dāng)stall_1=0或stall_2=0或stall_3=0時,狀態(tài)機轉(zhuǎn)入檔位狀態(tài)tap2或tap3或tap4其中一個狀態(tài)后,而這三個狀態(tài)之間也可以相互轉(zhuǎn)換。在每一個檔位狀態(tài)內(nèi),同時也嵌入了計數(shù)狀態(tài)tap5,只要設(shè)置好輸入時間,如果start=0則可以進入計時狀態(tài),否則仍停留在其中狀態(tài)之一內(nèi)。當(dāng)處于計時狀態(tài)時,如果stop=0,則轉(zhuǎn)入停止?fàn)顟B(tài)tap6,使微波爐處于停止工作狀態(tài),而停止?fàn)顟B(tài)tap6與計時狀態(tài)tap5之間也是可以相互轉(zhuǎn)換的,當(dāng)start=0,則轉(zhuǎn)回計時工作狀態(tài),否則仍停留在停止?fàn)顟B(tài)tap6。當(dāng)計時完畢,則由計數(shù)器輸出done=1信號,從計時工作狀態(tài)tap5轉(zhuǎn)換到結(jié)束狀態(tài)tap7。不管處于哪個狀態(tài),只要reset為0,則狀態(tài)機會立刻轉(zhuǎn)換為初始狀態(tài)idle。
 狀態(tài)機state的外部接口如圖5所示。

2.3 數(shù)據(jù)裝載器data的設(shè)計
 數(shù)據(jù)裝載模塊的控制信號基本是從狀態(tài)機輸出的信號中得到的。其功能主要是實現(xiàn)時間數(shù)據(jù)的輸入、微波爐控制器當(dāng)前狀態(tài)數(shù)據(jù)的輸出。當(dāng)處于復(fù)位狀態(tài)時數(shù)據(jù)“0000 0”將會送到寄存器內(nèi),寄存器再把數(shù)據(jù)送到數(shù)據(jù)輸出端口;在測試狀態(tài)時數(shù)據(jù)“8888 8”會被送到寄存器內(nèi),寄存器再把數(shù)據(jù)送到數(shù)據(jù)輸出端口;在結(jié)束狀態(tài)時數(shù)據(jù)為“donE 0”會被送到寄存器內(nèi),寄存器再把數(shù)據(jù)送到數(shù)據(jù)輸出端口。在啟動檔位時,檔位數(shù)據(jù)也會被輸入到寄存器中,這時就可以輸入時間數(shù)據(jù),時間數(shù)據(jù)的輸入有4位——分高位min_h、分低位min_l、秒高位sec_h、秒低位sec_l,每一個時間數(shù)據(jù)的輸入也會送到寄存器內(nèi),再送到數(shù)據(jù)的輸出端口。其中bn和sn是閃爍使能信號的輸出。數(shù)據(jù)裝載器的輸入與輸出端口如圖6所示。

2.4 計數(shù)器counter的設(shè)計
    根據(jù)設(shè)計要求,counter為減數(shù)計數(shù)器,其最大計時99:59。因此可以用3個十進制計數(shù)器和1個六進制計數(shù)器級聯(lián)構(gòu)成。計數(shù)器的工作與狀態(tài)機的狀態(tài)有關(guān),當(dāng)狀態(tài)機處在復(fù)位狀態(tài)、測試狀態(tài)、停止?fàn)顟B(tài)、結(jié)束狀態(tài)、檔位狀態(tài)都屬于不工作狀態(tài),只有在計數(shù)狀態(tài)時,才會工作。計數(shù)器如果進入了停止?fàn)顟B(tài),會保留當(dāng)前計數(shù)值,當(dāng)再次按下開始鍵時,計數(shù)器由當(dāng)前值開始計數(shù)。
    4個計數(shù)器的計數(shù)使能端相連、置數(shù)使能端相連,實現(xiàn)同時計數(shù)和同時置數(shù)。第一個計數(shù)器的計數(shù)脈沖是從1 kHz輸入的,第二個計數(shù)器的計數(shù)脈沖clk與第一個計數(shù)器的進位cn相連,第三個計數(shù)器的計數(shù)脈沖clk與第二個計數(shù)器的進位相連cn,第四個計數(shù)器的計數(shù)脈沖clk與第三個計數(shù)器的進位cn相連,設(shè)計中使用了庫中的一個4輸入與門,所有進位輸出都連接到4輸入與門,當(dāng)?shù)褂嫊r結(jié)束,done輸出“1”信號。
2.5 微波加熱信號鎖存器latch_cook的設(shè)計
 對于latch_cook的設(shè)計,主要用來鎖存微波信號,數(shù)據(jù)的輸入由狀態(tài)控制得到,當(dāng)啟動檔位1時,st1_en輸出信號為1、st1_en輸出信號為0、st1_en輸出信號為0,1_en與d1相連、 st2_en與d2相連、 st3_en與d3相連,也就是d1d2d3輸入端口的數(shù)據(jù)是啟動檔位1的輸出數(shù)據(jù)“001”。同理,當(dāng)啟動檔2時,d1d2d3輸入端口的數(shù)據(jù)為“010”,啟動檔位3時,d1d2d3輸入端口的數(shù)據(jù)為“011”,其他狀態(tài)時latch_cook模塊設(shè)計中使用了兩個進程。第一個進程是把輸入微波信號賦給寄存器q,當(dāng)g使能信號為1時,判斷是哪個檔位微波加熱信號后,再對寄存器q進行賦值。使能端g是從load_en取得信號值的。輸出load_en為1信號只有復(fù)位、測試、結(jié)束、檔位這幾個工作狀態(tài)。其中只有在檔位狀態(tài)時才能觸發(fā)進程,其他都不能。第二個進程是對微波信號的鎖存控制,eo與計數(shù)使能端相連,只有在計數(shù)時才能觸發(fā)進程,使cook輸出信號值,否則cook輸出高阻抗信號。latch_cook的輸入、輸出端口如圖7所示。

    部分關(guān)鍵程序如下:
architecture one of latch_cook is
signal q:std_logic_vector(2 downto 0);
signal s:std_logic_vector(2 downto 0);
begin
s<=d1&d2&d3;
process(s)
begin
if g='1'then
case s is
    when"001"=>q<="001";--檔位3
    when"010"=>q<="010";--檔位2
    when"100"=>q<="100";--檔位1
    when others=>null;
    end case;
end if;
end process;

process(oe)
begin
if oe='1'then--輸出信號
    cook<=q;
else
cook<="ZZZ";--呈現(xiàn)高阻抗
end if;
end process;
end;
2.6 顯示譯碼器LED的設(shè)計
 對于顯示電路,硬件上使用了串行連接的設(shè)計,即每個數(shù)碼管對應(yīng)的引腳都接在一起,通過控制公共端控制相應(yīng)數(shù)碼管的亮滅(共陰極數(shù)碼管的公共端為高電平時,LED不亮;共陽極的公共端為低電平時,LED不亮)。
    因此,在顯示模塊里有4個進程實現(xiàn)設(shè)計——數(shù)碼管動態(tài)掃描計數(shù)進程、數(shù)碼管位動態(tài)掃描進程、數(shù)碼管閃爍顯示進程、譯碼信號進程。顯示模塊工作首先是動態(tài)掃描計數(shù),以1 kHz的掃描頻率進行掃描計數(shù)。掃描所得到的計數(shù)值傳遞到數(shù)碼管位動態(tài)掃描進程中,控制數(shù)碼管的位選信號,即顯示完第一位后,接著顯示第二位,依此類推,一直顯示到第5位,顯示模塊接著繼續(xù)從第一位顯示,從而實現(xiàn)循環(huán)顯示。因為1 kHz的掃描頻率使6個數(shù)碼管看上去是同時顯示的,實現(xiàn)了計數(shù)結(jié)果和狀態(tài)信息的顯示;譯碼信號進程則根據(jù)動態(tài)掃描所得到的信號值,選擇相應(yīng)的顯示數(shù)據(jù),只要計數(shù)器數(shù)據(jù)輸出或狀態(tài)發(fā)生變化,則數(shù)碼管的顯示也發(fā)生相應(yīng)的變化。對于數(shù)碼管閃爍顯示進程,當(dāng)ficker_seg=1時,則段信號與1 Hz頻率相與后再送到輸出端去以1 s的頻率閃爍、一亮一暗、全段滅、全段亮,否則正常輸出段信號。顯示模塊的輸入、輸出端口如圖8所示。

3 系統(tǒng)調(diào)試
 為了能夠準(zhǔn)確地對所編寫的軟件進行調(diào)試,采用EMP240系列開發(fā)板上進行系統(tǒng)調(diào)試。圖9是一個模擬操作系統(tǒng)界面。

   系統(tǒng)調(diào)試的主要步驟如下:
    (1) 在上電復(fù)位時,系統(tǒng)操作界面顯示:00000。微波加熱信號為0。正處于待機狀態(tài)。
    (2)按下TEST測試鍵,5個數(shù)碼管所有段位點亮同時一亮一暗地交替閃爍著。按下復(fù)位鍵,系統(tǒng)返回復(fù)位待機狀態(tài)。
    (3) 右邊有三個檔位控制鍵,在待機狀態(tài)時,只要按下其中一個鍵,就能對時間進行設(shè)定。而三個檔位之間可以相互轉(zhuǎn)換。按下復(fù)位鍵,系統(tǒng)返回復(fù)位待機狀態(tài)。
    (4) 設(shè)定好時間后就可以按下開始鍵,啟動相應(yīng)微波加熱信號,同時進行倒計時計數(shù),如果要停止加熱,則按下停止鍵,系統(tǒng)進入停止?fàn)顟B(tài),微波加熱信號輸出為0,想要再次加熱,則按回開始鍵。按下復(fù)位鍵,系統(tǒng)返回復(fù)位待機狀態(tài)。
    (5) 當(dāng)計時結(jié)束后,輸出done顯示提示,微波加熱信號輸出為0。按下復(fù)位鍵,系統(tǒng)返回復(fù)位待機狀態(tài)。
    本系統(tǒng)以EMP240T100C5為主要控制芯片,綜合運用了Quartus II開發(fā)工具,使用VHDL硬件描述語言,使得系統(tǒng)設(shè)計的硬件功能基本都可以通過軟件編程實現(xiàn),程序經(jīng)過實驗仿真與調(diào)試,各項功能達到了預(yù)定的設(shè)計指標(biāo)。這種設(shè)計方案不僅使電子系統(tǒng)的設(shè)計以及產(chǎn)品性能的改進和擴展變得十分簡單,同時它還代替了原有的許多單元電路或單片機的控制芯片和大量外圍電路,使電子電路設(shè)計更加靈活方便。為實現(xiàn)微波爐以及更多家用電器的信息化和智能化進行了較深入的探索和實踐。
參考文獻
[1] 周潤景,圖雅,張麗敏. 基于QuartusII的FPGA/CPLD數(shù)字系統(tǒng)設(shè)計實例[M]. 北京:電子工業(yè)出版社,2007.
[2] 延明,張亦華. 數(shù)字電路EDA技術(shù)入門[M].北京:北京郵電大學(xué)出版社,2006.
[3] 韓團軍. 基于FPGA微波爐控制器設(shè)計[J].研究與開發(fā), 2010,29(8):64-67.
[4] 劉昌華. 數(shù)字邏輯EDA設(shè)計與實踐—MAX+plusII與QuartusII雙劍合璧[M].北京:國防工業(yè)出版社,2006.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久国产一区二区三区| 免费h精品视频在线播放| 久久精品日韩| 亚洲一区二区三区精品视频| 亚洲欧洲一区| 韩曰欧美视频免费观看| 国产日韩精品在线| 国产精品国产自产拍高清av王其| 欧美精品日韩一区| 免费成人毛片| 久久影视精品| 久久视频一区| 久久久综合激的五月天| 久久狠狠亚洲综合| 欧美在线视频免费播放| 欧美一区三区三区高中清蜜桃| 亚洲男人第一av网站| 在线视频欧美日韩精品| 一本一本久久a久久精品综合妖精| 亚洲激情av在线| 亚洲成色精品| 亚洲国产精品成人| 亚洲高清资源| 亚洲国产小视频在线观看| 久久国产黑丝| 欧美一区2区视频在线观看 | 国产亚洲人成a一在线v站| 国产精品亚洲一区| 国产精品久久久久7777婷婷| 欧美午夜不卡在线观看免费| 欧美日韩视频| 欧美视频在线观看免费| 国产精品久久久久久久久久久久久久| 欧美日韩在线高清| 国产精品国产精品| 国产精品自拍一区| 国产一区二区你懂的| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美日韩不卡| 欧美三区不卡| 国产精品女主播一区二区三区| 国产精品久线观看视频| 国产日韩欧美一区在线 | 国内精品写真在线观看| 亚洲成人在线网站| 亚洲人成亚洲人成在线观看图片| 亚洲毛片av在线| 亚洲午夜日本在线观看| 欧美一进一出视频| 亚洲精品在线三区| 亚洲你懂的在线视频| 久久蜜臀精品av| 欧美风情在线| 国产精品v日韩精品v欧美精品网站| 国产精品免费看久久久香蕉| 国产综合激情| 亚洲精品自在久久| 性欧美办公室18xxxxhd| 久久精品视频99| 一区二区欧美精品| 欧美在线网址| 欧美精品激情blacked18| 国产精品久久午夜夜伦鲁鲁| 好看的日韩视频| 亚洲三级影院| 欧美一区午夜视频在线观看| 日韩视频永久免费观看| 香蕉久久夜色| 欧美激情第4页| 国产欧美精品一区aⅴ影院| 1024成人| 亚洲欧美在线一区二区| 亚洲九九爱视频| 欧美一区二区三区免费观看视频| 美国十次成人| 国产精品久久久久aaaa| 在线观看一区| 亚洲欧美国内爽妇网| 日韩亚洲欧美精品| 久久精品国产成人| 欧美日韩一卡二卡| 永久免费精品影视网站| 亚洲午夜久久久| 日韩亚洲欧美成人| 久久一区二区三区四区| 国产精品久久久久影院色老大| 亚洲成色精品| 午夜日本精品| 亚洲综合不卡| 欧美理论在线| 原创国产精品91| 欧美一区二区三区啪啪 | 亚洲综合视频1区| 欧美大片在线观看| 国产亚洲免费的视频看| 在线亚洲一区二区| 99re热精品| 快she精品国产999| 国产夜色精品一区二区av| 一区二区三区毛片| 亚洲精品一区二区三区婷婷月| 亚洲激情成人网| 狠狠色丁香婷婷综合影院| 亚洲精品一区二区三区樱花| 久久国内精品视频| 欧美在线国产精品| 国产精品成人观看视频免费 | 亚洲欧洲久久| 久久久美女艺术照精彩视频福利播放 | 欧美在线一二三区| 欧美中在线观看| 国产精品日韩精品欧美精品| 日韩视频免费观看高清在线视频 | 久久国产精品久久国产精品| 欧美有码在线观看视频| 国产精品日韩专区| 亚洲系列中文字幕| 亚洲与欧洲av电影| 欧美性天天影院| 99re8这里有精品热视频免费 | 久久av一区二区三区漫画| 国产精品久久77777| 亚洲最黄网站| 制服丝袜亚洲播放| 欧美日韩国产综合一区二区| 亚洲精品国精品久久99热| 亚洲另类自拍| 欧美精品久久久久久久| 亚洲国产人成综合网站| 亚洲清纯自拍| 欧美激情亚洲综合一区| 91久久精品国产91性色 | 日韩一二三区视频| 欧美高清视频一二三区| 亚洲国产成人一区| 亚洲精品午夜| 欧美理论视频| 一本久久综合| 亚洲欧美国产制服动漫| 国产精品任我爽爆在线播放| 亚洲午夜一区二区| 欧美一级视频| 国产日韩欧美日韩大片| 午夜精品成人在线视频| 久久精品一区蜜桃臀影院| 韩国v欧美v日本v亚洲v| 亚洲国产精品成人一区二区| 免费国产自线拍一欧美视频| 亚洲第一精品福利| 日韩网站免费观看| 欧美性猛交视频| 欧美亚洲三区| 麻豆精品在线观看| 亚洲精品国产欧美| 亚洲主播在线播放| 国产日韩一区二区| 91久久香蕉国产日韩欧美9色| 欧美黑人多人双交| 一区二区免费在线播放| 久久精品电影| 亚洲国产精品久久久久久女王| 99国产精品久久久久久久成人热| 国产精品v日韩精品| 欧美亚洲免费电影| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲精品久久久久久久久| 午夜精品理论片| 狠狠色丁香婷婷综合影院| 99re热精品| 国产亚洲福利社区一区| 亚洲伦伦在线| 国产毛片一区| 日韩视频一区二区| 国产日韩成人精品| 亚洲精品视频在线| 国产精品亚洲欧美| 亚洲人人精品| 国产精品美女午夜av| 亚洲国产乱码最新视频| 国产精品v一区二区三区| 久久精品亚洲一区二区| 欧美日韩国产一中文字不卡 | 欧美中文字幕在线| 欧美日本在线视频| 性欧美精品高清| 欧美日韩一二三区| 久久精品首页| 国产精品久久综合| 亚洲乱码国产乱码精品精天堂 | 免费成人av资源网| 亚洲午夜视频在线观看| 欧美成人精品激情在线观看| 亚洲一区二区精品在线| 欧美大秀在线观看| 亚洲欧美成人综合| 欧美人成免费网站| 久久精品国产精品| 国产精品嫩草99av在线| 99视频在线精品国自产拍免费观看 | 亚洲一区二区欧美|