DFP 数据转发协议 规则说明(二)

2022-09-17 10:36:41 浏览数 (1)

DFP 数据转发协议 规则说明

DFP 是什么?

稳控科技编写的一套数据转发规则, 取自“自由转发协议 FFP(Free Forward Protocol)” ,或者 DFP(DoubleF Protocol), DF 也可以理解为 Datas Forward(数据转发)的缩写。DF 协议是与硬件接口无关的数据链路层协议,规定了数据流如何在不同设备之间、不同接口之间的传输方向。

DF 协议一般用于延长数字接口的传输距离(数据中继),它与硬件接口类型无关,可以基于 UART、 LoRA、TCP 等异步数据传输介质。

DLS11网关中继器DFP 数据转发协议 DLS11网关中继器DFP 数据转发协议

数据转发规则

(1) 处于同一区域内的每台设备均有唯一的地址(同一区域不得有相同地址的的设备)。合法的设备地址为0x01~0xFE。 0xFF 等效于任意地址值, 0x00 等效于不存在的地址值。

(2)每台设备均有多个数字接口(如: UART、 LoRA 等),各端口均有独立的通讯参数(不同参数可形成不同的数据区域)。每台设备均有与数字接口对应数量的群组 ID 码(GroupA_ID/GroupB_ID 等)。

(3)被传输的数据包均带有协议前缀 FP(ForwardPrefix), FP 包含有数据包的发送起始设备地址、数据包目的设备地址、数据包群组 ID、数据包转发路径记录等信息。

(4) 当 DFP 设备通过某个数字接口接收到无 FP 的数据包(干数据) 时会自动为其添加。添加规则为:群组号=接收到数据的端口对应的群组 ID 号(接收数据的端口为 xxxxA 时为 GAID,接收数据的端口为 xxxxB 时为 GBID)。

起始设备地址=0xFF。 目标设备地址=0xFF。

注:其它设备使用 LoRA 发来的数据包仅可被 NLM5 的 LORA-A 接收到。

DFP 数据转发协议应用实例 DFP 数据转发协议应用实例

(5) 无论哪个数字接口,当接收到数据包后会判断 FP 中的群组 ID 是否与自身的两个群组 ID 之一相同(匹配),若不同则丢弃处理,若相同则会首先判断数据包是否是用于自身的指令,若是则执行指令然后丢弃数据包,若不是则按照转发规则对数据包进行转发。

数据包转发规则为:每个数字接口均可指定在收到数据后将数据转发到哪个(或者哪几个)数字端口以及是否输出数据时带有 FP。转发数据前会根据数据输出的端口自动更新 FP 中的群组 ID 值。

(6)当接收到的数据包 FP 中的目的地址与本设备地址相同时,在转发前会修改 FP 中的目标设备地址为0x00。其它设备在接收到数据包后会判断 FP 中的目的地址是否为 0x00,是则立即丢弃数据包(即:数据包转发终止)。

(7)数据映射

DFP 设备用一个参数来启用或者禁止数据映射,参数作用说明如下:当某台 DFP 设备的多个数字接口处于同一数据区域时,会同时接收到数据包,按照上述规则,若数据映射参数为未启用状态时,每个端口均为按照预设转发规则和转发方向进行数据处理和转发。若数据映射参数为启动状态时, DFP 设备会进行如下处理:检查数据包是否带有正确的 FP 前导符号(默认为“@#@#” )

有:继续检查 FP 中的群组码是否适用于本设备

是:则将数据包映射到与群组号对应的 LoRA-x。

否:维持现状(不进行映射处理)。

无: 将接收到的 LoRA 数据包映射到 LoRA-A。

DFP 数据转发协议应用实例DFP 数据转发协议应用实例

LoRA 接收到的数据映射的意思是:无论 LoRA 数据包是由 LoRA-A 或者 LoRA-B 接收到的, 强制的将接收到的数据包按照上述规则更新到 LoRA-A 或者 LoRA-B 的接收缓存,然后进一步按照数据转发规则处理。

DFP 协议的数据映射功能以上述数据转发规则,可以实现单线型、树杈型、十字交叉型数据传输网络。

0 人点赞