[模組] 無線資料傳輸:nRF905 和 nRF24L01 (以 Arduino 為控制器)

# [模組] LoRa 模組範例測試通訊距離 # [模組] LoRa - Arduino MKRWAN 1300 通訊模組 模組說明 過去挪威公司 Nordic 開發兩款無線通訊傳輸模組,一種用在中低頻段 (433/868/915 MHz),稱為 nRF905 ;另一種用在高頻段 (2.4 GHz),稱為 n RF24L01 。以 RF 特性來看這兩款模組,低頻傳輸距離較高頻遠,低頻訊號具有繞射特性,高頻訊號穿透性較差,不過高頻的資料傳輸率比較高,NRF24L01 傳輸率 > 250kbps,NRF905傳輸率 < 50kbps。因此,我們可以依據應用的需求,選擇適合的無線模組。 圖一所示為 Nordic 公司的 NRF 模組的內部方塊圖,圖右邊有 SPI 控制介面可以讀寫晶片內的暫存器,這些暫存器組算是晶片基頻的數位資料,已經被解調後的資料了。另外,控制接腳用來切換 TX/RX 模式,RF 模組的傳輸可視為 半雙工 方式,因為不可能同時發送又接收。圖左邊是天線,內有一機制是模式切換,就是技術文件裡說的 BurstTX 和 BurstRX。接收端,後面接一個 LNA 放大器,將接收下來的小訊號放大以便讓後端解調處理。發射端,接一個 PA 放大器,將調變訊號再增強以便發射出去,PA 增益越大,發射的距離越遠,但是以這模組上的 PA 放大功率有所限制,主因還是使用無線頻譜資源必須得遵守, 不可干擾其他設備 。 圖一:NRF 無線模組的內部方塊圖 資料傳輸測試 NRF 模組內部有兩大機制,一個是位址,一個是 CRC 檢測,必須位址正確了,加上 CRC 檢測無誤,這樣才算完整接收成功。為了驗證資料丟失率,我們用兩塊 Arduino 開發板和 NRF905 模組,當做資料乒乓傳輸測試,一邊當發射端,一邊當接收端。發射端送出資料後,接收端收到後必須再回傳,發射端確認回傳資料無誤後,紀錄一次正確傳輸,如果一段時間沒有收到,代表資料丟失,記錄一次失敗傳輸,發射端再重新傳輸一次。 底下影片紀錄雙邊通訊的情況,在短距離的範圍...