[发明专利]一种多输入单输出的发送缓存控制器设计方法有效
| 申请号: | 201910446393.1 | 申请日: | 2019-05-27 |
| 公开(公告)号: | CN110134630B | 公开(公告)日: | 2023-02-10 |
| 发明(设计)人: | 徐伟 | 申请(专利权)人: | 西安电子工程研究所 |
| 主分类号: | G06F13/40 | 分类号: | G06F13/40 |
| 代理公司: | 西安凯多思知识产权代理事务所(普通合伙) 61290 | 代理人: | 刘新琼 |
| 地址: | 710100 *** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明涉及一种多输入单输出的发送缓存控制器设计方法,将目前信号处理机中FPGA软件对外接口时间流控制数据包发送改为数据包参数控制数据包发送。该方法可有效简化FPGA软件接口数据流发送设计,特别适用于需要频繁切换数据流发送速率的信号处理系统。 | ||
| 搜索关键词: | 一种 输入 输出 发送 缓存 控制器 设计 方法 | ||
【主权项】:
1.一种多输入单输出的发送缓存控制器设计方法,其特征在于步骤如下:步骤1:发送缓存控制器包括发送缓冲区、写入控制逻辑、读出控制逻辑三个部分;其中发送缓冲区用于缓存发送数据,包含N个分块,每个分块可存储一个完整数据包,数据包中应包含发送长度和发送速率信息;写入控制逻辑用于将M个端口接收数据写入N个发送缓冲区分块;读出控制逻辑用于从N个发送缓冲区分块中读取数据;步骤2:设计5个全局变量:端口空闲状态Ks、端口空闲变量Kn、接收指针变量Rp、发送指针变量Tp、待发送分块变量Rn,用于描述发送缓冲区状态;端口空闲状态Ks取值范围{0,1},用于描述当前发送缓存是否正在发送数据;初始化或者读出控制逻辑读完一个数据包置1状态,否则读出控制逻辑启动读一个数据包置0状态;端口空闲变量Kn取值范围[0,Knm],用于描述当发送缓存空闲状态时间,Knm表示最大值;接收指针变量Rp取值范围[0,N‑1],用于描述当前准备接收数据的缓冲区分块位置;初始化或者Kn==Knm‑1时刻,Rp设置0;否则每当收到有效数据包,Rp以N为模加1;发送指针变量Tp取值范围[0,N‑1],用于描述当前准备发送数据的缓冲区分块位置,初始化或者Kn==Knm‑1时刻,Tp设置0;否则每当发送完一个数据包,则Tp以N为模加1;待发送分块变量Rn取值范围[0,N+1],用于描述当前缓冲区中有Rn个分块需要发送,初始化或者Kn==Knm‑1时刻,Rn设置0;否则当某时刻仅有数据到达缓冲区则Rn+1;否则当某时刻仅有数据从缓冲区发完则Rn‑1;步骤3:写入控制逻辑设计如下,根据需要确定输入端口数量M,要求M<N;每当有一个端口接收到数据包有效,则根据当前接收指针变量Rp,将数据包写入第Rp个缓冲区分块;步骤4:发送缓冲区设计如下,发送缓冲区包括N个分块;每个分块由一个双口RAM组成,其中一个端口用于数据写入,另一个端口用于数据读出;步骤5:读出控制逻辑设计如下,设置数据包发送间隔参数Kni,Kni取值范围(0,Knm‑2);如果Rn>0&&Kn>Kni&&Ks==1,则先从缓冲区分块Tp中读出数据包长度及发送速率信息,并根据数据包长度及发送速率信息,读取完整数据包,发送到输出端口。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子工程研究所,未经西安电子工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910446393.1/,转载请声明来源钻瓜专利网。





