DFP 数据转发协议规则说明

简介: 一套数据转发规则,取自“自由转发协议 FFP(Free Forward Protocol)”,或者 DFP(Double F Protocol),DF 也可以理解为 Datas Forward(数据转发)的缩写。

DFP 数据转发协议规则说明
DFP 是什么?
河北稳控科技编写的一套数据转发规则,取自“自由转发协议 FFP(Free Forward Protocol)”,或者 DFP(Double F Protocol),DF 也可以理解为 Datas Forward(数据转发)的缩写。
DF 协议是与硬件接口无关的数据链路层协议,规定了数据流如何在不同设备之间、不同接口之间的传输方向。
DF 协议一般用于延长数字接口的传输距离(数据中继),它与硬件接口类型无关,可以基于 UART、LoRA、TCP 等异步数据传输介质。
DFP 设备基本特性
支持 DFP 协议的设备称为 DFP 设备,DFP 设备都有至少两个异步数字接口,数字接口操作的最小数据单位为“数据包”。
DFP 设备具有设置数据包的转发方向的参数,例如:A 端口接收到的数据包转发到哪个端口。
DFP 设备具有设置数据包转发时是否带有协议头,例如:向 B 端口转发时是否为数据附加协议头。
DFP 设备可以识别接收到的数据包是否带有 DFP 协议头,并为没有 DFP 协议头的数据包自动添加协议头。
DFP 协议规则
数据包结构
不同的 DFP 设备之间使用特定结构的数据包来完成数据的定向转发传输,一个完整的 DFP 数据包由数
据转发前缀和要转发的数据两部分构成。数据内容称为“干数据”,带有转发前缀的数据称为“湿数据”。
数据包.png

数据前缀属性说明
FP 识别码:4 字节 FP 识别信息,默认为@#@#。只要以识别信息为开始的数据包均被认为是 FP。
群组 ID:数据包所属于群组编码,只有与 DFP 设备所属群组相同的数据包才会被转发。
起始地址:数据包由哪台设备发出。
目标地址:数据包最终的目的设备地址。
转发次数:数据包已经经过了几次转发(已经 n 次)。
转发路径:长度 n 字节,每个字节依次保存了本条数据每次被转发时的设备地址值。
校验和:前面所有数据的和校验值。
数据包长度:协议前缀之后的数据包字节数(即:干数据的长度)。
例:16 进制数据包(湿数据)40 23 40 23 02 81 85 02 81 82 D3 03 31 32 33
40 23 40 23:协议前缀识别码@#@#
02:本包数据最后一次被发送时使用的群组 ID 为 02。 81:本包数据的发起设备地址为 0x81。 85:本包数据是发送的终点是设备 0x85。 02:本包数据已经被转发了 02 次。
81 82:本包数据第一次由设备 0x81 转发,第二次(最近一次)是被设备 0x82 转发出来的。
D3:之前所有字节的和校验。
03:本包数据实际内容为 03 个字节。
31 32 33:本包数据实际内容为 0x31 0x32 0x33。

数据有效域
是指数据包在发送时可以接收到数据的所有 DFP 设备端口。

数据有效域.png

例如:某种设备具有 3 个 LoRA 端口,每个 LoRA 端口可以配置为不同的频率(如:433MHz、435MHz 等),当通过某个 LoRA 端口发出数据时,所有与它同频的其它设备的 LoRA 端口均可接收到数据,而不同频的 LoRA端口不会接收到数据。能够接收到数据的所有区域称之为“同数据域”,也称为“同一区域”。(注意,这里所说的“区域”与地理中的“区域”的含意不同)。

相关文章
|
自然语言处理 搜索推荐 Java
号称elastic seaech 100多倍性能的Manticore search搜索引擎有多强
号称elastic seaech 100多倍性能的Manticore search搜索引擎有多强
1914 0
|
机器学习/深度学习 人工智能 大数据
|
7月前
|
SQL 关系型数据库 MySQL
milvus-use教程 python
本项目参考vanna项目,获取数据库元数据和问题SQL对,存入Milvus向量数据库,并进行相似性检索。采用m3e-large嵌入模型,通过DatabaseManager类实现数据库连接持久化,MilvusVectorStore类封装了Milvus操作方法,如创建集合、添加数据和查询。项目提供init_collections、delete_collections等文件用于初始化、删除和管理集合。所用Milvus版本较新,API与vanna项目不兼容。 [项目地址](https://gitee.com/alpbeta/milvus-use)
|
10月前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
算法 C++ 开发者
【C++ 20 并发工具 std::barrier】掌握并发编程:深入理解C++的std::barrier
【C++ 20 并发工具 std::barrier】掌握并发编程:深入理解C++的std::barrier
552 0
|
存储 Kubernetes 算法
【K8S系列】深入解析etcd
【K8S系列】深入解析etcd
606 0
|
中间件 编译器 调度
STM32cubemx对FreeRTOS的适配(工程模板配置)
STM32cubemx对FreeRTOS的适配(工程模板配置)
1100 0
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之查询数据库时出现报错,是什么原因
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
前端开发 JavaScript 数据库
layui框架实战案例(20):常用条件判断和信息展示技巧(图片预览、动态表格、短信已读未读、链接分享、信息脱敏、内置框架页)
layui框架实战案例(20):常用条件判断和信息展示技巧(图片预览、动态表格、短信已读未读、链接分享、信息脱敏、内置框架页)
829 0
|
数据库 关系型数据库 MySQL
数据传输服务是什么?
【6月更文挑战第3天】数据传输服务是什么?
348 2