一种基于FPGA的SLIP到千兆以太网的转换系统的制作方法

文档序号:18822847发布日期:2019-10-09 01:04阅读:533来源:国知局
一种基于FPGA的SLIP到千兆以太网的转换系统的制作方法

本发明涉及电子信息技术领域,具体为一种基于fpga的slip到千兆以太网的转换系统。



背景技术:

slip是windows远程访问的一种工业标准,在很多的系统和设备上仍广泛使用;千兆以太网因其高速、高效、高性能的特点,已经发展成为主流的网络技术,被广泛运用在各个行业和领域;因此不同系统和设备之间难免要进行slip和千兆以太网之间的协议转换,而目前还没有专用的芯片可以实现slip到千兆以太网的直接转换。



技术实现要素:

(一)解决的技术问题

针对现有技术的不足,本发明提供了一种基于fpga的slip到千兆以太网的转换系统,具备fpga的slip到千兆网的转换等优点,解决了目前还没有专用的芯片可以实现slip到千兆以太网的直接转换的问题。

(二)技术方案

为实现上述fpga的slip到千兆网的转换等目的,本发明提供如下技术方案:一种基于fpga的slip到千兆以太网的转换系统,包括以下模块:slip_deframer模块、mactx模块、gephy模块;

其中:

上述slip_deframer模块用于接收slip帧格式数据,进行解封装操作,其包含一个decapop、ram、fsm及fifo等四个部分;

上述mactx模块用于接收来自slip解封装模块的mac帧,添加前导码和crc,通过gmii接口发送到gephy模块;

上述gephy模块用于接收gmii总线上的mac帧转换为串行的数据流,并发送到sgmii总线上。

进一步的,所述gephy模块是fpga内嵌千兆以太网phy模块。

一种基于fpga的slip到千兆以太网的转换系统,包括以下步骤:

s1、将slip帧数据进行解封装;

s2、将slip解封装后的8bitmac帧添加前导码和crc;

s3、将gmii总线上的mac帧转换为串行数据,通过sgmii总线将以太网报文发送到外部phy芯片。

(三)有益效果

与现有技术相比,本发明提供了一种基于fpga的slip到千兆以太网的转换系统,具备以下有益效果:该基于fpga的slip到千兆以太网的转换系统,针对目前业界没有专用芯片可以实现slip到千兆网的直接转换,提出了一种基于fpga的slip到千兆网的转换系统,填补了这一空缺。

附图说明

图1是本发明转换系统的整体模块框图;

图2是本发明slip_deframer模块框图;

图3是本发明slip解封装流程示意图;

图4是本发明slip解封装时序示意图;

图5是本发明mactx模块输出的数据格式示意图。

具体实施方式

下面将结合本发明的实施例和附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种基于fpga的slip到千兆以太网的转换系统,包括以下模块:slip_deframer模块、mactx模块、gephy模块,如图1所示;

其中:

上述slip_deframer模块用于接收slip帧格式数据,进行解封装操作,其包含一个decapop、ram、fsm及fifo等四个部分;

slip_deframer模块收到的slip格式的帧进行解封装操作,将slip帧中封装的mac帧提取出来并发送到mactx模块;模块组成如图2所示;

ram用于存储解封装之后的mac帧,当ram中至少有一个mac帧时才开始送出mac帧,由于slip_deframer模块输出到mactx模块远大于slip帧数据输入带宽,因此ram中最多只需要存放两帧数据,支持的最大帧为9000字节长度,所以ram缓存可配置为32k深度;

fifo用于存放每帧帧长和帧在ram中的起始地址等信息,帧长由decapop解析slip帧数据得出。

首先从输入的有效数据中搜索结束字符8’hc0,第一个不是结束字符的数据即为一帧的开始,状态机跳转到空帧检测状态,在空帧检测状态中,接收12个字节的数据到移位寄存器中,判断这12个字节是否为空帧所定义的前12个数据;之后跳转到搜索结束字符状态,以监测一帧的结束;搜索到结束字符后,表示这一帧已结束,跳回到idle状态,开始下一帧的接收,slip解封装流程如图3所示。

检测到数据帧后,接收到的数据会写入ram中,一直到帧结束,同时将此帧的ram起始地址和长度值存入fifo中;如果是空帧,不写入ram中。写ram的时序示意图如图4所示:

din为输入的数据信号,state为写入控制状态机,din_dly13为din的延迟13拍信号,与wren相对应,是写入ram的数据信号,wren为ram的写入使能信号。在空帧检测状态的最后一个周期,当判断输入的是数据帧后,wren会拉高,数据开始写入ram中;在搜索结束字符状态,wren一直为高;搜索结束字符状态结束后,由于写入ram的是数据延迟信号,因此需要继续维持写入12个周期。

slip协议中存在两个特殊字符8’hc0和8’hdb,当数据帧中前后连续两个字节是8’hdb和8’hdc或者8’hdb和8’hdd时,需要在写入ram前将这两个字节分别转换为8’hc0或者8’hdb。

当din_dly13中前后连续两个字节是8’hdb和8’hdc或者8’hdb和8’hdd时(与din_dly12拼接判断),将wren拉低一个周期;如果两个字节是8’hdb和8’hdc,则将拉低wren之前的最近一个周期写入ram的数据转换为8’hc0;如果两个字节是8’hdb和8’hdd,则将拉低wren之前的最近一个周期写入ram的数据转换为8’hdb。

在一帧数据完全写入ram后,将此帧在ram中的起始地址和长度值存入fifo中。

当ram中存有至少一个帧时,从fifo中读出一个数据,根据此数据中包含的ram起始地址和帧长度,从ram中读出一个帧发送出去,依次循环。

上述mactx模块用于接收来自slip解封装模块的mac帧,添加前导码和crc,通过gmii接口发送到gephy模块,如图5所示;

上述gephy模块用于接收gmii总线上的mac帧转换为串行的数据流,并发送到sgmii总线上;gephy模块是fpga内嵌千兆以太网phy模块,通过sgmii接口与外部的phy芯片相连,完成与外部phy芯片的数据收发功能。

一种基于fpga的slip到千兆以太网的转换系统,包括以下步骤:

s1、将slip帧数据进行解封装;

s2、将slip解封装后的8bitmac帧添加前导码和crc;

s3、将gmii总线上的mac帧转换为串行数据,通过sgmii总线将以太网报文发送到外部phy芯片。

本发明针对目前业界没有专用芯片可以实现slip到千兆网的直接转换,提出了一种基于fpga的slip到千兆网的转换系统,填补了这一空缺。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1