nRF24L01的無(wú)線數(shù)據(jù)傳輸系統(tǒng)

相關(guān)專(zhuān)題: 無(wú)線 芯片

1 nRF24L01芯片的介紹

nRF24L01是單片射頻收發(fā)芯片,工作于2.4~2.5 GHz ISM頻段。工作電壓為1.9~3.6 V,有多達(dá)125個(gè)頻道可供選擇?赏ㄟ^(guò)SPI寫(xiě)入數(shù)據(jù),最高可達(dá)10 Mb/s,數(shù)據(jù)傳輸率最快可達(dá)2 Mb/s,并且有自動(dòng)應(yīng)答和自動(dòng)再發(fā)射功能。和上一代nRF2401相比,nRF2401數(shù)據(jù)傳輸率更快,數(shù)據(jù)寫(xiě)入速度更高,內(nèi)嵌的功能更完備。

芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融進(jìn)了增強(qiáng)式ShockBurst技術(shù),其中輸出功率和通信頻道可通過(guò)程序進(jìn)行配置。芯片能耗非常低,以-6 dBm的功率發(fā)射時(shí),工作電流只有9 mA,接收時(shí)工作電流只有12.3 mA,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設(shè)計(jì)更方便。

1.1 nRF24L01引腳介紹

芯片引腳排列見(jiàn)圖1。

nRF24L01的無(wú)線數(shù)據(jù)傳輸系統(tǒng)

各引腳具體功能如下:CE為發(fā)射和接收的使能端;CSN為SPI的使能端;SCK為SPI時(shí)鐘輸入;MOSI為SPI數(shù)據(jù)主輸從人端;MISO為SPI數(shù)據(jù)主人從輸端;IRQ為中斷輸出;VDD為電源端,接3 V直流電源;VSS為參考接地端;XC1,XC2為晶振端;VDD_PA給功率放大器供電1.8 V;ANT1,ANT2為天線接口端;IREF為參考電流端。

1.2 nRF24L01的指令結(jié)構(gòu)

nRF24L01所有的配置字都由配置寄存器來(lái)定義,這些配置寄存器可通過(guò)SPI口訪問(wèn)。

1.2.1 SPI接口設(shè)置

SPI接口由SCK,MOSI,MISO及CSN組成。

(1)在配置模式下單片機(jī)通過(guò)SPI接口配置nRF24L01的工作參數(shù)。

(2)在發(fā)射或接收模式下單片機(jī)SPI接口發(fā)送或接收數(shù)據(jù)。

