模塊套件的學(xué)習(xí)nrf24l01中文_第1頁
模塊套件的學(xué)習(xí)nrf24l01中文_第2頁
模塊套件的學(xué)習(xí)nrf24l01中文_第3頁
模塊套件的學(xué)習(xí)nrf24l01中文_第4頁
模塊套件的學(xué)習(xí)nrf24l01中文_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、nRF24L01單片 2.4G 無線射頻收發(fā)=特性真正的 GFSK 單收發(fā)內(nèi)置鏈路層增強(qiáng)型 ShockBurstTM自動應(yīng)答及自動重發(fā)功能地址及 CRC 檢驗功能 數(shù)據(jù)傳輸率 1 或 2MbpsSPI 接口數(shù)據(jù)速率08Mbps125 個可選工作頻道很短的頻道切換時間可用于跳頻與 nRF 24XX 系列完全兼容可接受 5V 電平的輸入20 腳 QFN 44mm 封裝極低的晶振要求60ppm低成本電感和雙面 PCB 板工作電壓1.93.6V應(yīng)用無線鼠標(biāo) 鍵盤無線門禁無線數(shù)據(jù)通訊安防系統(tǒng)裝置遙感勘測智能運(yùn)動設(shè)備工業(yè)傳感器 玩具機(jī)桿概述:nRF24L01 是一款工作在 2.42.5GHz 世界通用 I

2、SM 頻段的單片無線收發(fā)器 率發(fā)生器 增強(qiáng)型 SchockBurstTM 模式控制器功率放大器晶體振蕩器調(diào)制器頻道選擇和協(xié)議的設(shè)置可以通過 SPI 接口進(jìn)行設(shè)置無線收發(fā)器包括:頻解調(diào)器輸出功率為-6dBm 時電流消耗為 9.0mA 接收模式時為 12.3mA極低的電流消耗 當(dāng)工作在發(fā)射模式下掉電模式和待機(jī)模式下電流消耗更低快速參考數(shù)據(jù)表 1nRF24L01 快速參考數(shù)據(jù)參數(shù)數(shù)值最低供電電壓1.9V最大0dBm最大數(shù)據(jù)傳輸率2000kbps發(fā)射模式下電流消耗0dBm11.3mA接收模式下電流消耗2000kbps12.3mA溫度范圍-40數(shù)據(jù)傳輸率為kbps 下的靈敏度-85dBm掉電模式下電流消

3、耗900nA分類信息表 2nRF24L01分類信息結(jié)構(gòu)方框圖:圖 1 nRF24L01 及外部接口型號描述版本nRF24L01 IC片DnRF24L0120 腳 QFN 4*4mpliantDnRF24L01-EVKIT評估套件1.0引腳及其功能表 3nRF24L01 引腳功能圖 2引腳封裝引腳名稱引腳功能描述1CE數(shù)字輸入RX 或 TX 模式選擇2CSN數(shù)字輸入SPI 片選信號3SCK數(shù)字輸入SPI 時鐘4MOSI數(shù)字輸入從 SPI 數(shù)據(jù)輸入腳5MISO數(shù)字輸出從 SPI 數(shù)據(jù)輸出腳6IRQ數(shù)字輸出可中斷腳7VDD電源電源 +3V8VSS電源接地 0V9XC2模擬輸出晶體震蕩器 2 腳10X

4、C1模擬輸入晶體震蕩器 1 腳/外部時鐘輸入腳11VDD_PA電源輸出給 RF 的功率放大器提供的+1.8V 電源12ANT1天線天線接口 113ANT2天線天線接口 214VSS電源接地 0V15VDD電源電源 +3V16IREF模擬輸入?yún)⒖茧娏?7VSS電源接地 0V18VDD電源電源 +3V19DVDD電源輸出去耦電路電源正20VSS電源接地 0V電氣特性條件 VDD=+3VVSS=0VTA=40到+85表 4nRF24L01 電氣特性符號參數(shù) 條件最小值典型值最大值操作條件VDD電源1.93.03.6V溫度工作溫度40+27+85數(shù)字輸入腳VOH高電平輸出電壓 IOH=-0.5mAVD

5、D-0.3VDDVVOL高電平輸出電壓 IOL=0.5mAVSS0.3V常用射頻條件fOP工作頻率24002525MHzfXTAL晶振頻率16MHzf1M頻移1000kbps160kHzf2M頻移2000kbps320kHzRGFSKShockBrust 模式下數(shù)據(jù)傳輸率02000KbpsFCHANNEL頻道間距1000kbps1MHzFCHANNEL頻道間距2000kbps2MHz發(fā)射操作PRF最大輸出功率0+4dBmPRFC射頻功率控制范圍161820dBPRFCR射頻電源4dBPBW載波調(diào)制的 20dB 帶寬18002000kHzPRF1第一鄰近通道2MHz-20dBmPRF2第二鄰近通

6、道4MHz-50dBmIVDD輸出功率-18dBm 下電流11.3mAIVDD輸出功率-18dBm 下電流7.0mAIVDD-6dBm 輸出功率 ShockBrust 模式下電流0.05mAIVDD待機(jī)狀態(tài)下電流32uAIVDD掉電狀態(tài)下電流900nA接收操作IVDD2000kbps 數(shù)據(jù)傳輸率下 單通道工作電流12.3mAIVDD1000kbps 數(shù)據(jù)傳輸率下 單通道工作電流11.8mARXSENS在 0.1%BRE(2000kbps)下的靈敏度-82dBmRXSENS在 0.1%BRE(1000kbps)下的靈敏度-85dBm圖 3nRF24L01 外形封裝尺寸極限范圍供電電壓VDDV+3

