[发明专利]一种基于DPDK的Modbus协议实现方法和装置有效
申请号: | 202010712456.6 | 申请日: | 2020-07-22 |
公开(公告)号: | CN111970249B | 公开(公告)日: | 2022-11-11 |
发明(设计)人: | 张峰 | 申请(专利权)人: | 山西大学 |
主分类号: | H04L69/00 | 分类号: | H04L69/00;H04L12/40 |
代理公司: | 北京市广友专利事务所有限责任公司 11237 | 代理人: | 张仲波 |
地址: | 030091*** | 国省代码: | 山西;14 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 dpdk modbus 协议 实现 方法 装置 | ||
1.一种基于DPDK的Modbus协议实现方法,其特征在于,所述方法包括:
将Modbus协议模块导入DPDK框架下,以将DPDK、通信端口、用户态协议栈和Modbus协议模块关联起来,构建一个完全用户态的程序工作流程;
通过所述DPDK接收物理通信端口数据,并在用户态,利用DPDK的PMD模式下高效的数据处理优势,直接将接收到的用户接口数据传递给所述用户态协议栈;其中,符合预设要求的接口数据通过预设的通信接口,交付给所述Modbus协议模块,以对符合预设要求的接口数据进行预设处理;
所述Modbus协议模块的数量为多个;
所述通信接口包括网络接口和串型总线接口;
将Modbus协议模块导入DPDK框架下,以将DPDK、通信端口、用户态协议栈和Modbus协议模块关联起来,构建一个完全用户态的程序工作流程,包括:
在所述DPDK框架里新增预设类型的驱动;所述驱动针对232/485/HDLC设备实现;
在所述DPDK框架里新增封装数据接收发送接口;其中,数据接收由轮训任务调用,数据发送由所述Modbus协议模块根据流程直接调用;
将串口常规的中断处理,修改为周期轮询处理;
符合预设要求的网络数据通过预设的通信接口,交付给Modbus协议模块,包括:
当所述Modbus协议模块用于网络接口时,所述Modbus协议模块通过socket连接建立监听链路;符合预设要求的网络数据通过已建立的socket接口,交付给所述Modbus协议模块;当所述Modbus协议模块用于485/232串口时,所述Modbus协议模块利用DPDK的PMD驱动,直接读取用户态的串口数据。
2.一种基于DPDK的Modbus协议实现装置,所述Modbus协议实现装置包括处理器和存储器;其中,所述存储器中存储有至少一条指令,其特征在于,所述指令由所述处理器加载并执行,以实现下列步骤:
将Modbus协议模块导入DPDK框架下,以将DPDK、通信端口、用户态协议栈和Modbus协议模块关联起来,构建一个完全用户态的程序工作流程;
通过所述DPDK接收通信端口数据,并在用户态,直接将接收到的数据传递给所述用户态协议栈;其中,符合预设要求的数据通过预设的通信接口,交付给所述Modbus协议模块,以对符合预设要求的数据进行预设处理;
所述Modbus协议模块的数量为多个;
所述通信接口包括网络接口和串型总线接口;
将Modbus协议模块导入DPDK框架下,以将DPDK、通信端口、用户态协议栈和Modbus协议模块关联起来,构建一个完全用户态的程序工作流程,包括:
在所述DPDK框架里新增预设类型的驱动;所述驱动针对232/485/HDLC设备实现;
在所述DPDK框架里新增封装数据接收发送接口;其中,数据接收由轮训任务调用,数据发送由所述Modbus协议模块根据流程直接调用;
将串口常规的中断处理,修改为周期轮询处理;
符合预设要求的网络数据通过预设的通信接口,交付给Modbus协议模块,包括:
当所述Modbus协议模块用于网络接口时,所述Modbus协议模块通过socket连接建立监听链路;符合预设要求的网络数据通过已建立的socket接口,交付给所述Modbus协议模块;当所述Modbus协议模块用于485/232串口时,所述Modbus协议模块利用DPDK的PMD驱动,直接读取用户态的串口数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山西大学,未经山西大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010712456.6/1.html,转载请声明来源钻瓜专利网。