基于FPGA的多功能空調(diào)控制器設(shè)計
標(biāo)準(zhǔn)模式:該模塊將外部采集的室溫與用戶自設(shè)溫度值進(jìn)行對比判斷,確定當(dāng)前室溫狀況(冷、熱或適宜),并將該狀態(tài)信息送入驅(qū)動模塊處理。
自動模式:該模塊將外部采集的室溫與系統(tǒng)內(nèi)預(yù)設(shè)溫度閾值(此處設(shè)定為[17℃-26℃])進(jìn)行對比判斷,若外部采集的溫度超出該閾值,則有相應(yīng)狀態(tài)信號向驅(qū)動模塊發(fā)出。
睡眠模式:該模塊除具有標(biāo)準(zhǔn)模式的功能外,為了營造一個舒適的睡眠環(huán)境,系統(tǒng)每隔1小時,會向自設(shè)溫度模塊發(fā)出自增1℃的請求信號,5小時后向設(shè)備驅(qū)動模塊發(fā)出關(guān)機請求。睡眠模式程序設(shè)計流程如圖3所示。
圖3 睡眠模式設(shè)計流程圖
除濕模式:該模式下除濕請求自動向設(shè)備驅(qū)動模塊發(fā)出。
5. 2 風(fēng)速選擇
風(fēng)速選擇模塊由設(shè)備驅(qū)動提供選通信號,該部分由一個具有五種工作狀態(tài)的字符型有限狀態(tài)機來實現(xiàn),通過按鍵從ST0到ST3進(jìn)行循環(huán)切換。當(dāng)設(shè)備驅(qū)動模塊無設(shè)備請求輸出時,風(fēng)速自動切換到ST4狀態(tài),禁止風(fēng)機工作;當(dāng)設(shè)備驅(qū)動恢復(fù)設(shè)備請求后,風(fēng)速將重新切換到原來的狀態(tài)。風(fēng)速選擇模塊狀態(tài)轉(zhuǎn)換控制關(guān)系如圖4所示。
圖4 風(fēng)速切換狀態(tài)轉(zhuǎn)換圖
5.3 定時
在該模塊中,通過按鍵預(yù)置關(guān)機時間(最長可設(shè)置270min),并將關(guān)機時間送出實時顯示,在關(guān)機時會驅(qū)動系統(tǒng)狀態(tài)指示燈進(jìn)行閃爍提示。為方便用戶輸入,節(jié)約按鍵和顯示所用硬件資源,程序采用了映射輸入和映射顯示的設(shè)計方法,即將用戶每次按鍵以一個特定步長值(此處設(shè)為30min)在程序中替換,并將倒計時按步長區(qū)間進(jìn)行反替換輸出顯示。該部分程序設(shè)計流程如圖5所示。
圖5 定時模塊設(shè)計流程圖
5.4 室溫設(shè)定
室溫設(shè)定模塊,由一對加減按鍵循環(huán)進(jìn)行輸入,同時也接收來自睡眠模塊的調(diào)溫請求,溫度可調(diào)區(qū)間設(shè)為[10℃-35℃]。在程序設(shè)計中,利用VHDL不完整IF語句保持原值的特性,可很容易地實現(xiàn)自設(shè)溫度的增減功能。該模塊僅在系統(tǒng)工作于標(biāo)準(zhǔn)模式或睡眠模式時,溫度可被設(shè)置,其余情況則將溫度復(fù)位到初始值22℃。
5.5 設(shè)備驅(qū)動
設(shè)備驅(qū)動模塊接收來自四種工作模式的室內(nèi)狀況信號,經(jīng)分類處理后,向后續(xù)設(shè)備發(fā)出響應(yīng)請求。該部分采用了一個具有四種工作狀態(tài)(采暖、制冷、除濕和無操作)的字符型有限狀態(tài)機來實現(xiàn)。另外,為保護(hù)后續(xù)設(shè)備,在狀態(tài)機的設(shè)計中引入了異常輸入的保護(hù)機制,即當(dāng)設(shè)備驅(qū)動模塊判定為異常輸入時(如同時出現(xiàn)冷熱兩種室內(nèi)狀況),則立即將所有設(shè)備請求禁止。設(shè)備驅(qū)動模塊的狀態(tài)轉(zhuǎn)換控制關(guān)系如圖6所示。
評論