7、.6VVSSV輸入電壓VIV5.25V輸出電壓VOVSSVDD總功耗PDTA=85溫度 60mW工作溫度-40+85器溫度-40+125注意:若超出上述極限值可能對元器件有損害 靜電敏感元件術(shù)語表表 5術(shù)語表功能描述工作模式nRF24L01 可以設(shè)置為以下幾種主要的模式表 6nRF24L01 主要工作模式關(guān)于 nRF24L01 I/O 腳更詳細(xì)的描述請參見下面的表 7模式PWR_UPPRIM_RXCEFIFO 寄存器狀態(tài)接收模式111-發(fā)送模式101數(shù)據(jù)在 TX FIFO 寄存器中發(fā)送模式1010停留在發(fā)送模式 直至數(shù)據(jù)發(fā)送完待機(jī)模式 II101TX FIFO 為空待機(jī)模式 I1-0無數(shù)據(jù)傳輸

8、掉電模式0-術(shù)語描述ACK確認(rèn)信號 應(yīng)答信號ART自動重發(fā)CE使能CLK時鐘信號CRC循環(huán)冗余校驗CSN片選非ESB增強(qiáng)型 ShockBrustTMGFSK鍵控頻移IRQ中斷請求ISM工業(yè)科學(xué)醫(yī)學(xué)LNA低噪聲放大LSB最低有效位LSByte最低有效字節(jié)Mbps兆位/秒MCU微控制器MISO主機(jī)輸入從機(jī)輸出MOSI主機(jī)輸出從機(jī)輸入MSB最高有效位MSByte最高有效字節(jié)PCB印刷電路板PER數(shù)據(jù)包誤碼率數(shù)據(jù)包識別位PLD載波PRX接收源PTX發(fā)射源PWR_DWN掉電PWR_UP上電RX接收RX_DR接收數(shù)據(jù)準(zhǔn)備就緒SPI串行可編程接口TX發(fā)送TX_DS已發(fā)送數(shù)據(jù)nRF24L01 在不同模式下的引

9、腳功能表 7nRF24L01 引腳功能待機(jī)模式待機(jī)模式 I 在保證快速啟動的同時減少系統(tǒng)平均消耗電流 在待機(jī)模式 I 下 晶振正常工作 在待機(jī)模式 II 下部分時鐘緩沖器處在工作模式 當(dāng)發(fā)送端 TX FIFO 寄存器為空并且 CE 為高電平時進(jìn)入待機(jī)模式 II 在待機(jī)模式期間 寄存器配置字內(nèi)容保持不變掉電模式在掉電模式下,nRF24L01 各功能關(guān)閉 保持電流消耗最小進(jìn)入掉電模式后nRF24L01 停止工作但寄存器內(nèi)容保持不變啟動時間見表格 13掉電模式由寄存器中 PWR_UP 位來控制數(shù)據(jù)包處理方式nRF24L01 有如下幾種數(shù)據(jù)包處理方式ShockBurstTM與 nRF2401nRF24

10、E1nRF2402nRF24E2 數(shù)據(jù)傳輸率為 1Mbps 時相同增強(qiáng)型 ShockBurstTM 模式ShockBurstTM 模式ShockBurst 模式下 nRF24L01 可以與成本較低的低速 MCU 相連 高速信號處理是由的射頻協(xié)議處理的 nRF24L01 提供 SPI 接口 數(shù)據(jù)率取決于單片機(jī)本身接口速度ShockBurst 模式通過允許與單片機(jī)低速通信而無線部分高速通信 減小了通信的平均消耗電流在 ShockBurstTM 接收模式下當(dāng)接收到有效的地址和數(shù)據(jù)時 IRQ 通知 MCU隨后 MCU 可將接收到的數(shù)據(jù)從 RX FIFO 寄存器中讀出在 ShockBurstTM 發(fā)送模

11、式下nRF24L01 自動生成前導(dǎo)碼及 CRC 校驗 參見表格 12數(shù)據(jù)發(fā)送完畢后 IRQ 通知 MCU減少了 MCU 的查詢時間 也就意味著減少了 MCU 的工作量同時減少了的開發(fā)時間 nRF24L01有三個不同的 RX FIFO 寄存器 6 個通道共享此寄存器 和三個不同的 TX FIFO 寄存器 在掉電模式下待機(jī)模式下和數(shù)據(jù)傳輸?shù)倪^程中 MCU 可以隨時FIFO 寄存器 這就允許 SPI接口可以以低速進(jìn)行數(shù)據(jù)傳送 并且可以應(yīng)用于 MCU 硬件上沒有 SPI 接口的情況下增強(qiáng)型的 ShockBurstTM 模式增強(qiáng)型 ShockBurstTM 模式可以使得雙向 協(xié)議執(zhí)行起來更為容易 有效

12、典型的雙向 為 發(fā)送方要求終端設(shè)備在接收到數(shù)據(jù)后有應(yīng)答信號 以便于發(fā)送方檢測有無數(shù)據(jù)丟失 一旦數(shù)據(jù)丟失 則通過重新發(fā)送功能將丟失的數(shù)據(jù)恢復(fù) 增強(qiáng)型的ShockBurstTM 模式可以同時控制應(yīng)答及重發(fā)功能而無需增加MCU工作量引腳名稱方向發(fā)送模式接收模式待機(jī)模式掉電模式CE輸入高電平10us高電平低電平-CSN輸入SPI 片選使能 低電平使能SCK輸入SPI 時鐘MOSI輸入SPI 串行輸入MISO三態(tài)輸出SPI 串行輸出IRQ輸出中斷 低電平使能圖 4nRF24L01 在星形網(wǎng)絡(luò)中的結(jié)構(gòu)圖nRF24L01 在接收模式下可以接收 6 路不同通道的數(shù)據(jù) 見圖 4 每一個數(shù)據(jù)通道使用不同的地址 但

