對(duì)于初學(xué)者來說,最痛苦的莫過于看英文技術(shù)手冊(cè),所以當(dāng)初小白的自己就會(huì)想,要是有人將這些手冊(cè)翻譯成中文就好了。但是對(duì)于高手而言,他又不屑于翻譯手冊(cè),因?yàn)樗苯泳湍芸炊?,根本不需要翻譯。所以在尋找 NRF24L01+ 的中文手冊(cè)無果之后,萌生了翻譯這篇文章的想法。首先無線數(shù)據(jù)傳輸這個(gè)技術(shù)我很感興趣,其次這個(gè)芯片非常適合初學(xué)者去掌握模塊的使用方法,這個(gè)模塊的應(yīng)用也相當(dāng)廣泛,所以歷經(jīng)一星期的時(shí)間將其翻譯成了中文,方便他人,亦是方便自己。
nRF24L01 +是一款帶有嵌入式基帶協(xié)議引擎(Enhanced ShockBurst?)的單芯片 2.4GHz 收發(fā)器,適用于超低功耗無線應(yīng)用。 nRF24L01 +設(shè)計(jì)用于 2.400-2.4835GHz的全球 ISM 頻段。要用 nRF24L01 +設(shè)計(jì)無線電系統(tǒng),您只需要一個(gè)MCU(微控制器)和一些外部無源組件。您可以通過串行外設(shè)接口(SPI)來操作和配置 nRF24L01 +。寄存器映射可通過 SPI 訪問,其中包含 nRF24L01 +中的所有配置寄存器,并且可在芯片的所有操作模式下訪問。嵌入式基帶協(xié)議引擎(Enhanced ShockBurst?)基于數(shù)據(jù)包通信,支持從手動(dòng)操作到高級(jí)自治協(xié)議操作等各種模式。內(nèi)部 FIFO 確保無線電前端和系統(tǒng) MCU 之間的數(shù)據(jù)流暢通。 Enhanced Shock Burst?通過處理所有高速鏈路層操作來降低系統(tǒng)成本。無線電前端使用 GFSK 調(diào)制。它具有用戶可配置的參數(shù),如頻道,輸出功率和空中數(shù)據(jù)速率。nRF24L01 +支持 250 kbps,1 Mbps 和 2Mbps 的空中數(shù)據(jù)速率。高空中數(shù)據(jù)速率與兩種省電模式相結(jié)合,使 nRF24L01 +非常適合超低功耗設(shè)計(jì)。nRF24L01 +與 nRF24L01 直接兼容,并與 nRF2401A,nRF2402,nRF24E1 和 nRF24E2 在空中兼容。 nRF24L01 +中的互調(diào)和寬帶阻塞值與 nRF24L01相比有了很大的改進(jìn),并且 nRF24L01 +的內(nèi)部濾波功能增加了滿足 RF 監(jiān)管標(biāo)準(zhǔn)的余量。內(nèi)部穩(wěn)壓器確保高電源抑制比(PSRR)和寬電源范圍。
nRF24L01 +的特點(diǎn)包括:
- X 全球 2.4GHz ISM 頻段操作
- X 126 個(gè) RF 通道
- X 公共 RX 和 TX 接口
- X GFSK 調(diào)制
- X 250kbps,1 和 2Mbps 空中數(shù)據(jù)速率
- X 1MHz 非重疊信道間隔,1Mbps
- X 2MHz 非重疊信道間隔,2Mbps
?發(fā)射機(jī)
- X 可編程輸出功率:0,-6,-12 或-18dBm
輸出功率為 0dBm 時(shí) X 11.3mA
?接收器
- X Fast AGC 改善動(dòng)態(tài)范圍
- X 集成通道過濾器
在 2Mbps 時(shí) X 13.5mA
2Mbps 時(shí)靈敏度為-82dBm
在 1Mbps 時(shí)X-85dBm 靈敏度
250kbps 時(shí)靈敏度為-94dBm
?RF 合成器
?增強(qiáng) ShockBurst?
- X 1 到 32 個(gè)字節(jié)的動(dòng)態(tài)凈荷長度
- X 自動(dòng)數(shù)據(jù)包處理
- X 自動(dòng)數(shù)據(jù)包事務(wù)處理
- X 6 數(shù)據(jù)管道 MultiCeiver?用于 1:6 星形網(wǎng)絡(luò)
? 能源管理
- X 集成穩(wěn)壓器
- X 1.9 至 3.6V 電源范圍
- X 具有快速啟動(dòng)時(shí)間的空閑模式,用于高級(jí)電源管理
- X26μA 待機(jī) I 模式,900nA 掉電模式
- X 最大 1.5ms 從掉電模式啟動(dòng)
- X Max 130us 從待機(jī)I 模式啟動(dòng)
?主機(jī)接口
- X 4 針硬件 SPI
- X 最大 10Mbps
- X 3 級(jí) 32 個(gè)字節(jié)的 TX 和 RX FIFO
- X 5V 寬容輸入
?緊湊型 20 引腳 4x4mm QFN 封裝
1.1 無線電控制
本章介紹 nRF24L01 +無線電收發(fā)器的工作模式和用于控制無線電的參數(shù)。nRF24L01 +內(nèi)置狀態(tài)機(jī),用于控制芯片工作模式之間的轉(zhuǎn)換。 狀態(tài)機(jī)從用戶定義的寄存器值和內(nèi)部信號(hào)中獲取輸入。
1.1.1 操作模式
您可以在掉電,待機(jī),RX 或 TX 模式下配置 nRF24L01 +。 本節(jié)詳細(xì)介紹這些模式。
1.1.1.1 狀態(tài)圖
圖 4 中的狀態(tài)圖顯示了操作模式及其功能。 狀態(tài)圖中突出顯示了三種不同的狀態(tài):
?推薦的操作模式:是正常操作期間使用的推薦狀態(tài)。
?可能的操作模式:可能的操作狀態(tài),但在正常操作期間不使用。
?過渡狀態(tài):在振蕩器啟動(dòng)和 PLL 建立期間使用的時(shí)間限制狀態(tài)。
當(dāng) VDD 達(dá)到 1.9V 或更高時(shí),nRF24L01 +進(jìn)入上電復(fù)位狀態(tài),保持復(fù)位狀態(tài)直到進(jìn)入掉電模式。

