上行:終端的數(shù)據(jù)發(fā)送經(jīng)過(guò)一個(gè)或多個(gè)網(wǎng)關(guān)中轉(zhuǎn)到達(dá)網(wǎng)絡(luò)服務(wù)器。
下行:由網(wǎng)絡(luò)服務(wù)器發(fā)送給終端設(shè)備,每條消息對(duì)應(yīng)的終端設(shè)備是唯一確定的,而且只通過(guò)一個(gè)網(wǎng)關(guān)中轉(zhuǎn)。
LoRaWAN ClassesLoRaWAN Classes 一共分為3類(lèi):Class A,Class B,Class C
Class A:終端先發(fā)送,在發(fā)送后開(kāi)啟一段時(shí)間的接收窗口,終端只有在發(fā)送后才可以接收。也就是說(shuō)上行沒(méi)有限制,下行的數(shù)據(jù)只有在上行包發(fā)送上來(lái)的時(shí)候終端才可以接收到。(功耗最低)
Class B:終端和服務(wù)器協(xié)商好接收的窗口開(kāi)啟的時(shí)間以及何時(shí)開(kāi)啟,然后再約定的時(shí)間進(jìn)行接收,可以一次接收多個(gè)包。(功耗次低)
Class C:終端在發(fā)送以外的其他時(shí)間都開(kāi)啟接收窗口。更耗能,但通訊延時(shí)最低。(功耗最高)
PHY/MAC 層數(shù)據(jù)鏈路總的數(shù)據(jù)包結(jié)構(gòu):
注意preamble、PHDR、PHDR_CRC、CRC都是硬件生成,無(wú)需軟件參與,需要軟件參與的就是PHYPayload部分
PHY層數(shù)據(jù)上行鏈路消息:
下行鏈路消息:
其中上行最后還有CRC校驗(yàn),而下行沒(méi)有CRC校驗(yàn)。其中PHDR PHDR_CRC CRC都是射頻芯片用于校準(zhǔn)數(shù)據(jù)的完整新和一致性用的,并非用戶(hù)生成的數(shù)據(jù)。
MAC 層數(shù)據(jù)
由上圖可以看到,MAC數(shù)據(jù)是是作為PHYPayload存在的其中MAC 層的包有三個(gè)部分組成:
-
MHDR(MAC層幀頭)
-
MACPayload(MAC層負(fù)載)
-
MIC(4字節(jié)的校驗(yàn))
而MACPayload又由三個(gè)部分組成:
-
FHDR (MAC層負(fù)載頭)
-
FPORT(MAC 層數(shù)據(jù)的通道號(hào))
-
FRMPayload(MAC層負(fù)載,加密)
而FHDR又由由四個(gè)部分組成:
-
DevAddr(終端的ID 4字節(jié))
-
FCtrl(幀的控制字 1個(gè)字節(jié))
-
FCnt (幀的序號(hào) 2個(gè)字節(jié))
-
FOpts(幀配置,字節(jié)數(shù)不定,大部分情況0個(gè)字節(jié))
所以,由協(xié)議可知,一個(gè)上行包或者下行包中的數(shù)據(jù)內(nèi)容有哪些,拋開(kāi)控制命令不說(shuō),主要有終端的ID、包的序號(hào)、用戶(hù)的加密負(fù)載。
例如我抓到的一個(gè)數(shù)據(jù)包:
\x40 \x7f \xf8 \x8a \x29 \x80 \x2a \x00 \x02 \x07 \x42 \x87 \x3f \xc7 \xb4 \x22 \x04 \x00 \x84 \x8d \x1b \x06 \x2f \x5b \xbc \x57 \xdb \xf2 \x31 \xde \x49 \x61 \x00 \x86 \x99 \xec \x08 \x61 \xf0 \xb7 \xda \x54 \x0a \xfa \xd1 \x31 \xac \xd0 \x44 \x1b \x4d \xfa \x48 \x77 \x19 \xee \x61 \x14 \xbf \x23 \x52 \xd1 \xe9 \x93 \x79 \x6e \x16 \xd7 \x13 \x2e \x58 \x06 \x54 \xc3 \xd2 \x04 \xba \x52 \xa7 \xc8 \x7a \x0b \x8e
這是一個(gè)MAC 層的幀,即完整的PHYPayload部分,注意,默認(rèn)LoRaWAN都是按小端方式傳輸?shù)摹?/p>
其中
-
MHDR:\x40
-
MACPayload-FHDR-DevAddr:\x7f \xf8 \x8a \x29
-
MACPayload-FHDR-FCtrl:\x80
-
MACPayload-FHDR-FCnt:\x2a \x00
-
MACPayload-FPORT:\x02
-
MACPayload-FRMPayload(加密):\x07 \x42 \x87 \x3f \xc7 \xb4 \x22 \x04 \x00 \x84 \x8d \x1b \x06 \x2f \x5b \xbc \x57 \xdb \xf2 \x31 \xde \x49 \x61 \x00 \x86 \x99 \xec \x08 \x61 \xf0 \xb7 \xda \x54 \x0a \xfa \xd1 \x31 \xac \xd0 \x44 \x1b \x4d \xfa \x48 \x77 \x19 \xee \x61 \x14 \xbf \x23 \x52 \xd1 \xe9 \x93 \x79 \x6e \x16 \xd7 \x13 \x2e \x58 \x06 \x54 \xc3 \xd2 \x04 \xba \x52 \xa7
-
MIC:\xc8 \x7a \x0b \x8e
-
LoRaWAN協(xié)議
+關(guān)注
關(guān)注
3文章
19瀏覽量
12329
原文標(biāo)題:LoRaWAN協(xié)議(二)--LoRaWAN MAC數(shù)據(jù)包格式
文章出處:【微信號(hào):murata-eetrend,微信公眾號(hào):murata-eetrend】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Matlab仿真1090ES數(shù)據(jù)鏈路
ppp協(xié)議
如何在Vxworks操作系統(tǒng)下實(shí)現(xiàn)mac層數(shù)據(jù)通信
武器數(shù)據(jù)鏈測(cè)試系統(tǒng)是什么組成的?
基于isoSPI數(shù)據(jù)鏈路的高可靠性車(chē)載電池系統(tǒng)設(shè)計(jì)
高級(jí)數(shù)據(jù)鏈路控制的操作方式是什么?
TLP的數(shù)據(jù)鏈路層組成與操作
數(shù)據(jù)鏈路層的作用
數(shù)據(jù)鏈路協(xié)議,數(shù)據(jù)鏈路協(xié)議是什么意思
高級(jí)數(shù)據(jù)鏈路控制(HDLC)是什么意思
數(shù)據(jù)鏈路交換,什么是數(shù)據(jù)鏈路交換
數(shù)據(jù)鏈路層常用成紙法有哪些_數(shù)據(jù)鏈路層的作用

無(wú)人系統(tǒng)和地面控制站的加密數(shù)據(jù)鏈路的演示
Redis底層數(shù)據(jù)類(lèi)型

評(píng)論