基于FPGA的多功能空調控制器設計
標準模式:該模塊將外部采集的室溫與用戶自設溫度值進行對比判斷,確定當前室溫狀況(冷、熱或適宜),并將該狀態信息送入驅動模塊處理。
自動模式:該模塊將外部采集的室溫與系統內預設溫度閾值(此處設定為[17℃-26℃])進行對比判斷,若外部采集的溫度超出該閾值,則有相應狀態信號向驅動模塊發出。
睡眠模式:該模塊除具有標準模式的功能外,為了營造一個舒適的睡眠環境,系統每隔1小時,會向自設溫度模塊發出自增1℃的請求信號,5小時后向設備驅動模塊發出關機請求。睡眠模式程序設計流程如圖3所示。

圖3 睡眠模式設計流程圖
除濕模式:該模式下除濕請求自動向設備驅動模塊發出。
5. 2 風速選擇
風速選擇模塊由設備驅動提供選通信號,該部分由一個具有五種工作狀態的字符型有限狀態機來實現,通過按鍵從ST0到ST3進行循環切換。當設備驅動模塊無設備請求輸出時,風速自動切換到ST4狀態,禁止風機工作;當設備驅動恢復設備請求后,風速將重新切換到原來的狀態。風速選擇模塊狀態轉換控制關系如圖4所示。

圖4 風速切換狀態轉換圖
5.3 定時
在該模塊中,通過按鍵預置關機時間(最長可設置270min),并將關機時間送出實時顯示,在關機時會驅動系統狀態指示燈進行閃爍提示。為方便用戶輸入,節約按鍵和顯示所用硬件資源,程序采用了映射輸入和映射顯示的設計方法,即將用戶每次按鍵以一個特定步長值(此處設為30min)在程序中替換,并將倒計時按步長區間進行反替換輸出顯示。該部分程序設計流程如圖5所示。

圖5 定時模塊設計流程圖
5.4 室溫設定
室溫設定模塊,由一對加減按鍵循環進行輸入,同時也接收來自睡眠模塊的調溫請求,溫度可調區間設為[10℃-35℃]。在程序設計中,利用VHDL不完整IF語句保持原值的特性,可很容易地實現自設溫度的增減功能。該模塊僅在系統工作于標準模式或睡眠模式時,溫度可被設置,其余情況則將溫度復位到初始值22℃。
5.5 設備驅動
設備驅動模塊接收來自四種工作模式的室內狀況信號,經分類處理后,向后續設備發出響應請求。該部分采用了一個具有四種工作狀態(采暖、制冷、除濕和無操作)的字符型有限狀態機來實現。另外,為保護后續設備,在狀態機的設計中引入了異常輸入的保護機制,即當設備驅動模塊判定為異常輸入時(如同時出現冷熱兩種室內狀況),則立即將所有設備請求禁止。設備驅動模塊的狀態轉換控制關系如圖6所示。

















評論