lora模塊學習二

在學習lora無線射頻的時候,查閱過資料,也實踐過。將自己學習的東西總結一下,記錄如下:

LoRa數據包結構和數據格式的分析
LoRa有兩種數據包格式:顯示和隱式
其中顯示數據包的報頭較短,主要包含字節數、編碼率及是否使用CRC等信息。

LoRa數據包包含:

Preamble(前導碼)
Header(可選類型的報頭)
Payload(數據有效負載)


如下圖:

擴頻因子(SF)、編碼率(CR)及信號帶寬(BW),可以使用以下公式計算出單個LoRa TM 數據包的總傳輸時間,符號速率爲:

LoRa數據包時間等於前導碼時間和數據包傳輸時間之和。

傳輸時間或數據包時間等於前導碼時間加上有效負載時間。計算公式如下:

當SF爲7 BW爲125khz CR爲4/5 前導碼爲8 有效長度爲32 前導碼的傳輸時間爲12.54ms 總的傳輸時間爲66.82ms.

擴頻因子較高時數據包的發送時間可能較長,當單個符號傳輸時間超過16毫秒時,必須使用LowDataRateOptimize位,如果SF越大,因爲用來表示這個位數據的碼片多了,抗干擾能力自然就會好很多;而由於代表每個符號的碼片增加了,單位時間傳輸碼片數量是定了的,因此需要的時間自然就增加了。其實,擴頻因子越高,越多數據可從噪音中提取出來擴頻因子越大,傳輸的距離越遠。代價就是數據速率,因爲要用更長的 chip 來表示一個 symbol

增加信號帶寬,可以提高有效數據速率以縮短傳輸時間,但這是以犧牲部分一接收靈敏度爲代價

LORA半雙工的機制,發送和接受都是獨立工作的。當需要進入某種工作狀態,就需要從當前的工作狀態進行切換,所以邊發邊聽的這種機制應該不能實現。

CAD模式,在CAD模式下,設備將檢測已知信道,以檢測LoRa前導碼信號,其實不僅包括前導碼,用戶數據也是可以檢測到的。

CAD 檢測時間內,芯片 2sf +32/Bw 秒處於接受模式

CAD的檢測流程

 

在CAD過程中,將會執行以下操作:

  1. PLL被鎖定。
  2. 無線接收機從信道獲取數據的LoRa前導碼符號。在此期間的電流消耗對應指定的Rx模式電流。
  3. 無線接收機及PLL被關閉,調制解調器數字處理開始執行。
  4.  調制解調器搜索芯片所獲取樣本與理想前導碼波形之間的關聯關係。建立這樣的關聯關係所需的時間僅略小於一個符號週期。在此期間,電流消耗大幅度減少。
  5. 完成計算後,調制解調器產生CadDone中斷信號。如果關聯成功,則會同時產生CadDetected信號
  6. 芯片恢復到待機模式。
  7. 如果發現前導碼,清除中斷,然後將芯片設置爲Rx單一或連續模式,從而開始接收數據。

信道活動檢測時長取決於使用的LoRa調製設置。下圖針對特定配置顯示了典型CAD檢測時長,該時長爲LoRa符號週期的倍數。CAD檢測時間內,芯片在(2 SF +32)/BW秒中處於接收模式,其餘時間則處於低功耗狀態。

 

 

我們可以通過配置寄存器來使能硬件的IO口,產生低電平的脈衝信號。DIO0可以用來反饋 rx/tx/cad done。

 

寫下這篇總結,在實際測試的過程中,和數據手冊上的說明是一致的。

lora學習三   https://blog.csdn.net/xiaohu1996/article/details/106072626 轉載網上大神的

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章