一种基于SOC的工业以太网协议转换方法

文档序号:33643372发布日期:2023-03-29 02:45阅读:26来源:国知局
一种基于SOC的工业以太网协议转换方法
一种基于soc的工业以太网协议转换方法
技术领域
1.本发明涉及一种基于soc的工业以太网协议转换方法,属于通讯协议转换技术领域。


背景技术:

2.随着计算机、通信和网络技术的发展,以太网技术在各个领域取得了广泛的应用,其中将以太网技术与现场总线相结合,在技术上采用与商业以太网(即工eee802.3标准)兼容,与工业数据总线结合形成的工业以太网总线在制造业、交通、楼宇等自动化系统方面具有广泛的应用前景。工业以太网总线具备多项优势,如:以太网是应用最广泛的计算机网络技术,几乎支持所有编程语言对其进行开发。工业以太网总线通信速率高,实时性强且种类繁多。同时以太网网卡的价格相对于现场总线网卡的价格要低很多,极大降低体统整体成本。但随着人们对于传统以太网在与工业应用上的改进,诞生了powerlink、ethercat、 epa、ncuc-bus、ethermac、sercos、ethernetlip、 modbustcp、 profinetsrt、 mechatrolink等这些工业以太网技术,这些工业以太网协议都在原有以太网协议的基础上进行改进,在数据传输方面具有各自独特的编解码方式,不同协议具有各自适用的领域和特点。这就导致了当使用多种协议进行协同控制或不同协议交错传输数据进入用户端时,用户端需要不断地根据不同协议对数据进行对应的编解码,再根据得到的数据进行逻辑操作,一定程度上增加了数据传输负担。


技术实现要素:

