基于ARM和nRF905的無線數(shù)據(jù)收發(fā)系統(tǒng)
所設(shè)計的無線數(shù)據(jù)收發(fā)系統(tǒng)是無線隨動控制系統(tǒng)的重要組成部分,主要由nRF905無線收發(fā)模塊和LPC2148 ARM開發(fā)板組成,用來實現(xiàn)手動系統(tǒng)與隨動系統(tǒng)之間的無線數(shù)據(jù)傳輸,有效地解決了在惡劣環(huán)境下布線困難的問題。
1 nRF905無線收發(fā)模塊
nRF905是一個工作在433/868/915 MHz的ISM頻段,完全集成的單片無線收發(fā)器芯片。nRF905芯片內(nèi)部包含有一個完全集成的調(diào)制器、帶解碼器的接收器、功率放大器、晶體振蕩器等電路。其采用DSS+PLL頻率合成技術(shù)和GMSK調(diào)制,頻率穩(wěn)定性非常好,抗干擾能力強;可以很容易通過SPI接口編程配置其工作模式;最多信道數(shù)可達170個,能夠滿足需要多信道工作的特殊場合;最遠(yuǎn)傳輸距離可達1 000 m;最高數(shù)據(jù)速率為50 Kb/s;工作電壓為1.9~3.6 V;在發(fā)射功率為-lO dBm時,電流消耗為11 mA;在接收狀態(tài)時,電流消耗為12.5 mA,具有低功耗模式;采用32引腳端的QFN 5 mm×5 mm封裝。
nRF905通過對TRX_CE,TX_EN,PWM_UP的設(shè)置來實現(xiàn)不同的工作模式,工作模式如表1所示,模式設(shè)置如表2所示。
nRF905的工作模式通過SPI接口對芯片內(nèi)部的寄存器進行配置實現(xiàn)。所有配置字都是通過SPI接口送給nRF905。SIP接口的工作方式可通過SPI指令進行設(shè)置。當(dāng)nRF905處于空閑模式或關(guān)機模式時,SPI接口可以保持在工作狀態(tài)。
SPI接口由狀態(tài)寄存器、射頻配置寄存器、發(fā)送地址寄存器、發(fā)送數(shù)據(jù)寄存器和接收數(shù)據(jù)寄存器5個寄存器組成。狀態(tài)寄存器包含數(shù)據(jù)準(zhǔn)備好引腳狀態(tài)信息和地址匹配引腳狀態(tài)信息;射頻配置寄存器包含收發(fā)器配置信息,如頻率和輸出功能等;發(fā)送地址寄存器包含接收機的地址和數(shù)據(jù)的字節(jié)數(shù);發(fā)送數(shù)據(jù)寄存器包含待發(fā)送的數(shù)據(jù)包的信息,如字節(jié)數(shù)等;接收數(shù)據(jù)寄存器包含要接收的數(shù)據(jù)的字節(jié)數(shù)等信息。
nRF905的應(yīng)用電路如圖1所示,nRF905外圍元件均采用貼片封裝形式。[!--empirenews.page--]
2 LPC2148開發(fā)板與無線收發(fā)器電路模塊的連接
nRF905無線收發(fā)器電路模塊與LPC2148開發(fā)板的連接如圖2所示。兩者之間的通信是通過SPI接口進行的,LPC2148有2個專用SPI總線接口,用戶也可使用模擬SPI對nRF905進行操作,此處采用LPC2148的SPI0。搭建兩個這樣的模塊即可以組成一個無線數(shù)據(jù)收發(fā)系統(tǒng),示意圖如圖3所示。
3 無線收發(fā)系統(tǒng)程序設(shè)計
無線收發(fā)系統(tǒng)主程序包含有發(fā)射和接收兩部分,用來完成數(shù)據(jù)的收發(fā)。
3.1 發(fā)射部分
使用定時器0定時1 s,每隔1 s蜂鳴器開啟且發(fā)送一次數(shù)據(jù),發(fā)送完一次數(shù)據(jù)后蜂鳴器停止嗚叫。發(fā)射部分流程圖如圖4所示。[!--empirenews.page--]
啟動ADS 1.2,使用ARM Executable Image forLPC2148工程模板創(chuàng)建一個工程。使用過程中,要將nRF905.c和nRF905.h包含入工程。nRF905.c中包含了nRF905的管腳初始化和配置函數(shù),nRF905.h中包含nRF905的管腳定義、地址定義等。
3.2 接收部分
接收部分的程序流程圖如圖5所示。
系統(tǒng)收發(fā)程序清單讀者如有需要可以向作者索取。
4 結(jié)語
采用LPC2148和nRF905構(gòu)成的無線數(shù)據(jù)收發(fā)系統(tǒng)工作在433 MHz的ISM頻段,最遠(yuǎn)傳輸距離可達1 000 m,數(shù)據(jù)速率為50 Kb/s。工作電壓為3.3 V,在發(fā)射功率為-10 dBm時,電流消耗為11 mA。由于系統(tǒng)采用DSS+PLL頻率合成技術(shù)和GMSK調(diào)制,頻率穩(wěn)定性非常好,抗干擾能力強;可以很容易通過SPI接口編程配置其工作模式。信道數(shù)最多可達170個,能夠滿足需要多信道工作的特殊場合使用。系統(tǒng)具有低功耗模式,低功耗模式電流消耗僅為42μA。
利用LPC2148具有45個可承受5 V電壓的I/O接口,全速USB 2.O,UART,SPI和SSP串行外設(shè)接口,I2C總線接口,2個8通道10位的A/D和1個10位的D/A轉(zhuǎn)換器,以及6路輸出的PWM接口,可以方便地構(gòu)成一個無線數(shù)據(jù)采集與控制系統(tǒng)。
實驗證明該系統(tǒng)在無線隨動控制系統(tǒng)中使用效果良好。