圖5 主程序設計流程
3.2 溫度采集
溫度采集可分為系統初始化、等待NRF905接收和接收主機命令三部分。結合硬件設計,接收主機命令時,應采用通道0(CH0)來進行溫度采集,具體程序如下:
3.3 NRF905無線通信
NRF905無線通信分為發送和接收兩部分,以數據發送為例進行分析。NRF905數據發送可以分為確定數據和地址、確定發送模式、數據發送和發送完成四步。
當有數據提出發送請求時,從機地址和待發送的數據按時序經SPI接口傳送給NRF905,SPI接口的速率由器件引腳配置信息決定。同時,TRX_CE和TX_EN被置成高電平,激發NRF905的ShockBurstTM發送模式[6],數據由NRF905 不斷發送,直至TRX_CE 被置低。TRX_CE 被置低后,數據發送過程完成,系統自動進入待機模式等待下次數據請求,具體設計流程如圖6所示。
圖6 NRF905發送程序流程圖
4、數據實測
數據測量時為了驗證設計效果,選擇了五種不同溫度環境,首先在實驗室搭建了溫度采集硬件電路,接著用KeiluVision4軟件編程和編譯得到[.hex]文件,最后用STC_ISP_V483軟件對芯片進行燒寫。把實驗電路和蘇州領航測控技術有限公司生產的SHWD-T486型無線多點溫度計測量的溫度值作對比,由表1數據可知有兩組值和SHWD-T486型測量數據一樣,剩余三組數據的相對測量精度也都在0.18%以下,測量精度較高,且受環境影響較小。
5、結語
本文提出了一種基于NRF905 的無線溫度采集系統的設計方案。先對方案中的溫度采集系統的總體設計進行了介紹,同時對系統的硬件設計進行了分析,并重點對溫度采集系統的軟件進行設計,編程采用C語言,主要分為主程序、溫度采集和NRF905 無線通信三部分。設計的溫度采集系統與采用傳統設計方法相比具有測量精度高、受環境影響小、成本低等優點,在工業生產過程中具有實際應用和推廣價值。