[发明专利]基于FPGA的实现多路突发数据业务缓存的系统及方法有效
| 申请号: | 201010580752.1 | 申请日: | 2010-12-09 |
| 公开(公告)号: | CN102096648A | 公开(公告)日: | 2011-06-15 |
| 发明(设计)人: | 林彬;周学兵;宋海波;郑楠;黄良静 | 申请(专利权)人: | 深圳中兴力维技术有限公司 |
| 主分类号: | G06F13/18 | 分类号: | G06F13/18;G06F5/16 |
| 代理公司: | 深圳市永杰专利商标事务所(普通合伙) 44238 | 代理人: | 王志强 |
| 地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 fpga 实现 突发 数据业务 缓存 系统 方法 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种基于FPGA实现多路突发数据业务缓存的系统及方法。
背景技术
在通信技术领域中,经常需要对多路具有突发、变长、非定时等特性的通信数据业务进行缓存处理,以便后级模块固定速率的处理;特别对于不同速率的协议转换,更需要对多路突发数据业务进行缓存处理;在现有的技术中,对多路突发数据业务的缓存,有多种缓存方法,其实现方法分别为。
(1)采用专用的ASIC芯片以堆叠的方式来实现;但专用的ASIC芯片提供的通道数有限,每片ASIC芯片需要独立外挂存储器芯片;在实现更多路(N>2)突发数据业务时,就需要更多的ASIC芯片与存储器芯片,造成硬件成本高,单板布线难度大。
(2)采用FPGA片内RAM来实现;目前的FPGA内部一般都提供一定数目,固定容量大小的RAM,利用这些RAM资源的组合,每路独立采用数据队列的方式,来实现多路数据业务的缓存(见图1);但FPGA提供的片内RAM资源十分有限,一方面造成分配给多路数据的数据队列深度有限,无法应对像视频数据一样的突发数据;另一方面如果要满足数据队列的一定深度,缓存多路数据的通道数量就变得有限,无法实现通道数更多的情况。
(3)采用FPGA片内RAM配合片外RAM芯片来实现;如图2所采用的方式,多路突发数据业务由FPGA内部逻辑实现的仲裁器以固定优先级方式缓存到片外RAM芯片中,每路突发数据的每个数据包长度信息存储于由FPGA片内RAM组成的数据包长度RAM中;该方式相比方法(1)、(2)要灵活,但仍存在缺陷:一,由FPGA片内RAM实现的数据包长度RAM,其深度决定了缓存到片外RAM芯片的数据包个数,由于FPGA片内RAM资源有限,一方面限制了数据包长度RAM的深度,即限制了缓存到片外RAM数据包的个数;另一方面在满足数据包长度RAM深度要求时,又限制了通道数个数;二,多路突发数据采用固定优先级方式缓存到片外RAM时,优先级高的通道在数据业务量大的情况下,会造成优先级低的通道的数据业务得不到及时处理,容易出现“饥饱”现象。
发明内容
本发明的目的在于克服上述方法所存在的缺点,提供一种基于FPGA实现多路突发数据业务缓存的系统及方法。
本发明实施例是这样实现的:一种基于FPGA的实现多路突发数据业务缓存的系统,包括用于缓存多路突发数据的片外缓存器和提供RAM资源的FPGA芯片;所述FPGA芯片包括:片外缓存控制器,多路突发数据缓存管理电路,以及与数据通道数一致的数据包接收及缓冲电路、数据包写控制电路、数据包缓冲及发送电路、数据包读控制电路;其中,
所述数据包接收及缓冲电路,其输入端接收外界的突发数据输入、输出端与数据包写控制电路连接,包括数据包接收控制电路以及接收缓冲区,用于在接收缓冲区为空时接收外界输入的突发数据并将其写入接收缓冲区中,且在写入完整的数据包时置位整包标志位;
所述数据包写控制电路,其输入端与数据包接收及缓冲电路连接、输出端与多路突发数据缓存管理电路连接,用于在所述整包标志位被置位且片外存储器中对应通道的缓存区为非满状态时,在向多路突发数据包缓冲管理电路申请并得到授权的情况下,读取接收缓冲区中完整的数据包并将其与其长度信息组合成新的数据流缓存到片外存储器中对应通道的缓存区中,同时生成下一个写操作的行地址信息;
所述数据包缓冲及发送电路,其输入端与数据包读控制电路连接、输出端与外界端口连接,包括发送缓冲区以及数据包发送控制电路,用于缓冲完整的数据包并将其发送至外界端口;
所述数据包读控制电路,其输入端与多路突发数据缓存管理电路连接、输出端与数据包缓冲及发送电路连接,用于发送缓冲区为空且片外存储器中对应通道的缓存区为非空状态时,在向多路突发数据包缓冲管理电路申请并得到授权的情况下从片外存储器中对应通道的缓存区中读取完整的数据包后写入发送缓冲区中,同时生成下一个读操作的行地址信息;
所述多路突发数据包缓存管理电路,分别连接至多路数据包写控制电路及数据包读控制电路,并与片外缓存控制器连接,用于在接收到多路突发数据的读包申请/写包申请时对发送申请的突发数据通道进行仲裁及授权、再对授权的通道授权具体的读操作/写操作,生成当前读/写操作的列地址信息,将数据包写入片外缓存器或将数据包从片外缓存器中读取出来;
所述片外缓存控制器,与多路突发数据包缓存管理电路和片外缓存器分别连接,用于对片外缓存器进行控制。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳中兴力维技术有限公司,未经深圳中兴力维技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010580752.1/2.html,转载请声明来源钻瓜专利网。





