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