13、是共用相同的頻道 也就是說 6 個不同的 nRF24L01 設(shè)置為發(fā)送模式后可以與同一個設(shè)置為接收模式的 nRF24L01 進(jìn)行通訊 而設(shè)置為接收模式的 nRF24L01 可以對這 6 個發(fā)射端進(jìn)行識別 數(shù)據(jù)通道 0 是唯一的一個可以配置為 40 位自身地址的數(shù)據(jù)通道 15 數(shù)據(jù)通道都為 8 位自身地址和 32 位公用地址 所有的數(shù)據(jù)通道都可以設(shè)置為增強(qiáng)型 ShockBurst 模式nRF24L01 在確認(rèn)收到數(shù)據(jù)后地址 并以此地址為目標(biāo)地址發(fā)送應(yīng)答信號 在發(fā)送端 數(shù)據(jù)通道 0被用做接收應(yīng)答信號見圖 5 選擇地址舉例因此數(shù)據(jù)通道 0 的接收地址要與發(fā)送端地址相等以確保接收到正確的應(yīng)答信號圖 5

14、應(yīng)答地址確定舉例nRF24L01 配置為增強(qiáng)型的 ShockBurstTM 發(fā)送模式下時 只要 MCU 有數(shù)據(jù)要發(fā)送 nRF24L01 就會啟動 ShockBurstTM 模式來發(fā)送數(shù)據(jù) 在發(fā)送完數(shù)據(jù)后 nRF24L01 轉(zhuǎn)到接收模式并等待終端的應(yīng)答信號 如果沒有收到應(yīng)答信號 nRF24L01 將重發(fā)相同的數(shù)據(jù)包 直到收到應(yīng)答信號或重發(fā)次數(shù)超過SETUP_RETR_ARC 寄存器中設(shè)置的值為止 如果重發(fā)次數(shù)超過了設(shè)定值則產(chǎn)生 MAX_RT 中斷只要收到確認(rèn)信號 nRF24L01 就認(rèn)為最后一包數(shù)據(jù)已經(jīng)發(fā)送成功 接收方已經(jīng)收到數(shù)據(jù) 把 TX FIFO中的數(shù)據(jù)清除掉并產(chǎn)生 TX_DS 中斷 IRQ

15、 引腳置高在增強(qiáng)型 ShockBurstTM 模式下 nRF24L01 有如下的特征當(dāng)工作在應(yīng)答模式時 快速的空中傳輸及啟動時間極大的降低了電流消耗低成本 nRF24L01 集成了所有高速鏈路層操作 比如 重發(fā)丟失數(shù)據(jù)包和產(chǎn)生應(yīng)答信號 無需單片機(jī)硬件上一定有 SPI 口與其相連 SPI 接口可以利用單片機(jī)通用 I/O 口進(jìn)行模擬由于空中傳輸時間很短 極大的降低了無線傳輸中的碰撞現(xiàn)象由于鏈路層完全集成在上非常便于軟硬件的開發(fā)增強(qiáng)型 ShockBurstTM 發(fā)送模式12配置寄存器位 PRIM_RX 為低當(dāng) MCU 有數(shù)據(jù)要發(fā)送時 接收節(jié)點地址TX_ADDR和有效數(shù)據(jù)(TX_PLD)通過 SPI

16、接口寫入 nRF24L01 發(fā)送數(shù)據(jù)的長度以字節(jié)計數(shù)從 MCU 寫入 TX FIFO 當(dāng) CSN 為低時數(shù)據(jù)被不斷的寫入發(fā)送端發(fā)送完數(shù)據(jù)后 將通道 0 設(shè)置為接收模式來接收應(yīng)答信號 其接收地址(RX_ADDR_P0)與接收端地址(TX_ADDR)相同 例在圖 5 中數(shù)據(jù)通道 5 的發(fā)送端(TX5)及接收端(RX)地址設(shè)置如下TX5 TX5 RXTX_ADDR=0 xB3B4B5B605 RX_ADDR_P0=0 xB3B4B5B605 RX_ADDR_P5=0 xB3B4B5B60534設(shè)置 CE 為高 啟動發(fā)射CE 高電平持續(xù)時間最小為 10 us nRF24L01ShockBurstTM

17、模式無線系統(tǒng)上電啟動16MHz 時鐘無線發(fā)送數(shù)據(jù)打包 見數(shù)據(jù)包描述高速發(fā)送數(shù)據(jù)由 MCU 設(shè)定為 1Mbps 或 2Mbps如果啟動了自動應(yīng)答模式 自動重發(fā)計數(shù)器不等于 0 ENAA_P0=15無線立即進(jìn)入接收模式如果在有效應(yīng)答時間范圍內(nèi)收到應(yīng)答信號 則認(rèn)為數(shù)據(jù)成功發(fā)送到了接收端 此時狀態(tài)寄存器的TX_DS 位置高并把數(shù)據(jù)從 TX FIFO 中清除掉 如果在設(shè)定時間范圍內(nèi)沒有接收到應(yīng)答信號 則重新發(fā)送數(shù)據(jù) 如果自動重發(fā)計數(shù)器T溢出 超過了編程設(shè)定的值則狀態(tài)寄存器的MAX_RT 位置高 不清除 TX FIFO 中的數(shù)據(jù) 當(dāng) MAX_RT 或 TX_DS 為高電平時 IRQ 引腳產(chǎn)生中斷 IRQ

18、中斷通過寫狀態(tài)寄存器來復(fù)位 見中斷章節(jié)如果重發(fā)次數(shù)在達(dá)到設(shè)定的最大重發(fā)次數(shù)時還沒有收到應(yīng)答信號的話 在 MAX_RX 中斷清除之前不會重發(fā)數(shù)據(jù)包 數(shù)據(jù)包丟失計數(shù)器(包次數(shù)T)在每次產(chǎn)生 MAX_RT 中斷后加一 也就是說重發(fā)計數(shù)器T 計算重發(fā)數(shù)據(jù)T 計算在達(dá)到最大允許重發(fā)次數(shù)時仍沒有發(fā)送成功的數(shù)據(jù)包個數(shù)6如果 CE 置低 則系統(tǒng)進(jìn)入待機(jī)模式 I如果不設(shè)置 CE 為低 則系統(tǒng)會發(fā)送 TX FIFO 寄存器中下一包數(shù)據(jù) 如果 TX FIFO 寄存器為空并且 CE 為高則系統(tǒng)進(jìn)入待機(jī)模式 II.如果系統(tǒng)在待機(jī)模式 II當(dāng) CE 置低后系統(tǒng)立即進(jìn)入待機(jī)模式 I.7增強(qiáng)型 ShockBurstTM 接收

