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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論