趙根 陳正楠 葉琳琳 蘭興宇 孫靜 馬彧
摘要:為了實現(xiàn)洗衣機的控制功能,應(yīng)用FPGA技術(shù),以Verilog語言為基礎(chǔ),包含控制器,計時器,狀態(tài)顯示,控制對象,報警電路等模塊,實現(xiàn)電路的設(shè)計,經(jīng)驗證,功能良好。
關(guān)鍵詞:Verilog;FPGA;洗衣機電路系統(tǒng)
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2019)09-0225-02
洗衣機電路系統(tǒng)是通過對洗衣機運行時間,循環(huán)次數(shù)的設(shè)定,可根據(jù)人們的需要,實現(xiàn)全自動洗衣功能,洗衣過程中發(fā)生突發(fā)情況可以報警示意,洗衣結(jié)束后發(fā) 出提示音提醒,方便人們的日常生活,為人們帶來生活中的便利。
1 原理
Verilog HDL是一種硬件描述的語言(采用文本形式描述數(shù)字系統(tǒng)的硬件結(jié)構(gòu)和行為語言),用它可以表示(邏輯表達式、邏輯電路圖、示數(shù)字邏輯系統(tǒng))。程序主要包括計數(shù)器8421BCD碼顯示模塊,控制器模塊,受控器模塊??刂破魍ㄟ^端口的輸入,向洗衣機發(fā)出正轉(zhuǎn),反轉(zhuǎn),待機指令,并通過數(shù)碼管和LED顯示控制時間。
2 總體設(shè)計
3 詳細設(shè)計
3.1 設(shè)計要求
(1)控制功能
1)洗衣機的工作狀態(tài):待機5秒,正轉(zhuǎn)60秒,待機5秒,反轉(zhuǎn)60秒,并用3個LED和7段顯示器分別表示洗衣機工作狀態(tài)和顯示相應(yīng)工作狀態(tài)下時間。
2)使用者可自行設(shè)定循環(huán)次數(shù),當前設(shè)定最大循環(huán)次數(shù)為15次。
3)具有緊急情況處理功能,如果發(fā)生緊急情況,會立即待機,等待緊急解除后,繼續(xù)執(zhí)行下一步驟。
4)設(shè)定循環(huán)次數(shù)到零時即刻報警,表示設(shè)定次數(shù)已完成,在頂層電路定義各輸入及輸出變量。
(2)在Qaurtus∏建立計數(shù)器電路的頂層電路文件并完成編譯或仿真。
(3)信號說明,輸入信號:時鐘CLK,直接清零RD,暫停/連續(xù)EN,洗衣機的循環(huán)次數(shù)I3I2I1I0;
輸出信號:三個工作狀態(tài)S,R,L,一個工作過程周期T(T4),8421BCD碼num[7..0],報警信號。
3.2 設(shè)計原理
該系統(tǒng)主要包括控制對象,控制器,計時及報警電路,狀態(tài)顯4產(chǎn)生器,狀態(tài)計數(shù)器,數(shù)據(jù)選擇器和狀態(tài)譯碼器,它能自動發(fā)出為順序循環(huán)控制信號(S,R,L),并同時完成該狀態(tài)下的計時功能。而且能自動發(fā)出順序循環(huán)控制信號(S,R,L),并同時完成該狀態(tài)下計時功能。除此之外,還向控制對象提供一個工作過程的周期信號(T),作循環(huán)次數(shù)累計。控制對象由一個四位二進制計數(shù)器和一個四位數(shù)值比較器構(gòu)成,它對T計數(shù)與此同時與人工輸入的預(yù)置循環(huán)數(shù)比較,隨時將反映受控器自身狀態(tài)信號反饋給控制器,實現(xiàn)系統(tǒng)控制功能。
3.3 程序流程
3.4 框圖頂層
4 仿真效果圖
1)執(zhí)行設(shè)定次數(shù)為2的波形圖,測試符合要求。
2)加入暫停信號后的波形圖,從整體上看暫停為有效。
3)加入RD信號的波形圖,根據(jù)仿真,為有效復(fù)位,復(fù)位后報警成功。
5 驗證(表格)如表
6 總結(jié)
通過這次課程,我們系統(tǒng)地學(xué)習(xí)了FPGA課程,以VHDL和Verilog語言表達設(shè)計意圖,以硬件為載體,學(xué)到了將硬件設(shè)計軟件化的過程,關(guān)于脈沖與數(shù)字電路有了一些理解,例如時鐘CLK電路,直接清零RD電路等。
參考文獻:
[1] 鄒道勝,朱如琪,陳賾.CPLD/FPGA與ASIC設(shè)計實踐教程[M].2版.北京:科學(xué)出版社,2010.
[2] 張志剛.2007FPGA與SOPC設(shè)計教程[M].西安:西安電子科技大學(xué)出版社,2007.
【通聯(lián)編輯:唐一東】