俗話說:每個人一生下來什么都會的,都是通過自己努力和探索出來的,NRF系列芯片,剛開始都好奇心加興趣才來搗鼓它的,剛開始做硬件和軟件,沒有收發數據弄得整個人頭都快炸開了,所以在此和大家分享一下前輩的經驗,希望大家會少走彎路。
Q:最近在選型的時候發現基本常見的無線模塊都是3V供電,而我使用的單片機是5V的,它們之間要怎么連接呢?直接連接會不會損壞模塊?
回答: 如果你使用的51單片機的P0口是高阻引腳,可以直接將無線模塊的IO腳連接到P0端口,并在對應的連線與3V電源間放置1K~10K左右的偏置電阻即可。
如果單片機沒有高阻腳(AVR單片機和一些型號的STC單片機等),不適用于上述的方法。
nRF24L01+可以承受5V的輸入電壓,直接連接單片機的IO腳不會燒壞模塊,但是無線模塊的輸出端最高只能輸出3V左右的電壓,請注意該電壓值是否能被單片機正確識別。
Q:無線模塊可以直接和串口連接并進行通訊嗎?我想直接把nRF24L01+模塊連接到串口電路中,請問這樣可以嗎?
回答: 不可以,無線模塊不提供串行接口。如果需要與計算機等設備通過串口連接和通訊,請使用單片機作為通訊控制核心,接收計算機串口發送的數據并將其傳送至無線模塊中,并進行發送工作。另一端的無線模塊接收數據后,由單片機讀出數據并發送給計算機串口。
Q:影響無線模塊傳輸距離的因素有哪些?
為什么nRF2401無線模塊的傳輸距離總是拉不開?現在只有2米左右,輸出功率已經是最高的0dBm了。
回答: 呵呵,應該是初學無線模塊的最常見問題了。傳輸距離應該是大家最關心的事情,雖然這是一個直觀的數值,但是影響通訊距離的因素卻有很多。天線的性能(方向性、增益、駐波比)、無線模塊的性能指標(發射功率、接收靈敏度、網絡匹配、頻率頻率的參數的一致性)、無線模塊的工作方式(數據傳輸速率)和使用環境因素等等。所以通訊距離應該是考驗一款無線產品綜合性能的指標。要想達到理想的距離,應該選擇高增益、低駐波比的天線,必要時可以使用定向天線(一些模塊是 PCB天線,這種天線應該是性能較差的方式,不過在近距離和小型化方面有優勢);選擇優質的無線模塊,好的無線模塊應該具有優秀的匹配網絡,將發射與接收信號的損失降到最小,同時也應該具有工作頻率準確、一致性好等指標;最后在傳輸速率的選擇上,在能夠滿足通訊需求的前提下,優先選用低的傳輸速率也可以有效提高傳輸距離。
Q:nRF2401A的支持雙通道通訊是什么意思?
我看到資料上寫著NRF2401具備兩個數據通道,這是什么意思呢?只是2401 可以同時在兩個通道上完成發送與接收,還是是指2401只能完成兩個模塊之間的通訊嗎?
回答: 這樣理解是錯誤的,nRF2401A的兩個數據通道是指它可以同時接收兩個通道上的數據,但是發送的時候只能使用一個通道。所以是不能同時在兩個通道上完成接收與發送的。同時nRF2401A無線模塊屬于半雙工個工作方式,同一時刻只能工作在發送或接收一種模式。
另外nRF2401A模塊并不是只能在兩個模塊之間進行通訊,只要無線模塊的工作模式配置一致(相同的地址碼、信道號、傳輸速率、數據包長度、CRC模式等)即可完成一對一、一對多、多對多的通訊模式。
Q:nRF24L01、nRF24L01+無線模塊的6通道是什么含義?
一直在研究nRF24L01的通道關系可是沒什么收獲,想問一下6通道是指什么,它們之間的關系是什么?
回答: nRF24L01+模塊內部帶有6個數據通道,使用不同的數據通道進行數據發送時,它們都工作在相同的頻率下。它們之間是使用地址碼來作為區分的。所以你可以理解為一個nRF24L01可以同時擁有6個地址碼,在接收的時候,模塊會自動識別地址碼,并在對應的寄存器中置位,通知用戶是哪個通道接收到數據。
使用nRF24L01+的數據通道可以在少于等于6個節點的網絡中大幅增加使用和操作的靈活性。在多于6個節點的網絡中,用戶可以自行在通訊數據中添加額外的標識數據,對不同節點進行區分工作。