摘要:本文介紹了基于無(wú)線收發(fā)芯片nRF905、以P89LPC922作為主處理芯片的通用無(wú)線通信模塊。該模塊具有性價(jià)比高、通信穩(wěn)定可靠、使用方便等特點(diǎn)。它可廣泛用于無(wú)線數(shù)據(jù)通信、無(wú)線報(bào)警及安全系統(tǒng)、無(wú)線開鎖、無(wú)線監(jiān)測(cè)、家庭自動(dòng)化和玩具等諸多無(wú)線通訊領(lǐng)域。
關(guān)鍵詞:nRF905;P89LPC922;無(wú)線通信
1 引言:
隨著網(wǎng)絡(luò)及通信技術(shù)的飛速發(fā)展,無(wú)線通信以其成本低廉、擴(kuò)展性好、受地理?xiàng)l件限制較少安裝施工簡(jiǎn)便靈活等特點(diǎn),與有線通信方式相比,無(wú)線通信具有很多優(yōu)點(diǎn),在許多領(lǐng)域都有著廣闊的應(yīng)用前景。本文基于nRF905的通用無(wú)線通信模塊具有485接口而且通信協(xié)議是透明的,可以與各種設(shè)備及儀表通信實(shí)現(xiàn)數(shù)據(jù)的無(wú)線傳輸。它由基于nRF905的無(wú)線收發(fā)電路部分和標(biāo)準(zhǔn)485通信接口部分組成。
2 nRF905 和P89LPC922介紹
nRF905 是Nordic 公司推出的單片射頻收發(fā)器芯片, 工作電壓為 1. 9~3. 6V,工作于 433/ 869/915MHz的ISM頻段。由一個(gè)完全集成的頻率調(diào)制器、一個(gè)帶解調(diào)器的接收器、一個(gè)功率放大器、一個(gè)晶體震蕩器和一個(gè)調(diào)節(jié)器組成??梢院苋菀淄ㄟ^SPI接口進(jìn)行編程配置。電流消耗很低。進(jìn)入POWERDOWN 模式可以很容易實(shí)現(xiàn)節(jié)電。有四種工作模式:掉電和SPI編程模式、待機(jī)和SPI編程模式、發(fā)射模式及接收模式,由TRX_CE、PWR_UP和TX_ EN三個(gè)引腳控制。有五個(gè)寄存器:狀態(tài)寄存器、RF配置寄存器、發(fā)送地址寄存器、發(fā)送有效數(shù)據(jù)寄存器、接收有效數(shù)據(jù)寄存器,通過SPI讀寫數(shù)據(jù)??勺詣?dòng)處理字頭和CRC校驗(yàn),使用極為方便。
P89LPC922是PHILIPS公司推出的低成本,少引腳、高集成度FLASH單片機(jī)。在同一時(shí)鐘頻率下其運(yùn)行速度是8051的6倍,所以只需較低的工作頻率即可達(dá)到同等的工作效率,更好的電磁兼容性能。適合于許多要求高集成度、低成本場(chǎng)合??梢詽M足多方面的性能要求。
3 硬件設(shè)計(jì)
采用P89LPC922單片機(jī)作為控制芯片。用4個(gè)I/ O 口(P0.3、P0.4、P0.5 P0.6)與nRF905的SPI 接口相連實(shí)現(xiàn)對(duì)nRF905寄存器的讀寫;用3個(gè)I/ O 口(P0.0、P0.1、P0.2)檢測(cè)nRF905 的狀態(tài);再用3個(gè)I/ O 口(P1.5、P1.6、P1.7)分別與nRF905的PWR_UP、TRX_CE和TX_EN三個(gè)引腳相連來控制nRF905的工作模式。電路圖如圖1所示。
在電路設(shè)計(jì)中,考慮到電磁兼容性問題,射頻電路對(duì)于電源噪聲相當(dāng)敏感 ,尤其是對(duì)毛刺電壓和高頻諧波。因此,在包含RF電路的PCB 板上 ,靠近集成電路電源引腳處分別去耦,隔開來自數(shù)字部分和來自RF部分的電源噪聲。同時(shí)在設(shè)計(jì)中 ,決不要讓兩個(gè)地信號(hào)共用一個(gè)接地過孔 ,這可能導(dǎo)致由于過孔連接在兩個(gè)焊盤之間產(chǎn)生串?dāng)_。
4 軟件設(shè)計(jì)
軟件設(shè)計(jì)包括P89LPC922單片機(jī)通過SPI接口對(duì)nRF905的控制和P89LPC922單片機(jī)串口的設(shè)計(jì)。首先通過SPI接口對(duì)nRF905的內(nèi)部寄存器進(jìn)行配置。本程序設(shè)計(jì)選擇nRF905的工作頻段為433MHZ,輸出功率為+10dbm,正常工作模式,不重發(fā)數(shù)據(jù)包,發(fā)送和接收地址為4個(gè)字節(jié),發(fā)送和接收的有效數(shù)據(jù)寬度為32個(gè)字節(jié),nRF905的晶體震蕩頻率為16MHZ,CRC校驗(yàn)允許,校驗(yàn)位為8位。nRF905提供SPI接口的讀寫指令,當(dāng)CSN為低時(shí),SPI接口開始等待一條新指令,任何一條新指令均由CSN的下降沿開始。單片機(jī)串口通信波特率選擇9600,8位無(wú)校驗(yàn)位。
4.1 發(fā)送子程序設(shè)計(jì)
在發(fā)送時(shí),置PWR_UP和TX_ EN為高電平,P89LPC922單片機(jī)通過SPI接口配置nRF905寄存器,要發(fā)送的數(shù)據(jù)寫入發(fā)送地址寄存器。延時(shí)650微秒。TRX_CE為高電平保持10微秒變?yōu)榈碗娖健?shù)據(jù)正在發(fā)送中等待DR是否為高電平,當(dāng)為高電平時(shí)數(shù)據(jù)發(fā)送完。進(jìn)入待機(jī)模式。當(dāng)nRF905射頻配置寄存器中的AUTO_RETRAN字段為\"1\"時(shí),nRF905不斷重發(fā),直到 TRX_CE被置低;而當(dāng)TRX-CE被置低,nRF905發(fā)送過程完成,自動(dòng)進(jìn)入空閑模式;如果 TX_EN為低電平而TRX_CE繼續(xù)保持高電平,那么 nRF905芯片將在完成本次發(fā)送后,進(jìn)入 RX模式并且進(jìn)入預(yù)設(shè)的信道。流程圖如圖2。
4.2 接收程序設(shè)計(jì)
在接收模式時(shí),TX_ EN為低電平TRX_CE為高電平650微秒后進(jìn)入接收模式。當(dāng)nRF905檢測(cè)接收頻率的載波時(shí),CD變?yōu)楦唠娖?;?dāng)接收到一個(gè)有效的地址,AM變?yōu)楦唠娖健3绦蚺袛郃M是否為高電平,當(dāng)為高電平時(shí)微控制器把TRX_CE置低,nRF905進(jìn)入空閑模式;微控制器通過 SPI口,以一定的速率把數(shù)據(jù)移到微控制器內(nèi)。數(shù)據(jù)被讀出后DR自動(dòng)變?yōu)榈碗娖?。TRX_CE為低電平使其進(jìn)入待機(jī)模式。當(dāng)正在接收一個(gè)數(shù)據(jù)包時(shí),TRX_CE 或TX_EN引腳的狀態(tài)發(fā)生改變,nRF905立即把其工作模式改變,數(shù)據(jù)包則丟失。當(dāng)微處理器接到地址匹配引腳的信號(hào)之后,其就知道nRF905正在接收數(shù)據(jù)包,其可以決定是讓 nRF905繼續(xù)接收該數(shù)據(jù)包還是進(jìn)入另一個(gè)工作模式。
結(jié)論
實(shí)驗(yàn)表明,該模塊通信穩(wěn)定可靠,具有較好的抗干擾能力,有效距離在空曠地可達(dá)800米以上。可廣泛用于無(wú)線通訊領(lǐng)域。
參考文獻(xiàn)
[1]Nordic Single chip 433/868/915MHZ Transceiver nRF905 datasheet, 2004.7.
[2]鄭啟忠,朱宏輝,耿四軍.射頻發(fā)射器nRF905及其應(yīng)用[N].21IC中國(guó)電子網(wǎng).2004.12.
[3]金寶華. 基于nRP905的無(wú)線數(shù)據(jù)多點(diǎn)跳傳的通信系統(tǒng)[J]. 儀表技術(shù)與傳感器.2004,(9).
[4]文俊峰,喬曉軍.基于CC1020的無(wú)線通信模塊設(shè)計(jì)[J]. 電子設(shè)計(jì)應(yīng)用,2007(1):117-119.
[5] 李群芳,張士軍,黃 建.單片微型計(jì)算機(jī)與接口技術(shù)[M].北京:電子工業(yè)出版社,2005