王何宇,朱莉,施惠元
(衢州學院信息與電子工程學院324000)
溫濕度是工業控制中主要的被控參數,而數據傳輸都是通過有線電纜實現的。隨著射頻技術、集成電路技術的發展,無線通信功能的實現越來越容易,數據傳輸速度也越來越快,抗干擾能力也更強。因此,許多應用采用了無線傳輸技術[1]。本文設計了一個溫濕度無線數據傳輸系統,它應用MCU單片機控制無線數字傳輸芯片nRF905 ,通過無線方式進行數據雙向傳輸。實驗結果證明:該系統使用靈活、成本低廉,具有較強的抗干擾能力,可方便地嵌入到無線監測系統中。
系統總體框圖如圖1所示。該系統選用工程性能穩定、具有較大存儲容量的AT89S52單片機作為控制核心,射頻收發模塊使用Nordic公司的nRF905實現無線數據收發,兩者之間通過SPI通信協議進行數據交換。系統還提供了RS232接口(實現與PC的通訊)以及MCU的存儲電路和液晶顯示模塊,根據不同的應用需求可選擇微帶天線或高增益的處置式天線。

圖1 系統總體框圖
溫濕度傳感器采用瑞士Sensirion公司的SHT10,該傳感器具有功耗低、反應快、抗干擾能力強等優點[2]。與單片機的連接如圖2所示. SCK引腳是MCU與SHT10之間通信的同步時鐘,DATA用于MCU與SHT10之間的數據傳輸。DATA的狀態在串行時鐘SCK的下降沿之后發生改變,在SCK的上升沿有效。在數據傳輸期間,當SCK為高電平時,DATA數據線上必須保持穩定狀態。
系統中無線射頻收發芯片選用nRF905[3-4]。nRF905的工作模式由TRX_ CE, TX_ EN和PWR_UP的設置來決定。nRF905采用串行外圍設備接口SPI[5]( Scrial Peripheral Interface)與單片機連接。接口電路如圖3所示。

圖2 SHT10與單片機的連接

圖3 nRF905和AT89S52的硬件接口電路
對nRF905進行讀、寫操作時,必須先通過CSN的由高到低的跳變來使能nRF905,讀寫操作的時序如圖4所示。考慮到nRF905模塊內置完整的通信協議,軟件設計工作主要集中在實現對nRF905模塊的有效初始配置,以及MCU與nRF905模塊之間SPI通信的實現。

圖4 SPI讀寫時序
為了便于監控,引入上位機功能,并加入串口通信模塊。MCU與PC的串口進行通信,中間需接有電平轉換芯片,本系統采用MAX232A電平轉換芯片,其連線示意圖如圖5所示。其中4個電容均取0. 1 μF的典型值。串口DB9只用三根線,5端公共端接系統的地,2,3端分別是接收和發送端。DB9接口通過交叉串口線連到PC上這樣就可以完成硬件串行通信。

圖5 MAX232A串口通信
本系統中的無線數據傳輸主要由溫濕度傳感器SHT10、無線數據收發器nRF905、AT89S52單片機和顯示部分組成。nRF905收發器與單片機之間通過SPI口進行通信。因此,軟件設計過程中的重點是溫濕度測量和無線收發兩個部分。
對于溫度和濕度,它們并非是急劇變化的物理量,溫濕度的變化往往是緩慢進行的,因此針對這個特點從對于溫濕度的測量采集并非需要時時刻刻都在進行。而是每隔T時間(T根據實際需要而定,本系統選用1S)采集一次,其余時間使得MCU處于休眠狀態。其程序
流程如圖6所示。
3.2.1 nRF905的數據發送過程

圖6 溫濕度測量流程圖
發送數據時的工作流程如圖7所示。nRF905處于待機狀態, TX_ EN和PWR_UP設置為高電平,TRX_ CE設置為低電平。當MCU有遙控數據節點時,接收點的地址 (TX- address) 和有效數據 (TX- payload) 將通過SPI接口傳送給nRF905。單片機設置接口速度。然后單片機設置TRX_ CE,并使TX_ EN為高電平來激活nRF905的ShockBurst傳輸。通過nRF905的ShockBurst可使無線系統自動上電,并完成數據包 (應加前導碼和CRC校驗碼)的數據碼發送[8]。

圖7 發射系統程序流程圖
3.2.2 nRF905的數據接收過程
接收數據流程圖如圖8所示。系統的工作過程如下:
首先,設置TRX_ CE高,TX_ EN低來選擇RX模式;在650μs以后,nRF905將不斷監測空中的信息。當nRF905發現有和接收頻率相同的載波時,其載波檢測(CD) 被置為高電平;當收到有效數據(地址匹配且校驗正確)時,DR引腳會自動置高,MCU 在檢測到這個信號后,可以將nRF905置為待機模式,然后通過SPI總線從接收數據寄存器中讀出有效數據。

圖8 接收系統程序流程圖
采用2片溫濕度傳感器STH10對室內外同時進行溫濕度度測量,為保證測量結果的準確性,本次實驗分早、中、晚3個時段多次測量,同時采用標準溫度計和濕度計進行對比測量,其結果如表1、表2所示。

表1 溫度測量測試結果

表2 濕度測量測試結果
通過實驗可知,通過該系統測量的溫濕度值,與標準溫度計、濕度計測得的值基本一致,誤差在預測范圍內,可以應用到實際生活中。
本文設計了一種基于nRF905和MCU的無線數據傳輸系統。利用無線通信芯片nRF905進行數據傳輸,能夠克服傳統系統的不足,安裝、拆卸和維護簡單,而且在空曠地帶數據傳輸距離可達1000m,初步結果表明:采用nRF905進行數據傳輸除了抗干擾性強等特點外,該系統具有良好的通用性和可靠性。
[1] 莢慶,王代華,張志杰.基于nRF905的無線數據傳輸系統[J].國外電子元器件,2008(1):29-31.
[2] 張偉,戈振揚. 烤煙房溫濕度無線數據采集系統[J].計算機工程,2010(2):240-242.245.
[3] Single chip 433/868/915MHz.Transceiver nRF905 Datasheet. Nordic Inc,2005.
[4] 劉文,戴爾晗,王勇.基于51系列單片機的無線智能溫控系統設計[J].電子測試,2009(10):40-44.
[5] 蔡向東.單片機軟件模擬SPI接口的解決方案[J].信息技術,2006(6):134-136.
[6] 齊虹,徐志,陳沖,何明華.基于nRF905的短距離無線數據傳輸系統的設計[J].福州大學學報:自然科學版, 2010(2):64-68.
[7] 薛敏迪.基于nRF905的低功耗溫濕度無線測量系統[J].現代電子技術,2010(1):135-138.
[8] 王萍,陳長青,龔睿,等.基于nRF905的無線串口通信系統[J].微計算機信息.2007:281-282.