EDA設(shè)計基于VHDL的簡易全自動控制洗衣機備課講稿_第1頁
EDA設(shè)計基于VHDL的簡易全自動控制洗衣機備課講稿_第2頁
EDA設(shè)計基于VHDL的簡易全自動控制洗衣機備課講稿_第3頁
EDA設(shè)計基于VHDL的簡易全自動控制洗衣機備課講稿_第4頁
EDA設(shè)計基于VHDL的簡易全自動控制洗衣機備課講稿_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Good is good, but better carries it.精益求精,善益求善。EDA設(shè)計基于VHDL的簡易全自動控制洗衣機-華東理工大學(xué)2009-2010學(xué)年第2學(xué)期電子綜合設(shè)計DEA課程設(shè)計作業(yè)2010.6班級:XXXX學(xué)號:XXX姓名:XXXX開課學(xué)院:信息學(xué)院任課老師:XXXX成績:題目:1、簡易全自動洗衣機控制器設(shè)計2、通信系統(tǒng)信道編碼器設(shè)計作業(yè)要求:電子系統(tǒng)設(shè)計EDA課程是電子信息工程、自動控制、計算機科學(xué)與工程等專業(yè)的技術(shù)課之一,具有很強的工程實踐性。課程學(xué)習(xí)要求學(xué)生:掌握現(xiàn)代硬件數(shù)字電路的軟件化設(shè)計的基本方法、掌握應(yīng)用VHDL及EDA工具開發(fā)設(shè)計數(shù)字系統(tǒng)的基本方法以

2、及對現(xiàn)代電子系統(tǒng)設(shè)計技術(shù)有一定的了解設(shè)計報告要求:1、按照設(shè)計題目要求構(gòu)建設(shè)計框圖2、用EDA設(shè)計軟件按照設(shè)計題目要求進行原型設(shè)計并給出仿真結(jié)果3、對仿真結(jié)果進行一定的討論4、原程序和仿真波形等附錄。電子綜合設(shè)計EDA綜合設(shè)計題設(shè)計一簡易全自動洗衣機控制器。該控制器由兩大狀態(tài)A和B組成,每個狀態(tài)分三個子狀態(tài),每個狀態(tài)分別由選擇A和選擇B控制。其中A為步進選擇按紐,每步跳轉(zhuǎn)一個子狀態(tài)、B也為步進選擇按紐,但每步選擇B中的所有組合中的一種。當啟動時,時間序列控制器按已選的B類子狀態(tài)順序執(zhí)行。過程啟動由啟動/暫停鍵控制(暫停鍵在過程啟動后任意時間可暫停/恢復(fù)過程)過程啟動后機蓋開啟應(yīng)均能暫停過程,復(fù)

