DFP数据转发协议应用实例

网友投稿 246 2022-11-19

DFP数据转发协议应用实例

DFP 数据转发协议应用实例

DFP 是什么?

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

应用实例

定义如下。寄存器汇总表(读/写)

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 默认参数为基础。

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Google Earth Engine(GEE)——COPERNICUS/S2和COPERNICUS/S2_SR数据对比
下一篇:Google Earth Engine(GEE)——export影像导出错误Error: Image.clipToBoundsAndScale, argument ‘input‘: Invalid
相关文章

 发表评论

暂时没有评论,来抢沙发吧~