NRF24L01實(shí)用無線通信技術(shù)_第1頁
NRF24L01實(shí)用無線通信技術(shù)_第2頁
NRF24L01實(shí)用無線通信技術(shù)_第3頁
NRF24L01實(shí)用無線通信技術(shù)_第4頁
NRF24L01實(shí)用無線通信技術(shù)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、NRF24L01是一款工作在2.42.5GHZ頻段世界通用ISM頻段(不受管制的頻段)的單片無限收發(fā)器芯片,通信距離可達(dá)300米。RF-射頻。GFSK-高斯頻移鍵控。一、模塊介紹(1) 2.4Ghz 全球開放 ISM 頻段免許可證使用(2) 最高工作速率 2Mbps ,高效 GFSK 調(diào)制,抗干擾能力強(qiáng),特別適合工業(yè)控制場合(3) 126 頻道,滿足多點(diǎn)通信和跳頻通信需要(4) 內(nèi)置硬件 CRC 檢錯(cuò)和點(diǎn)對(duì)多點(diǎn)通信地址控制(5) 低功耗 1.9 - 3.6V 工作,待機(jī)模式下狀態(tài)為 22uA ;掉電模式下為 900nA(6) 內(nèi)置 2.4Ghz 天線,體積小巧 15 mm X 29 mm(7)

2、 模塊可軟件設(shè)地址,只有收到本機(jī)地址時(shí)才會(huì)輸出數(shù)據(jù)(提供中斷指示 ) ,可直接接各種單片機(jī)使用,軟件編程非常方便-中斷方式接收數(shù)據(jù)。(8) 內(nèi)置專門穩(wěn)壓電路,使用各種電源包括 DC/DC 開關(guān)電源均有很好的通信效果(9) 2.54 MM 間距接口, DIP 封裝(10) 工作于 Enhanced ShockBurst 具有 Automatic packet handling, Auto packet transaction handling, 具有可選的內(nèi)置包應(yīng)答機(jī)制,極大的降低丟包率。二、注意事項(xiàng)(1) VCC 腳接電壓范圍為 1.9V3.6V 之間,不能在這個(gè)區(qū)間之外,超過 3.6V 將會(huì)

3、燒毀模塊。推薦電壓 3.3V 左右。(2) 除電源 VCC 和接地端,其余腳都可以直接和普通的 5V 單片機(jī) IO直接相連,無需電平轉(zhuǎn)換。當(dāng)然對(duì) 3V 左右的單片機(jī)更加適用了。三、NRF24L01模塊蛇形部分應(yīng)該為天線(無線通信);中間方形部分應(yīng)該為NRF24L01芯片,上面跑道形狀為晶振。四、8個(gè)引腳GND,VCC(接3.3V)CE-芯片使能CSN-片選非SCK-SPI1 CLKMOSI,MISO-SPI數(shù)據(jù)線IRQ-中斷信號(hào)線VDD_PA 電源輸出-給RF的功率放大器提供的+1.8V電源 ANT1-天線接口 1 ANT2-天線接口 2五、工作模式-軟件編程部分。1、收發(fā)模式:在 Enhan

4、ced ShockBurstTM 收發(fā)模式下, NRF24L01 自動(dòng)處理字頭和 CRC 校驗(yàn)碼。在接收數(shù)據(jù)時(shí),自動(dòng)把字頭和 CRC 校驗(yàn)碼移去。在發(fā)送數(shù)據(jù)時(shí),自動(dòng)加上字頭和 CRC 校驗(yàn)碼,在發(fā)送模式下,置 CE 為高,至少 10us ,將時(shí)發(fā)送過程完成后。Enhanced ShockBurstTM 發(fā)射流程:(編程相關(guān))A. 把接收機(jī)的地址和要發(fā)送的數(shù)據(jù)按時(shí)序送入NRF24L01 ;B. 配置 CONFIG 寄存器,使之進(jìn)入發(fā)送模式。C. 微控制器把 CE 置高(至少 10us ),激發(fā) NRF24L01 進(jìn)行 Enhanced ShockBurstTM 發(fā)射;D.NRF24L01 的 E

