DFP 数据转发协议应用实例

简介: 稳控科技编写的一套数据转发规则, 取自“自由转发协议 FFP(Free Forward Protocol)” ,或者 DFP(DoubleF Protocol), DF 也可以理解为 Datas Forward(数据转发)的缩写。DF 协议是与硬件接口无关的数据链路层协议,规定了数据流如何在不同设备之间、不同接口之间的传输方向。DF 协议一般用于延长数字接口的传输距离(数据中继),它与硬件接口类型无关,可以基于 UART、 LoRA、TCP 等异步数据传输介质。

DFP 数据转发协议应用实例

DFP 是什么?
稳控科技编写的一套数据转发规则, 取自“自由转发协议 FFP(Free Forward Protocol)” ,或者 DFP(DoubleF Protocol), DF 也可以理解为 Datas Forward(数据转发)的缩写。DF 协议是与硬件接口无关的数据链路层协议,规定了数据流如何在不同设备之间、不同接口之间的传输方向。
DF 协议一般用于延长数字接口的传输距离(数据中继),它与硬件接口类型无关,可以基于 UART、 LoRA、TCP 等异步数据传输介质。
应用实例
LoRA转4G网关中继器接收器DLS11  43.png

DLS10 是符合 DFP 协议的数据中继设备, 自带两个 UART 接口和两个 LoRA 无线接口,实现了 DFP 所有需求。即: DLS10 是符合 DFP 协议的具有两个 UART 和两个 LoRA 数字接口的数据转发设备。DLS10 的转发前缀识别码为: @#@#(0x40 0x23 0x40 0x23)DLS10 内部预置有若干参数项(寄存器),用户可修改这些参数以对 DLS10 进行数据转发设置,寄存器
定义如下。寄存器汇总表(读/写)
(1)转发规则(总)寄存器.jpg

(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
寄存器汇总表1.jpg
寄存器汇总表1-2.jpg

例如:
设置 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 接口
UART 接口应用实例1.jpg

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

相关文章
|
机器学习/深度学习 并行计算 PyTorch
PyTorch与CUDA:加速深度学习模型训练的最佳实践
【8月更文第27天】随着深度学习应用的广泛普及,高效利用GPU硬件成为提升模型训练速度的关键。PyTorch 是一个强大的深度学习框架,它支持动态计算图,易于使用且高度灵活。CUDA (Compute Unified Device Architecture) 则是 NVIDIA 开发的一种并行计算平台和编程模型,允许开发者直接访问 GPU 的并行计算能力。本文将详细介绍如何利用 PyTorch 与 CUDA 的集成来加速深度学习模型的训练过程,并提供具体的代码示例。
1229 1
|
关系型数据库 MySQL 大数据
教你使用Python玩转MySQL数据库,大数据导入不再是难题!
教你使用Python玩转MySQL数据库,大数据导入不再是难题!
274 1
|
机器学习/深度学习 数据采集 算法
大数据与机器学习:数字时代的强大动力
在当今数字化时代,数据已经成为了一项宝贵的资源,而大数据和机器学习则是将其转化为实际价值的关键工具。本文将探讨大数据与机器学习的关系,以及它们如何共同推动技术、企业和社会的发展。
952 0
|
机器学习/深度学习 人工智能 自然语言处理
AIGC生成表情包
7月更文挑战第3天
|
测试技术 持续交付 Docker
Django中的自动化部署与持续集成实践
【4月更文挑战第15天】本文介绍了Django项目中自动化部署与持续集成的实践方法。自动化部署通过选择Ansible、Fabric或Docker等工具,编写部署脚本,配置持续集成工具(如Jenkins、GitLab CI),确保服务器环境一致,实现快速应用上线。持续集成则涉及配置版本控制系统,设置自动化构建和测试,编写全面的测试用例,集成代码质量检查工具,并配置通知机制,以提升代码质量和开发效率。这两者结合能有效提升项目的迭代速度和可靠性。
|
Arthas 运维 监控
排忧解难:线上问题排查工具箱
线上系统在各行各业中扮演关键角色,任何问题都可能对企业运营造成严重影响。排查复杂性增加,需要专门的线上问题排查工具箱。工具箱包含监控、日志分析、性能分析和故障排查工具,如系统监控的`top`、`htop`,应用监控的`New Relic`、`AppDynamics`,日志分析的`ELK Stack`、`Graylog`,以及故障排查的`jps`、`jstack`、`Arthas`等。这些工具能提升问题解决效率,降低排查成本,确保业务连续性。
360 2
|
存储 SQL 关系型数据库
PolarDB-x 比mysql查询性能怎么样?速度快吗
PolarDB-x 比mysql查询性能怎么样?速度快吗
643 0
element-ui和element-plus的自定义列表格用法
element-ui和element-plus的自定义列表格用法
519 0
|
MySQL 关系型数据库 数据安全/隐私保护
MySQL 8.0 Access denied for user 'root'@'localhost' (using password: YES) 问题解决
在网上看到有许多此类问题的解决办法,但因版本的不一致导致同一种问题有人可以解决有人不可以解决。在这我给出一种针对当下最新8.0版本的解决办法,本人亲测可行。当然此方法也可用于忘记密码后重置密码。方法步骤:一、启动服务器后,运行 mysqld --console --skip-grant-tabl.
10573 2