[发明专利]一种基于FPGA内存动态分配的数据交换方法及装置在审
申请号: | 202111093096.7 | 申请日: | 2021-09-17 |
公开(公告)号: | CN113836048A | 公开(公告)日: | 2021-12-24 |
发明(设计)人: | 赵会彬;周东杰;王振华;吕玄兵;牟涛;李超;马志敏;朱付强 | 申请(专利权)人: | 许昌许继软件技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F9/50 |
代理公司: | 北京中政联科专利代理事务所(普通合伙) 11489 | 代理人: | 张吉和 |
地址: | 461000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 内存 动态分配 数据 交换 方法 装置 | ||
本发明涉及一种基于FPGA内存动态分配的数据交换方法及装置,采用现场可编程FPGA器件实现以太网二层交换处理业务,采用内存动态分配策略,即使用FPGA内部RAM实现一级缓存单元和二级缓存单元作为转发报文缓存,一级缓存单元缓存二层交换处理后的以太网报文,二级缓存单元动态分配给有报文突发传输的某一个端口。一般情况只使用一级缓存单元作为转发报文缓存,当某端口瞬时流量过大时就申请占用二级缓存单元,报文发完后释放二级缓存单元,二级缓存单元动态分配给瞬时流量大的端口,合理高效的使用了FPGA内部缓存,省掉了常规报文缓存策略需要挂载的SDRAM。
技术领域
本发明涉及通讯及电力系统自动化技术领域,尤其涉及一种基于FPGA内存动态分配的数据交换方法及装置。
背景技术
随着变电站数字化和智能化的不断发展,对网络通信的多样化和个性化需求要求越来越多,传统的网络交换芯片的局限性越来越明显。适用于1000kV及以下各种电压等级的母线保护装置,包含主机箱和子机箱,主机箱要通过网络完成SV采样和GOOSE跳闸等功能,子单元为主机箱的扩展,也要完成SV和GOOSE的数据接收以及和主机通信,该母线保护装置的网络拓扑结构如图1所示,子机通过交换机端口5和主机外部级联通信,子机交换机端口1至端口4和外部网络通信,端口1至端口4是点对点通信报文流量是可控的,端口5是端口1至端口4的汇聚口,瞬时流量可能会很大,交换机需要处理好端口5的报文突发传输。
以太网交换机是一种用于信号转发的网络设备,可以为接入交换机的任意两个网络节点提供独享的信号通路。工作于OSI参考模型的第二层数据链路层的交换机,即二层交换机,没有IP路由功能,仅处理数据链路层的交换业务。当前实现网络交换有两种策略,一是使用现成的网络芯片;二是使用现场可编程器件FPGA实现网络交换功能。在网络拓扑结构改变时,网络交换芯片无法改变自身结构,使用会受到局限;目前使用FPGA实现的网络交换都会使用外置SRAM存储器,用于临时储存转发的网络包,硬件成本和实现复杂度高。
发明内容
基于现有技术的上述情况,本发明的目的在于提供一种基于FPGA内存动态分配的数据交换方法及装置,采用内存动态分配策略以解决级联口的报文缓存问题,其中缓存仅使用FPGA内部RAM实现,降低了硬件成本和实现的复杂度。
为达到上述目的,根据本发明的一个方面,提供了一种基于FPGA内存动态分配的数据交换方法,包括步骤:
S1、接收以太网报文,从中解析出转发目的端口并将其封装至转发报文中;
S2、将所述转发报文存放至一级缓存单元;
S3、判断二级缓存单元的占用情况,并根据判断结果对该转发报文进行处理。
进一步的,所述一级缓存单元和二级缓存单元均由FPGA内存提供。
进一步的,所述二级缓存单元可动态分配。
进一步的,所述判断二级缓存单元的占用情况,并根据判断结果对该转发报文进行处理包括:
S31、查询所述目的端口是否占用二级缓存单元,若是,则跳转至步骤S36;若否,则执行步骤S34;
S34、判断所述目的端口的发送缓存是否已满,若是,则执行步骤S35;若否,则跳转至步骤S38;
S35、判断二级缓存单元是否空闲,若是,则执行步骤S36;若否,则报文数据溢出;
S36、将所述转发报文存放至二级缓存单元;
S37、当所述二级缓存单元为非空时,等待直至所述目的端口的发送缓存有空间;
S38、将所述报文数据写入该目的端口的发送缓存并发送。
进一步的,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于许昌许继软件技术有限公司,未经许昌许继软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111093096.7/2.html,转载请声明来源钻瓜专利网。