5、nhanced ShockBurstTM 發(fā)射 (1) 給射頻前端供電; (2)射頻數(shù)據(jù)打包 ( 加字頭、 CRC 校驗(yàn)碼 ) ; (3) 高速發(fā)射數(shù)據(jù)包; (4)發(fā)射完成, NRF24L01 進(jìn)入空閑狀態(tài)。Enhanced ShockBurstT M接收流程 A. 配置本機(jī)地址和要接收的數(shù)據(jù)包大??; B. 配置 CONFIG寄存器,使之進(jìn)入接收模式,把 CE 置高。C. 130us 后, NRF24L01 進(jìn)入監(jiān)視狀態(tài),等待數(shù)據(jù)包的到來;D. 當(dāng)接收到正確的數(shù)據(jù)包 ( 正確的地址和 CRC 校驗(yàn)碼 ) , NRF2401 自動(dòng)把字頭、地址和 CRC 校驗(yàn)位移去;E. NRF24L01 通過把

6、 STATUS 寄存器的 RX_DR 置位 (STATUS 一般引起微控制器中斷 ) 通知微控制器; F. 微控制器把數(shù)據(jù)從 NewMsg_RF2401 讀出 ;G. 所有數(shù)據(jù)讀取完畢后,可以清除 STATUS 寄存器。 NRF2401 可以進(jìn)入四種主要的模式之一。2、配置模式3、空閑模式4、關(guān)機(jī)模式工作模式由 PWR_UP(寄存器一位)、 PRIM_RX(寄存器一位)和 CE 決定,六、配置NRF24L01模塊NRF2401 的所有配置工作都是通過 SPI 完成,共有30字節(jié)的配置字。我們推薦 NRF24L01 工作于 Enhanced ShockBurstTM 收發(fā)模式,這種工作模式下,系

7、統(tǒng)的程序編制會(huì)更加簡單,并且穩(wěn)定性也會(huì)更高,ShockBurstTM 的配置字使 NRF24L01 能夠處理射頻(RF)協(xié)議,在配置完成后,在 NRF24L01 工作的過程中,只需改變其最低一個(gè)字節(jié)中的內(nèi)容,以實(shí)現(xiàn)接收模式和發(fā)送模式之間切換。ShockBurstTM 的配置字可以分為以下四個(gè)部分:數(shù)據(jù)寬度:聲明射頻數(shù)據(jù)包中數(shù)據(jù)占用的位數(shù)。這使得 NRF24能夠區(qū)分接收數(shù)據(jù)包中的數(shù)據(jù)和 CRC 校驗(yàn)碼;地址寬度:聲明射頻數(shù)據(jù)包中地址占用的位數(shù)。這使得 NRF24能夠區(qū)分地址和數(shù)據(jù);地址:接收數(shù)據(jù)的地址,有通道 0 到通道 5 的地址;CRC :使 NRF24L01 能夠生成 CRC 校驗(yàn)碼和解碼