1.1.1.2 掉電模式
在掉電模式下,nRF24L01 +使用最小電流消耗來禁用。 所有可用的寄存器值都將保持不變,并且 SPI 保持活動(dòng)狀態(tài),從而可以更改配置以及數(shù)據(jù)寄存器的上載/下載。 關(guān)于啟動(dòng)時(shí)間,請(qǐng)參見第 16 頁的表 16.通過將 CONFIG 寄存器中的 PWR_UP 位設(shè)置為低電平來進(jìn)入掉電模式。
1.1.1.3 待機(jī)模式
1.1.1.3.1 待機(jī) I 模式
通過將 CONFIG 寄存器中的 PWR_UP 位設(shè)置為 1,器件進(jìn)入待機(jī) I 模式。 待機(jī) I 模式用于在保持較短的啟動(dòng)時(shí)間的同時(shí)將平均電流消耗降至最低。 在這種模式下,只有部分晶體振蕩器處于活動(dòng)狀態(tài)。 只有在 CE 設(shè)置為高電平且 CE 設(shè)置為低電平時(shí),才會(huì)切換到活動(dòng)模式,nRF24L01 將從 TX 和 RX 模式返回到待機(jī) I 模式。
1.1.1.3.2 待機(jī) II 模式
在備用-II 模式下,額外的時(shí)鐘緩沖器處于活動(dòng)狀態(tài),與待機(jī) I 模式相比,使用更多的電流。如果 CE 在具有空 TX FIFO 的 PTX 器件上保持高電平,則 nRF24L01 +進(jìn)入待機(jī) II 模式。 如果一個(gè)新的數(shù)據(jù)包上傳到 TX FIFO,PLL 會(huì)立即啟動(dòng)并在正常的 PLL 建立延遲(130μs)后發(fā)送數(shù)據(jù)包。寄存器值保持不變,并且在兩種待機(jī)模式下均可激活 SPI。 有關(guān)啟動(dòng)時(shí)間,請(qǐng)參閱第 24 頁上的表 16。
1.1.1.4 接收模式
RX 模式是將 nRF24L01 +無線電用作接收器的主動(dòng)模式。要進(jìn)入該模式,nRF24L01 +必須將 PWR_UP 位,PRIM_RX 位和 CE 引腳設(shè)置為高電平。在接收模式下,接收器解調(diào)來自 RF 信道的信號(hào),不斷向基帶協(xié)議引擎提供解調(diào)數(shù)據(jù)?;鶐f(xié)議引擎不斷搜索有效的數(shù)據(jù)包。如果找到了有效的數(shù)據(jù)包(通過匹配的地址和有效的 CRC),數(shù)據(jù)包的有效負(fù)載將顯示在 RX FIFO 的空閑時(shí)隙中。如果 RX FIFO 已滿,則接收的數(shù)據(jù)包將被丟棄。 nRF24L01 +保持在 RX 模式,直到 MCU 將其配置為待機(jī) I 模式或掉電模式。但是,如果基帶協(xié)議引擎中的自動(dòng)協(xié)議功能(Enhanced ShockBurst?)已啟用,nRF24L01 +可以進(jìn)入其他模式以執(zhí)行協(xié)議。在接收模式下,接收功率檢測(cè)器(RPD)信號(hào)可用。 RPD 是在接收頻道內(nèi)檢測(cè)到高于-64 dBm 的 RF 信號(hào)時(shí)設(shè)置為高電平的信號(hào)。內(nèi)部 RPD 信號(hào)在提供給 RPD 寄存器之前被過濾。在 RPD 設(shè)置為高電平之前,RF 信號(hào)必須至少存在 40μs。第 25 頁第 6.4 節(jié)描述了如何使用 RPD
1.1.1.5 發(fā)送模式
TX 模式是傳輸數(shù)據(jù)包的主動(dòng)模式。 要進(jìn)入該模式,nRF24L01 +必須將 PWR_UP 位設(shè)置為高電平,將 PRIM_RX 位設(shè)置為低電平,TX FIFO 中的有效負(fù)載和 CE 上的高電平脈沖超過 10μs。 nRF24L01 +一直處于 TX 模式,直到完成發(fā)送數(shù)據(jù)包。 如果 CE = 0,則 nRF24L01 +返回待機(jī) I 模式。 如果 CE = 1,則 TX FIFO 的狀態(tài)決定下一個(gè)操作。 如果 TX FIFO 不為空,則 nRF24L01 +將保持在 TX 模式并發(fā)送下一個(gè)數(shù)據(jù)包。 如果 TX FIFO 為空,則 nRF24L01 +進(jìn)入待機(jī) II 模式。 處于 TX 模式時(shí),nRF24L01 +發(fā)送器 PLL 工作在開環(huán)狀態(tài)。 重要的是,一次不要將 nRF24L01 +保持在 TX 模式下的時(shí)間超過 4ms。 如果啟用增強(qiáng) ShockBurst?功能,則 nRF24L01 +絕不會(huì)在 TX 模式下長于 4ms。
(譯者注:測(cè)試連續(xù)往 TX FIFO 中傳輸數(shù)據(jù),看接收端是否能正確接收數(shù)據(jù)。并觀察狀態(tài)。猜測(cè):空中發(fā)送數(shù)據(jù)比 SPI 傳輸速度更快,接收端能正確接收數(shù)據(jù))
1.1.1.6 操作模式配置

