基于MCU和nRF905的低功耗遠距離無線傳輸系統
4.2 跳頻機制
為避免信道阻塞,系統采用了二進制指數退避算法[5]隨機延時一段時間再發送數據,有效地避免了同頻道下的數據沖突。除此之外,系統還設計了跳頻機制以有效地保證數據傳輸的準確性。
跳頻機制的基本原理是將頻段分為一系列的通道,發送端查找預先設定的頻率列表,以偽隨機方式產生通信頻道及發射前導碼,發射前導碼的時間應確保接收機可 以掃描所有的通道[6]。接收端以一定的跳頻序列掃描,在某一通道上,接收端收到完整的前導碼則收發雙方頻率同步。一旦完成頻率捕獲,發送端與接收端即可 識別對方,并且相互通信。發送端和接收端的跳頻過程示意圖分別如圖4(a)和圖4(b)所示。
本系統設定了5個隨機頻道,當跳頻次數hop大于5后認為通信失敗。由于同時采用了重發和退讓機制,收發雙方并不需要同時跳入隨機頻道,系統具有一定的容錯性。通常一定時間內干擾只在某個頻段存在,只要將5個通信頻道拉開一段頻距,即可有效抵制干擾。
5 系統的低功耗設計
系統中MSP430完成初始化后,處于低功耗工作模式,在有外部事件發生時喚醒進入中斷服務程序,完成后重新進入低功耗模式。如此循環往復,可以最大限度地降低功耗。所以系統低功耗設計的重點是射頻芯片nRF905的控制。nRF905在接收狀態時功耗比較大,工作電流為10mA左右,所以應盡量使 nRF905 處于休眠狀態。對于下層節點模塊,當上層基站模塊需要進行數據采集時,首先發送喚醒碼。本系統使用0xCC作為喚醒碼,即主機連續發送0xCC,從機收到連續兩個0xCC后即保持接收狀態而不進入休眠。如果兩個周期內沒有收到有效數據幀的幀頭,則視為雜波干擾,重新進入休眠狀態。如此設定之后,nRF905的平均工作電流可降至200?滋A以下,整個模塊的平均工作電流在250?滋A以下,采用兩節電池供電可以使用一年以上。上層基站模塊作為主機,可主動發起通信,所以等待時nRF905可一直工作在休眠狀態,整個模塊的平均工作電流在100μA以下,采用兩節電池供電可以使用一年半以上。
本文利用低功耗單片機MSP430和nRF905芯片設計了一種成本低、低功耗、抗干擾性強的遠距離無線傳輸系統,給出了具體的硬件實現和獨特的通信協議。nRF905的高靈敏度為其提供了穩定的傳輸距離,即使利用無增益的PCB天線其傳輸距離也可達300米,采用高增益的天線則可達到800米以上,可滿足不同客戶的需求。如果系統配以其他傳感器組則可以實現多種應用環境的無線數據采集、傳輸與處理或遠程監控等,在很多領域都具有廣闊的應用前景。
評論