DFP 數據轉發(fā)協(xié)議 規則說(shuō)明(二)
DFP 數據轉發(fā)協(xié)議 規則說(shuō)明
DFP 是什么?
穩控科技編寫(xiě)的一套數據轉發(fā)規則, 取自“自由轉發(fā)協(xié)議 FFP(Free Forward Protocol)” ,或者 DFP(DoubleF Protocol), DF 也可以理解為 Datas Forward(數據轉發(fā))的縮寫(xiě)。DF 協(xié)議是與硬件接口無(wú)關(guān)的數據鏈路層協(xié)議,規定了數據流如何在不同設備之間、不同接口之間的傳輸方向。
DF 協(xié)議一般用于延長(cháng)數字接口的傳輸距離(數據中繼),它與硬件接口類(lèi)型無(wú)關(guān),可以基于 UART、 LoRA、TCP 等異步數據傳輸介質(zhì)。
數據轉發(fā)規則
(1) 處于同一區域內的每臺設備均有唯一的地址(同一區域不得有相同地址的的設備)。合法的設備地址為0x01~0xFE。 0xFF 等效于任意地址值, 0x00 等效于不存在的地址值。
(2)每臺設備均有多個(gè)數字接口(如: UART、 LoRA 等),各端口均有獨立的通訊參數(不同參數可形成不同的數據區域)。每臺設備均有與數字接口對應數量的群組 ID 碼(GroupA_ID/GroupB_ID 等)。
(3)被傳輸的數據包均帶有協(xié)議前綴 FP(ForwardPrefix), FP 包含有數據包的發(fā)送起始設備地址、數據包目的設備地址、數據包群組 ID、數據包轉發(fā)路徑記錄等信息。
(4) 當 DFP 設備通過(guò)某個(gè)數字接口接收到無(wú) FP 的數據包(干數據) 時(shí)會(huì )自動(dòng)為其添加。添加規則為:群組號=接收到數據的端口對應的群組 ID 號(接收數據的端口為 xxxxA 時(shí)為 GAID,接收數據的端口為 xxxxB 時(shí)為 GBID)。
起始設備地址=0xFF。 目標設備地址=0xFF。
注:其它設備使用 LoRA 發(fā)來(lái)的數據包僅可被 NLM5 的 LORA-A 接收到。
(5) 無(wú)論哪個(gè)數字接口,當接收到數據包后會(huì )判斷 FP 中的群組 ID 是否與自身的兩個(gè)群組 ID 之一相同(匹配),若不同則丟棄處理,若相同則會(huì )首先判斷數據包是否是用于自身的指令,若是則執行指令然后丟棄數據包,若不是則按照轉發(fā)規則對數據包進(jìn)行轉發(fā)。
數據包轉發(fā)規則為:每個(gè)數字接口均可指定在收到數據后將數據轉發(fā)到哪個(gè)(或者哪幾個(gè))數字端口以及是否輸出數據時(shí)帶有 FP。轉發(fā)數據前會(huì )根據數據輸出的端口自動(dòng)更新 FP 中的群組 ID 值。
(6)當接收到的數據包 FP 中的目的地址與本設備地址相同時(shí),在轉發(fā)前會(huì )修改 FP 中的目標設備地址為0x00。其它設備在接收到數據包后會(huì )判斷 FP 中的目的地址是否為 0x00,是則立即丟棄數據包(即:數據包轉發(fā)終止)。
(7)數據映射
DFP 設備用一個(gè)參數來(lái)啟用或者禁止數據映射,參數作用說(shuō)明如下:當某臺 DFP 設備的多個(gè)數字接口處于同一數據區域時(shí),會(huì )同時(shí)接收到數據包,按照上述規則,若數據映射參數為未啟用狀態(tài)時(shí),每個(gè)端口均為按照預設轉發(fā)規則和轉發(fā)方向進(jìn)行數據處理和轉發(fā)。若數據映射參數為啟動(dòng)狀態(tài)時(shí), DFP 設備會(huì )進(jìn)行如下處理:檢查數據包是否帶有正確的 FP 前導符號(默認為“@#@#” )
有:繼續檢查 FP 中的群組碼是否適用于本設備
是:則將數據包映射到與群組號對應的 LoRA-x。
否:維持現狀(不進(jìn)行映射處理)。
無(wú): 將接收到的 LoRA 數據包映射到 LoRA-A。
LoRA 接收到的數據映射的意思是:無(wú)論 LoRA 數據包是由 LoRA-A 或者 LoRA-B 接收到的, 強制的將接收到的數據包按照上述規則更新到 LoRA-A 或者 LoRA-B 的接收緩存,然后進(jìn)一步按照數據轉發(fā)規則處理。
DFP 協(xié)議的數據映射功能以上述數據轉發(fā)規則,可以實(shí)現單線(xiàn)型、樹(shù)杈型、十字交叉型數據傳輸網(wǎng)絡(luò )。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)