A.如果 CE 保持高電平,則所有 TX FIFO 都清空,并執(zhí)行所有必要的 ACK 和可能的重傳。 只要 TX FIFO 被重新填充,傳輸就會(huì)繼續(xù)。 如果 CE 仍為高電平時(shí) TX FIFO 為空,則 nRF24L01 +進(jìn)入待機(jī) II 模式。 在這種模式下,只要在將數(shù)據(jù)包上載(UL)到 TX FIFO 后 CSN 置為高電平,數(shù)據(jù)包的傳輸就會(huì)開始。
B.該工作模式將 CE 脈沖至少持續(xù) 10μs。 這允許傳送一個(gè)分組。這是正常的操作模式。 數(shù)據(jù)包傳輸完成后,nRF24L01 +進(jìn)入待機(jī) I 模式。
1.1.1.7 時(shí)間信息
本節(jié)中的時(shí)序信息涉及模式之間的轉(zhuǎn)換和 CE 引腳的時(shí)序。 如表 16 所述,從 TX 模式到 RX 模式或反向模式的轉(zhuǎn)換與從待機(jī)模式到 TX 模式或 RX 模式(最大 130μs)的轉(zhuǎn)換相同。

為使 nRF24L01 +從掉電模式進(jìn)入 TX 模式或 RX 模式,必須首先通過待機(jī)模式。在 CE 設(shè)置為高電平之前,nRF24L01 +離開掉電模式后,必須延遲 Tpd2stby(見表 16)。
注:如果 VDD 關(guān)閉,寄存器值將丟失,您必須在進(jìn)入 TX 或 RX 模式之前配置 nRF24L01 +。
1.1.2 空中數(shù)據(jù)速率空中數(shù)據(jù)速率是 nRF24L01 +在發(fā)送和接收數(shù)據(jù)時(shí)使用的調(diào)制信號(hào)速率。 它可以是 250kbps,1Mbps 或 2Mbps。 使用較低的空中數(shù)據(jù)速率比較高的空中數(shù)據(jù)速率提供更好的接收器靈敏度 但是,空中數(shù)據(jù)傳輸速率較高,平均電流消耗較低,并且可減少空中碰撞的可能性。 空中數(shù)據(jù)速率由 RF_SETUP 寄存器中的 RF_DR 位設(shè)置。 發(fā)射機(jī)和接收機(jī)必須以相同的空中數(shù)據(jù)速率進(jìn)行編程才能相互通信。 nRF24L01 +與 nRF24L01 完全兼容。 為了與 nRF2401A,nRF2402,nRF24E1 和 nRF24E2 兼容,空中數(shù)據(jù)速率必須設(shè)置為 250kbps 或 1Mbps。
1.1.3 射頻頻道頻率
RF 信道頻率決定了 nRF24L01 +使用的信道的中心。該信道在 250kbps 和 1Mbps 的帶寬下占用帶寬小于 1MHz,在 2Mbps 帶寬下帶寬小于 2MHz。 nRF24L01 +可以在 2.400GHz 至 2.525GHz 的頻率下工作。 RF 信道頻率設(shè)置的編程分辨率為 1MHz。 在 2Mbps 時(shí),信道占用比 RF 信道頻率設(shè)置的分辨率更寬的帶寬。 為確保 2Mbps 模式下不重疊的通道,通道間隔必須為 2MHz 或更高。 在 1Mbps 和 250kbps 時(shí),信道帶寬與 RF 頻率的分辨率相同或更低。
RF 通道頻率由 RF_CH 寄存器根據(jù)以下公式設(shè)置:
F0= 2400 + RF_CH [MHz]
您必須使用相同的 RF 信道頻率編程發(fā)射機(jī)和接收機(jī)才能彼此通信。
1.1.4 接收功率檢測(cè)器測(cè)量
位于寄存器 09 中的接收功率檢測(cè)器(RPD)位 0 觸發(fā)接收的功率電平高于-64 dBm,這些功率電平出現(xiàn)在您接收的 RF 信道中。 如果接收功率小于-64 dBm,則 RDP = 0。當(dāng) nRF24L01 +處于接收模式時(shí),可以隨時(shí)讀出 RPD。 這提供了該頻道當(dāng)前接收功率電平的快照。 接收到有效數(shù)據(jù)包后,RPD 狀態(tài)將被鎖存,然后指示來自您自己的發(fā)射機(jī)的信號(hào)強(qiáng)度。 如果沒有收到數(shù)據(jù)包,RPD 在接收周期結(jié)束時(shí)被鎖存,因?yàn)橹鳈C(jī) MCU 設(shè)置 CE 低或 RX 超時(shí)由 Enhanced ShockBurst?控制。 當(dāng)接收模式啟用且等待時(shí)間 Tstby2a + Tdelay_AGC = 130us + 40us 后,RPD 狀態(tài)正確。 RX 增益隨溫度變化,這意味著 RPD 閾值也隨溫度而變化。 在 T = -40°C 時(shí),RPD 閾值降低了-5dB,并在 85°C 時(shí)增加了+ 5dB。
1.1.5 PA 控制
PA(功率放大器)控制用于設(shè)置 nRF24L01 +功率放大器的輸出功率。 在 TX 模式下,PA 控制有四個(gè)可編程步驟,參見表 17. PA 控制由 RF_SETUP 寄存器中的 RF_PWR 位設(shè)置

