摘 要: 采用無線射頻技術組建了移動數據通訊網絡,詳細介紹了移動數據終端的硬件、軟件設計以及系統通訊協議,并利用時分技術和跳頻技術保證了系統的穩定性和適應性。為短距離傳輸的小規模通訊網的組建提供了可靠的解決方案。
關鍵詞: 無線通訊;移動數據終端;時分;跳頻
利用無線射頻技術實現無線數據傳輸具有便捷、成本低、適合可移動設備等優點,特別適用于各種手持式儀器、儀表以及其他不便于布線的嵌入式系統。本文采用無線射頻收發芯片nRF24L01組建了可以點對多點之間數據短距離傳輸的小規模通訊網,并利用時分技術和跳頻技術使網內數據之間以及不同網絡之間的數據傳遞互不干擾,保證了數據傳遞的可靠性。
1 系統基本結構
移動數據通訊網絡由移動數據終端、無線數據接收主機、數據處理主機三部分組成,如圖1所示。移動數據終端與無線數據接收主機采用星形組網方式,構成點對多點的無線數據雙向傳輸。無線數據接收主機與數據處理主機采用局域網連接,無線數據接收主機接收到的數據存入數據處理主機的數據庫,并由數據處理主機進行處理。數據處理主機還可以通過無線數據接收機向移動數據終端發送數據,從而實現對移動數據終端的管理和控制。
移動數據通訊網絡也可以通過建立不同工作頻率的子網絡來進行擴展。圖1中網絡1內的移動數據終端和無線數據接收主機使用同一初始工作頻率和跳頻表,網絡2使用與網絡1不同的頻率和跳頻表,從而使兩個網絡內的通訊互不干擾。采用這種允許多個不同頻率的網絡同時進行通訊的擴展方式可以增加網絡內移動數據終端的數量,縮短子網內數據接收主機的輪詢時間,從而提高整個網絡的工作效率。
2 nRF24L01芯片特點和工作原理
nRF24L01無線通訊芯片工作在2.4 GHz~2.52 GHz免許可證ISM頻段,高效GFSK調制,抗干擾能力強;工作頻率可分為125個信道,支持高速跳頻,能夠在全球無線市場暢通無阻。nRF2401支持多點間通訊,最高傳輸速率達1 Mb/s。同時nRF2401芯片能耗非常低,其工作電壓為1.9 V~3.6 V,以0 dBm的功率、1 Mb/s的傳輸速率發射時,工作電流只有11.3 mA,接收時工作電流只有11.7 mA,待機模式下狀態為22 ?滋A;掉電模式下為900 nA[1,2]。nRF24L01是目前體積最小、功耗最少、外圍元件最少的低成本射頻系統級芯片之一。
nRF24L01一般常采用突發工作模式進行數據的收發。發射數據時, 首先將芯片配置為發射模式,并把發射地址和數據從微控制器送入nRF24L01片內的FIFO堆棧區。nRF24L01在發送數據時,自動給所發射數據加上字頭、地址和CRC 校驗碼,然后高速發射。如果開啟了芯片自動應答功能,則nRF24L01芯片在發射完數據后立即進入接收模式,以接收應答信號。如果收到應答,則此次通訊成功;如果未收到應答,則自動重新發射,若重發次數達到設定的上限,配置寄存器的MAX_RT位置高,表明通訊失敗。
nRF24L01接收數據時,需先配置為接收模式,延遲130 μs之后即進入接收狀態。當nRF24L01接收到數據時,若檢測到有效的地址和CRC校驗碼時,便自動把數據中字頭和CRC校驗碼移去,并把有效數據包存儲在接收堆棧中。如果自動應答開啟,接收方同時進入發射狀態回傳應答信號。接收過程完成后,nRF24L01通知微控制器讀取數據。
nRF24L01射頻協議可以通過SPI口對芯片的配置寄存器寫入相應的配置字來體現。突發模式的配置字共有30 B,主要用于設置工作模式、傳輸數據寬度、地址寬度、地址、通道、發射頻率、發射功率、CRC、工作狀態、自動應答使能、自動重發的次數等。配置完成后,在nRF24L01工作的過程中,只需改變其REXN配置寄存器相應位的內容,就可以實現接收模式和發送模式之間的切換。
3 移動數據終端設計
3.1 移動數據終端硬件設計
移動數據終端的系統硬件由單片機、nRF24L01無線射頻模塊、液晶顯示模塊、信息數據采集(包括采集傳感器信號和按鍵信號)模塊和電源模塊組成。nRF24L01無線射頻模塊的外圍電路如圖2所示。nRF24L01無線射頻模塊與微控制器相連接的引腳有CE、CSN、SCK、MOSI、MISO、IRO。CE決定是否允許收發信號。CSN為芯片內部SPI硬件接口的使能端,低電平有效,SCK為SPI的時鐘輸入端,MOSI為SPI接口的數據輸入端,MISO為SPI接口的數據輸出端,IRQ 為中斷請求端,nRF24L01輸出3 種中斷請求:發送數據完成中斷、接收數據完成中斷和重發次數超限中斷。這些引腳可以與3.3 V供電的微控制器的普通I/O口直接相連,對于5 V供電的微控制器,則需要串聯2 kΩ的限流電阻。
3.2 通訊協議的設計
移動數據終端數據傳輸的可靠性是無線通訊系統必須要解決的問題。雖然nRF24L01內部通訊協議中的差錯重傳機制對接收的每個數據幀進行片內CRC校驗,可以保證接收數據的正確性。但在多機無線數據通訊組網中,會因為網內多機通訊中多點接入沖突、不同網絡間同頻率干擾、以及其他應用電路和外界的噪聲干擾,或者元器件老化導致的信號衰減等造成傳輸過程中數據丟失[3]。針對上述問題,可以分別通過制定合理的通訊協議進行解決。
網內多機通訊過程中,由于從機的頻率是相同的,如果遇到多個從機同時發射數據就會產生網內同頻干擾。采用時分技術,通過無線數據接收主機掃描輪詢網內移動數據終端的方法,可以實現同一時間點接收主機接收數據終端的數據是點對點數據通訊,從而解決多點接入沖突。移動數據終端將需要發射的數據存在發射寄存器內,先將數據終端設為接收狀態,一旦接收到無線數據接收主機發送的廣播信息就與本機的機器碼相對照,如果機器碼不對應則繼續接收,如果與本機機器碼一致則立即進入發射狀態將存在發射寄存器內的數據發射出去,同時檢測應答信號ACK。如果發射成功則進入待機模式,等待需要發射的數據,否則重新發射。
由于移動數據終端工作在免許可證ISM頻段,所以就有與周圍其他的無線射頻設備出現同頻的可能。為了避免不同網絡間同頻率干擾,移動數據終端采用跳頻的方法,選取通訊質量好的頻點來替換被干擾的頻點。相對于軍事用途的無線通訊系統,移動數據終端所受的干擾是隨機和無意識的[4],所以可以采用比較簡單的自適應跳頻協議[5-6]。在通訊的空閑階段,無線數據接收主機向網絡內的移動數據終端節點發送信標幀,同時檢測反饋信號。如果沒有收到網絡內的移動數據終端的有效信號,則丟幀計數值加1。當丟幀計數值在設定時間內大于規定值,則認為目前的信道質量不佳,無線數據接收主機向網內的發送數據終端廣播信息進行跳頻。如果終端節點與主機失去聯系,則按照事先設定的跳頻表切換信道,以捕獲接收主機的信標幀信息。
3.3 移動數據通訊網絡軟件設計
移動數據終端通訊網絡的軟件部分主要包括主程序、初始化程序、跳頻處理子程序、信息處理子程序等,通過主程序對各子程序的調用實現系統總體功能。
初始化程序的主要功能是設置數據終端和接收主機的工作模式、數據通道、接收地址、CRC模式、重發次數、發射功率和初始握手頻率。信息處理子程序的功能是信息采集、顯示和存儲,采用中斷觸發的方式實現運行。接收主機跳頻處理子程序的功能是在系統初始化后,通過輪詢的方法檢測反饋信號,如果系統輪詢丟幀計數值大于規定值或數次輪詢反饋信號出現不一致的現象,則判斷出現干擾頻率,根據跳頻表重新設置系統通訊頻率。移動數據終端的跳頻處理子程序的功能是在系統初始化后檢測接收主機的信號,如果在一定時間內檢測不到主機信號,則按跳頻表切換信道,直到檢測到主機的握手信號為止。系統主程序流程圖如圖3所示。
在數據終端和接收主機初始化并相互檢測握手信號之后,數據終端處于接收模式,接收主機處于發射模式并發射帶有數據終端號碼的廣播輪詢信號。數據終端接收到廣播信號后與自己的機器碼對照,若不對應則丟棄此信息并繼續保持接收狀態,若機器碼對應,則根據目前是否有需要發射的信息向主機發射數據信息或僅發射響應信號。信號發射完畢后,數據終端回到接收模式。主機接收到數據信號,即立即向數據終端發射響應信號并向上位機傳遞數據,若僅接收到數據終端的響應信號或在規定時間內未接收到信號則將數據終端機器碼的地址指針加1開始下一輪詢問。數據終端發射數據信息之后需要等待主機的反饋信號,若接收到反饋信號則顯示發射完成,若在規定時間內未接收到反饋信號則提示發射超時,信息需要在下一次輪詢過程中重新發射。
基于nRF24L01的移動數據通訊網絡已經成功應用于科研評價系統中的評委分數采集。移動數據終端經過測試,可靠的數據傳輸距離在70 m以上;輪詢子網內60臺移動數據終端時,無線數據接收主機所用時間不超過1 s;通過設置不同初始頻率和跳頻技術的應用,在同一地點可以允許同時存在多個移動數據終端的通訊子網絡。測試結果表明本文所提出的軟硬件設計方案能夠滿足近距離無線數據網絡傳輸的需要。
參考文獻
[1] Nordic Corporation.nRF2401 Wireless hands-free DEMO [EB/OL].(2008-11-21)[2011-03-16].http://www.Nordic.com.
[2] 李泉溪,孫君頂.基于無線傳感器網絡的煤礦報警系統節點的設計及實現[J].微計算機信息,2008,24(5):265-267.
[3] HAYKIN S.Cognitive radio: brain-empowered wireless communications[J].IEEE journal on selected areas in communications,2005,23(2):201-220.
[4] 郝衛亮.無線傳輸系統中nRF2401芯片數據丟失問題的研究[J].電子技術應用,2007,33(8):55-57.
[5] 劉琪,蘇偉,李承恕.基于跳頻的自適應頻譜共享方案[J]. 電子學報,2010,38(1):105-110.
[6] 郭麗華,穆曉敏,朱春華.一種新的A適應跳頻通信系統[J].電訊技術,2009,49(2):19-23.