nRF24L01無(wú)線模塊
掃描二維碼
隨時(shí)隨地手機(jī)看文章
nRF24L01是一款新型單片射頻收發(fā)器件,工作于2.4 GHz~2.5 GHz ISM頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強(qiáng)型ShockBurst技術(shù),其中輸出功率和通信頻道可通過(guò)程序進(jìn)行配置。nRF24L01功耗低,在以-6 dBm的功率發(fā)射時(shí),工作電流也只有9 mA;接收時(shí),工作電流只有12.3 mA,多種低功率工作模式,工作在100mw時(shí)電流為160mA,在數(shù)據(jù)傳輸方面實(shí)現(xiàn)相對(duì)WiFi距離更遠(yuǎn),但傳輸數(shù)據(jù)量不如WiFi(掉電模式和空閑模式)使節(jié)能設(shè)計(jì)更方便。
GFSK調(diào)制:硬件集成OSI鏈路層;具有自動(dòng)應(yīng)答和自動(dòng)再發(fā)射功能;片內(nèi)自動(dòng)生成報(bào)頭和CRC校驗(yàn)碼;數(shù)據(jù)傳輸率為l Mb/s或2Mb/s;SPI速率為0 Mb/s~10 Mb/s;125個(gè)頻道:與其他nRF24系列射頻器件相兼容;QFN20引腳4 mm×4 mm封裝;供電電壓為1.9 V~3.6 V。傳輸距離<5m
工作模式
待機(jī)模式1主要用于降低電流損耗,在該模式下晶體振蕩器仍然是工作的;待機(jī)模式2則是在當(dāng)FIFO寄存器為空且CE=1時(shí)進(jìn)入此模式;待機(jī)模式下,所有配置字仍然保留。在掉電模式下電流損耗最小,同時(shí)nRF24L01也不工作,但其所有配置寄存器的值仍然保留。
工作原理
發(fā)射數(shù)據(jù)時(shí),首先將nRF24L01配置為發(fā)射模式:接著把接收節(jié)點(diǎn)地址TX_ADDR和有效數(shù)據(jù)TX_PLD按照時(shí)序由SPI口寫入nRF24L01緩存區(qū),TX_PLD必須在CSN為低時(shí)連續(xù)寫入,而TX_ADDR在發(fā)射時(shí)寫入一次即可,然后CE置為高電平并保持至少10μs,延遲130μs后發(fā)射數(shù)據(jù);若自動(dòng)應(yīng)答開(kāi)啟,那么nRF24L01在發(fā)射數(shù)據(jù)后立即進(jìn)入接收模式,接收應(yīng)答信號(hào)(自動(dòng)應(yīng)答接收地址應(yīng)該與接收節(jié)點(diǎn)地址TX_ADDR一致)。如果收到應(yīng)答,則認(rèn)為此次通信成功,TX_DS置高,同時(shí)TX_PLD從TX FIFO中清除;若未收到應(yīng)答,則自動(dòng)重新發(fā)射該數(shù)據(jù)(自動(dòng)重發(fā)已開(kāi)啟),若重發(fā)次數(shù)(ARC)達(dá)到上限,MAX_RT置高,TX FIFO中數(shù)據(jù)保留以便再次重發(fā);MAX_RT或TX_DS置高時(shí),使IRQ變低,產(chǎn)生中斷,通知MCU。最后發(fā)射成功時(shí),若CE為低則nRF24L01進(jìn)入空閑模式1;若發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進(jìn)入下一次發(fā)射;若發(fā)送堆棧中無(wú)數(shù)據(jù)且CE為高,則進(jìn)入空閑模式2。接收數(shù)據(jù)時(shí),首先將nRF24L01配置為接收模式,接著延遲130μs進(jìn)入接收狀態(tài)等待數(shù)據(jù)的到來(lái)。當(dāng)接收方檢測(cè)到有效的地址和CRC時(shí),就將數(shù)據(jù)包存儲(chǔ)在RX FIFO中,同時(shí)中斷標(biāo)志位RX_DR置高,IRQ變低,產(chǎn)生中斷,通知MCU去取數(shù)據(jù)。若此時(shí)自動(dòng)應(yīng)答開(kāi)啟,接收方則同時(shí)進(jìn)入發(fā)射狀態(tài)回傳應(yīng)答信號(hào)。最后接收成功時(shí),若CE變低,則nRF24L01進(jìn)入空閑模式1。SPI口為同步串行通信接口,最大傳輸速率為10 Mb/s,傳輸時(shí)先傳送低位字節(jié),再傳送高位字節(jié)。但針對(duì)單個(gè)字節(jié)而言,要先送高位再送低位。與SPI相關(guān)的指令共有8個(gè),使用時(shí)這些控制指令由nRF24L01的MOSI輸入。相應(yīng)的狀態(tài)和數(shù)據(jù)信息是從MISO輸出給MCU。