DFP数据转发协议应用实例

描述

DFP 数据转发协议应用实例

DFP 是什么?

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

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

应用实例

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 的过程与以上过程完全相同,在此不再重复说明。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分