3、蓋間停30秒后重新繼續(xù)原過程。A:強洗標準弱洗B:洗滌漂洗甩干(脫水)(洗滌,漂洗時電機分別正轉(zhuǎn)、反轉(zhuǎn))強洗:(共36分鐘)洗滌18分漂洗14分甩干4分(洗滌時電機分別正轉(zhuǎn)4分、反轉(zhuǎn)4分,正反轉(zhuǎn)間停30秒;漂洗時電機分別正轉(zhuǎn)3分、反轉(zhuǎn)3分,正反轉(zhuǎn)間停30秒;甩干時電機分別正轉(zhuǎn)1.5分,間停30秒)標準:(共26分鐘)洗滌14分漂洗8分甩干4分(洗滌時電機分別正轉(zhuǎn)3分、反轉(zhuǎn)3分,正反轉(zhuǎn)間停30秒;漂洗時電機分別正轉(zhuǎn)1.5分、反轉(zhuǎn)1.5分,正反轉(zhuǎn)間停30秒;甩干時電機分別正轉(zhuǎn)1.5分,間停30秒)弱洗(共20分鐘)洗滌10分漂洗6分甩干4分(洗滌時電機分別正轉(zhuǎn)2分、反轉(zhuǎn)2分,正反轉(zhuǎn)間停30秒;漂洗

4、時電機分別正轉(zhuǎn)1分、反轉(zhuǎn)1分,正反轉(zhuǎn)間停30秒;甩干時電機分別正轉(zhuǎn)1.5分,間停30秒)設(shè)定秒脈沖已給定,指示為LED,整過程完成后,蜂鳴器響30秒。整個設(shè)計為正邏輯。一、程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYstudentISPORT(COUNT_N,COUNT_M,START,COOK,CLK:INSTD_LOGIC;LOOK:OUTSTD_LOGIC;DOUT:OUTSTD_LOGIC_VECTOR(1DOWNTO0);ENDSTUDENT;ARCHITECTURE

5、BEHAVOFstudentISSIGNALDT1,DT2:STD_LOGIC_VECTOR(1DOWNTO0);SIGNALDICSOUNT,TEM:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALDCP:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALCT:STD_LOGIC_VECTOR(5DOWNTO0);SIGNALCT1,CT2:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALSG,CMKS:STD_LOGIC;BEGINPROCESS(COUNT_N,SG)BEGINIFSG=1THENDT1=00;ELSIFCOUNT_NE

6、VENTANDCOUNT_N=1THENIFDT1=3THENDT1=01;ELSEDT1=DT1+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(COUNT_M,SG)BEGINIFSG=1THENDT2=00;ELSIFCOUNT_MEVENTANDCOUNT_M=1THENIFDT2=3THENDT2=01;ELSEDT2=DT2+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(START)BEGINIFSG=1THENCMKS=0;ELSIFSTARTEVENTANDSTART=1THENDICSOUNT=DT1&DT2;CMKS=CMKSXOR1;

7、ENDIF;ENDPROCESS;PROCESS(CLK,START,COOK)BEGINIFSTART=1ANDDCP=0000THENDCP=DICSOUNT;ELSIFCLKEVENTANDCLK=1THENIFCOOK=1THENDOUT0000THENDOUT=00;ELSIFSG=1THENIFCT10001THENCT1=0000;SGIFCT35THENCT=CT+1;IFCT18THENDOUT=01;CT1=CT1+1;ELSIFCT1=8THENDOUT=00;CT1=CT1+1;ELSIFCT28THENDOUT=10;CT2=CT2+1;ELSIFCT2=8THEND

8、OUT=00;CT1=0000;CT2=0000;ENDIF;ELSEDCP=0110;CT=000000;CT1=0000;CT2=0000;DOUTIFCT27THENCT=CT+1;IFCT16THENDOUT=01;CT1=CT1+1;ELSIFCT1=6THENDOUT=00;CT1=CT1+1;ELSIFCT26THENDOUT=10;CT2=CT2+1;ELSIFCT2=6THENDOUT=00;CT1=0000;CT2=0000;ENDIF;ELSEDCP=0111;CT=000000;CT1=0000;CT2=0000;DOUTIFCT8THENCT=CT+1;IFCT13T

9、HENDOUT=01;CT1=CT1+1;ELSIFCT1=3THENDOUT=00;CT1=CT1+1;ELSIFCT23THENDOUT=10;CT2=CT2+1;ELSIFCT2=3THENDOUT=00;CT1=0000;CT2=0000;ENDIF;ELSEDCP=0000;CT=000000;CT1=0000;CT2=0000;SGIFCT27THENCT=CT+1;IFCT16THENDOUT=01;CT1=CT1+1;ELSIFCT1=6THENDOUT=00;CT1=CT1+1;ELSIFCT26THENDOUT=10;CT2=CT2+1;ELSIFCT2=6THENDOUT

10、=00;CT1=0000;CT2=0000;ENDIF;ELSEDCP=1010;CT=000000;CT1=0000;CT2=0000;DOUTIFCT15THENCT=CT+1;IFCT13THENDOUT=01;CT1=CT1+1;ELSIFCT1=3THENDOUT=00;CT1=CT1+1;ELSIFCT23THENDOUT=10;CT2=CT2+1;ELSIFCT2=3THENDOUT=00;CT1=0000;CT2=0000;ENDIF;ELSEDCP=1011;CT=000000;CT1=0000;CT2=0000;DOUTIFCT8THENCT=CT+1;IFCT13THEN

11、DOUT=01;CT1=CT1+1;ELSIFCT1=3THENDOUT=00;CT1=CT1+1;ELSIFCT23THENDOUT=10;CT2=CT2+1;ELSIFCT2=3THENDOUT=00;CT1=0000;CT2=0000;ENDIF;ELSEDCP=0000;CT=000000;CT1=0000;CT2=0000;SGIFCT19THENCT=CT+1;IFCT14THENDOUT=01;CT1=CT1+1;ELSIFCT1=4THENDOUT=00;CT1=CT1+1;ELSIFCT24THENDOUT=10;CT2=CT2+1;ELSIFCT2=4THENDOUT=00

12、;CT1=0000;CT2=0000;ENDIF;ELSEDCP=1110;CT=000000;CT1=0000;CT2=0000;DOUTIFCT11THENCT=CT+1;IFCT12THENDOUT=01;CT1=CT1+1;ELSIFCT1=2THENDOUT=00;CT1=CT1+1;ELSIFCT22THENDOUT=10;CT2=CT2+1;ELSIFCT2=2THENDOUT=00;CT1=0000;CT2=0000;ENDIF;ELSEDCP=1111;CT=000000;CT1=0000;CT2=0000;DOUTIFCT8THENCT=CT+1;IFCT13THENDOU

13、T=01;CT1=CT1+1;ELSIFCT1=3THENDOUT=00;CT1=CT1+1;ELSIFCT23THENDOUT=10;CT2=CT2+1;ELSIFCT2=3THENDOUT=00;CT1=0000;CT2=0000;ENDIF;ELSEDCP=0000;CT=000000;CT1=0000;CT2=0000;SGDOUT=00;ENDCASE;ENDIF;ENDIF;ENDPROCESS;LOOK=SG;ENDBEHAV;二、仿真波形如下強洗全部過程強洗漂洗、甩干強洗(甩干)標準全部過程標準(漂洗、甩干)標準(甩干)弱洗全過程弱洗(漂洗、甩干)九、弱洗(甩干)強開蓋子:一、

14、強洗強開蓋標準強開蓋弱洗強開蓋暫停和啟動強洗暫停強洗重新啟動標準暫停標準重新啟動弱洗暫停弱洗重新啟動兩次洗衣:兩次強洗兩次標準(漂洗、甩干)兩次弱甩三、設(shè)計思想討論設(shè)計時參考了已有程序,此芯片有五個輸入和三個輸出,輸入COUNT_M和輸入COUNT_N是狀態(tài)控制鍵,輸入START是輸入啟動和暫停鍵,以及一個時鐘CLK。輸出是洗衣結(jié)束鈴聲端口和電機驅(qū)動端口。在設(shè)計中,為便于調(diào)試和觀察將時鐘周期假設(shè)為30S。本次設(shè)計大致可以分成兩個模塊來看待,控制端和工作端??刂撇糠质褂昧巳齻€進程來處理,進程一控制狀態(tài)COUNT_M,進程二控制狀態(tài)COUNT_N,進程三控制開始和暫停。工作部分使用了一個進程來處理,在該進程中主要處理強制開蓋,洗衣的各個狀態(tài),以及洗衣結(jié)束后的鈴聲??刂贫薈OUNT_M中,SG是工作結(jié)束標志信號,信號TS控制洗衣機的暫停和重新啟動,DT是狀態(tài)的中間變量。COOKK為強開洗衣機蓋子信號端,DCP輸入狀態(tài)中間信號。洗衣機正常工作過程:洗衣機總共有九種工作狀態(tài),這九種狀態(tài)可以分成三大部分,強洗,標準,弱洗,此三種狀態(tài)的洗衣過程類似,因此以強洗來解釋說明。洗滌完成后,將信號TP變換到漂洗狀態(tài),然后變換到甩干,甩干結(jié)束后將TP置零,以及輸

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論