版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、利用VHDL設(shè)計洗衣機(jī)控制器1 引言2 選題研究的意義21 課題來源22 課題研究的背景23 研究的目的和意義4 應(yīng)解決的主要問題及應(yīng)達(dá)到的技術(shù)要求241 需解決的主要問題 洗衣機(jī)控制系統(tǒng)的核心部件是控制器。洗衣機(jī)控制電路包括控制器、控制對象、狀態(tài)顯示電路、計時器及報警電路。它是一閉環(huán)系統(tǒng),內(nèi)部結(jié)構(gòu)有洗衣機(jī)狀態(tài)轉(zhuǎn)換時間信號產(chǎn)生器、狀態(tài)計數(shù)器、數(shù)據(jù)選擇器和狀態(tài)譯碼器,它能自動發(fā)出順序循環(huán)控制信號(S、R、L),并同時完成在該狀態(tài)下的計時功能。另外,它還向控制對象提供一個工作過程的周期信號(T),作循環(huán)次數(shù)累計??刂茖ο笫怯?位二進(jìn)制計數(shù)器和4位數(shù)值比較器構(gòu)成,它對T作計數(shù),與此同時與人工輸入的預(yù)
2、置循環(huán)數(shù)比較,隨時將反應(yīng)受控器自身狀態(tài)的信號反饋給控制器,從而實(shí)現(xiàn)系統(tǒng)的控制功能。242 需實(shí)現(xiàn)洗衣機(jī)控制器的控制功能 洗衣機(jī)的狀態(tài)為待機(jī)5s正轉(zhuǎn)60s待機(jī)5s反轉(zhuǎn)60s,并用3個LED燈和7段顯示器分別表示其工作狀態(tài)和顯示相應(yīng)工作狀態(tài)下的時間。 自行設(shè)定洗衣機(jī)的循環(huán)次數(shù),這里設(shè)最大的循環(huán)次數(shù)為15次。 具有緊急情況的處理功能。當(dāng)發(fā)生緊急情況時,立即轉(zhuǎn)入到待機(jī)狀態(tài),緊急情況解除后繼續(xù)執(zhí)行后續(xù)步驟。 洗衣機(jī)設(shè)定循環(huán)次數(shù)遞減到零時立即報警,以表示洗衣機(jī)設(shè)定的循環(huán)次數(shù)已經(jīng)結(jié)束。 輸入變量:時鐘CLK,直接清零RD,暫停/連續(xù)EN,設(shè)定洗衣機(jī)的循環(huán)次數(shù)SET。輸出變量:三個工作狀態(tài)S、R、L,一個過程
3、周期T(T4),8421BCD碼Q7Q0輸出及報警信號。25 國內(nèi)外研究現(xiàn)狀,發(fā)展趨勢及存在的主要問題26設(shè)計工具介紹3 洗衣機(jī)控制器設(shè)計的方案論證3.1 洗衣機(jī)控制器設(shè)計的方案選擇設(shè)計洗衣機(jī)控制器,通??梢杂萌N方法來實(shí)現(xiàn)。方法一,可以用純機(jī)械式來設(shè)計控制器。本方法利用機(jī)械原理來設(shè)計定時器。例如可以利用彈簧儲存能量和釋放能量的過程得到定時時間。其原理如同機(jī)械式(上發(fā)條)的鐘表。由于長時間工作,金屬容易疲勞,一旦出現(xiàn)這樣的情況,其定時的誤差變大,導(dǎo)致定時不準(zhǔn)確。同時由于金屬的疲勞和磨損等,可能引發(fā)定時器停擺,輪子打滑,進(jìn)水等問題。但機(jī)械式控制器具有制造方便,成本低等特點(diǎn),所以在很多場合應(yīng)用面依
4、然比較廣。方法二,利用單片機(jī)控制。利用單片機(jī)設(shè)計控制器也是一種理想的設(shè)計方案。其優(yōu)點(diǎn)突出,主要表現(xiàn)為:前期開發(fā)投入少,效率高,設(shè)計周期短,控制精度較高。但單片機(jī)芯片單價高,如果大批量生產(chǎn),其性價比較低;另外,在實(shí)際工作過程中容易出現(xiàn)死機(jī),程序調(diào)用混亂等問題。方法三,采用FPGA。FPGA具有體積小,可靠性高等優(yōu)點(diǎn)。它一方面克服了機(jī)械式控制器所引發(fā)的定時器停擺,輪子打滑,進(jìn)水等缺點(diǎn);另一方面也克服了利用單片機(jī)設(shè)計的控制器的問題,不易出現(xiàn)死機(jī),程序調(diào)用混亂等問題。同時,采用大批量生產(chǎn)時,其性價比高。 雖然方案二也能實(shí)現(xiàn)設(shè)計任務(wù),但程序結(jié)構(gòu)繁冗,用戶看起來不太直觀。方案三只用一個轉(zhuǎn)換器就能實(shí)現(xiàn),程序
5、簡單也能較好的完成設(shè)計任務(wù)。且移植性好,功能更容易擴(kuò)展。本設(shè)計選擇方案三實(shí)現(xiàn)洗衣機(jī)控制器的功能。3.2 數(shù)字系統(tǒng)的FPGA設(shè)計流程 3.2.1設(shè)計系統(tǒng)結(jié)構(gòu)框圖系統(tǒng)結(jié)構(gòu)框圖8如圖2所示。洗衣機(jī)控制電路包括控制器,控制對象,狀態(tài)顯示電路,計時器及報警電路??刂破魇窍到y(tǒng)的核心部件。它是一閉環(huán)系統(tǒng),內(nèi)部結(jié)構(gòu)有5s和60s信號產(chǎn)生器,狀態(tài)計數(shù)器,數(shù)據(jù)選擇器和狀態(tài)譯碼器,它能自動發(fā)出順序控制信號(S、R、L),并同時完成在該狀態(tài)下的計時功能。另外,它還向控制對象提供一個工作過程的周期信號(T),作循環(huán)次數(shù)累計??刂茖ο笫怯?位二進(jìn)制計數(shù)器和4位數(shù)值比較器構(gòu)成,它對T作計數(shù),與此同時與人工輸入的預(yù)置循環(huán)數(shù)比
6、較,隨時將反應(yīng)受控器自身轉(zhuǎn)臺的信號反饋給控制器,實(shí)現(xiàn)系統(tǒng)的控制功能8。圖2 系統(tǒng)的結(jié)構(gòu)框圖狀態(tài)顯示電路是通過3個LED燈來顯示洗衣機(jī)的狀態(tài):當(dāng)洗衣機(jī)暫?;虺霈F(xiàn)緊急情況時第二個LED燈亮,當(dāng)洗衣機(jī)正轉(zhuǎn)時第一個LED燈都亮,當(dāng)洗衣機(jī)反轉(zhuǎn)時,只有第三個LED燈亮。報警控制電路的功能是當(dāng)設(shè)定的循環(huán)次數(shù)減到零時提示用戶。LED燈和數(shù)碼管顯示電路:通過LED燈來顯示洗衣機(jī)的各種工作狀態(tài),利用數(shù)碼管來顯示時間。3.2.2洗衣機(jī)控制框圖蜂鳴報警系統(tǒng)(根據(jù)機(jī)器運(yùn)行的過程或狀態(tài)給出蜂鳴或報警)供電系統(tǒng)(提供控制板電源)門蓋狀態(tài)檢測(檢測洗滌過程中門蓋狀態(tài))供排水系統(tǒng)(按照一定的洗滌中期進(jìn)水或排水)電機(jī)驅(qū)動系統(tǒng)(驅(qū)
7、動電機(jī)按照一定的周期或節(jié)奏洗滌及脫水)負(fù)載檢測系統(tǒng)( 檢測衣物重量 )用戶接口(獲得用戶輸入同時反映機(jī)器狀態(tài))控制器圖3 洗衣機(jī)控制系統(tǒng) 3.2.3洗衣機(jī)控制系統(tǒng)流程圖洗滌洗滌放入衣物水流設(shè)置水位設(shè)置模式選擇洗滌時間設(shè)置默認(rèn)洗滌時間手動設(shè)置洗滌時間進(jìn)水進(jìn)水排水 進(jìn)水清洗排水脫水自動斷電圖4 洗衣機(jī)控制系統(tǒng)流程圖3.2.4洗衣機(jī)狀態(tài)轉(zhuǎn)移圖S0S1S2S211S221S3S4S5S222S212S8S7S6圖5 洗衣機(jī)狀態(tài)轉(zhuǎn)移圖4 設(shè)計論述系統(tǒng)有3個工作狀態(tài):正轉(zhuǎn),反轉(zhuǎn),暫停,由狀態(tài)標(biāo)志量count控制。count=0時,洗衣機(jī)正轉(zhuǎn),時間持續(xù)60s;count=1時洗衣機(jī)第一次暫停,時間持續(xù)5s;
8、count=2時洗衣機(jī)反轉(zhuǎn),時間持續(xù)60s;count=3時洗衣機(jī)第二次暫停,時間持續(xù)5 s,此時一個工作周期結(jié)束會產(chǎn)生控制信號T,設(shè)定的循環(huán)次數(shù)減1,若減1后循環(huán)次數(shù)為零,則洗衣機(jī)停止工作,產(chǎn)生報警信號;若循環(huán)次數(shù)不為零則繼續(xù)工作。如果系統(tǒng)產(chǎn)生復(fù)位信號,則洗衣機(jī)停止工作產(chǎn)生報警信號。整個控制功能的VHDL程序見附錄一。該程序經(jīng)編譯后創(chuàng)立的模塊圖如圖8所示,其輸入輸出信號說明如下:系統(tǒng)時鐘CLK,直接清零RD,暫停/連續(xù)EN,設(shè)定洗衣機(jī)的循環(huán)次數(shù)SET,報警脈沖信號CLK_1024;LAMP:洗衣機(jī)運(yùn)行各狀態(tài)指示燈Seg2,seg1:各狀態(tài)運(yùn)行時間的顯示Seg4,seg3:設(shè)定工作周期顯示時間
9、計數(shù)ALARM:報警信號內(nèi)部信號說明:temp:狀態(tài)轉(zhuǎn)換控制信號count:狀態(tài)轉(zhuǎn)換信號C:清零信號s1,s2,s3,s4:狀態(tài)值T:控制器產(chǎn)生的控制信號A:報警信號 圖11 I/O模塊圖432 使用說明 在EN為低電平時通過SET設(shè)定洗衣機(jī)循環(huán)工作的次數(shù)。 通過按鍵將EN置為高電平,啟動洗衣機(jī)工作,以后可通過EN暫停/繼續(xù)。 若中途發(fā)生故障,可通過按鍵RD直接清零復(fù)位,待清除故障后重新啟動。 洗衣機(jī)結(jié)束工作,報警,可通過RD或EN直接取消報警,將EN置為低電平,即可重新設(shè)定工作次數(shù)。 44 測試仿真步驟 在Max+plus軟件平臺上進(jìn)行仿真的基本步驟如下: 選File/Project/Nam
10、e菜單建立項目名。見圖12 圖12 選File/New菜單,并選text Editor條目,進(jìn)入文本編輯窗,然后輸入電路設(shè)計文件。見圖13 圖13 選File/Project/Save & Check 菜單將文件存盤并檢查文件的正確性。見圖14。 圖14 選Max+plus/waveform Editor菜單,編輯輸入信號波形(在波形編輯窗口,選Node/Enter Nodes from SNF菜單將輸入和輸出端口調(diào)入,然后再編輯)。見圖15。 圖15 選Max+plus/Simulator 菜單進(jìn)行行為仿真。見圖16圖16 觀察仿真結(jié)果,研究設(shè)計的正確性。5 結(jié)果分析測試仿真波形見附
11、錄二 BCD碼模塊仿真波形和七段顯示譯碼模塊仿真波形如附錄二中圖1和圖2所示,測試波形正確。執(zhí)行設(shè)定次數(shù)為2的波形圖見附錄二圖3所示,測試波形符合要求。加入暫停信號后的波形。從附錄二圖4整體上看暫停有效。從附錄二圖5細(xì)節(jié)上看程序具有記憶功能,能從斷點(diǎn)處裝載,繼續(xù)工作,符合要求。加入RD信號后的波形附錄二圖6復(fù)位信號有效,復(fù)位后報警提示成功。6 設(shè)計總結(jié)設(shè)計過程中采用了VHDL語言進(jìn)行編寫,并用MAX + plus軟件進(jìn)行仿真,它主要是對洗衣機(jī)工作狀態(tài)、時間進(jìn)行控制,在整個設(shè)計過程中,我先對FPGA的結(jié)構(gòu)和VHDL的語法結(jié)構(gòu)進(jìn)一步的掌握,然后著重根據(jù)設(shè)計原理和思路著手編程,其間參考了不少文獻(xiàn)資料
12、,對計數(shù)器、數(shù)據(jù)選擇器、譯碼器、數(shù)值比較器的功能、邏輯圖、引腳圖進(jìn)行分析,然后再在MAX + plus上進(jìn)行編譯仿真,分析波形,修改程序直至與設(shè)計要求相符。當(dāng)然在研究中還存在不少問題,比如我設(shè)計的洗衣機(jī)只是半自動的,其功能還不完善,如水位的控制、脫水、漂洗的方式等都還沒設(shè)計出來;仿真的波形還沒完全達(dá)到設(shè)計標(biāo)準(zhǔn),對時間的延遲沒考慮清楚等,如果是對課題的進(jìn)一步研究可以增加洗衣機(jī)的功能,這就還需要增加傳感器等等,同時還可以添加一個測試程序,就可以更加直觀的看到仿真結(jié)果。參考文獻(xiàn)1 黃任. VHDL入門、解惑、經(jīng)典實(shí)例、經(jīng)驗(yàn)總結(jié). 第一版,北京:北京航空航天大學(xué)出版社,2005.12 譚會生,瞿遂春.
13、 EDA技術(shù)綜合應(yīng)用實(shí)例與分析. 第一版,西安:西安電子科技大學(xué)出版社,2004.113 潘松,黃繼業(yè). EDA技術(shù)實(shí)用教程. 第三版,北京:科學(xué)出版社,20064 徐光輝,程東旭,黃如. 基于FPGA的嵌入式開發(fā)與應(yīng)用. 第一版,北京:電子工業(yè)出版社,2006.95 郭冀嶺,王君瑞,王遠(yuǎn)波. 用VHDL實(shí)現(xiàn)智能洗衣機(jī)控制系統(tǒng)有限狀態(tài)機(jī)的設(shè)計. 電子技術(shù),2004; 6 李淵,馬善農(nóng). 基于CPLD的洗衣機(jī)控制器. 科技廣場,2007; 7 李波,王章瑞,高一波. 基于VHDL的洗衣機(jī)控制器設(shè)計. 科技設(shè)計成果,2007; 8 司孝平,趙嚴(yán)峰. 基于FPGA的洗衣機(jī)控制器設(shè)計與實(shí)驗(yàn)教學(xué). 天中
14、學(xué)刊,2006; 9 司孝平,趙嚴(yán)峰. 對一種洗衣機(jī)控制器的FPGA設(shè)計改進(jìn). 佳木斯大學(xué)學(xué)報(自然科學(xué)版), 2006; 10 趙曉博,劉展威,李素娟. 數(shù)字電壓表的VHDL設(shè)計與實(shí)現(xiàn). 儀表技術(shù),2005; 11 EP1C12.pdf . 12 EP1C8.pdf. 13 ByteBlaster_II_Download_Cable.pdf. 致 謝 附錄一 程序源代碼-BCD碼變換模塊。module bcdma(clk,TIMES,t);input clk;input 3:0 TIMES;output 7:0 t;reg 7:0 t;always (posedge clk)beginif(
15、TIMES>4'b1001)t<=TIMES+8'b00000110;elset<=TIMES+8'b00000000;endendmodule-共陰極七段顯示譯碼模塊module decode(COUNT,oseg1,oseg2);input 7:0 COUNT;output 6:0 oseg1,oseg2;reg 6:0 oseg1,oseg2;always (COUNT7:0)begincase(COUNT3:0)4'h1: oseg1 = 7'b0000110;4'h2: oseg1 = 7'b1011011;
16、4'h3: oseg1 = 7'b1001111; 4'h4: oseg1 = 7'b1100110; 4'h5: oseg1 = 7'b1101101; 4'h6: oseg1 = 7'b1111101; 4'h7: oseg1 = 7'b0000111; 4'h8: oseg1 = 7'b1111111; 4'h9: oseg1 = 7'b1100111; 4'ha: oseg1 = 7'b1110111;4'hb: oseg1 = 7'b1111
17、100;4'hc: oseg1 = 7'b0111001;4'hd: oseg1 = 7'b1011110;4'he: oseg1 = 7'b1111001;4'hf: oseg1 = 7'b1110001;4'h0: oseg1 = 7'b0111111;endcase case( COUNT7:4 )4'h1: oseg2 = 7'b0000110;4'h2: oseg2 = 7'b1011011; 4'h3: oseg2 = 7'b1001111; 4'
18、h4: oseg2 = 7'b1100110; 4'h5: oseg2 = 7'b1101101; 4'h6: oseg2 = 7'b1111101; 4'h7: oseg2 = 7'b0000111; 4'h8: oseg2 = 7'b1111111; 4'h9: oseg2 = 7'b1100111; 4'ha: oseg2 = 7'b1110111;4'hb: oseg2 = 7'b1111100;4'hc: oseg2 = 7'b0111001;4
19、39;hd: oseg2 = 7'b1011110;4'he: oseg2 = 7'b1111001;4'hf: oseg2 = 7'b1110001;4'h0: oseg2 = 7'b0111111;endcase endendmodule-掃描選擇輸出模塊module scan4(rd,clk,seg1,seg2,seg3,seg4,c1,c2,c3,c4,seg); output6 : 0seg; output c1,c2,c3,c4; input clk,rd; input6 : 0seg1,seg2,seg3,seg4;reg6
20、 : 0seg;reg c1,c2,c3,c4; reg1: 0sel;always(posedge clk)beginif (rd=1) sel<=0;else if(sel=3) sel<=0;elsesel<=sel+1;end always(sel)begincase (sel1: 0) 2'b00:beginseg<=seg1;c1=1;c2=0;c3=0;c4=0;end2'b01:beginseg<=seg2;c1=0;c2=1;c3=0;c4=0;end2'b10:beginseg<=seg3;c1=0;c2=0;c3
21、=1;c4=0;end2'b11:beginseg<=seg4;c1=0;c2=0;c3=0;c4=1;endendcaseendendmodule-整個洗衣機(jī)控制模塊module washer1(CLK,CLK_1024,SET,RD,EN,LAMP,seg,c1,c2,c3,c4,ALARM); output6 : 0seg; output c1,c2,c3,c4; output3 : 0LAMP; output ALARM; input CLK,CLK_1024,EN,RD; input3 : 0SET; reg7 : 0num; reg temp,C,ALARM; reg
22、2 : 0count; reg7 : 0s1,s2,s3,s4; reg3 : 0LAMP,tim;reg6:0seg;reg c1,c2,c3,c4;reg6 : 0seg1,seg2,seg3,seg4;reg7:0t;wire T,A; assign T=(count=0&&num=2&&LAMP=2)|!EN|RD); /控制器產(chǎn)生的控制信號Tassign A=(!tim&&EN); /報警信號always /狀態(tài)轉(zhuǎn)換置數(shù) begin s1 <=8'h 60; s2 <=8'h 05; s3 <=8
23、9;h 60; s4 <=8'h 05; endalways (posedge CLK) /控制器模塊beginif(!RD)beginC<=0; if(EN&&!C) begin if(!temp&&tim) begin temp<=1; case(count) 0: begin num<=s1;LAMP<=4;count<=1;end 1: begin num<=s2;LAMP<=2;count<=2;end 2: begin num<=s3;LAMP<=1;count<=3;end 3: begin
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高中化學(xué)第3章第2節(jié)第1課時自然界中氮的循環(huán)以及氮循環(huán)中的重要物質(zhì)練習(xí)含解析魯科版必修1
- 企劃部年度工作總結(jié)
- 公司市場部主管年終總結(jié)
- 個人年度總工程師工作總結(jié)
- 行政科工作總結(jié)
- 六年級班主任第一學(xué)期工作總結(jié)
- 中班學(xué)期末總結(jié)與反思
- 產(chǎn)權(quán)酒店式公寓委托經(jīng)營管理協(xié)議書范本
- 石材加工合作合同范本
- 出租車買賣合同范本
- 2025年廣西教育出版社有限公司招聘筆試參考題庫含答案解析
- 中醫(yī)膏方臨床應(yīng)用與制備工藝規(guī)范 DB32/T 4870-2024
- 新教材青島版三年級下冊科學(xué)全冊教學(xué)課件
- 風(fēng)力發(fā)電項目報價清單 (風(fēng)機(jī)基礎(chǔ)等)
- 中國石油天然氣集團(tuán)公司建設(shè)項目其他費(fèi)用和相關(guān)費(fèi)用的規(guī)定
- 江蘇省城市規(guī)劃管理技術(shù)規(guī)定——蘇州市實(shí)施細(xì)則之二2021年版
- 大潔王槍水MSDS
- 成績加權(quán)平均分計算器
- 鋼結(jié)構(gòu)資料全套表格
- ETF基礎(chǔ)篇--特有概念、計算邏輯及模板-文庫版(現(xiàn)金差額、現(xiàn)金替代、ETF申贖、計算模板)
評論
0/150
提交評論