3.本发明的目的是提供一种基于soc的工业以太网协议转换方法,改变数据传输方式,利用fpga并行处理数据的特性,提高数据传输速度,最后通过cpu配置将所有接入的以太网协议转换提取有效信息并发送至用户端,能够显著减少主机端的工作量,提高传输速率,降低工作复杂度。
4.为了实现上述目的,本发明采用的技术方案是:一种基于soc的工业以太网协议转换方法,以soc架构为基础,设计实现工业以太网协议转换的新型芯片架构,设计数据帧编/解码ip,通过修改所述ip的配置参数,实现多种工业以太网协议数据帧编解码,通过总线模块实现数据高速传输;包括以下步骤:步骤1:主机端将命令信息以及控制寄存器信息通过pcie模块发送至控制寄存器模块进行存储;步骤2:通过cpu模块对控制寄存器模块的轮询读取,读取出控制寄存器模块中的命令、配置信息,并对其进行解析;步骤3:cpu模块将解析后的命令、配置信息通过axi控制总线发送到dma模块和数据帧编/解码模块;步骤4:dma模块和数据帧编/解码模块根据控制总线发送的配置信息进行功能调整;
步骤5:当主机发送数据到从机时,主机发送的数据由dma模块经过axi数据总线发送到数据帧编/解码模块,将数据按照协议规范打包成数据帧发送到从机完成数据传输;当从机发送数据到主机时,从机将根据协议打包好的数据帧发送至数据帧编/解码模块,提取数据帧中有效信息存储至协议数据缓存模块;步骤6:当从机发送数据到主机时,dma模块根据配置信息通过axi数据总线读取协议数据缓存模块中的数据,并按主机配置要求调整数据位宽以及传输方式;步骤7:dma模块将转换后的数据发送至与pcie模块,通过pcie模块发送至主机端完成数据传输。
5.本发明技术方案的进一步改进在于:所述步骤1的命令信息以及控制寄存器信息包括读/写命令操作描述、host端所访问从机id、访问协议数据缓存模块地址、选择需要转换协议序号及时钟复位模块配置参数。
6.本发明技术方案的进一步改进在于:所述控制寄存器模块包括两个部分,一部分为地址信息寄存器,另一部分为命令信息寄存器。
7.本发明技术方案的进一步改进在于:所述步骤2具体操作为:步骤2-1:cpu模块首先轮询读取地址信息寄存器内信息,当cpu判断前后两次读出的同一地址的地址信息寄存器内数据出现差值,判断得出客户端访问地址变换;步骤2-2:cpu模块采用r5,当r5首先轮询读取地址信息寄存器中表示起始地址和结束地址寄存器信息时,当地址数据间的差值发生变换后,开始轮询读取命令信息寄存器信息,并对读取到的信息进行解析;cup模块将解析完成的命令信息寄存器信息存储至cpu模块内挂在r5下的配置信息寄存器中。
8.本发明技术方案的进一步改进在于:所述步骤4具体包括以下步骤:步骤4-1:cpu发送配置信息到dma模块,所述dma模块采用双通道dma,两通道分别用于主机到从机的写操作和读操作;所述dma模块通过axi数据总线分别连接协议数据缓存模块和pcie模块,其功能为将协议数据缓存模块中的数据取出并转发到pcie模块或将所述数据通路反向;所述dma控制器接收cpu下发的配置信息包括源地址、目的地址以及传输量,其中传输量包括数据总量和数据位宽;dma模块根据源地址和目的地址区分所要读取数据的位置和数据转发位置,通过数据总量以及数据位宽计算出单次axi传输所需的突发长度;dma控制器通过配置信息,以axi接口发出读写请求到axi数据总线上,完成cpu对dma模块的配置,当本次配置所要求的操作完成后,即通过dma模块上的axi接口收到读响应或写响应后,通过数据通路反馈到cpu模块完成本次配置操作;步骤4-2:cpu发送配置信息到数据帧编/解码模块;所述数据帧编/解码模块为verilog语言编写,包括帧编码模块、帧解码模块和crc校验模块;其中,帧解码模块负责为数据添加前导码、目的地址、源地址、数据长度及以太网类型;帧解码模块负责对接收的帧进行解码操作,识别目的地址和源地址、类识别以及提取协议中传输的有效数据;crc校验模块包括两项功能,一是为数据添加crc校验码后发送给帧编码模块,二是校验帧解码模块发送的数据正确性;cpu的配置信息以参数形式传递进入数据帧编/解码模块,所述参数内容包括:前导码位宽,目的地址和源地址位宽,数据包类型位宽,协议数据位宽以及校验码位宽;当帧编/解码模块确定所接受的数据帧各部分参数后,按位宽对数据帧进行展开;所述解码模块将接收到的数据帧展开后获取的信息包括目的地址、源地址和协议数据,分别
将地址信息和数据存储在协议数据缓存模块。
9.本发明技术方案的进一步改进在于:所述步骤5具体包括以下步骤:步骤5-1:当主机发送数据到从机时,经过cpu模块配置后的dma模块将所需要发送的数据从与主机连接的pcie模块取出,在dma模块内部,根据配置信息调整数据位宽和发送方式后,发送到axi数据总线上,并根据dma模块发送的地址,找到所对应从机数据帧编/解码模块中的crc校验模块;数据帧编码模块接收到数据后,为数据添加前导码、目的地址、源地址、数据长度及以太网类型;数据帧打包完成后发送给从机,完成数据传输;步骤5-2:当从机发送数据到主机时,数据帧由从机发送到数据帧解码模块,在模块内部将数据帧拆分成前导码、目的地址、源地址、数据长度、以太网类型、有效数据和crc校验码;数据帧拆分后经过数据帧接码模块中的选择器进行选择,将目的地址和源地址存储在协议数据缓存模块的地址信息寄存器中,有效数据和crc校验码则经过crc校验模块比对正确后存储到协议数据缓存模块的数据寄存器中。
10.本发明技术方案的进一步改进在于:所述步骤5中,数据帧编/解码模块和协议数据缓存模块能够根据设计需要在axi数据总线上挂载多个,步骤7中dma模块能够根据设计需要在axi数据总线上挂载多个。
11.由于采用了上述技术方案,本发明取得的技术效果有:本发明基于soc架构设计实现工业以太网协议转换方法的新型芯片架构。芯片内部两条axi总线分别实现数据传输和控制信息传输功能,通过axi总线的握手机制,保证了数据传输的准确性;提出根据axi总线所能携带的id信息,区分不同工业以太网协议类型。
12.本发明设计的数据帧编/解码模块具有可配置性,通过不同的配置信息,能实现对不同工业以太网协议数据帧进行编码和解码操作,提高芯片使用灵活性。
13.本发明可在axi数据总线上挂载多数据帧编/解码模块,从而获得扩展功能,通过主机端配置实现支持不同工业以太网协议的从设备间进行数据交互,提高数据传输效率。
附图说明
14.图1是本发明的整体架构图;图2是本发明主机发送数据到从机流程图;图3是本发明的控制通路流程图;图4是本发明的数据通路流程图;图5是本发明的数据帧编/解码模块结构图。
具体实施方式
15.本发明是基于soc芯片架构设计的一种工业以太网协议转换方法,整体架构设计参考图1。通过本发明方法可有效提升主机端与多种不同协议传输方式的从机端数据交互速率,并根据发明中使用不同协议时id进行配置,以及axi总线的握手机制保证数据传输安全可靠。下面结合附图及具体实施例对本发明做进一步详细说明,所述实施例仅用于解释本发明的实施方式,而不能理解为对本发明实施方式的限制。
16.请参阅图2,本发明的功能实现:步骤1:主机端经过pcie模块将通过axi控制总线发送至控制寄存器模块。所述命
令信息以及控制寄存器信息包括读/写命令操作描述、host端所访问从机id、访问协议数据缓存模块地址、选择需要转换协议序号及时钟复位模块配置参数。
17.步骤2:cpu模块轮询读取控制寄存器模块内容。
18.步骤2-1:控制寄存器分为两个部分,一部分为地址信息寄存器,另一部分为命令信息寄存器。cpu首先轮询读取地址信息寄存器内信息,当cpu判断前后两次读出的同一地址的地址信息寄存器内数据出现差值,判断得出客户端访问地址变换。
19.步骤2-2:cpu模块采用第五代锐龙amdryzen处理器(r5)。当r5首先轮询读取地址信息寄存器中表示起始地址和结束地址寄存器信息时,当地址数据间的差值发生变换后,开始轮询读取命令信息寄存器信息,并对读取到的信息进行解析,所述命令信息寄存器信息包括:读/写命令操作描述、host端所访问从机id、访问协议数据缓存模块地址及选择需要转换协议序号。cup模块将解析完成的命令信息寄存器信息存储至cpu模块内挂在r5下的配置信息寄存器中。
20.步骤3:cpu模块将解析后的命令、配置信息通过axi控制总线分别发送至dma模块和数据帧编/解码模块。cpu模块首先发送dma模块配置所需参数,axi协议发送的数据通过dma模块挂在axi控制总线上所分配的地址找到dma模块,并将数据发送给dma模块。当dma模块初始化配置完成后,cpu模块再将数据帧编/解码模块所需参数通过axi控制总线进行下发,方式与配置dam模块方法相似。参阅图3,本发明控制通路实现。
21.步骤4:dma模块和数据帧编/解码模块根据控制总线发送的配置信息进行功能调整。
22.步骤4-1:cpu发送配置信息到dma模块。本发明中dma模块采用双通道dma,两通道分别用于主机到从机的写操作和读操作。所述dma模块通过axi数据总线分别连接协议数据缓存模块和pcie模块,其功能为将协议数据缓存模块中的数据取出并转发到pcie模块或将该数据通路反向。dma控制器接收cpu下发的配置信息包括源地址、目的地址以及传输量,其中传输量包括数据总量和数据位宽。dma根据源地址和目的地址区分所要读取数据的位置和数据转发位置,通过数据总量以及数据位宽计算出单次axi传输所需的突发长度。dma控制器通过配置信息,以axi接口发出读写请求到axi数据总线上,完成cpu对dma模块的配置,当本次配置所要求的操作完成后,即通过dma模块上的axi接口收到读响应或写响应后,通过数据通路反馈到cpu模块完成本次配置操作。
23.步骤4-2:cpu发送配置信息到数据帧编/解码模块。本发明中的数据帧编/解码模块为verilog语言编写,包括帧编码模块、帧解码模块和crc校验模块。其中帧解码模块负责为数据添加前导码、目的地址、源地址、数据长度及以太网类型。帧解码模块负责对接收的帧进行解码操作,识别目的地址和源地址、类识别以及提取协议中传输的有效数据。crc校验模块共两项功能,一是为数据添加crc校验码后发送给帧编码模块,二是校验帧解码模块发送的数据正确性。cpu的配置信息以参数形式传递进入数据帧编/解码模块,参数内容包括:前导码位宽,目的地址和源地址位宽,数据包类型位宽,协议数据位宽以及校验码位宽。当帧编/解码模块确定所接受的数据帧各部分参数后,按位宽对数据帧进行展开。解码模块将接收到的数据帧展开后获取其主要信息包括目的地址、源地址和协议数据。分别将地址信息和数据存储在协议数据缓存模块。
24.步骤5:从机将根据协议打包好的数据帧发送至数据帧编/解码模块,提取数据帧
中有效信息存储至协议数据缓存模块。或主机将要发送的数据传输到数据帧编/解码模块,对数据进行编码处理,打包成符合协议规范的数据帧,发送到从机。帧编/解码模块结构参考图5。
25.步骤5-1:当主机发送数据到从机时,经过cpu模块配置后的dma模块将所需要发送的数据从与主机连接的pcie模块取出,在dma模块内部,根据配置信息调整数据位宽和发送方式后,发送到axi数据总线上,并根据dma模块发送的地址,找到所对应从机数据帧编/解码模块中的crc校验模块。数据帧编码模块接收到数据后,为数据添加前导码、目的地址、源地址、数据长度及以太网类型。数据帧打包完成后发送给从机,完成数据传输。参阅图4,本发明数据通路实现。
26.步骤5-2:当从机发送数据到主机时,数据帧由从机发送到数据帧解码模块,在模块内部将数据帧拆分成前导码、目的地址、源地址、数据长度、以太网类型、有效数据和crc校验码。数据帧拆分后经过数据帧接码模块中的选择器进行选择,将目的地址和源地址存储在协议数据缓存模块的地址信息寄存器中,有效数据和crc校验码则经过crc校验模块比对正确后存储到协议数据缓存模块的数据寄存器中。
27.步骤6:dma模块读取协议数据缓存模块信息。当协议数据缓存模块非空时,会发送给cpu模块标志信息,此时cpu模块配置dma模块通过axi数据总线依次读取协议数据缓存模块中的地址信息寄存器和数据寄存器中的数据,经过dma模块的位宽转换组合成新的数据格式。
28.步骤7:dma模块将转换完成的数据通过axi数据总线发送到pcie模块,由pcie模块将数据发送给主机端完成数据传输。
29.本发明提出了一种基于soc芯片架构,设计出可接收不同工业以太网协议传输的数据,并转换成同种特定数据格式的协议转换方法。将多种工业以太网协议传输的数据实时分析整合后,根据用户需求,把接收到的数据帧按直接进行解码操作提取其中的有效信息。如此,用户端不需要再次对数据帧进行解码操作去获取其中的包含的信息,也可以获得多种协议所传输的数据,极大的减少了主机端的工作量,起到了提高传输速率,降低工作复杂度的作用。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1