19、模式ShockBurstTM 接收模式是通過設(shè)置寄存器中 PRIM_RX 位為高來選擇的 準(zhǔn)備接收數(shù)據(jù)的通道必須被使能 EN_RXADDR 寄存器所有工作在增強(qiáng)型 ShockBurstTM 模式下的數(shù)據(jù)通道的自動應(yīng)答功1能是由(EN_AA 寄存器)來使能的 有效數(shù)據(jù)寬度是由 RX_PW_Px 寄存器來設(shè)置的 地址的建立過程見增強(qiáng)型 ShockBurstTM 發(fā)送章節(jié)接收模式由設(shè)置 CE 為高來啟動 130us 后 nRF24L01 開始檢測空中信息234接收到有效的數(shù)據(jù)包后 地址匹配CRC 檢驗正確數(shù)據(jù)在 RX_FIFO 中 同時 RX_DR 位置高 并產(chǎn)生中斷狀態(tài)寄存器中 RX_P_NO 位

20、顯示數(shù)據(jù)是由哪個通道接收到的如果使能自動確認(rèn)信號 則發(fā)送確認(rèn)信號MCU 設(shè)置 CE 腳為低 進(jìn)入待機(jī)模式 I低功耗模式MCU 將數(shù)據(jù)以合適的速率通過 SPI 口將數(shù)據(jù)讀出準(zhǔn)備好進(jìn)入發(fā)送模式 接收模式或掉電模式5678兩種數(shù)據(jù)雙方向的通訊方式如果想要數(shù)據(jù)在雙方向上通訊,PRIM_RX 寄存器必須緊隨工作模式的變化而變化 處理器必須保證 PTX 和 PRX 端的同步性 在 RX_FIFO 和 TX_FIFO 寄存器中可能同時存有數(shù)據(jù)自動應(yīng)答 RX自動應(yīng)答功能減少了外部 MCU 的工作量 并且在鼠標(biāo)/鍵盤等應(yīng)用中也可以不要求硬件一定有 SPI 接口 因此降低成本減少電流消耗自動重應(yīng)答功能可以通過 S

21、PI 口對不同的數(shù)據(jù)通道分別進(jìn)行配置在自動應(yīng)答模式使能的情況下 收到有效的數(shù)據(jù)包后 系統(tǒng)將進(jìn)入發(fā)送模式并發(fā)送確認(rèn)信號 發(fā)送完確認(rèn)信號后 系統(tǒng)進(jìn)入正常工作模式工作模式由 PRIM_RX 位和 CE 引腳決定自動重發(fā)功能 ART(TX)自動重發(fā)功能是針對自動應(yīng)答系統(tǒng)的發(fā)送方 SETUP_RETR 寄存器設(shè)置啟動重發(fā)數(shù)據(jù)的時間長度在每次發(fā)送結(jié)束后系統(tǒng)都會進(jìn)入接收模式并在設(shè)定的時間范圍內(nèi)等待應(yīng)答信號 接收到應(yīng)答信號后 系統(tǒng)轉(zhuǎn)入正常發(fā)送模式 如果 TX FIFO 中沒有待發(fā)送的數(shù)據(jù)且 CE 腳電平為低 則系統(tǒng)將進(jìn)入待機(jī)模式 I如果沒有收到確認(rèn)信號 則系統(tǒng)返回到發(fā)送模式并重發(fā)數(shù)據(jù)直到收到確認(rèn)信號或重發(fā)次數(shù)

22、超過設(shè)定值 達(dá)到最大的重發(fā)次數(shù)有新的數(shù)據(jù)發(fā)送或 PRIM_RX 寄存器配置改變時丟包計數(shù)器復(fù)位數(shù)據(jù)包識別和 CRC 校驗應(yīng)用于增強(qiáng)型 ShockBurstTM 模式下每一包數(shù)據(jù)都包括兩位的數(shù)據(jù)包識別 來識別接收的數(shù)據(jù)是新數(shù)據(jù)包還是重發(fā)的數(shù)據(jù)包識別可以防止接收端同一數(shù)據(jù)包多次送入 MCU 在發(fā)送方每從 MCU 取得一包新數(shù)據(jù)后值加一和 CRC 校驗應(yīng)用在接收方識別接收的數(shù)據(jù)是重發(fā)的數(shù)據(jù)包還是新數(shù)據(jù)包 如果在中有一些數(shù)據(jù)丟失值 nRF24L01 將了 則值與上一包數(shù)據(jù)的值相同 如果一包數(shù)據(jù)擁有與上一包數(shù)據(jù)相同的對兩包數(shù)據(jù)的CRC 值進(jìn)行比較 如果CRC 值也相同的話就認(rèn)為后面一包是前一包的重發(fā)數(shù)據(jù)