8、。當(dāng)使用 NRF24L01 片內(nèi)的 CRC 技術(shù)時(shí),要確保在配置字 (CONFEN_CRC)中 CRC 校驗(yàn)被使能,并且發(fā)送和接收使用相同的協(xié)議。NRF24L01 配置字的 CONFIG 寄存器的位描述如下表所示:七、使用方法具體參考中文說明書1、NRF24L01中斷:低電平觸發(fā);接收到新數(shù)據(jù),數(shù)據(jù)發(fā)送完畢,重傳到達(dá)最大次數(shù)都會(huì)引起中斷,通過讀取狀態(tài)字可查詢中斷事件。2、NRF24L01在接收模式可以接收6路不同通道的數(shù)據(jù);不同的通道使用不同的地址但是共用相同的頻道(通道)-這意味著可以有6個(gè)被配置成發(fā)送狀態(tài)的nRF24L01可以和一個(gè)配置成接收狀態(tài)的nRF24L01通信,并且接收方可以區(qū)分(

9、多對(duì)一通信)。數(shù)據(jù)通道0有一個(gè)唯一的40bit的可設(shè)置的地址。其余的通道1到通道5地址前32位相同,而后8位不同。所有的數(shù)據(jù)通道都可以實(shí)現(xiàn)Enhanced ShockBurst模式。3、寄存器地址與指令見中文說明書-編程相關(guān)。4、CE-使能發(fā)射或接收 CSN-用于SPI傳輸?shù)脑试S和禁止(0使能,1關(guān)閉)5、SPIx_ReadWriteByte(reg); SPIx_ReadWriteByte(value);外設(shè)NRF24L01可以識(shí)別寄存器與數(shù)據(jù),reg值為特定的數(shù)據(jù),NRF24L01收到該數(shù)據(jù)后會(huì)認(rèn)為將要讀寫該寄存器。6、NRF24L01_Read_Reg-該函數(shù)在設(shè)為接收模式時(shí)使用。NRF

10、24L01_Write_Reg-該函數(shù)在設(shè)為發(fā)送模式時(shí)使用。-函數(shù)SPIx_ReadWriteByte (reg)執(zhí)行后可能讀該寄存器也可能寫該寄存器。八、兩種模式發(fā)送、接收對(duì)比-具體內(nèi)容見中文資料。1、ShockBurst 模式下 nRF24L01 可以與成本較低的低速 MCU 相連 高速信號(hào)處理是由芯片內(nèi)部的射頻協(xié)議處理的 nRF24L01 提供 SPI 接口 數(shù)據(jù)率取決于單片機(jī)本身接口速度 ShockBurst 模式通過允許與單片機(jī)低速通信而無線部分高速通信 減小了通信的平均消耗電流。在 ShockBurstTM接收模式下 當(dāng)接收到有效的地址和數(shù)據(jù)時(shí) IRQ 通知 MCU,隨后 MCU

11、可將接收到的數(shù)據(jù)從 RX FIFO寄存器中讀出-無應(yīng)答。在 ShockBurstTM 發(fā)送模式下 nRF24L01 自動(dòng)生成前導(dǎo)碼及 CRC 校驗(yàn),數(shù)據(jù)發(fā)送完畢后 IRQ 通知 MCU 減少了 MCU 的查詢時(shí)間 也就意味著減少了 MCU 的工作量同時(shí)減少了軟件的開發(fā)時(shí)間,nRF24L01 內(nèi)部有三個(gè)不同的 RX FIFO 寄存器 6 個(gè)通道共享此寄存器 和三個(gè)不同的 TX FIFO寄存器 在掉電模式下 待機(jī)模式下和數(shù)據(jù)傳輸?shù)倪^程中 MCU 可以隨時(shí)訪問 FIFO 寄存器 這就允許 SPI接口可以以低速進(jìn)行數(shù)據(jù)傳送 并且可以應(yīng)用于 MCU硬件上沒有 SPI 接口的情況下-ShockBurstT

12、M模式?jīng)]有發(fā)送與接收模式的轉(zhuǎn)換。 2、增強(qiáng)型 ShockBurstTM模式可以使得雙向鏈接協(xié)議執(zhí)行起來更為容易、有效。典型的雙向鏈接為發(fā)送方要求終端設(shè)備在接收到數(shù)據(jù)后有應(yīng)答信號(hào),以便于發(fā)送方檢測有無數(shù)據(jù)丟失 一旦數(shù)據(jù)丟失 則通過重新發(fā)送功能將丟失的數(shù)據(jù)恢復(fù)。增強(qiáng)型的ShockBurstTM模式可以同時(shí)控制應(yīng)答及重發(fā)功能而無需增加MCU工作量。nRF24L01 在接收模式下可以接收 6路不同通道的數(shù)據(jù) ,每一個(gè)數(shù)據(jù)通道使用不同的地址 但是共用相同的頻道,也就是說 6 個(gè)不同的 nRF24L01 設(shè)置為發(fā)送模式后可以與同一個(gè)設(shè)置為接收模式的nRF24L01 進(jìn)行通訊;而設(shè)置為接收模式的 nRF24

