基于FPGA的智能溫度采集控制器
控制器邏輯功能模塊。FPGA實現的控制器處于PC端上位機與溫度傳感器DS18B2O中間。FPGA的主要設計任務便是接收從串口得來的PC端上位機命令,通過內部狀態(tài)機邏輯的判斷和控制,通過Data Path將命令傳達至溫度傳感器DS18B20,并將命令的執(zhí)行結果返回給上位機。FPGA主要實現1-wire收發(fā)器和RS232收發(fā)器,對兩邊起溝通作用。整個硬件模塊大致分成三層(圖3),第一層為RS232串行通信模塊和時鐘分頻模塊fenpin,第二層為主控模塊 Control Block,第三層為 Data Path部分:讀/寫模塊bytebit。
圖3、智能溫度控制器系統模塊層次結構圖
l)RS232串行通信模塊。負責外部上位機串行bit與主控模塊Control Block并行byte間的數據傳輸。RS232串行通信速率采用 115200 bit/S。Uartrec從上位機接受一個字節(jié)com命令發(fā)給主控模塊Control Block,同時Uarttran從主控模塊Control Block接收一個字節(jié)result回應發(fā)給上位機。
2)分頻模塊fenpin。由50 MHZ內部晶振產生與DS18B20同步的1 MHZ時鐘。
3)主控模塊 Control Block。負責狀態(tài)轉化控制,實現 Data Path和RS232收發(fā)器的溝通。通過內部FSM邏輯的判斷和控制,將命令傳達至傳感器,并將命令的執(zhí)行結果返回給上位機。由兩個延時子模塊組成。初始化模塊init,負責初始化總線上所有DS18B20,并在初始化成功后報告主控模塊初始化狀態(tài)。若初始化失敗,將繼續(xù)初始化。若超過設定初始化時間仍不能成功初始化,將停止初始化并報警。溫度轉化等待模塊Convert,負責在讀/寫模塊bytebit向DS18B20發(fā)出convert命令后延時800 ms再報告主控模塊轉化完畢。根據DS18B20用戶手冊,溫度轉化最多用750 ms。所以采用800 ms的保守估算。
4)Data Path。由讀/寫模塊bytebit構成,負責主控模塊Control Block和DS18B20之間的數據通信。由主控模塊Control Block的r_w信號決定是發(fā)WRITE TIME SLOTS還是發(fā)READ TIME SLOTS。
4結束語
本文作者的主要創(chuàng)新點:分析并設計了一個基于FPGA的智能溫度測控系統。本系統已經廣泛地應用到各種相關的實際系統。本項目已經產生經濟效益越230萬元。
評論