23、包而被舍棄1接收方接收方對新接收數(shù)據(jù)包的值與上一包進(jìn)行比較 如果值不同 則認(rèn)為接收的數(shù)據(jù)包是新數(shù)據(jù)包 如果值與上一包相同 則新接收的數(shù)據(jù)包有可能與前一包相同接收方必須確認(rèn) CRC值是否相等 如果 CRC 值與前一包數(shù)據(jù)的 CRC 值相等則認(rèn)為是同一包數(shù)據(jù)并將其舍棄2發(fā)送方每發(fā)送一包新的數(shù)據(jù)則發(fā)送方的值加一圖 6值生成和檢測CRC 校驗的長度是通過 SPI 接口進(jìn)行配置的 一定要注意 CRC 計算范圍包括整個數(shù)據(jù)包地址和有效數(shù)據(jù)等 若 CRC 校驗錯誤則不會接收數(shù)據(jù)包 這一點是接收數(shù)據(jù)包的附加要求 在上圖沒有說明載波檢測 CD當(dāng)接收端檢測到射頻范圍內(nèi)的信號時將 CD 置高 否則 CD 為低的 C

24、D 信號在寫入寄存器之前是經(jīng)過濾波的CD 高電平狀態(tài)至少保持 128us 以上在增強(qiáng)型ShockBurstTM模式中只有當(dāng)發(fā)送模塊沒有成功發(fā)送數(shù)據(jù)時T顯示數(shù)據(jù)包丟失率太高時 可將其設(shè)置位接收模式檢測CD值使用CD檢測功能 如果發(fā)送如果CD為高 說明通道出現(xiàn)端了擁擠現(xiàn)象 需作其它調(diào)整需要更改通信頻道 如果CD為低電平狀態(tài) 距離超出通信范圍可保持原有通信頻道 但數(shù)據(jù)通道nRF24L01 配置為接收模式時可以接收 6 路不同地址相同頻率的數(shù)據(jù) 每個數(shù)據(jù)通道擁有自己的地址并且可以通過寄存器來進(jìn)行分別配置數(shù)據(jù)通道是通過寄存器 EN_RXADDR 來設(shè)置的 默認(rèn)狀態(tài)下只有數(shù)據(jù)通道 0 和數(shù)據(jù)通道 1 是開

25、啟狀態(tài)的每一個數(shù)據(jù)通道的地址是通過寄存器 RX_ADDR_Px 來配置的 通常情況下不允許不同的數(shù)據(jù)通道設(shè)置完全相同的地址數(shù)據(jù)通道 0 有 40 位可配址 數(shù)據(jù)通道 15 的地址為 32 位共用地址+各自的地址 最低字節(jié)圖 7 所示的是數(shù)據(jù)通道 15 的地址設(shè)置方法舉例 所有數(shù)據(jù)通道可以設(shè)置為多達(dá) 40 位 但是 15 數(shù)據(jù)通道的最低位必須不同圖 7通道 05 的地址設(shè)置當(dāng)從一個數(shù)據(jù)通道中接收到數(shù)據(jù) 并且此數(shù)據(jù)通道設(shè)置為應(yīng)答方式的話則 nRF24L01 在收到數(shù)據(jù)后產(chǎn)生應(yīng)答信號此應(yīng)答信號的目標(biāo)地址為接收通道地址寄存器配置有些是針對所有數(shù)據(jù)通道的 有些則是針對個別的 如下設(shè)置舉例是針對所有數(shù)據(jù)通

26、道的CRC 使能/ CRC 計算 接收地址寬度頻道設(shè)置無線數(shù)據(jù)通信速率LNA 增益 射頻輸出功率寄存器配置nRF24L01 所有配置都在配置寄存器中所有寄存器都是通過 SPI 口進(jìn)行配置的SPI 接口SPI 接口是標(biāo)準(zhǔn)的 SPI 接口 其最大的數(shù)據(jù)傳輸率為 10Mbps大多數(shù)寄存器是可讀的SPI 指令設(shè)置SPI 接口可能用到的指令在下面有所說明必須通過一次 CSN 由高到低的變化SPI 指令格式CSN 為低后 SPI 接口等待執(zhí)行指令每一條指令的執(zhí)行都參看圖 8 及圖 9圖 8nRF24L01 SPI 串行口指令設(shè)置 R_REGISTER 和 W_REGISTER 寄存器可能操作單字節(jié)或多字節(jié)

27、寄存器 當(dāng)多字節(jié)寄存器時首先要讀/寫的是最低字節(jié)的在所有多字節(jié)寄存器被寫完之前可以結(jié)束寫 SPI 操作 在這種情況下沒有寫完的高字節(jié)保持原有內(nèi)容不變 例如 RX_ADDR_P0 寄存器的最低字節(jié)可以通過寫一個字節(jié)給寄存器RX_ADDR_P0 來改變 在 CSN 狀態(tài)由高變低后可以通過 MISO 來中斷nRF24L01 的中斷引腳 IRQ為低電平觸發(fā)當(dāng)狀態(tài)寄存器中 TX_DSRX_DR 或 MAX_RT 為高時狀態(tài)寄存器的內(nèi)容觸發(fā)中斷 當(dāng) MCU 給中斷源寫 1可中斷可以被 IRQ 中斷時中斷引腳被通過設(shè)置可中斷位為高 則中斷響應(yīng)被默認(rèn)狀態(tài)下所有的中斷源是被的SPI 時序圖 8910 和表 91

28、0 給出了 SPI 操作及時序 在寫寄存器之前一定要進(jìn)入待機(jī)模式或掉電模式在圖 8 至圖 10 中用到了下面的符號Cn-SPI 指令位Sn-狀態(tài)寄存器位Dn-數(shù)據(jù)位 備注由低字節(jié)到高字節(jié)每個字節(jié)中圖 8SPI 讀操作指令名稱指令格式操作R_REGISTER000AAAAA讀配置寄存器AAAAA讀操作的寄存器地址W_REGISTER001AAAAA寫配置寄存器 AAAAA寫操作的寄存器地址只有在掉電模式和待機(jī)模式下可操作R_RX_PAYLO AD01100001讀 RX 有效數(shù)據(jù) 1-32 字節(jié) 讀操作全部從字節(jié) 0 開始 當(dāng)讀 RX有效數(shù)據(jù)完成后 FIFO 寄存器中有效數(shù)據(jù)被清除應(yīng)用于接收模式

