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