上行:終端的數(shù)據(jù)發(fā)送經(jīng)過一個(gè)或多個(gè)網(wǎng)關(guān)中轉(zhuǎn)到達(dá)網(wǎng)絡(luò)服務(wù)器。
下行:由網(wǎng)絡(luò)服務(wù)器發(fā)送給終端設(shè)備,每條消息對(duì)應(yīng)的終端設(shè)備是唯一確定的,而且只通過一個(gè)網(wǎng)關(guān)中轉(zhuǎn)。
LoRaWAN ClassesLoRaWAN Classes 一共分為3類:Class A,Class B,Class C
Class A:終端先發(fā)送,在發(fā)送后開啟一段時(shí)間的接收窗口,終端只有在發(fā)送后才可以接收。也就是說上行沒有限制,下行的數(shù)據(jù)只有在上行包發(fā)送上來的時(shí)候終端才可以接收到。(功耗最低)
Class B:終端和服務(wù)器協(xié)商好接收的窗口開啟的時(shí)間以及何時(shí)開啟,然后再約定的時(shí)間進(jìn)行接收,可以一次接收多個(gè)包。(功耗次低)
Class C:終端在發(fā)送以外的其他時(shí)間都開啟接收窗口。更耗能,但通訊延時(shí)最低。(功耗最高)
PHY/MAC 層數(shù)據(jù)鏈路總的數(shù)據(jù)包結(jié)構(gòu):
注意preamble、PHDR、PHDR_CRC、CRC都是硬件生成,無需軟件參與,需要軟件參與的就是PHYPayload部分
PHY層數(shù)據(jù)上行鏈路消息:
下行鏈路消息:
其中上行最后還有CRC校驗(yàn),而下行沒有CRC校驗(yàn)。其中PHDR PHDR_CRC CRC都是射頻芯片用于校準(zhǔn)數(shù)據(jù)的完整新和一致性用的,并非用戶生成的數(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)容有哪些,拋開控制命令不說,主要有終端的ID、包的序號(hào)、用戶的加密負(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文章
15瀏覽量
12159
原文標(biāo)題:LoRaWAN協(xié)議(二)--LoRaWAN MAC數(shù)據(jù)包格式
文章出處:【微信號(hào):murata-eetrend,微信公眾號(hào):murata-eetrend】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論