[发明专利]一种基于FPGA的POWERLINK从站帧缓存管理系统有效
申请号: | 201510577314.2 | 申请日: | 2015-09-11 |
公开(公告)号: | CN105162786B | 公开(公告)日: | 2018-05-22 |
发明(设计)人: | 宋宝;唐小琦;张航天;王源;颜外平;谢远龙;徐健;周向东;陈天航 | 申请(专利权)人: | 华中科技大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/863 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 曹葆青 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga powerlink 缓存 管理 系统 | ||
本发明公开了一种基于FPGA的POWERLINK从站帧缓存管理系统,在FPGA内部实现数据数据帧类型检测模块、数据数据帧缓存管理模块,使用FPGA内部块RAM作为帧缓存区,在数据帧接收过程中由数据帧类型检测模块对帧类型进行识别,并将结果传递给缓存管理模块,缓存管理模块动态安排存储结构,使不同类型的帧存放在RAM中的不同区域,互不干扰。本发明通过对存储结构的动态管理,避免了传统线型存储结构由于帧覆盖造成的数据丢失问题。
技术领域
本发明属于网络通信技术领域,更具体地,涉及一种基于FPGA的POWERLINK从站帧缓存管理系统。
背景技术
POWERLINK通信行规中包含7种类型的以太网数据帧,分别是SoC、PReq、PRes、SoA、ASnd、AMNI、AInv。
POWERLINK通信行规中,包含应用层数据的帧为Preq、Pres、Asnd中的SDO,其余类型数据帧用于网络管理。其中Preq、SDO帧属于单播帧,Pres帧属于广播帧。
如图1所示,在POWERLINK通信行规下有两种工作模式,在Powerlink模式下,通信周期细分为等时同步阶段和异步阶段,和空闲阶段。其中SoC帧的发送作为等时同步阶段的起点,接着重复进行Preq帧/Pres帧过程。SoA帧的发送作为等时同步阶段的结束和异步阶段的开始,在异步阶段,可以进行SDO通信。空闲阶段是一个周期之中同步阶段和异步阶段结束之后的通信空闲阶段,该阶段没有任何数据帧的传输。
网络管理数据帧要求从站在接收到之后立即进行处理并且应当在接收到下一帧之前处理完毕。过程数据帧Preq和Pres要求从站在一个通信周期内处理完毕。
SDO通信属于异步通信,从站对于接收到的SDO帧不必立即进行处理,只要在主站限定的时间之内处理完毕即可,而这个限定时间通常大于2个通信周期。
根据当前POWERLINK的解决方案,对帧的接收缓存处理有两种途径:
1、使用MAC芯片,所有数据帧按照先后到达的顺序全部存入MAC的缓存区中,由CPU调用缓存区中的内容。
2、使用可编程器件,如FPGA,调用OPENMAC IP核,OPENMAC将接收缓存DPRAM分成若干个区域,组成存储缓存队列,经过OPENMAC过滤的POWERLINK数据帧按照先后到达的顺序依次存放在存储队列中,当队列排满后,新的数据帧放在队列的起点。
第一种方案,MAC对于所有的数据帧不加分辨都接收,当网络中的从站数量增加之后,其中某一从站必将收到大量不属于本从站的数据帧,如果从站没有及时处理数据,当缓存区满后,必然出现数据被覆盖的情况,造成数据的丢失。
第二种方案,OPENMAC可以过滤掉不属于本从站的数据帧,但是该方法仍然存在问题,如前所述,SDO通信属于异步通信,SDO数据帧的处理不要求立即进行,受限于队列长度,SDO数据帧仍然可能在被处理之前就被覆盖掉。
对于上述问题,通常采取的措施是增加通信周期,或者增加缓存区的长度,以提供更多的时间供从站处理数据帧。但是前者将影响通信性能,后者受限于缓存区的长度,不可能无限增加缓存区的长度,同时两种措施都不能从根本上解决问题。
发明内容
本发明的主要目的旨在解决上述问题,通过对帧缓存结构进行动态规划,避免了有效数据由于处理不及时而被覆盖的问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510577314.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:浓溶液稀释装置
- 下一篇:厚浆型砂壁状涂料的搅拌装置