和SPI接口的指令共有8個(gè),使用每個(gè)指令時(shí)必須使CSN變低,用完后將其變高。單片機(jī)的控制指令從nRF24L01的MOSI引腳輸入,而nRF24L01的狀態(tài)信息和數(shù)據(jù)信息是從其MISO引腳輸出并送給單片機(jī)的。利用SPI傳數(shù)時(shí),他是先傳低位字節(jié),再傳高位字節(jié),并且在傳每個(gè)字節(jié)時(shí)是從高位字節(jié)傳起的。指令分別是;讀寄存器指令,格式是000A AAAA;寫(xiě)寄存器指令,格式是001AAAAA(A AAAA代表寄存器在內(nèi)存中的地址;讀Payload指令;寫(xiě)Payload指令;清發(fā)射堆棧指令;清接收堆棧指令;發(fā)射數(shù)據(jù)再利用;空操作。

1.2.2 中斷
 
  當(dāng)nRF24L01的中斷源(TX_DS,RX_DR,MAX_RT)被置高時(shí)(TX_DS為發(fā)送成功標(biāo)志位,RX_DR為接收數(shù)據(jù)成功標(biāo)志位,MAX_RT為自動(dòng)重發(fā)超上限標(biāo)志位),就會(huì)使IRQ引腳置低?梢韵驙顟B(tài)寄存器寫(xiě)1來(lái)清這些中斷標(biāo)志位。通過(guò)設(shè)置CONFIG寄存器的某些位來(lái)屏蔽掉這些中斷源,默認(rèn)情況下,這三個(gè)中斷源都是允許的。

1.2.3 內(nèi)存區(qū)

下面介紹nRF24L01的內(nèi)存區(qū),一共24個(gè)寄存器,以下選取幾個(gè)重要的加以介紹。

0號(hào)寄存器:第7位是保留位;第6位到第4位分別是TX_DS,RX_DR,MAX_RT屏蔽位,置高能屏蔽相應(yīng)的中斷源;第3位是CRC使能位;第2位是選擇CRC長(zhǎng)度;第1位是PWR_UP位,高電平為使芯片上電;第0位是發(fā)射、接收選擇位,高電平是發(fā)射,低電平是接收。

1號(hào)寄存器:第7和第6位是保留位,第5到第0位是使能通道5到通道0的自動(dòng)應(yīng)答,高電平有效。

2號(hào)寄存器:第7和第6位是保留位,第5到第0位是使能接收通道地址5到地址0,高電平有效。

4號(hào)寄存器:第7位到第4位是設(shè)置自動(dòng)重發(fā)的時(shí)間,第3位到第0位是設(shè)置自動(dòng)重發(fā)的次數(shù)。

7號(hào)寄存器是狀態(tài)寄存器,第7位是保留位,第6位是RX_DR位(1:接收堆棧中有了數(shù)據(jù)),第5位是TX_DS位(1:數(shù)據(jù)成功發(fā)送到接收方),第4位是MAX_RT位(1:達(dá)到重發(fā)射上限,產(chǎn)生超時(shí)中斷),第3到第1位是標(biāo)志哪個(gè)通道接收數(shù)據(jù),第0位是發(fā)射堆棧狀態(tài)位。

1.3 nRF24L01的功能描述

nRF24L01可以通過(guò)設(shè)置CE和狀態(tài)寄存器來(lái)選擇他的工作狀態(tài),如表1所示。

nRF24L01的無(wú)線數(shù)據(jù)傳輸系統(tǒng)

配置為發(fā)射模式的nRF24L01將會(huì)利用增強(qiáng)式ShockBurst技術(shù)來(lái)發(fā)射數(shù)據(jù)包。發(fā)送設(shè)備在發(fā)完數(shù)據(jù)后將自動(dòng)轉(zhuǎn)為接收狀態(tài)來(lái)等待接收方的應(yīng)答信號(hào)。若發(fā)送設(shè)備未接收到應(yīng)答信號(hào),他將自動(dòng)重發(fā)這包數(shù)據(jù)(自動(dòng)重發(fā)開(kāi)啟的情況下)直到接收這包數(shù)據(jù)或者重發(fā)次數(shù)超過(guò)了在寄存器SETUP_RETR_ARC設(shè)置的所允許的最大重發(fā)次數(shù)。如果是第二種情況,他將在STATUS寄存器里的MAX_RT位反映出來(lái),并且給出中斷。

當(dāng)nRF24L01收到應(yīng)答信號(hào)時(shí),他將認(rèn)為該包數(shù)據(jù)成功發(fā)送到接收方,并把這包數(shù)據(jù)從發(fā)射堆棧中清除,同時(shí)IRQ變低,STATUS寄存器里的中斷標(biāo)志位TX_DS置高。

用增強(qiáng)式ShockBurst技術(shù)來(lái)發(fā)射數(shù)據(jù)可以有以下好處:極大地降低了電流損耗;系統(tǒng)開(kāi)銷(xiāo)低;極大地降低了數(shù)據(jù)在空氣中的碰撞率。

2 系統(tǒng)設(shè)計(jì)

2.1 硬件設(shè)計(jì)

本系統(tǒng)采用的單片機(jī)是PIC16F877,將單片機(jī)的PORTC的0~5配置成通用I/O引腳,分別與nRF24L01的IRQ,CE,CSN,SCK,MOSI,MISO連接,控制nRF24L01的工作方式,采用單片機(jī)標(biāo)準(zhǔn)的SPI接口。系統(tǒng)上電時(shí),PIC16F877首先對(duì)nRF24L01進(jìn)行寫(xiě)配置寄存器操作,然后使nRF24L01進(jìn)入發(fā)射狀態(tài),將要發(fā)送的數(shù)據(jù)寫(xiě)入nRF24L01,激活無(wú)線發(fā)射。然后檢測(cè)nRF24L01的IRQ引腳,由于關(guān)閉了自動(dòng)重發(fā)射功能,因此如果引腳電平變低,即說(shuō)明產(chǎn)生發(fā)送成功中斷,數(shù)據(jù)發(fā)送成功,然后從接收端讀出數(shù)據(jù)即可。

2.2軟件設(shè)計(jì)

程序流程圖如圖3所示。程序編程的基本思路是,系統(tǒng)上電首先配置nRF24L01的寄存器,本系統(tǒng)只對(duì)其中幾個(gè)寄存器進(jìn)行了重新配置,關(guān)閉自動(dòng)重發(fā)射功能是想對(duì)發(fā)送失敗次數(shù)進(jìn)行統(tǒng)計(jì),其他的均采用默認(rèn)值,如:通信速率2 Mb/s,輸出功率0 dBm等。

nRF24L01的無(wú)線數(shù)據(jù)傳輸系統(tǒng)

nRF24L01寫(xiě)配置子程序如下:

nRF24L01的無(wú)線數(shù)據(jù)傳輸系統(tǒng)

nRF24L01的無(wú)線數(shù)據(jù)傳輸系統(tǒng)

nRF24L01的無(wú)線數(shù)據(jù)傳輸系統(tǒng)

3 結(jié) 語(yǔ)

本文介紹了利用PIC16F877和nRF24L01芯片設(shè)計(jì)的無(wú)線數(shù)據(jù)傳輸系統(tǒng),成本低,體積小,傳輸速率高,具有良好的通用性和可靠性,可供監(jiān)測(cè)和工業(yè)控制系統(tǒng)電路設(shè)計(jì)參考使用。

作者:莢 慶,王代華,張志杰   來(lái)源:現(xiàn)代電子技術(shù)
微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書(shū)
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書(shū)-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無(wú)線接入網(wǎng)白皮書(shū)
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書(shū)》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5GNTN技術(shù)白皮書(shū)
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書(shū)
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息