29、下W_RX_PAYL OAD10100000寫 TX 有效數(shù)據(jù) 1-32 字節(jié) 寫操作從字節(jié) 0 開始應(yīng)用于發(fā)射模式下FLUSH_TX11100001清除 TX FIFO 寄存器 應(yīng)用于發(fā)射模式下FLUSH_RX11100010清除 RX FIFO 寄存器 應(yīng)用于接收模式下在傳輸應(yīng)答信號過程中不應(yīng)執(zhí)行此指令 也就是說若傳輸應(yīng)答信號過程中執(zhí)行此指令的話將使得應(yīng)答信號不能被完整的傳輸REUSE_TX_P L11100011重新使用上一包有效數(shù)據(jù) 當(dāng) CE 為高過程中 數(shù)據(jù)包被不斷的重新發(fā)射在發(fā)射數(shù)據(jù)程中必須數(shù)據(jù)包重利用功能NOP11111111空操作 可以用來讀狀態(tài)寄存器圖 9SPI 寫操作圖 1

30、0SPINOP 操作時序圖表 9SPI 參考時間 Cload=5pF表 10SPI 參考時間 Cload=10pF寄存器地址所有未定義位可以被讀出其值為0地址參數(shù)位復(fù)位值類型描述00寄存器配置寄存器70R/W默認(rèn)為 0MASK_RX_DR60R/W可中斷 RX_RD1IRQ 引腳不顯示 RX_RD 中斷0RX_RD 中斷產(chǎn)生時 IRQ 引腳電平為低MASK_TX_DS50R/W可中斷 TX_DS1IRQ 引腳不顯示 TX_DS 中斷0TX_DS 中斷產(chǎn)生時 IRQ 引腳電平為低MASK_MAX_ RT40R/W可中斷 MAX_RT1IRQ 引腳不顯示 TX_DS 中斷0MAX_RT 中斷產(chǎn)生時

31、 IRQ 引腳電平為低EN_CRC31R/WCRC 使能 如果 EN_AA 中任意一位為高則EN_CRC 強(qiáng)迫為高CRCO20R/WCRC 模式0-8 位 CRC 校驗1-16 位 CRC 校驗PWR_UP10R/W1:上電0:掉電PRIM_RX00R/W1:接收模式0:發(fā)射模式01EN_AAEnhanced ShockBurstTM使能 自動應(yīng)答功能此功能后可與 nRF2401 通訊7:600R/W默認(rèn)為 0ENAA_P551R/W數(shù)據(jù)通道 5 自動應(yīng)答允許ENAA_P441R/W數(shù)據(jù)通道 4 自動應(yīng)答允許ENAA_P331R/W數(shù)據(jù)通道 3 自動應(yīng)答允許ENAA_P221R/W數(shù)據(jù)通道 2

32、 自動應(yīng)答允許ENAA_P111R/W數(shù)據(jù)通道 1 自動應(yīng)答允許ENAA_P001R/W數(shù)據(jù)通道 0 自動應(yīng)答允許02EN_RXADDR接收地址允許7:600R/W默認(rèn)為 00ERX_P550R/W接收數(shù)據(jù)通道 5 允許ERX_P440R/W接收數(shù)據(jù)通道 4 允許ERX_P330R/W接收數(shù)據(jù)通道 3 允許ERX_P220R/W接收數(shù)據(jù)通道 2 允許ERX_P111R/W接收數(shù)據(jù)通道 1 允許ERX_P001R/W接收數(shù)據(jù)通道 0 允許03SETUP_AW設(shè)址寬度 所有數(shù)據(jù)通道7:200000R/W默認(rèn)為 00000AW1:011R/W接收/發(fā)射地址寬度00-無效01-3 字節(jié)寬度10-4 字

33、節(jié)寬度11-5 字節(jié)寬度04SETUP_RETR建立自動重發(fā)ARD7:40000R/W自動重發(fā)延時0000-等待 250+86us 0001-等待 500+86us 0010-等待 750+86us1111-等待 4000+86us(延時時間是指一包數(shù)據(jù)發(fā)送完成到下一包數(shù)據(jù)開始發(fā)射之間的時間間隔)ARC3:00011R/W自動重發(fā)計數(shù)0000-自動重發(fā)0000-自動重發(fā)一次0000-自動重發(fā) 15 次05RF_CH射頻通道70R/W默認(rèn)為 0RF_CH6:00000010R/W設(shè)置 nRF24L01 工作通道頻率06RF_SETUPR/W射頻寄存器7:5000R/W默認(rèn)為 000PLL_LOC

34、K40R/WPLL_LOCK 允許僅應(yīng)用于測試模式RF_DR31R/W數(shù)據(jù)傳輸率0 1Mbps12 MbpsRF_PWR2:111R/W00-18dBm01-12dBm10-6dBm110dBmLNA_HCURR01R/W低噪聲放大器增益07SUS狀態(tài)寄存器70R/W默認(rèn)為 0RX_DR60R/W接收數(shù)據(jù)中斷 當(dāng)接收到有效數(shù)據(jù)后置一寫1清除中斷TX_DS50R/W數(shù)據(jù)發(fā)送完成中斷 當(dāng)數(shù)據(jù)發(fā)送完成后產(chǎn)生中斷 如果工作在自動應(yīng)答模式下 只有當(dāng)接收到應(yīng)答信號后此位置一寫1清除中斷MAX_RT40R/W達(dá)到最多次重發(fā)中斷寫1清除中斷如果 MAX_RT 中斷產(chǎn)生則必須清除后系統(tǒng)才能進(jìn)行通訊RX_P_NO

