在學習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過程中,將會執行以下操作:
- PLL被鎖定。
- 無線接收機從信道獲取數據的LoRa前導碼符號。在此期間的電流消耗對應指定的Rx模式電流。
- 無線接收機及PLL被關閉,調制解調器數字處理開始執行。
- 調制解調器搜索芯片所獲取樣本與理想前導碼波形之間的關聯關係。建立這樣的關聯關係所需的時間僅略小於一個符號週期。在此期間,電流消耗大幅度減少。
- 完成計算後,調制解調器產生CadDone中斷信號。如果關聯成功,則會同時產生CadDetected信號。
- 芯片恢復到待機模式。
- 如果發現前導碼,清除中斷,然後將芯片設置爲Rx單一或連續模式,從而開始接收數據。
信道活動檢測時長取決於使用的LoRa調製設置。下圖針對特定配置顯示了典型CAD檢測時長,該時長爲LoRa符號週期的倍數。CAD檢測時間內,芯片在(2 SF +32)/BW秒中處於接收模式,其餘時間則處於低功耗狀態。
我們可以通過配置寄存器來使能硬件的IO口,產生低電平的脈衝信號。DIO0可以用來反饋 rx/tx/cad done。
寫下這篇總結,在實際測試的過程中,和數據手冊上的說明是一致的。
lora學習三 https://blog.csdn.net/xiaohu1996/article/details/106072626 轉載網上大神的