DFP 数据转发协议应用实例

稳控科技
发布于 2022-9-23 10:01
浏览
0收藏

DFP 数据转发协议应用实例

DFP 是什么?
稳控科技编写的一套数据转发规则, 取自“自由转发协议 FFP(Free Forward Protocol)” ,或者 DFP(DoubleF Protocol), DF 也可以理解为 Datas Forward(数据转发)的缩写。DF 协议是与硬件接口无关的数据链路层协议,规定了数据流如何在不同设备之间、不同接口之间的传输方向。
DF 协议一般用于延长数字接口的传输距离(数据中继),它与硬件接口类型无关,可以基于 UART、 LoRA、TCP 等异步数据传输介质。
DFP 数据转发协议应用实例-鸿蒙开发者社区
应用实例
DLS10 是符合 DFP 协议的数据中继设备, 自带两个 UART 接口和两个 LoRA 无线接口,实现了 DFP 所有需求。即: DLS10 是符合 DFP 协议的具有两个 UART 和两个 LoRA 数字接口的数据转发设备。DLS10 的转发前缀识别码为: @#@#(0x40 0x23 0x40 0x23)DLS10 内部预置有若干参数项(寄存器),用户可修改这些参数以对 DLS10 进行数据转发设置,寄存器
定义如下。寄存器汇总表(读/写)
DFP 数据转发协议应用实例-鸿蒙开发者社区
(3)端口数据转发规则寄存器(目标端口设置)
每个数字接口均有一个 xxxx_FWR(Forward Rule)寄存器用于设置此接口接收到数据后将数据转发到哪个(或者哪几个)数字接口。这个寄存器从低位向高位每两位代表一个目标端口, bit0/1 代表 UART-A, bit2/3代表 UART-B, bit4/5 代表 LoRA-A, bit6/7 代表 LoRA-B。每两位中,低位表示是否从此接口输出数据包,高位表示输出数据时是否带有转发协议头 FP(ForwardPrefix)。
数据转发寄存器 xxxx_FWR
DFP 数据转发协议应用实例-鸿蒙开发者社区
DFP 数据转发协议应用实例-鸿蒙开发者社区
例如:
设置 UA_FWR=00010000B(0x10)表示 UART-A 收到数据后从 LoRA-A 转发出去,转发时不带 FP。
设置 LA_FWR=00000001B(0x01)表示 LoRA-A 收到数据后从 UART-A 转发出去,转发时不带 FP。
以下实例均以 DLS 默认参数为基础。
实例 1.UART(RS232/RS485)、 LoRA 互转本实例实现两个 UART 设备之间的无线透明传输(代替 UART 之间的物理线路)。设备 I、设备 II 均为UART 接口
DFP 数据转发协议应用实例-鸿蒙开发者社区
DLS(1#)参数设置:设置 UART-A 通讯参数与设备 I 一致。
DLS(2#)参数设置:设置 UART-B 通讯参数与设备 II 一致。
其它参数保持默认值,主要的几个默认参数说明如下:(后续实例不再一一说明默认参数)本实例仅使用了 DLS 设备的 UART-A 和 LoRA-A,默认参数时,这两个端口在接收到数据相互转发,即: UARTA 接收到数据后从 LoRA-A 端口发送出去(期间会对转发前缀做相应的添加、修改、去除输出等)。数据转发过程描述如下:
设备 I 由 UART 发送:“123”(0x31 0x32 0x33)
DLS(1#)接收到 UART-A 数据“123” ,为其增加 FP,因参数 UA_FWR=0x0010,故此 UART-A 接收到的数据转发到 LoRA-A,转发时不带 FP,则经由 DLS(1#) 的 LoRA-A 发出的数据内容为:31 32 33
DLS(2#) 的 LoRA-A 接收到数据包 31 32 33,因为 LA_FWR=0x0001,故此数据转发到 UART-A,转发时不带 FP, DLS(4#)的 UART-A 发送的内容为:31 32 33,即设备 II 的 UART 接收到“123”。由设备 II 发送的数据传输至设备 I 的过程与以上过程完全相同,在此不再重复说明。

分类
河北稳控科技DLS11网关中继器用户手册.pdf 1019.01K 10次下载
收藏
回复
举报
回复
    相关推荐