13、L01 可以對(duì)這 6 個(gè)發(fā)射端進(jìn)行識(shí)別,數(shù)據(jù)通道 0 是唯一的一個(gè)可以配置為 40 位自身地址的數(shù)據(jù)通道;15 數(shù)據(jù)通道都為 8 位自身地址和 32 位公用地址;所有的數(shù)據(jù)通道都可以設(shè)置為增強(qiáng)型 ShockBurst 模式。nRF24L01 在確認(rèn)收到數(shù)據(jù)后記錄地址,并以此地址為目標(biāo)地址發(fā)送應(yīng)答信號(hào)(接收端先接收再發(fā)送) 在發(fā)送端 數(shù)據(jù)通道 0被用做接收應(yīng)答信號(hào) 因此 數(shù)據(jù)通道 0 的接收地址要與發(fā)送端地址相等以確保接收到正確的應(yīng)答信號(hào)(發(fā)送端先發(fā)送再接收應(yīng)答信號(hào))-增強(qiáng)型ShockBurstTM模式有發(fā)送與接收模式的轉(zhuǎn)換。nRF24L01 配置為增強(qiáng)型的ShockBurstTM-發(fā)送模式下時(shí)

14、 只要 MCU有數(shù)據(jù)要發(fā)送 nRF24L01 就會(huì)啟動(dòng) ShockBurstTM模式來發(fā)送數(shù)據(jù),在發(fā)送完數(shù)據(jù)后 nRF24L01(自動(dòng))轉(zhuǎn)到接收模式并等待終端的應(yīng)答信號(hào),如果沒有收到應(yīng)答信號(hào) nRF24L01 將(自動(dòng))重發(fā)相同的數(shù)據(jù)包 直到收到應(yīng)答信號(hào)或重發(fā)次數(shù)超過SETUP_RETR_ARC 寄存器中設(shè)置的值為止 如果重發(fā)次數(shù)超過了設(shè)定值 則產(chǎn)生 MAX_RT 中斷 只要收到確認(rèn)信號(hào) nRF24L01 就認(rèn)為最后一包數(shù)據(jù)已經(jīng)發(fā)送成功 接收方已經(jīng)收到數(shù)據(jù) 把 TX FIFO中的數(shù)據(jù)清除掉并產(chǎn)生 TX_DS中斷 IRQ引腳置高3、兩種數(shù)據(jù)雙方向的通訊方式 如果想要數(shù)據(jù)在雙方向上通訊,PRIM_

15、RX 寄存器必須緊隨芯片工作模式的變化而變化 處理器必須保證 PTX和 PRX(發(fā)射源、接收源)端的同步性 在 RX_FIFO和 TX_FIFO寄存器中可能同時(shí)存有數(shù)據(jù)。九、通信機(jī)制1、自動(dòng)應(yīng)答RX-自動(dòng)應(yīng)答功能減少了外部 MCU的工作量,自動(dòng)應(yīng)答模式使能的情況下 收到有效的數(shù)據(jù)包后 系統(tǒng)將進(jìn)入發(fā)送模式并發(fā)送確認(rèn)信號(hào) 發(fā)送完確認(rèn)信號(hào)后 系統(tǒng)進(jìn)入正常工作模式-接收端,發(fā)送與接收模式自動(dòng)切換;發(fā)送端也是自動(dòng)切換。2、自動(dòng)重發(fā)功能 ART (TX):自動(dòng)重發(fā)功能是針對(duì)自動(dòng)應(yīng)答系統(tǒng)的發(fā)送方, SETUP_RETR寄存器設(shè)置:啟動(dòng)重發(fā)數(shù)據(jù)的時(shí)間長度。在每次發(fā)送結(jié)束后系統(tǒng)都會(huì)自動(dòng)進(jìn)入接收模式并在設(shè)定的時(shí)間