1.1.6 RX/TX 控制
RX / TX 控制由 CONFIG 寄存器中的 PRIM_RX 位置 1,并將 nRF24L01 +設(shè)置為發(fā)送/接收模式。
編輯:hfy
-
收發(fā)器
+關(guān)注
關(guān)注
10文章
3823瀏覽量
111230 -
嵌入式
+關(guān)注
關(guān)注
5200文章
20476瀏覽量
334454 -
RF
+關(guān)注
關(guān)注
66文章
3201瀏覽量
171856 -
無線數(shù)據(jù)傳輸
+關(guān)注
關(guān)注
1文章
63瀏覽量
20285
發(fā)布評(píng)論請(qǐng)先 登錄
SI24R2B 單發(fā)Tx發(fā)射芯片功耗低 可兼容NRF24L01P
Arduino UNO 可視化GT-24工業(yè)級(jí)無線透?jìng)?/a>
NRF24L01——2.4GHz無線通信
DS92LV241x:高速數(shù)據(jù)傳輸的理想選擇
深入剖析DS92LV242x:高速數(shù)據(jù)傳輸的理想之選
SI24R1完美代替NRF24L01
單片機(jī)之間可以進(jìn)行無線數(shù)據(jù)傳輸嗎
使用NRF24l01軟件包注冊(cè)設(shè)備失敗怎么解決?
官網(wǎng)nrf24l01的例程demo會(huì)出現(xiàn)互斥鎖報(bào)錯(cuò)是為什么?
SI24R1:答題卡方案芯片替代NRF24L01+
NRF24L01項(xiàng)目資料(2.4G通信)實(shí)例項(xiàng)目下載
基于nRF24L01+的2.4GHz無線模塊設(shè)計(jì)與應(yīng)用
基于嵌入式NRF24L01器件的無線數(shù)據(jù)傳輸技術(shù)
評(píng)論