個人感覺難以捉摸
0.png (81.74 KB, 下載次數: 49)
下載附件
2018-4-29 01:00 上傳
芯片簡介
NRF24L01 是 NORDIC 公司最近生產的一款無線通信通信芯片,采用 FSK 調制,內部集成 NORDIC 自己的 Enhanced Short Burst 協議?梢詫崿F點對點或是 1對 6 的無線通信。無線通信速度可以達到 2M(bps) 。NORDIC 公司提供通信模塊的 GERBER 文件,可以直接加工生產。嵌入式工程師或是單片機愛好者只需要為單片機系統預留 5 個 GPIO,1 個中斷輸入引腳,就可以很容易實現無線通信的功能,非常適合用來為 MCU系統構建無線通信功能。
0.jpg (32.57 KB, 下載次數: 57)
下載附件
2018-4-29 01:00 上傳
5 實際通信過程示波器圖
對于NRF24L01 的編程主要是通過命令(WRITE_REG,READ_REG等等) ,控制線CE、CSN)以及中斷信號 IRQ共同完成的。 對于發射節點,如果使能 ACK 與 IRQ 功能,則當通信成功以后(也就是發射節點收到了接收節點送回的ACK信號)IRQ線會置低。 對于接收節點,如果使能ACK與IRQ功能,則當通信成功以后(主要是根據Enhanced ShockBurst協議認為成功收到了有效數據寬度的數據) IRQ線會置低。 根據以上兩種情況,用示波器抓了以下幾個圖形,分別介紹如下:
1)發射節點 CE 與 IRQ 信號
0.jpg (39.36 KB, 下載次數: 60)
下載附件
2018-4-29 01:01 上傳
黃色信號是 CE,綠色信號是IRQ,當把節點配置為發射節點以后,將要傳送的數據通過 SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH)函數送到發送 FIFO 緩沖區。CE 為高超過 10us,緩沖區中的數據通過無線向外發出。 如果使能 IQR 的全部功能(TX_DS,RX_DS,MAX_RT)當發送節點收到接收節點發來的 ACK(表示接收節點成功收到信號)或是達到最大發射次數,IRQ 會變為低電平,同時 CONFIG 的相關標志位()會置 1。清除標志位(向 CONFIG 的標志位寫
1)以后,IRQ 又變為高電平。
從 FIG5.1 可以看出,CE 置高后將近 10msIRQ 才置低。IRQ 置低是由于達到最大發射次數(MAX_RT=1),出現該情況可能是由于接收節點的配置與發射節點不符(例如發射接收頻率不同,或者發射接收字節不等) ,或者根本就沒有接收節點(例如接收節點就根本沒上電) 。
2)SCK 與 IRQ 信號(發送成功)
0.jpg (38.67 KB, 下載次數: 56)
下載附件
2018-4-29 01:02 上傳
Fig5.2 中綠色信號是 SCK,黃色信號是IRQ。第一批綠色信號表示節點的配置過程。 MOSI 信號 (Fig5.2 中未顯示出) 在 SCK的下降延送入 24L01節點。 (配置一個寄存器需要兩組 SCK信號,填充 N字節的 BUFFER需要 N+1 組SCK信號) 。
配置完信號以后,將 CE(Fig5.2 中未顯出)置高,則 24L01 開始發送(或接收)數據,當發送(或接收)完成以后(或是達到最大發射次數) ,IRQ置低。單片機根據當時的狀態進行相應的處理。
第二批綠色信號表示單片機在 IRQ 為低時對 24L01 的處理過程?梢允亲xFIFO(作為接收節點時) ,寫 FIFO(作為發射節點時) ,或是 Reset 24L01(達到最大發射次數時) 。
從Fig5.2可以看到, 從第一批SCK的最后一個信號到IRQ置低大概需要1ms(對比于 Fig5.1 的 12ms) ,說明通信成功(說明 IRQ不是 MAX_RT引起的) 。
3)SCK 與 IRQ 信號(發送不成功)
0.jpg (35.47 KB, 下載次數: 58)
下載附件
2018-4-29 01:02 上傳
Fig5.3 與 Fig5.2 類似,只不過從第一批最后一個 SCK 信號到 IRQ 置低的時間間隔變為將近10ms,表明通信部不成功,IRQ是由于達到最大發射次數引起的。
0.jpg (43.49 KB, 下載次數: 60)
下載附件
2018-4-29 01:03 上傳
Fig5.4 中紫色信號是發射端 CE,綠色信號是接收端 IRQ,黃色信號是發射
端 IRQ。Fig5.4 表示如下邏輯:
發射節點在配置完成以后(配制過程 Fig5.2 未顯示) ,CE 置高,發射節點 FIFO中的數據發出;接收節點成功接收到數據,IRQ置低(從紫色信號與綠色信號之間的時間間隔可以判斷出通信成功) ;接收節點自動發射 ACK(在發射和接收節點都使能 ACK) ,發射節點收到 ACK后 IRQ 置低,表示發送成功。 不同通信環境可能造成發射節點的IRQ與接收節點的IRQ產生將對的相位變化(表現在示波器上面就是黃色信號靠近綠色信號或者遠離綠色信號) 。出現這種情況主要是由于不同的通信環境造成接收端發送的 ACK信號要重發幾次才能被發送端收到。
完整的pdf格式文檔51黑下載地址(共21頁):
NRF24L01功能使用文檔.pdf
(650.05 KB, 下載次數: 10)
2018-4-27 14:39 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|