摘 要:為無線隨動控制系統的數據傳輸所設計的無線數據收發系統,采用ARM LPC2148和nRF905構成,工作在433 MHz的ISM頻段,最遠傳輸距離可達1 000 m,數據速率為50 Kb/s,工作電壓為3.3 V,在發射功率為-10 dBm時,電流消耗為11 mA,低功耗模式時電流消耗僅為42 μA。系統采用DSS+PLL頻率合成技術和GMSK調制,信道數最多可達170個,能夠滿足需要多信道工作的特殊場合使用。
關鍵詞:無線數據收發; ARM微控制器; GMSK調制; 低功耗模式
中圖分類號:TN919文獻標識碼:A
文章編號:1004-373X(2010)15-0082-03
Wireless Data Transceiver System Based on ARM and nRF905
DUAN Zhi-wen, CHEN Hui
(Hunan Technical College of Communications Engineering, Hengyang 421002, China)
Abstract: The wireless data transceiver system designed for the wireless servo-control data transceiver system consists of ARM LPC2148 and nRF905, works in ISM band at 433 MHz, and achievs the farthest transmission distance up to 1 000 m and the data transfer rate of 50 Kb/s. The key specifications of the system: operating voltage of 3.3 V; current consumption of 11mA at launch power of -10 dBm, and 42 μA in low-power mode. The DSS + PLL frequency synthesis technology and GMSK modulation are adopted by the system, which satisfies the requirements of working in the special occasions which need multiple channels since its channels can be up to 170.
Keywords: wireless data transceiving; ARM micro-controller; GMSK modulation; low power mode
收稿日期:2010-03-29
所設計的無線數據收發系統是無線隨動控制系統的重要組成部分,主要由nRF905無線收發模塊和LPC2148 ARM開發板組成,用來實現手動系統與隨動系統[1-2]之間的無線數據傳輸,有效地解決了在惡劣環境下布線困難的問題。
1 nRF905無線收發模塊
nRF905是一個工作在433/868/915 MHz的ISM頻段,完全集成的單片無線收發器芯片[3]。nRF905芯片內部包含有一個完全集成的調制器、帶解碼器的接收器、功率放大器、晶體振蕩器等電路。其采用DSS+PLL頻率合成技術和GMSK調制,頻率穩定性非常好,抗干擾能力強;可以很容易通過SPI接口編程配置其工作模式;最多信道數可達170個,能夠滿足需要多信道工作的特殊場合;最遠傳輸距離可達1 000 m;最高數據速率為50 Kb/s;工作電壓為1.9~3.6 V;在發射功率為-10 dBm時,電流消耗為11 mA;在接收狀態時,電流消耗為125 mA,具有低功耗模式;采用32引腳端的QFN 5 mm×5 mm封裝。
nRF905通過對TRX_CE,TX_EN,PWM_UP的設置來實現不同的工作模式,工作模式如表1所示,模式設置如表2所示。
表1 nRF905工作模式
工作模式工作狀態
活動模式
ShockBurst RX(突發接收)
ShockBurst TX(突發發射)
節電模式
掉電和SPI編程
STANDBY(待機)和SPI編程
表2 nRF905工作模式設置
PWM_UPTRX_CETX_EN工作模式
0XX掉電和SPI編程
10XStandby(待機)和SPI編程
110ShockBurst RX(突發接收)
111ShockBurst TX(突發發射)
nRF905的工作模式通過SPI接口對芯片內部的寄存器進行配置實現。所有配置字都是通過SPI接口送給nRF905。SIP接口的工作方式可通過SPI指令進行設置。當nRF905處于空閑模式或關機模式時,SPI接口可以保持在工作狀態。
SPI接口由狀態寄存器、射頻配置寄存器、發送地址寄存器、發送數據寄存器和接收數據寄存器5個寄存器組成。狀態寄存器包含數據準備好引腳狀態信息和地址匹配引腳狀態信息;射頻配置寄存器包含收發器配置信息,如頻率和輸出功能等;發送地址寄存器包含接收機的地址和數據的字節數;發送數據寄存器包含待發送的數據包的信息,如字節數等;接收數據寄存器包含要接收的數據的字節數等信息。
nRF905的應用電路[4-5]如圖1所示,nRF905外圍元件均采用貼片封裝形式。
圖1 nRF905的應用電路
2 LPC2148開發板與無線收發器電路模塊的連接
nRF905無線收發器電路模塊與LPC2148開發板[6-7]的連接如圖2所示。兩者之間的通信是通過SPI接口進行的,LPC2148有2個專用SPI總線接口,用戶也可使用模擬SPI對nRF905進行操作,此處采用LPC2148的SPI0。搭建兩個這樣的模塊即可以組成一個無線數據收發系統[8],示意圖如圖3所示。
3 無線收發系統程序設計
無線收發系統主程序包含有發射和接收兩部分[9-10],用來完成數據的收發。
圖2 nRF905與LPC2148連接示意圖
圖3 收發系統示意圖
3.1 發射部分
使用定時器0定時1 s,每隔1 s蜂鳴器開啟且發送一次數據,發送完一次數據后蜂鳴器停止鳴叫。發射部分流程圖如圖4所示。
圖4 發射部分程序流程圖
啟動ADS 1.2,使用ARM Executable Image for LPC2148工程模板創建一個工程。使用過程中,要將nRF905.c和nRF905.h包含入工程。nRF905.c中包含了nRF905的管腳初始化和配置函數,nRF905.h中包含nRF905的管腳定義、地址定義等。
3.2 接收部分
接收部分的程序流程圖如圖5所示。
系統收發程序清單讀者如有需要可以向作者索取。
4 結 語
采用LPC2148和nRF905構成的無線數據收發系統工作在433 MHz的ISM頻段,最遠傳輸距離可達1 000 m,數據速率為50 Kb/s。工作電壓為3.3 V,在發射功率為-10 dBm時,電流消耗為11 mA。由于系統采用DSS+PLL頻率合成技術和GMSK調制,頻率穩定性非常好,抗干擾能力強;可以很容易通過SPI接口編程配置其工作模式。信道數最多可達170個,能夠滿足需要多信道工作的特殊場合使用。系統具有低功耗模式,低功耗模式電流消耗僅為42 μA。
圖5 接收部分程序流程圖
利用LPC2148具有45個可承受5 V電壓的I/O接口,全速USB 2.0,UART,SPI和SSP串行外設接口,I2C總線接口,2個8通道10位的A/D和1個10位的D/A轉換器,以及6路輸出的PWM接口,可以方便地構成一個無線數據采集與控制系統。
實驗證明該系統在無線隨動控制系統中使用效果良好。
參考文獻
[1]劉煜,張科,李言俊.一種位置隨動控制系統的建模與仿真研究[J].彈箭與制導學報,2005,25(2):4-6.
[2]徐小英,王林.RT-LAB快速控制原型在隨動系統的應用[J].系統仿真學報,2006,18(4):1055-1057.
[3]Nordic VLSI ASA. 430 MHz~950 MHz single chip RF transceiver nRF905[EB/OL]. [2009-04-19]. http://www.nvlsi.no.
[4]黃智偉.無線發射與接收電路設計[M].2版.北京:北京航空航天大學出版社,2007.
[5]黃智偉.射頻電路設計[M].北京:電子工業出版社,2005.
[6]周立功公司.PHILIPS單片16/32位微控制器-LPC2141/42/44/46/48數據手冊[EB/OL].[2009-7-18].http://www.zlgmcu.com.
[7]周立功,張華.深入淺出ARM7——LPC213x/LPC214x(上冊)[M].北京:北京航空航天大學出版社,2008.
[8]周立功,張華.深入淺出ARM7——LPC213x/LPC214x(下冊)[M].北京:北京航空航天大學出版社,2008.
[9]黃智偉.ARM9嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2008.
[10]黃智偉,朱衛華.計算機無線通信接口電路及程序設計[J].計算機測量與控制, 2002,10(5):339-340.