16、范圍內(nèi)等待應(yīng)答信號(hào) ,接收到應(yīng)答信號(hào)后 系統(tǒng)自動(dòng)轉(zhuǎn)入正常發(fā)送模式 如果 TX FIFO 中沒有待發(fā)送的數(shù)據(jù)且 CE 腳電平為低 則系統(tǒng)將進(jìn)入待機(jī)模式 I ,如果沒有收到確認(rèn)信號(hào) 則系統(tǒng)返回到發(fā)送模式并重發(fā)數(shù)據(jù)直到收到確認(rèn)信號(hào)或重發(fā)次數(shù)超過設(shè)定值,達(dá)到最大的重發(fā)次數(shù)。有新的數(shù)據(jù)發(fā)送或 PRIM_RX寄存器配置改變時(shí)丟包計(jì)數(shù)器復(fù)位。 3、數(shù)據(jù)通道 nRF24L01 配置為接收模式時(shí)可以接收 6 路不同地址相同頻率的數(shù)據(jù) 每個(gè)數(shù)據(jù)通道擁有自己的地址,并且可以通過寄存器來進(jìn)行分別配置-各通道通信頻率相同。 數(shù)據(jù)通道是通過寄存器 EN_RXADDR 來設(shè)置的, 默認(rèn)狀態(tài)下只有數(shù)據(jù)通道 0 和數(shù)據(jù)通道 1

17、 是開啟狀態(tài)的。 每一個(gè)數(shù)據(jù)通道的地址是通過寄存器 RX_ADDR_Px 來配置的,通常情況下不允許不同的數(shù)據(jù)通道設(shè)置完全相同的地址。 數(shù)據(jù)通道 0 有 40 位可配置地址;數(shù)據(jù)通道 15 的地址為 32 位共用地址+各自的地址的最低字節(jié)。4、SPI 指令設(shè)置:CSN 為低后 SPI 接口等待執(zhí)行指令;每一條指令的執(zhí)行都必須通過一次 CSN由高到低的變化。 5、SPI 指令格式:數(shù)據(jù)字節(jié)從低字節(jié)到高字節(jié),每一字節(jié)高位在前。R_REGISTER 和 W_REGISTER 寄存器可能操作單字節(jié)或多字節(jié)寄存器,當(dāng)訪問多字節(jié)寄存器時(shí)首先要讀/寫的是最低字節(jié)的高位,在所有多字節(jié)寄存器被寫完之前可以結(jié)束寫

18、 SPI操作 ,在這種情況下沒有寫完的高字節(jié)保持原有內(nèi)容不變。6、中斷 nRF24L01 的中斷引腳 IRQ 為低電平觸發(fā),當(dāng)狀態(tài)寄存器中 TX_DS RX_DR 或 MAX_RT 為高時(shí)觸發(fā)中斷;當(dāng) MCU 給中斷源寫 1 時(shí) 中斷引腳被禁止,可屏蔽中斷可以被 IRQ 中斷屏蔽 通過設(shè)置可屏蔽中斷位為高 則中斷響應(yīng)被禁止 默認(rèn)狀態(tài)下所有的中斷源是被禁止的 7、SPI 時(shí)序 SPI 操作及時(shí)序-在寫寄存器之前一定要進(jìn)入待機(jī)模式或掉電模式。十、深入學(xué)習(xí)-區(qū)分硬件與軟件實(shí)現(xiàn)的功能1、軟件開啟自動(dòng)應(yīng)答及自動(dòng)重發(fā)功能;通信中則是硬件實(shí)現(xiàn)自動(dòng)重發(fā)及自動(dòng)應(yīng)答功能,代碼中無應(yīng)答部分,進(jìn)而也無判斷發(fā)送失敗然后重發(fā)-“自動(dòng)”的意思就是硬件實(shí)現(xiàn)。2、發(fā)送與接收模式都要同時(shí)設(shè)定發(fā)送與接收地址-因?yàn)榘l(fā)送

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論