朱偉
摘 要:文章提出了一種基現場可編程門陣列(簡稱FPGA)實現的洗衣機控制器,本洗衣機控制器不僅工作性能穩定抗干擾能力強和結構簡單,而且占用硬件資源少,能夠通過配置系統參數以滿足不同類型洗衣機的控制要求,對洗衣機水位和洗滌力度的控制效果良好,具有一定的實用價值。
關鍵詞:FPGA;洗衣機;控制器
1 概述
洗衣機的發明使人類告別了手工洗衣的繁重勞動,但是最初由于技術不發達洗衣機的自動化程度顯然不高,洗衣的幾個過程仍需要人工切換操作來進行。隨著科技的發展,洗衣機也由最初的洗滌和脫水的手動切換過程發展到了半自動半手工,發展成為目前普遍使用的全自動洗衣機,現實要求洗衣機的體積更小、集成度更高、應用更簡單、洗衣機的控制引入了微型處理器進行編程,實現對洗衣機內外部水流的控制,洗衣機控制精度不同對控制器的精度要求也不同,對于控制精度要求高的洗衣機需要精度高的控制。本系統采用有FPGA芯片的在線可編程控制器,該系統控制器硬件使用VHDL語言設計而成,不僅性能穩定抗干擾能力強而且方便調試維護和系統升級,保障洗衣機系統的正常運行。
2 系統的功能部件介紹
該洗衣機控制器根據功能可以劃分為五個模塊,分別為時間預置編碼器模塊、減法計數器模塊、數碼管顯示模塊、時序電路模塊和譯碼器模塊。
(1)時間預置編碼器模塊:接收用戶所輸入的預置時間信息,并將時間信息進行編碼,編碼成機器語言后轉交給減法計數器。
(2)減法計數器模塊:將接收的編碼時間預置信息轉換成開始信號發送給電機使電機開始運行,并將預設的時間信息和剩余的時間信息發送給數碼管模塊進行顯示。
(3)數碼管顯示電路模塊:接收減法計數器模塊傳遞的時間信息,并進行譯碼顯示。
(4)電機時序控制電路:接收減法計數器模塊傳遞的運行開始和結束信號,安排電機的運行狀態并輸出。
(5)譯碼器:接收電機運行狀態的信號并譯碼,實現實時控制電機的正反轉狀態以及暫停狀態。
3 控制邏輯各模塊功能的VHPL語言實現
3.1 時間預置編碼器模塊的VHDL語言
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY FENG ISPORT(CP,CLR:IN STD_ 31A ISPORT(SEL:IN STD_LOGI
C_VECTOR(2 DOWNTO 0) D1,D2,D3:IN 1,Q2,Q3,Q4,ALM:OUT_ARCOFCH41ASBPIDEGINPROCESS(D1,D2,D3,D4)VARIPIDABLE:S;USEIEEE.STD_LOGIC_1164.ALLENTITYSELISPORTARCHITECTURBEGIN PROCESS(CLK) VARIABLEE.STD;WHENEND
CASE;ENDPROCESSNSIGNED.ALLNTITYCOUNTISPORT(CLK,EN:INH,L:OUTBEGINCLK'EVEN'THENIFEN='1'THENIFELSIFLL=0THENLL1PROCESS;ENDCOUNT_AREND DISP_ARC;
2,減法計數器模塊的VHDL語言
LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALLENTITY LOCK
B IS PORT(D1,D2,D3,D4:IN STD_LOGIC; CLK,CLR:IN LOGIC;Q:OUT STD_LOGIC); END FENG; ARCHITECTURE FENG_ARC OF FENG IS BEGINPROCESS(CP,CLR) BEGINIF CLR='0'THEN Q<='0'; ELSIF CP'EVENTCP=TO0)BEGINTMP:=D1&D2&D3&D4;CASETMPISWSTD_LOGIC); 2ALM<='1EOWNTO 0)) END CH31A ARCHITECTURE CH31_ARC OF CH31A 4.ALENTITYDISPISPORT(D:INSTD_LOGIC_VECTOR(3DOWNTO0DOWNTO0));ENDDISPRCHITECTUREDISP_ARCDISPBEGINPROCESS(D)CASEWHENOTHERS=>QEND PROCESS; END DISP_ARC;
3,數碼管顯示電路模塊的VHDL語言
LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALLENTITYPIDCH4
1AISPORT(D1,D2,D3,D4:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR(3DOWNTO 0)) END CH41A ARCHITECTURE CHCKB;ARCHITECTURELOCK_ARCOFLOCKBGIN PROCESS(CLK) BEGIN FENQ1<='0'; Q2<='0'; Q3<='0Q4<='0ALM<='0';LOCKB ELSIFCLK'
EVENTANDCLK='1'THEN Q1<=D1;Q
4,電機時序控制電路的VHDL語言
LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALENTITYCH1AISPORT(SEL:IN STD_LOGIC_VECTOR(2DOWNTO0) ;ENDIF;ENDPROCESS;ENDFENG_ARC;USEIEEE.STD_LOGIC_1164.ALLENTITYSELISPORT(CLK:INSENDSELOR(3 DOWNTO 0)Q: OUT USEIEEE.STD_LOGIC_1164.ALLENTITYSELISPORTARCHITE
CTURBEGIN PROCESS(CL STD_LOGIC_VECTOR(3 DOWNTO 0); Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ENDCH31A;RCHITECTURECH31_ARC
4 結束語
本系統采用FPGA作洗衣機控制單元控制情度較高,成本低且控制效率高,能夠滿足各種類型洗衣機的控制要求。實際應用穩定抗干擾能力強和結構簡單,而且占用硬件資源少,能夠通過配置系統參數以滿足不同類型洗衣機的控制要求,滿足對洗衣機水位和洗滌力度的控制精度,具有一定的實際應用價值。
參考文獻
[1]姜雪松,吳鈺淳.VHDL設計實例與仿真[M].機械工業出版社,
2007.
[2]羅朝霞,高書莉.CPLD/FPGA設計及應用[M].北京:人民郵電出版社,2007.