數字化無線溫度傳感器的設計與實現
2.2.3 無線接收時序
IA4421的接收方式有兩種:一種是一直接收;另一種是FIFO模式。前一種方式并不推薦,會引起較高的誤碼率。本設計采用后一種模式。在相應的控制字都設置好之后,數據已進入緩沖器中,若引腳nIRQ變成低電平,則表示IA4421準備好接收數據,這時發送FIFO讀命令字,開始接收。
2.3 外圍天線設計
IA4421的支持天線直接驅動,設計相當簡單方便并且通信距離長。一個50 Ω的外接螺旋天線和對應的差分電路就可以實現數據的發送和接收。本系統設計的天線是用1.17 cm的單芯銅導線實現,導線的直徑是0.6 mm,用螺絲刀的金屬棒饒制7圈成螺旋狀。經過實驗,實際有效的通信距離能達到200 m左右,滿足了系統需要。
3 系統軟件設計
3.1 單片機軟件設計
單片機軟件部分主要包括主程序、中斷子程序、測溫子程序、LCD的轉換顯示,蜂鳴器報警子程序,按鍵子程序以及SPI子程序等。為了降低功耗,使用中斷來喚醒單片機進行測溫等工作,因此主程序部分比較簡單,主要負責系統各部分初始化和中斷的調用,在系統初始化完成后就直接進入睡眠模式,當中斷到來時單片機退出睡眠模式,調用中斷子程序實現測溫、轉換顯示、溫度數據的傳輸等功能。單片機控制程序流程圖如圖4所示。

3.2 IA4421應用程序設計
本系統是基于無線收發芯片IA4421和單片機ATmega324p的增強型串行外設接口SPI來實現無線數據的傳輸,在核心協議棧上編寫自己的上層應用程序。發送接收數據的程序流程圖如圖5所示。

3.3 低功耗設計
作為無線傳感器,低功耗運行可以最大限度地延長設備的有效使用時間,本系統是采用電池供電,功耗肯定就是一個不得不考慮的問題。為了獲得最佳性能,設計時在電源損耗和可用性方面必須根據情況權衡使用,除了選用低功耗器件外,還從以下幾個方面設計電源管理程序以盡量減少無線溫度傳感器的功耗:
(1)由于無線溫度傳感器負責向控制終端傳輸數據,因此何時進行數據采集、何時進行數據傳輸可以由上位機的控制終端決定,非常適合使用休眠模式和呼吸模式,通過減少IA4421在微微網中的活動達到節電的目的。把控制終端作為主設備,將電源管理程序設計在終端的應用控制層中,并由控制終端完成設備的查詢、配對、建鏈等工作,當無線傳感器與控制終端配對成功并連接后進入休眠模式,此時主從設備仍然保持著信道,只是不能發送和接收數據。當需要進行數據傳輸時,退出休眠模式進入呼吸模式,通過呼吸時隙發送數據,呼吸間隔可設為20~40 ms,間隔過大會帶來明顯延遲,當數據傳輸結束后再次進入休眠模式,從而盡可能地降低能耗。
(2)應用單片機的睡眠模式達到節能目的。當IA4421退出待機狀態,發送指令進行數據采集時,IA4421的中斷請求標志位nIRQ產生低電平,通過中斷標志位上電平的變化產生外部中斷來喚醒單片機進入工作狀態。
4 結 語
所設計的數字化無線溫度傳感器可應用到各種需要無接觸的測溫場合,實現對現場溫度的“先知先覺”。設計中充分利用各芯片的低功耗特性,有效地延長了電池使用壽命。無線數據傳輸方式使用方便靈活。系統完全可以擴充為一個網絡系統,形成溫度采集網,以滿足現場控制及測控系統的各種需求,這將是作者下步所研究開發的課題。
評論