游海云
?
無線數據傳輸系統的設計與應用
游海云
(福建廣播電視大學 漳州分校,福建 漳州 363000)
介紹一種無線數據傳輸系統的設計與應用。該系統以nRF24l01 無線收發模塊和STR89C52 單片機為核心, 通過軟、硬件設計,充分發揮“跳頻”、“學習”、“配對防錯”等先進技術,實現了無線數據信息傳輸的安全可靠,具有低成本、易擴展、操作簡單等特點, 可應用于遠程無線數據傳輸。
無線數據傳輸;nRF24L01;STC89C52
隨著網絡和通信技術的高速發展, 使人們對無線通信的需求越來越迫切。在傳統的自動控制系統中,數據傳輸都是通過金屬導線。而在一些特殊場合下,傳輸信號的電纜線可能會很長、很粗,比如電梯上或流水線上,都會有幾十米的電纜,甚至幾百米,不安全,也不符合節能減耗的要求。數據的無線傳輸方式的使用解決了上述難題, 有效的節約了人力物力。但如何確保信息的絕對安全一直是用戶的最大憂慮,因此開發出抗干擾能力強的產品就成為設計者的目標。目前在無線傳輸技術方面,各國都有新的技術問世。比如日本沖電氣工業公司早在2008年展示了利用集成美國Integration Associates公司芯片的發送和接收模塊,進行了簡單的演示。作為將來設想的應用,提到了“遙控”和“安全”,并在日本銷售Integration公司RF芯片包括發送IC“IA4220B”、接收IC“IA4320”和收發IC“IA4420B”3種,展示了其運用的廣闊前景。本系統是一種基于nRF24L01無線數據傳輸系統。該系統具成本低, 體積小, 傳輸速率高, 具有良好的通用性和可靠性,以及較高的應用價值。
本系統由信源的讀取和信宿控制兩部分組成。信源采集的數據至核心器件的單片機(MCU),經運算和轉換后發送給射頻模塊,通過跳頻和加密等措施發射到接收端;接收端對射頻模塊的數據進行判斷和讀取,在MCU的控制下射頻模塊執行指令和數據的編碼與解碼、數據的調制與解調等操作,完成系統的無線傳輸功能。系統設計總體框圖如圖1所示。

圖1 系統設計總體框圖

本系統選用的MCU 為STC89C52單片機,是一種低功耗、高性能CMOS八位MCU,具有8KB 的可反復擦寫的FLASH程序存儲器,可以實現在線編程調試;512字節RAM,其存儲空間足以容納本系統程序;32 位I/O 口線,看門狗定時器,4KB EEPROM,MAX810復位電路,3個16 位定時器/計數器,一個6向量2級中斷結構,全雙工串行口,STC89C52 內置系統ISP 監控程序,超強抗干擾,超強抗靜電,高速,高可靠,低價格。本系統使用其構架的基本功能,用單片機的I/O 口模擬SPI 口與nRF24L01 射頻芯片通信。
本系統無線射頻模塊選用Nor idc 公司推出的高速、低功耗、低成本無線通信芯片nRF24L01。nRF24L01 芯片是一款工作在2.4~2.5GHz 世界通用I S M 頻段的單片無線收發芯片,其收發器包括: 頻率合成器、功率放大器、晶體振蕩器、調制解調器等功能模塊,輸出功率、通信頻道、自動重發次數等參數可通過程序進行配置,并融合了增強型SchockBurstTM 技術,該技術使低速SPI數據率和高速RFI數據率更有效地配合,降低能耗。數據傳輸速率最高可達2Mbps,GFSK(Gauss frequency Shift Keying,高斯頻移鍵控)高效調制,125個頻道滿足多點通訊和跳頻通訊需求。內置硬件8/16位CRC校驗,低功耗,nRF24L01功耗低,在以-6 dBm的功率發射時,工作電流也只有9 mA。接收時,工作電流只有12.3 mA,多種低功率工作模式(掉電模式和空閑模式) 空閑模式僅1uA,可采用3.6V干電池2000mAh供電,便于節能設計。
特有的跳頻技術(Frequency-Hopping Spread Spectrum; FHSS),大大提高了遠距離傳輸的抗干擾能力和距離重點要解決的問題。由于2.4G頻段沒有使用授權限制,目前家用電器、手機、無線網絡都集中在此頻段,干擾問題難以避免。本系統在2.4GHz頻帶以一定的頻寬將其劃分為若干個無線電頻率信道,并且以使用接收和發送兩端一樣的頻率跳躍模式來接發訊號及防止數據擷取。[1]

