<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于VHDL的洗衣機(jī)控制器的設(shè)計(jì)

          基于VHDL的洗衣機(jī)控制器的設(shè)計(jì)

          作者: 時(shí)間:2016-10-29 來源:網(wǎng)絡(luò) 收藏

          摘要:為降低設(shè)計(jì)成本,縮短設(shè)計(jì)周期,提出一種基于的設(shè)計(jì)方案。該方案采用模塊化的設(shè)計(jì)思想,并使用完成控制模塊的設(shè)計(jì)。整個(gè)系統(tǒng)在開發(fā)平臺(tái)上完成設(shè)計(jì)、編譯和仿真,并在硬件實(shí)驗(yàn)箱上進(jìn)行測(cè)試。仿真波形和測(cè)試結(jié)果均表明該設(shè)計(jì)方案切實(shí)可行。

          本文引用地址:http://www.ex-cimer.com/article/201610/307110.htm

          為提高洗衣機(jī)控制系統(tǒng)的智能性,以及定時(shí)和轉(zhuǎn)速的精確度,目前洗衣機(jī)控制系統(tǒng)通常采用數(shù)字電路而不是傳統(tǒng)的機(jī)械式控制。隨著EDA(Electronic Design Automation,電子設(shè)計(jì)自動(dòng)化)技術(shù)的發(fā)展,采用硬件描述語言在EDA開發(fā)軟件上完成電子系統(tǒng)的設(shè)計(jì)和仿真,并下載到可編程邏輯器件上調(diào)試已成為數(shù)字電路設(shè)計(jì)的新趨勢(shì)。

          與傳統(tǒng)的數(shù)字電路設(shè)計(jì)方法相比,EDA技術(shù)具有以下特點(diǎn):1)用軟件方式設(shè)計(jì)硬件;2)用軟件方式設(shè)計(jì)的系統(tǒng)到硬件系統(tǒng)的轉(zhuǎn)換是由有關(guān)開發(fā)軟件自動(dòng)完成的;3)設(shè)計(jì)過程中可用有關(guān)軟件進(jìn)行各種仿真;4)系統(tǒng)可現(xiàn)場(chǎng)編程,在線升級(jí);5)整個(gè)系統(tǒng)可集成在一個(gè)芯片上,體積小、功耗低、可靠性高;6)設(shè)計(jì)的移植性好、效率高;7)適合分工設(shè)計(jì)、團(tuán)隊(duì)協(xié)作;8)設(shè)計(jì)成本低、設(shè)計(jì)周期短。基于此,我們使用硬件描述語言在EDA主流開發(fā)軟件上完成設(shè)計(jì)、編譯和仿真,并下載到硬件實(shí)驗(yàn)箱上進(jìn)行測(cè)試。測(cè)試結(jié)果表明該設(shè)計(jì)方案切實(shí)可行。

          1 總體設(shè)計(jì)方案

          通過對(duì)市面上的的調(diào)查,設(shè)計(jì)洗衣機(jī)控制系統(tǒng)需實(shí)現(xiàn)洗滌模式選擇,水位控制,洗滌電機(jī)控制,洗衣狀態(tài)、水位與剩余時(shí)間顯示等功能。具體功能為:1)能對(duì)洗滌模式、水位、洗滌時(shí)間、漂洗時(shí)間、脫水時(shí)間進(jìn)行設(shè)置;2)根據(jù)不同的洗滌模式,設(shè)置不同的電機(jī)轉(zhuǎn)速;3)能通過數(shù)碼管和LED顯示燈的形式顯示水位、洗衣的剩余時(shí)間、當(dāng)前洗衣的狀態(tài)等信息;4)能在洗衣過程中隨時(shí)暫停,啟動(dòng)后從暫停前狀態(tài)繼續(xù)開始洗衣;5)能實(shí)現(xiàn)系統(tǒng)復(fù)位功能,按復(fù)位鍵后使洗衣機(jī)系統(tǒng)恢復(fù)到起始狀態(tài)。

          基于VHDL的洗衣機(jī)控制器的設(shè)計(jì)

          根據(jù)洗衣機(jī)控制器的功能,設(shè)置了4個(gè)模塊,分別是按鍵選擇模塊、計(jì)數(shù)模塊、控制模塊和時(shí)間顯示模塊,其系統(tǒng)框圖如圖1所示?;谀K化設(shè)計(jì)思想,采用自頂向下的層次化設(shè)計(jì)方法進(jìn)行設(shè)計(jì),其輸入為:?jiǎn)?dòng)信號(hào)、暫停信號(hào)、各種用戶設(shè)置信號(hào)、1 Hz的計(jì)時(shí)時(shí)鐘信號(hào)和1kHz的掃描時(shí)鐘信號(hào);其輸出為:當(dāng)前狀態(tài)剩余時(shí)間顯示(2位共陰極7段數(shù)碼管顯示)、洗衣狀態(tài)、電機(jī)控制信號(hào)、水位和進(jìn)水信號(hào)。

          2 核心模塊設(shè)計(jì)

          2.1 按鍵選擇模塊設(shè)計(jì)

          洗衣機(jī)洗衣過程分為4階段:進(jìn)水→洗滌→漂洗→脫水。其中進(jìn)水時(shí)間由水量大小決定。水量設(shè)置為高、中、低3檔,用戶通過撥動(dòng)兩位水量設(shè)置按鍵進(jìn)行選擇。當(dāng)用戶不撥動(dòng)任何按鍵時(shí),即按鍵值為00時(shí),水量設(shè)置為默認(rèn)值:即中檔,4升。表1給出了水量設(shè)置按鍵與水量大小和進(jìn)水時(shí)間的對(duì)應(yīng)關(guān)系。

          基于VHDL的洗衣機(jī)控制器的設(shè)計(jì)

          洗滌、漂洗和脫水時(shí)間由洗衣模式?jīng)Q定。我們將洗衣模式分為自動(dòng)設(shè)置和手動(dòng)設(shè)置兩種。在手動(dòng)設(shè)置時(shí),用戶通過撥動(dòng)3組手動(dòng)洗衣設(shè)置按鍵:洗滌設(shè)置按鍵、漂洗設(shè)置按鍵和脫水設(shè)置按鍵分別設(shè)置洗滌、漂洗和脫水時(shí)間。表2給出了這3組設(shè)置按鍵與洗滌、漂洗和脫水時(shí)間的對(duì)應(yīng)關(guān)系。當(dāng)用戶不撥動(dòng)任何按鍵時(shí),時(shí)間取默認(rèn)值,即中檔(按鍵值為10時(shí)對(duì)應(yīng)的時(shí)間)

          基于VHDL的洗衣機(jī)控制器的設(shè)計(jì)

          自動(dòng)設(shè)置模式包括:強(qiáng)力、常用、輕柔3種洗衣模式,用戶通過撥動(dòng)兩位自動(dòng)洗衣模式選擇鍵進(jìn)行選擇。當(dāng)用戶選擇自動(dòng)設(shè)置模式時(shí),控制器將根據(jù)用戶選擇的洗衣模式自動(dòng)設(shè)置相應(yīng)的洗滌時(shí)間、漂洗時(shí)間、脫水時(shí)間。表3給出了不同洗衣模式下的洗滌、漂洗和脫水時(shí)間。

          基于VHDL的洗衣機(jī)控制器的設(shè)計(jì)

          需要注意的是:自動(dòng)設(shè)置模式的優(yōu)先級(jí)高于手動(dòng)設(shè)置模式。若用戶誤操作,同時(shí)撥動(dòng)了自動(dòng)洗衣模式選擇鍵和手動(dòng)洗衣時(shí)間設(shè)置鍵(這種情況很容易發(fā)生),洗衣機(jī)控制器認(rèn)為選擇的是自動(dòng)洗衣模式,本模塊將按選擇的自動(dòng)洗衣模式輸出相應(yīng)時(shí)間和洗滌轉(zhuǎn)速到控制模塊。而當(dāng)用戶不撥動(dòng)任何自動(dòng)洗衣模式選擇鍵時(shí),默認(rèn)選擇手動(dòng)設(shè)置模式。有趣的是,當(dāng)自動(dòng)洗衣模式選擇鍵和手動(dòng)洗衣時(shí)間設(shè)置按鍵均未撥動(dòng)時(shí),即用戶直接啟動(dòng)洗衣機(jī),將選擇手動(dòng)設(shè)置模式的默認(rèn)值(中檔)。此時(shí),洗滌、漂洗和脫水時(shí)間分別為15,20,5分鐘,而這和自動(dòng)設(shè)置模式中的常用洗衣模式完全相同。這種洗衣模式是最常用的一種模式,通過這種默認(rèn)設(shè)置,用戶可以有效避免復(fù)雜的選擇,直接啟動(dòng)洗衣機(jī)洗衣。

          不論是選擇什么洗衣模式,洗滌電機(jī)的邏輯控制過程始終相同:在洗衣和漂洗時(shí),電機(jī)以洗滌轉(zhuǎn)速正向連續(xù)工作5秒,暫停工作1秒,然后以相同的洗滌轉(zhuǎn)速反向連續(xù)工作5秒,暫停工作1秒,如此循環(huán)控制電機(jī),直到洗衣和漂洗定時(shí)結(jié)束;在脫水時(shí),電機(jī)以600轉(zhuǎn)/分鐘的轉(zhuǎn)速正向連續(xù)工作5秒,暫停工作1秒,如此循環(huán)控制電機(jī),直到脫水定時(shí)結(jié)束。洗滌電機(jī)的洗滌轉(zhuǎn)速將根據(jù)洗衣模式有所調(diào)整,其默認(rèn)轉(zhuǎn)速為60轉(zhuǎn)/分鐘。當(dāng)洗衣模式為強(qiáng)力時(shí),電機(jī)轉(zhuǎn)速增加為72轉(zhuǎn)/分鐘;當(dāng)洗衣模式為輕柔時(shí),電機(jī)轉(zhuǎn)速降低為45轉(zhuǎn)/分鐘;而其他模式,包括手動(dòng)設(shè)置模式均采用默認(rèn)轉(zhuǎn)速60轉(zhuǎn)/分鐘。

          按鍵選擇模塊的主要功能是根據(jù)用戶撥動(dòng)的各種設(shè)置按鍵,如水量設(shè)置、自動(dòng)洗衣模式選擇、手動(dòng)洗衣時(shí)間設(shè)置,進(jìn)行匯總,按照前面所提供的各種設(shè)置按鍵與控制信息之間的關(guān)系,輸出進(jìn)水、洗、漂洗、脫水時(shí)間、洗滌轉(zhuǎn)速到控制模塊控制洗衣過程,輸出洗衣總時(shí)間到計(jì)數(shù)模塊控制計(jì)數(shù),輸出水位信號(hào)控制水位顯示的LED燈。

          2.2 計(jì)數(shù)模塊設(shè)計(jì)

          計(jì)數(shù)模塊的輸入為來自按鍵選擇模塊的洗衣總時(shí)間total、1 Hz計(jì)時(shí)時(shí)鐘信號(hào)以及復(fù)位和暫停信號(hào)。計(jì)數(shù)模塊實(shí)現(xiàn)從0到total的計(jì)數(shù),并輸出計(jì)數(shù)到控制模塊。計(jì)數(shù)模塊的計(jì)數(shù)初值num為零,每過一時(shí)鐘周期,計(jì)數(shù)值num加1。當(dāng)num

          2.3 控制模塊設(shè)計(jì)

          控制模塊是洗衣機(jī)控制器的核心模塊,它根據(jù)按鍵選擇模塊輸入的各種控制信息和計(jì)時(shí)模塊輸入的計(jì)時(shí)信息控制洗衣4種狀態(tài)的轉(zhuǎn)換和電機(jī)轉(zhuǎn)速,并輸出當(dāng)前洗衣狀態(tài)、電機(jī)轉(zhuǎn)速,以及剩余時(shí)間。

          洗衣四種狀態(tài)的轉(zhuǎn)換可以方便對(duì)由實(shí)現(xiàn)。是一種輸出由當(dāng)前狀態(tài)和當(dāng)前輸入決定的時(shí)序電路,它通常可以用狀態(tài)轉(zhuǎn)換圖表示。使用設(shè)計(jì)狀態(tài)機(jī)不必知道電路的具體實(shí)現(xiàn)細(xì)節(jié),只需在邏輯上加以描述,因此采用狀態(tài)機(jī)實(shí)現(xiàn)控制模塊是一種非常方便的方法。

          狀態(tài)機(jī)的用VHDL實(shí)現(xiàn)有通用格式,它包含兩個(gè)個(gè)進(jìn)程:狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換進(jìn)程Change_State和狀態(tài)機(jī)輸出進(jìn)程Output_Process。其中狀態(tài)轉(zhuǎn)換進(jìn)程由狀態(tài)轉(zhuǎn)換圖決定,洗衣機(jī)的狀態(tài)轉(zhuǎn)換圖如圖2所示,S0、S1、S2、S3、S4分別為進(jìn)水、洗滌、漂洗、脫水以及結(jié)束狀態(tài),n0、n1、n2、n3分別表示由按鍵選擇模塊輸出的進(jìn)水、洗滌、漂洗與脫水時(shí)間,num為計(jì)數(shù)模塊輸出的洗衣機(jī)運(yùn)行時(shí)間,reset為洗衣機(jī)啟動(dòng)信號(hào)。當(dāng)洗衣機(jī)啟動(dòng)時(shí),即reset按鍵撥動(dòng),進(jìn)入S0狀態(tài),開始進(jìn)水;當(dāng)洗衣機(jī)運(yùn)行時(shí)間num=n0時(shí),進(jìn)水完成,狀態(tài)轉(zhuǎn)為S1,開始洗滌;當(dāng)洗衣機(jī)運(yùn)行時(shí)間num=n0+n1時(shí),洗滌完成,狀態(tài)轉(zhuǎn)為S2,開始漂洗;當(dāng)洗衣機(jī)運(yùn)行時(shí)間num=n0+n1+n2時(shí),漂洗完成,狀態(tài)轉(zhuǎn)為S3,開始脫水;當(dāng)洗衣機(jī)運(yùn)行時(shí)間num=n0+n1+n2+n3時(shí),脫水完成,狀態(tài)轉(zhuǎn)為結(jié)束狀態(tài)S4,洗衣停止。

          基于VHDL的洗衣機(jī)控制器的設(shè)計(jì)

          狀態(tài)轉(zhuǎn)換進(jìn)程的VHDL代碼如下:

          基于VHDL的洗衣機(jī)控制器的設(shè)計(jì)

          當(dāng)reset=1時(shí),啟動(dòng)進(jìn)程,當(dāng)前狀態(tài)state置S0。每當(dāng)掃描時(shí)鐘scan_clk為上升沿時(shí),啟動(dòng)進(jìn)程,根據(jù)當(dāng)前狀態(tài)state和洗衣機(jī)運(yùn)行時(shí)間num,按照狀態(tài)轉(zhuǎn)換圖決定新的當(dāng)前狀態(tài)。

          輸出進(jìn)程通過輸出4種洗衣狀態(tài)信號(hào)控制4個(gè)LED燈當(dāng)明滅來顯示當(dāng)前洗衣狀態(tài)。輸出進(jìn)程通過輸出進(jìn)水信號(hào)控制進(jìn)水。當(dāng)洗衣為進(jìn)水狀態(tài)時(shí),若暫停信號(hào)為0,則輸出進(jìn)水信號(hào)為1,開始進(jìn)水;若暫停信號(hào)為1,輸出進(jìn)水信號(hào)為0,暫停進(jìn)水。而當(dāng)洗衣為其他狀態(tài)時(shí),輸出進(jìn)水信號(hào)始終為0,停止進(jìn)水。輸出進(jìn)程通過輸出電機(jī)控制信號(hào)控制電機(jī)運(yùn)行。根據(jù)洗滌電機(jī)的邏輯控制過程,當(dāng)洗衣狀態(tài)為進(jìn)水時(shí),輸出電機(jī)控制信號(hào)為零電平,表示電機(jī)暫停;當(dāng)洗衣狀態(tài)為洗滌和漂洗時(shí),輸出電機(jī)控制信號(hào)為頻率為洗滌轉(zhuǎn)速(默認(rèn)60轉(zhuǎn)/分鐘,即1Hz)的方波持續(xù)5秒(默認(rèn)時(shí)輸出1 Hz的方波5個(gè)),然后高電平持續(xù)1秒(控制電機(jī)極性轉(zhuǎn)向);洗衣狀態(tài)為脫水時(shí),輸出電機(jī)控制信號(hào)為頻率為脫水轉(zhuǎn)速(600轉(zhuǎn)/分鐘,即10 Hz)的方波持續(xù)5秒(默認(rèn)狀態(tài)下,輸出10 Hz的方波50個(gè)),然后零電平持續(xù)1秒(控制電機(jī)暫停)。輸出進(jìn)程根據(jù)當(dāng)前狀態(tài)和洗衣機(jī)運(yùn)行時(shí)間輸出當(dāng)前狀態(tài)剩余時(shí)間到顯示模塊。例如,當(dāng)洗衣為洗滌狀態(tài)時(shí),輸出剩余時(shí)間為n0+n1-num。

          2.4 顯示模塊設(shè)計(jì)

          本模塊用于在7段數(shù)碼管上顯示當(dāng)前狀態(tài)剩余時(shí)間,其輸入為控制模塊輸出的當(dāng)前狀態(tài)剩余時(shí)間和掃描時(shí)鐘。首先,將輸入的剩余時(shí)間由秒轉(zhuǎn)換為分鐘(四舍五入);然后進(jìn)行分位,分為個(gè)位ge和十位shi(顯然剩余時(shí)間不超過100分鐘,最多2位);最后通過動(dòng)態(tài)掃描在2個(gè)共陰極的七段數(shù)碼上交替顯示個(gè)位數(shù)字和十位數(shù)字。當(dāng)交替頻率高于28 Hz時(shí),由于人眼的視覺殘留效果,這2位數(shù)字看上去是同時(shí)顯示在2個(gè)七段數(shù)碼管上。動(dòng)態(tài)掃描進(jìn)程的VHDL代碼如下:

          基于VHDL的洗衣機(jī)控制器的設(shè)計(jì)

          3 結(jié)束語

          我們?cè)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/QuartusⅡ">QuartusⅡ軟件開發(fā)平臺(tái)上,基于模塊化的設(shè)計(jì)思想,使用VHDL語言完成洗衣機(jī)控制器設(shè)計(jì)、編譯和仿真,并下載到硬件實(shí)驗(yàn)箱上進(jìn)行測(cè)試。仿真波形和測(cè)試結(jié)果表明該洗衣機(jī)能正確實(shí)現(xiàn)各種設(shè)計(jì)功能,該設(shè)計(jì)方案切實(shí)可行。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();