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