圖2 發射模塊框圖

圖3 接收模塊框圖
使用nRF24L01芯片進行無線數據通信時不需要進行曼徹斯特編碼, 編程和應用非常方便。該系統軟件主要控制程序分為發射模塊程序和接收模塊程序兩部分。
具體的軟件發射程序流程如圖4所示,軟件接收程序流程如圖5所示。

圖4 發射流程圖

圖5 接收流程圖
實現跳頻功能的工作原理是,收發雙方傳輸信號的載波按照預定規律進行離散變化。以達到避開干擾,完成傳輸[1]。具體的流程圖如圖6所示。

圖6 跳頻流程圖
在無線數據傳輸中, 數據必須進行規定格式的處理才能有效的降低傳輸過程中的誤碼率。采用合適的數據傳輸協議,有利于提高數據的傳輸效率及有效性[2]。本系統采用的傳輸數據格式為:

起始碼特征碼識別碼工作碼校驗碼結束碼
當接收端收到一個數據包后, 必須向發送端確認, 若校驗無誤, 方可對該數據包進行處理。整個確認過程就是學習配對功能的實現。即將兩個發射數據作為學習碼,在配對時將發射端的學習碼儲存在接收端MCU的掉電不丟失存儲區中。等下次接收端有收到數據時,先將本次接收到的學習碼與存儲在MCU中的學習碼進行比較,相同才可控制接收端輸出。本系統可學習6個發送端,6個發送端對應同一接收器的6個不同輸出,并有相應的數字及指示燈顯示,學習過的發射端下回使用時無需要再次學習即可控制接收端輸出。
學習方法如下:先按下接收端的學習按鍵,等待接收。再按下發送端的學習按鍵,學習成功,退出學習過程。若在接收端按下學習按鍵5s內沒有收到發送端數據,則學習指示燈快閃,代表學習失敗,退出學習過程。若長按接收端學習按鍵8s,蜂鳴器快響,可清除接收端的所有學習碼。
學習工作流程圖如圖7所示。
為了提高抗干擾能力和傳輸距離,本設計還重點研究了以下幾方面的內容:①選擇合適的識別碼(即引導碼和系統碼),以確保本產品與其它RFID設備的信號不串擾;②選擇合適的信息碼(鍵碼),以確保本產品之間的信號不串擾;③優化天線設計,提高發射功率,增加傳輸距離;④設計低能耗的發射電路和接收電路,并且優化軟件設計,在保證傳輸系統的穩定性的前提下,延長電池的使用時間,實現綠色環保;⑤采用貼片元器件,縮小發射電路體積,以便安裝在現有設備內,避免產品改變外形,降低成本。采用本系統進行無線通訊試驗,結果:運行穩定,最大輸出功率為100Mw,空曠無障礙最大通信距離約為半徑200米左右,并且使用和維護的成本較低,在無線數據傳輸領域有應用前景。

圖7 學習工作流程圖
[1] 時志云,蓋建平,王代華.新型高速無線射頻器件nRF24L01及其應用[J].國外電子元器件,2007(8):42-44.
[2] 楊旭,李德敏,張謙益.基于nRF24L01 的一種無線通信協議設計[J].通訊技術,2011(7).
Design and Implementation of Wireless Data Transmission System
YOU Hai-yun
(The Open University of Fujian,Zhangzhou Branch, Zhangzhou,Fujian 363000,China)
The article aims to introduced the design and implementation of a wireless data transmission system. The key of system is nRF24l01 wireless transfer - receive module along with STR89C52 Single Chip Micyoco, which will achieve advanced technology in " hopping", " learning " and " matching mistakes " etc by designing certain software and hardware system and will be characterized by security, low- cost, easy expansion and convenient operation, thus it can use widely in long-distance wireless data transmission.
wireless data transmission;nRF24L01; STC89C52
(責任編輯:季平)
2012-04-15
游海云 (1973-),女,福建漳州人,實驗師,本科,研究方向:微機應用及自動控制。
TN92
A
1673-1417(2012)02-0006-05