大連理工大學城市學院 丁書亞 謝印慶 石海鋒
隨著人們生活節奏的加快,面包在早餐中的比重越來越重,面包加牛奶成為最受歡迎的早餐搭配之一,然而不經加工的切片面包無論是口感還是色澤都欠佳,基于這種狀況烤面包機的出現很有必要。
本文基于VHDL控制的烤面包機設計,內置狀態控制電路、數據裝載電路、計時電路、顯示譯碼電路四個模塊??煽刂瓶久姘鼨C的加熱、停止等狀態并實時更新顯示數據。烤面包機設定烘烤時間,放入切片面包,機器自動開始計時,到達指定時間后,烤面包機停止烘烤,將面包彈出,無需擔心因無人看管而導致面包烤糊的情況,并且本設計結構簡單,可以量產。
烤面包機系統由四個電路模塊組成。其中包括控制烤面包機的工作狀態轉換并發出控制信號的狀態控制電路;控制定時、測試數據、計時并完成信息載入的數據裝載電路;通過時鐘計數并發出烘烤完成信號的計時電路;顯示各種工作狀態的顯示譯碼電路。[1]
如圖1所示為烤面包機的系統框圖。

圖1 烤面包機系統框圖
烤面包機的工作流程如下:首先,對系統進行復位清零;設置信號SET_T有效時,將烘烤時間讀入DATA【15…0】,系統復位并顯示設定時間。按下開始鍵START,系統進入烘烤狀態,COOK信號變為高電平,計數器開始運算,顯示烘烤時間。烘烤結束,系統恢復初始狀態,數碼管顯示烘烤結束信息。
當系統處于復位清零狀態時,按下顯示管測試按鈕TEST,將對顯示管是否正常工作進行測試,正常工作時,顯示管輸出全1。[2]
2.2.1 狀態控制模塊
狀態控制模塊的功能是根據輸入信號和當前狀態,完成狀態轉換以及輸出控制信號,四個輸出端LD_DONE、LD_CLK、LD_TEST、COOK分別指示烘烤結束狀態信息、輸入時間、測試數據并顯示驅動信息、烘烤的狀態并控制計時器計數。[3]

圖2 狀態控制器狀態轉換圖
根據烤面包機工作流程,對狀態轉換條件和輸出信號的分析,可以得到如圖2所示的烤面包機的狀態轉換圖。
當RESET信號有效時,系統復位清零;輸入和輸出對應四種狀態,分別為:烘烤時間設置、顯示譯碼測試、完成信號顯示以及減法計數定時,并進行相應的轉換。
2.2.2 數據裝載模塊
數據裝載模塊(loader)中LD_DONE、LD_CLK、LD_TESTLOAD都為高電平有效的端口,分別用來輸出烘烤完成的信息、輸出設置的烘烤時間、輸出測試數據;LOAD用于指示電路信號模式。
2.2.3 計時模塊
計時模塊(counter)中LOAD和COOK均為高電平有效;烘烤結束用DONE表示,用MIN和SEC顯示剩余時間、測試狀態以及烘烤完成狀態信息等。

圖3 烤面包機原理圖

圖4 狀態控制電路模塊的仿真

圖5 數據裝載電路模塊的仿真
通過以上兩個部分的仿真圖以及系統的原理圖可以看出,此系統能夠實現烤面包機預期的基本功能(計時電路及復位和測試功能的仿真省略)。[4]
本文設計了一個基于VHDL控制的烤面包機,可實現定時、烘烤、停止、狀態顯示等功能。相較于其他語言,VHDL語言功能強大、設計靈活、支持廣泛,具有強大的系統硬件描述能力。本設計使烤面包機從烘烤到結束全自動化進行,節省了人們日常生活中的時間,提高了成功率,避免了面包烤糊、烤生等口感不佳的情況。同時結構簡單、可形成生產鏈,在經濟與未來發展的角度具有實際意義。