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ì)。
DFP 設備基本特性
支持 DFP 協(xié)議的設備稱(chēng)為 DFP 設備, DFP 設備都有至少兩個(gè)異步數字接口, 數字接口操作的最小數據單位為“數據包” 。
DFP 設備具有設置數據包的轉發(fā)方向的參數,例如: A 端口接收到的數據包轉發(fā)到哪個(gè)端口。
DFP 設備具有設置數據包轉發(fā)時(shí)是否帶有協(xié)議頭,例如:向 B 端口轉發(fā)時(shí)是否為數據附加協(xié)議頭。
DFP 設備可以識別接收到的數據包是否帶有 DFP 協(xié)議頭,并為沒(méi)有 DFP 協(xié)議頭的數據包自動(dòng)添加協(xié)議頭。
DFP 協(xié)議規則
數據包結構不同的 DFP 設備之間使用特定結構的數據包來(lái)完成數據的定向轉發(fā)傳輸,一個(gè)完整的 DFP 數據包由數據轉發(fā)前綴和要轉發(fā)的數據兩部分構成。數據內容稱(chēng)為“干數據” ,帶有轉發(fā)前綴的數據稱(chēng)為“濕數據” 。
數據前綴屬性說(shuō)明
FP 識別碼: 4 字節 FP 識別信息,默認為@#@#。 只要以識別信息為開(kāi)始的數據包均被認為是 FP。群組 ID: 數據包所屬于群組編碼,只有與 DFP 設備所屬群組相同的數據包才會(huì )被轉發(fā)。
起始地址:數據包由哪臺設備發(fā)出。
目標地址: 數據包最終的目的設備地址。
轉發(fā)次數:數據包已經(jīng)經(jīng)過(guò)了幾次轉發(fā)(已經(jīng) n 次)。
轉發(fā)路徑:長(cháng)度 n 字節,每個(gè)字節依次保存了本條數據每次被轉發(fā)時(shí)的設備地址值。
校驗和:前面所有數據的和校驗值。
數據包長(cháng)度:協(xié)議前綴之后的數據包字節數(即:干數據的長(cháng)度)。
例: 16 進(jìn)制數據包(濕數據) 40 23 40 23 02 81 85 02 81 82 D3 03 31 32 3340 23 40 23:協(xié)議前綴識別碼@#@#02:本包數據最后一次被發(fā)送時(shí)使用的群組 ID 為 02。81:本包數據的發(fā)起設備地址為 0x81。85:本包數據是發(fā)送的終點(diǎn)是設備 0x85。02:本包數據已經(jīng)被轉發(fā)了 02 次。81 82:本包數據第一次由設備 0x81 轉發(fā),第二次(最近一次)是被設備 0x82 轉發(fā)出來(lái)的。D3:之前所有字節的和校驗。03:本包數據實(shí)際內容為 03 個(gè)字節。31 32 33:本包數據實(shí)際內容為 0x31 0x32 0x33。
數據有效域
是指數據包在發(fā)送時(shí)可以接收到數據的所有 DFP 設備端口。
例如:某種設備具有 3 個(gè) LoRA 端口,每個(gè) LoRA 端口可以配置為不同的頻率(如: 433MHz、 435MHz 等),當通過(guò)某個(gè) LoRA 端口發(fā)出數據時(shí),所有與它同頻的其它設備的 LoRA 端口均可接收到數據,而不同頻的 LoRA端口不會(huì )接收到數據。能夠接收到數據的所有區域稱(chēng)之為“同數據域” , 也稱(chēng)為“同一區域” 。(注意,這里所說(shuō)的“區域” 與地理中的“區域” 的含意不同)。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。
fpga相關(guān)文章:fpga是什么