陳 城,李瑞祥,劉婷婷,劉 毅
(上海理工大學 光電信息與計算機工程學院,上海 200082)
?
基于nRF24L01的無線數據傳輸系統(tǒng)研究
陳 城,李瑞祥,劉婷婷,劉 毅
(上海理工大學 光電信息與計算機工程學院,上海 200082)
針對傳統(tǒng)有線數據采集系統(tǒng)使用不靈活和布線困難等缺點,介紹了基于nRF24L01的無線數據傳輸系統(tǒng),采用模塊化的設計方法,系統(tǒng)通過MSP430單片機控制,由nRF24L01芯片將數據在收發(fā)模塊間進行傳輸。該系統(tǒng)的總體結構結合了硬件及軟件設計,通過測試結果證明,系統(tǒng)穩(wěn)定、便捷,在實際應用中有效、可靠。
無線數據傳輸;nRF24L01;有效可靠;MSP430
信息傳輸可采用有線傳輸或無線傳輸。無線傳輸利用無線電波作為數據傳輸的媒介,在本地發(fā)送端和遠程接收端之間實現無線數據的傳輸。無線傳輸技術因可以克服鋪設線路的困難,同時便于移動,目前已得到廣泛應用。
系統(tǒng)通過MSP430的控制,當語音信號輸入時,將其模數轉換為離散數字信號,通過nRF24L01芯片將數據在收發(fā)模塊間進行傳輸,再轉換為音頻信號輸出。
此次無線數據傳輸系統(tǒng)中,發(fā)射和接收部分選用的核心處理單片機為MSP430。無線收發(fā)過程,以nRF24L01芯片實現,使用它的增強型ShockBurst功能模式。單片機將采集到的音頻數據,以32 Byte為一個數據包,通過SPI口nRF24L01定時發(fā)送。
具體設計過程中為兩個MSP430單片機之間的通信,實現單工無線通信的模塊。發(fā)射部分由單片機最小系統(tǒng)、電容式駐極體麥克風、nRF24L01模塊組成:電容式駐極體麥克風實現音頻信號輸入,無線模塊實現信息的無線發(fā)送。接收部分由單片機最小系統(tǒng)、nRF24L01模塊組成:迷你音響實現音頻信號輸出,nRF24L01實現信息的無線接收。
1.1 無線傳輸系統(tǒng)原理
無線通信系統(tǒng)實現的是模擬信號的數字傳輸過程,即模擬信號經過數字化后在數字通信系統(tǒng)中的傳輸,而模擬信號即指話音信號。模擬信號的數字傳輸經過3個步驟:第一步將模擬信號數字化,變?yōu)閿底中盘?;第二步進行數字信號的傳輸;第三步將數字信號還原為模擬信號。本次無線數據傳輸系統(tǒng)將重點討論模擬信號數字化傳輸過程的第二步驟,即數字信號的傳輸。模擬信號數字化傳輸系統(tǒng)框圖如圖1所示。
圖1 模擬信號數字化傳輸系統(tǒng)框圖
在數字通信系統(tǒng)中采用的是無線信道傳輸,數字通信系統(tǒng)原理框圖如圖2所示。
圖2 數字通信系統(tǒng)原理框圖
1.2 無線數據傳輸的工作過程
無線數據傳輸系統(tǒng)使用低功耗的MSP430構建,主要涉及無線數據傳輸模塊的應用,無線數據傳輸模塊選用性價比較高的nRF24L01芯片實現。在MSP430單片機的控制下,通過nRF24L01芯片,將數字數據從發(fā)送模塊傳送到接收模塊,此過程要求無線通信。
(1)數據發(fā)送模塊。通過語言程序控制,發(fā)送端單片機MSP430首先對此芯片的參數進行一些設置,然后進行數據的發(fā)送,若啟動了自動應答模式,而應答信號又是在有效應答時間內收到的,則認為接收端已成功收到數據,則寄存器TX FIFO中的下一包數據將被發(fā)射。若在有效時間內未能收到應答信號則重新發(fā)送數據,若發(fā)送次數超過原先設定的值或超過了預定的時間,則會產生中斷,而進行中斷函數的處理;
(2)數據接收模塊。通過程序控制,接收端MSP430可對無線射頻芯片的參數進行配置,將其配置為接收模式。當接收端nRF24L01收到了數據,則會自動發(fā)送確認信號給接收端,通知發(fā)送端的數據已收到。nRF24L01會對收到的數據進行檢測,若為有效數據,會對數據進行存儲并產生中斷通知接收端單片機進行數據的后續(xù)應用。接收端單片機在收到中斷的同時,要同發(fā)射端進行時間上的協(xié)同,以確保發(fā)送和接收的配合。最后nRF24L01的狀態(tài)寄存器清除,做好下一次數據接收的準備。
該無線數據傳輸系統(tǒng)中,發(fā)射和接收部分選用的核心處理芯片為MSP430。無線收發(fā)過程,以nRF24L01芯片實現。系統(tǒng)硬件設計方案如圖所示。
圖3 硬件示意圖
2.1 單片機模塊
此模塊由MSP430芯片相成,它是整個系統(tǒng)單片發(fā)射和接收部分的核心。MSP430單片機的工作電壓范圍2.2~3.6 V,在此最小系統(tǒng)的設計中單片機電源電路選用3.3 V直流電源。同時為保護單片機的工作,采用電解電容和電容保護電路。
時鐘電路是為了保證單片機能夠有條不紊的進行工作,用于向單片機提供基本的工作時序。通常有內部時鐘方式和外部時鐘方式兩種,本系統(tǒng)選用內部時鐘方式[11]。
2.2 無線接口模塊設計
MSP430和nRF24L01之間通過SPI進行通信。SPI總線系統(tǒng)作為一種同步串行外設接口,其不僅通信速度較高,且通信方式是全雙工通信,能夠實現同步通信,SPI通信只使用芯片管腳的4根線,可節(jié)省PCB布局空間。SPI采用環(huán)形總線結構,在時序脈沖的控制下,實現單片機和無線模塊之間的數據傳輸。SPI的工作方式是主從方式,此系統(tǒng)中單片機作為主設備, nRF24L01作為從設備。
2.3 UART通信電路設計
UART通信采用RS-232通信協(xié)議,是一種異步傳輸標準接口。一般情況下RS-232接口是以9個或25個引腳的形態(tài)出現。在此系統(tǒng)的過程中,采用DB-9引腳的RS-232接口。
電腦的串行通訊端口是標準的RS-232接口,其高電平為-12 V,低電平為+12 V,MSP430的串口要想與標準RS-232通信,就必須經過電平轉換,轉換芯片電壓為3.3 V,所以選擇SP3232進行電平轉換。
2.4 電源電路設計
由于MSP430單片機的工作電壓為2.2~3.6 V,nRF24L01芯片的工作電壓在1.9~3.6 V[12],所以一般選用3.3 V作為工作電壓,而電源適配器的輸出電壓為5 V,所以需要設計電壓轉換電路對系統(tǒng)進行供電,在此電路設計中采用spx1117m3-3.3電壓調節(jié)器來進行電壓轉換。電源電路的外圍電路連接如圖4所示。
圖4 電源電路設計原理
在編寫C語言程序采用Keil uVision4開發(fā)軟件。MSP430單片機為中心控制系統(tǒng),配有nRF24L01無線收發(fā)模塊,對采集的語音信號進行無線傳輸。通過對nRF24L01模塊的認真研究,編寫了無線系統(tǒng)傳輸的接收和發(fā)送程序,使用nRF24L01的Enhanced Shock Burstrm通信方式,2 Mbit·s-1的傳輸速率,2 ByteCRC校驗,RF頻道選擇為40,選擇通道0,發(fā)射功率0 dBm。軟件主要分為發(fā)射、接收模塊軟件編程部分和nRF24L01模塊的程序設計。
3.1 發(fā)射、接收模塊軟件流程
發(fā)射部分,nRF24L01的數據發(fā)送過程為首先將CE位置低,使得芯片工作在待機模式,再將要發(fā)送的數據裝載到TX FIFO中,之后將CE位置高,啟動發(fā)射模式,將數據進行發(fā)射在數據接收時,首先需要將芯片的工作模式設置為接收模式,當接收方接收到有效數據后,將數據存放在RX_FIFO寄存器中,產生中斷,通知單片機去取接收到的數據。
圖5 發(fā)射模塊的具體流程圖
圖6 接收模塊的具體流程圖
3.2 nRF24L01模塊的程序設計
nRF24L01共有23個可配置寄存器,在程序開發(fā)的過程中,需要對相應的寄存器進行配置,才能保證nRF24L01模塊的正常工作。
nRF24L01模塊的初始化配置包括將nRF24L01工作通道頻率設定為40 MHz,允許數據通道0接收以及開啟自動應答,在編程過程中,傳輸數據長度設置為32 Byte,空中發(fā)射速率配置為2 MHz,而發(fā)射功率為0 dBm,2位CRC校驗以及工作模式的設置。
整個系統(tǒng)測試由發(fā)射電路和接收電路構成,接收電路與PC機相連,用于觀察接收到的數據是否正確。
本文使用聲音測試軟件Audio Tester對系統(tǒng)進行了驗證性測試,該軟件可利用計算機的聲卡發(fā)出指定頻率、指定波形的聲波。語音信號的頻率范圍一般在300~3 400 Hz,測試中利用該軟件發(fā)出1 000 Hz的正弦波,由語音采集系統(tǒng)進行采集傳輸,上位機監(jiān)控軟件監(jiān)測到的信號波形如圖7所示,系統(tǒng)監(jiān)測到的信號波,頻率集中在1 000 Hz,與軟件發(fā)出的聲波信號相符,從而驗證了系統(tǒng)采集、傳輸的正確性。
圖7 監(jiān)測到的信號波形
通過測試,本系統(tǒng)的主要功能實現成功,但仍存在一些瑕疵,如路徑損耗、外界干擾均會對傳輸產生一定的影響,后續(xù)會繼續(xù)改進。該系統(tǒng)的成本低、體積小,在無線數據傳輸場合有較為廣闊的應用前景。
[1] 王振,胡清,黃杰.基于nRF24L01的無線溫度采集系統(tǒng)設計[J].電子設計工程,2009,17(12):24-26.
[2] 劉志平,趙國良.基于nRF24L01的近距離無線數據傳輸[J].應用科技,2008,35(3):55-58.
[3] 李莎,譚永麗.基于nRF24L01的無線數據傳輸系統(tǒng)設計[J].湖北第二師范學院學報,2011,28(2):109-111.
[4] Ma Bin,Sun Jie. The research of lighting control system based on NRF24L01 wireless network[J].Advanced Materials Research,2012,488(15):1742-1746.
[5]ZhuYaolin.Designofwirelessmulti-pointtemperaturetransmissionsystembasedonnRF24L01[J].BusinessManagementandElectronicInformation,2011,10(15):1368-1370.
[6]SonavaneSS,PatilBP.ExperimentationforpacketlossonMSP430andnRF24L01basedwirelesssensornetwork[J].JournalofAdvancedNetworkingandApplications,2009, 1(1):25-29.
[7] 鮑金寶,袁冰冰,郭黎利.基于89C52和射頻芯片NRF401無線數傳模塊的設計[J].應用科技,2005,32(12):13-15.
[8] 孫力.C語言程序設計實驗指導與習題解答[M].北京:中國農業(yè)出版社,2009.
[9] 馬忠梅,王美剛,孫娟,等.單片機的C語言應用程序設計[M].5版.北京:北京航空航天大學出版社,2013.
[10]MaBin,SunJie.TheresearchoflightingcontrolsystembasedonNRF24L01wirelessnetwork[J].AdvancedMaterialsResearch,2012,488(15):1742-1746.
[11] 魏小龍.MSP430系列單片機接口技術及系統(tǒng)設計實例[M].北京:北京航天航空大學出版社,2002.
[12] 沈建華,楊艷琴.MSP430系列16位超低功耗單片機原理與應用[M].北京:北京航天航空大學出版社,2008.
[13]NordicIT.nRF24L01singlechip2.4GHztransceiverproductspecification[M].Norway:NordicIT,2007.
[14] 時志云,王代華,張志杰.基于nRF24L01和PIC16F877的無線數據傳輸系統(tǒng)設計[J].電子測量技術,2008,31(1):127-129.
[15] 王強,張和生,葉華.交通信息采集的UDP通信方法[J].電子測量與儀器學報,2009,23(3):39-44.
Research on Wireless Data Transmission System Based on nRF24L01
CHEN Cheng, LI Ruixiang, LIU Tingting, LIU Yi
(School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology,Shanghai 200082, China)
Traditional data acquisition systems suffer inflexibility and difficult wiring. This paper introduces the wireless data transmission system based on nRF24L01, and adopts the method of modularization. The system is controlled by the MSP430 MCU, and the data is transmitted between the receiving and sending module through the nRF24L01 chip. The overall structure of the system combines the hardware and software design. Tests show that the system is stable, convenient, effective and reliable in practical applications.
wireless data transmission; nRF24L01; MSP430
2016- 01- 23
陳城(1993-),男,碩士研究生。研究方向:物聯網,無線通信。
10.16180/j.cnki.issn1007-7820.2016.11.007
TN919.72
A
1007-7820(2016)11-022-04