35、3:1111R接收數(shù)據(jù)通道號000-101:數(shù)據(jù)通道號110:未使用111:RX FIFO 寄存器為空TX_FULL00RTXFIFO 寄存器滿標(biāo)志1:TX FIFO 寄存器滿0: TX FIFO 寄存器未滿,有可用空間08OBSERVE_TX發(fā)送檢測寄存器T7:40R數(shù)據(jù)包丟失計數(shù)器 當(dāng)寫 RF_CH 寄存器時此寄存器復(fù)位 當(dāng)丟失15 個數(shù)據(jù)包后此寄存器重啟T3:00R重發(fā)計數(shù)器 發(fā)送新數(shù)據(jù)包時此寄存器復(fù)位09CD7:1000000RCD00R載波檢測0ARX_ADDR_P039:00 xE7E7E7E7E7R/W數(shù)據(jù)通道 0 接收地址 最大長度:5 個字節(jié) 先寫低字節(jié) 所寫字節(jié)數(shù)量由 SE

36、TUP_AW 設(shè)定0BRX_ADDR_P139:00 xC2C2C2C2C2R/W數(shù)據(jù)通道 1 接收地址 最大長度:5 個字節(jié) 先寫低字節(jié) 所寫字節(jié)數(shù)量由 SETUP_AW 設(shè)定0CRX_ADDR_P27:00 xC3R/W數(shù)據(jù)通道 2 接收地址 最低字節(jié)可設(shè)置高字節(jié)部分必須與 RX_ADDR_P139:8相等0DRX_ADDR_P37:00 xC4R/W數(shù)據(jù)通道 3 接收地址 最低字節(jié)可設(shè)置高字節(jié)部分必須與 RX_ADDR_P139:8相等0ERX_ADDR_P47:00 xC5R/W數(shù)據(jù)通道 4 接收地址 最低字節(jié)可設(shè)置高字節(jié)部分必須與 RX_ADDR_P139:8相等0FRX_ADDR_

37、P57:00 xC6R/W數(shù)據(jù)通道 5 接收地址 最低字節(jié)可設(shè)置高字節(jié)部分必須與 RX_ADDR_P139:8相等10TX_ADDR39:00 xE7E7E7E7E7R/W發(fā)送地址先寫低字節(jié)在增強(qiáng)型 ShockBurstTM 模式下 RX_ADDR_P0與此地址相等11RX_PW_P07:600R/W默認(rèn)為 00RX_PW_P05:00R/W接收數(shù)據(jù)通道 0 有效數(shù)據(jù)寬度(1 到 32 字節(jié))0: 設(shè)置不合法1:1 字節(jié)有效數(shù)據(jù)寬度32:32 字節(jié)有效數(shù)據(jù)寬度12RX_PW_P17:600R/W默認(rèn)為 00RX_PW_P15:00R/W接收數(shù)據(jù)通道 1 有效數(shù)據(jù)寬度(1 到 32 字節(jié))0:

38、設(shè)置不合法1:1 字節(jié)有效數(shù)據(jù)寬度32:32 字節(jié)有效數(shù)據(jù)寬度13RX_PW_P27:600R/W默認(rèn)為 00RX_PW_P25:00R/W接收數(shù)據(jù)通道 2 有效數(shù)據(jù)寬度(1 到 32 字節(jié))0: 設(shè)置不合法1:1 字節(jié)有效數(shù)據(jù)寬度32:32 字節(jié)有效數(shù)據(jù)寬度14RX_PW_P37:600R/W默認(rèn)為 00RX_PW_P35:00R/W接收數(shù)據(jù)通道 3 有效數(shù)據(jù)寬度(1 到 32 字節(jié))0 設(shè)置不合法表 11nRF24L01 寄存器地址與 nRF24XX 兼容的寄存器配置如何建立 nRF24L01 從 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 接收數(shù)據(jù)使用與 nRF

39、2401/ nRF2402/ nRF24E1/ nRF24E2 相同的 CRC 配置設(shè)置 PRIM_RX 位為 1相應(yīng)通道自動應(yīng)答功能與發(fā)射模塊使用相同的地址寬度與發(fā)射模塊使用相同的頻道在 nRF24L01 和 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 兩端都選擇 1Mbit/s 的數(shù)據(jù)傳輸率設(shè)置正確的數(shù)據(jù)寬度設(shè)置 PWR_UP 和 CE 為高1:1 字節(jié)有效數(shù)據(jù)寬度32:32 字節(jié)有效數(shù)據(jù)寬度15RX_PW_P47:600R/W默認(rèn)為 00RX_PW_P45:00R/W接收數(shù)據(jù)通道 4 有效數(shù)據(jù)寬度(1 到 32 字節(jié))0: 設(shè)置不合法1:1 字節(jié)有效數(shù)據(jù)寬度32

40、:32 字節(jié)有效數(shù)據(jù)寬度16RX PW P57:600R/W默認(rèn)為 00RX_PW_P55:00R/W接收數(shù)據(jù)通道 5 有效數(shù)據(jù)寬度(1 到 32 字節(jié))0: 設(shè)置不合法1:1 字節(jié)有效數(shù)據(jù)寬度32:32 字節(jié)有效數(shù)據(jù)寬度17FIFO_SUSFIFO 狀態(tài)寄存器70R/W默認(rèn)為 0TX_REUSE60R若TX_REUSE=1 則當(dāng) CE 位高電平狀態(tài)時不斷發(fā)送上一數(shù)據(jù)包 TX_REUSE 通過 SPI 指令 REUSE_TX_PL 設(shè)置 通過 W_TX_PALOAD或 FLUSH_TX 復(fù)位TX_FULL50RTX FIFO 寄存器滿標(biāo)志 1:TX FIFO 寄存器滿0: TX FIFO 寄存

