[发明专利]集约式数据帧队列控制器及控制方法有效
申请号: | 201210574664.X | 申请日: | 2012-12-26 |
公开(公告)号: | CN103902249A | 公开(公告)日: | 2014-07-02 |
发明(设计)人: | 王红春;牛文生;黄韬;邱征 | 申请(专利权)人: | 中国航空工业集团公司第六三一研究所 |
主分类号: | G06F5/01 | 分类号: | G06F5/01 |
代理公司: | 西安智邦专利商标代理有限公司 61211 | 代理人: | 姚敏杰 |
地址: | 710068 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 集约 数据 队列 控制器 控制 方法 | ||
1.一种集约式数据帧队列控制器,其特征在于:所述集约式数据帧队列控制器包括用于顺序存放所有数据帧首地址的FIFO、用于存储器存放数据帧长度和内容的共享存储资源的双端口存储器以及用于实现数据帧队列控制管理的专用控制逻辑;所述专用控制逻辑分别与FIFO以及双端口存储器相连。
2.根据权利要求1所述的集约式数据帧队列控制器,其特征在于:所述专用控制逻辑包括用于存放环形队列包括队列首地址QueueHeadPtr、队列尾地址QueueTailPtr、队列长度QueueLength、最大数据帧长Frame_MAXLen的控制寄存器组;
根据控制寄存器组中队列首地址QueueHeadPtr、队列尾地址QueueTailPtr,获取双端口存储器中空闲存储空间,将数据帧的长度和内容写入到双端口存储器中,同时将数据帧在双端口存储器的首地址写入到FIFO,并调整队列尾地址QueueTailPtr的输入控制单元;
以及读取FIFO中的数据帧首地址,根据数据帧首地址从双端口存储器中读取数据帧,并调整队列首地址QueueHeadPtr的输出控制单元;
所述输入控制单元通过双端口存储器接入输出控制单元;所述控制寄存器组分别与FIFO以及双端口存储器相连。
3.根据权利要求2所述的集约式数据帧队列控制器的控制方法,其特征在于:所述控制方法包括以下步骤:
1)对控制寄存器组以及FIFO进行初始化;
2)数据帧输入单元将新收到数据帧写入到双端口存储器,并将数据帧的地址写入到FIFO中;
3)数据帧输出单元从FIFO中获取数据帧首地址,根据数据首帧从双端口存储器读取数据帧的内容。
4.根据权利要求3所述的控制方法,其特征在于:所述步骤1)的具体实现方式是:
1.1)设置队列首地址和队列尾地址:将控制寄存器组中的队列首地址QueueHeadPtr、队列尾地址QueueTailPtr分别设置为零;
1.2)设置队列长度:根据双端口存储器的大小设置控制寄存器组中队列长度QueueLength;
1.3)设置最大数据帧长:按照预先定义最大帧长,设置控制寄存器组中最大数据帧长Frame_MAXLen;Frame_MAXLen取值为4字节的整数倍;
1.4)对FIFO进行复位:复位FIFO,清空FIFO中存放的所有信息。
5.根据权利要求4所述的控制方法,其特征在于:所述步骤1.3)中的取值范围是在32-4096字节之间。
6.根据权利要求4或5所述的控制方法,其特征在于:所述步骤2)的具体实现方式是:
2.1)判断双端口存储器的空满状态:若数据帧环形队列满,则直接丢弃该数据帧;若否,则执行步骤2.2);
2.2)判断FIFO状态:判断FIFO是否已满,若FIFO已满,则直接丢弃该数据帧;若否,则执行步骤2.3);
2.3)计算数据帧在存储单元中首地址:所述数据帧在存储单元中的首地址是双端口存储器在逻辑上构成一个数据帧环形队列的尾地址QueueTailPtr;
2.4)将数据帧的长度和内容写入数据帧首地址对应的存储单元中;
2.5)将数据帧首地址写入到FIFO中:
2.6)调整队列尾地址QueueTailPtr,所述QueueTailPtr是QueueTailPtr与Frame_Len之和,判断新的QueueTailPtr后续存储区域是否还能存放一个最大数据帧,当(QueueTailPtr+Frame_MAXLen)%QueueLength小于QueueTailPtr成立,表示队列尾地址QueueTailPtr已到双端口存储器的尾端,则设置队列尾地址QueueTailPtr为零。
7.根据权利要求6所述的控制方法,其特征在于:所述步骤2.1)中双端口存储器在逻辑上构成一个数据帧环形队列,所述数据帧环形队列判断为满的条件是:(QueueTailPtr+2*Frame_MAXLen)%QueueLength>=QueueHeadPtr。
8.根据权利要求7所述的控制方法,其特征在于:所述步骤3)的具体实现方式是:
3.1)判断FIFO的状态,若FIFO为空,则双端口存储器无新的数据帧,直接返回;若否,则执行步骤3.2);
3.2)从FIFO中读取数据帧首地址Frame_Addr;
3.3)根据数据帧首地址,从双口存储器的数据帧首地址处读取前四字节作为数据帧的长度Frame_Len,根据数据帧的长度,从双口存储器的数据帧首地址Frame_Addr+4处读取数据帧的内容;
3.4)调整环形队列的队列首地址QueueHeadPtr,将QueueHeadPtr设置为Frame_Addr。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司第六三一研究所,未经中国航空工业集团公司第六三一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210574664.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种节能瓦及其制备方法
- 下一篇:用于管道清洗装置的自动纠偏控制方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置