41、器未滿 有可用空間TX_EMPTY41RTX FIFO 寄存器空標(biāo)志 1:TX FIFO 寄存器空0: TX FIFO 寄存器非空3:200R/W墨認(rèn)為 00RX_FULL10RRX FIFO 寄存器滿標(biāo)志 1:RX FIFO 寄存器滿0: RX FIFO 寄存器未滿 有可用空間RX_EMPTY01RRX FIFO 寄存器空標(biāo)志 1:RX FIFO 寄存器空0: RX FIFO 寄存器非空N/ATX PLD255:0WN/ARX_PLD255:0R如何建立 nRF24L01 發(fā)射 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 接收數(shù)據(jù)使用與 nRF2401/ nRF24

42、02/ nRF24E1/ nRF24E2 相同的 CRC 配置設(shè)置 PRIM_RX 位為 0設(shè)置自動重發(fā)計數(shù)器為 0自動重發(fā)功能與 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 使用相同的地址寬度與 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 使用相同的頻道在 nRF24L01 和 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 兩端都選擇 1Mbit/s 的數(shù)據(jù)傳輸率設(shè)置 PWR_UP 為高發(fā)送與 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 寄存器配置數(shù)據(jù)寬度相同的數(shù)據(jù)長度設(shè)置 CE 為高啟動發(fā)

43、射打包描述增強(qiáng)型 ShockBurstTM 模式下的數(shù)據(jù)包形式ShockBurstTM 模式下與 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 相兼容的數(shù)據(jù)包形式表 12數(shù)據(jù)包描述重要的時序數(shù)據(jù)下面是 nRF24L01 部分工作時序數(shù)據(jù)nRF24L01 時序信息表 13nRF24L01 工作時序nRF24L01 在掉電模式下轉(zhuǎn)入發(fā)射模式或接收模式前必須經(jīng)過 1.5ms 的待機(jī)模式VDD 后寄存器配置內(nèi)容丟失 模塊上電后需重新進(jìn)行配置注意當(dāng)關(guān)掉電源nRF24L01 時序最大值最小值參數(shù)名掉電模式待機(jī)模式1.5msTpd2stby待機(jī)模式發(fā)送/接收模式130usTstby2

44、aCE 高電平保持時間10usThceCSN 為低電平 CE 上升沿的延遲時間4usTpece2csn前導(dǎo)碼前導(dǎo)碼用來檢測 0 和 1在接收模式下去除前導(dǎo)碼在發(fā)送模式下加入前導(dǎo)碼地址地址內(nèi)容為地址地址寬度可以是 34 或 5 字節(jié)寬度地址可以對接收通道及發(fā)送通道分別進(jìn)行配置從接收的數(shù)據(jù)包中自動去除地址標(biāo)志位數(shù)據(jù)包識別其中兩位是用來每當(dāng)接收到新的數(shù)據(jù)包后加一七位保留 用作將來與其它產(chǎn)品相兼容當(dāng) nRF24L01 與 nRF2401/ nRF24E1 通訊時不起作用數(shù)據(jù)132 字節(jié)寬度CRCCRC 校驗是可選的02 字節(jié)寬度的 CRC 校驗8 位 CRC 校驗的多項式是 X8+X2+X+116 位

45、 CRC 校驗的多項式是 X16+X12+X5+1前導(dǎo)碼地址 35 字節(jié)數(shù)據(jù) 132 字節(jié)CRC 校驗 0/1/2 字節(jié)前導(dǎo)碼地址 35 字節(jié)9 位 標(biāo)志位數(shù)據(jù) 132 字節(jié)CRC 校驗 0/1/2 字節(jié)增強(qiáng)型 ShockBurstTM 模式時序圖 11增強(qiáng)型 ShockBurstTM 模式發(fā)送一包數(shù)據(jù)時序2Mbps圖 11 所示是發(fā)送一包數(shù)據(jù)并收到應(yīng)答信號的示意圖數(shù)據(jù)送入發(fā)送模塊部分沒有在圖中顯示接收模塊轉(zhuǎn)入接收模式 CE=1發(fā)射模塊配置為發(fā)射模式CE=1 持續(xù)至少 10us130us 后啟動發(fā)射 再過37us 后 發(fā)送一字節(jié)數(shù)據(jù)發(fā)送結(jié)束后發(fā)送模塊自動轉(zhuǎn)入接收模式等待應(yīng)答信號發(fā)送模塊在收到應(yīng)

46、答信號后產(chǎn)生中斷通知 MCU IRQ (TX_DS)=TX-data sent(數(shù)據(jù)發(fā)送完) 接收模塊接收到數(shù)據(jù)包后產(chǎn)生中斷通知 MCUIRQ (RX_DR)=RX-data ready(數(shù)據(jù)接收完畢)RF 信息天線輸出ANT1 和 ANT2 輸出腳給天線提供穩(wěn)定的 RF 輸出 這兩個腳必須連接到 VDD 的直流通路 或者通過RF 扼流圈 或者通過天線雙極的中心點 在輸出功率最大時 0dBm過簡單的網(wǎng)絡(luò)匹配可以獲得較低的阻抗 例如 50使用負(fù)載阻抗為 15+j88通輸出功率調(diào)節(jié)表 14nRF24L01 輸出功率設(shè)置RF_PWR輸出功率電流消耗110 dBm11.3mA10-6 dBm9.0 mA01-12 dBm7.5 mA00-18 dBm7.0 mA工作條件VDD=3.0V,VSS=0V,TA=27,負(fù)載=15+j88晶振規(guī)格晶振頻率的精確度取決于出廠時精度的設(shè)置和在溫度變化及老化過程中的穩(wěn)定性表 15nRF24L01 的晶振規(guī)格為了實現(xiàn)晶體振蕩器低功耗和快速啟動的目的 建議使用表中容值較小的電容 最好晶振的并聯(lián)等效電容 CO=1.5pF但考慮成本通常以 Co_max=7.0pF 代替 Co=1.5pF負(fù)載電容 CL 由以下公式給出CL=C1*C2/(C1+C2),這里 C1=C1+CPCB1+CI1,C2=C2+CPCB2+C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論