实时软件接收机中采集数据循环存储与分发方法_2

文档序号:9910140阅读:来源:国知局
指针控制模块判断> DMA_Cnt是否成立,如不成立转步骤3,否则转步骤4。
[0018]步骤3、循环存储指针控制模块判断更新中断次数循环计数变量Wr i t e _ C n t =ffrite_Cnt+l,写指针WritePointer=WritePointer+WriteSize,转步骤5。
[0019]步骤4、循环存储指针控制模块判断更新中断次数循环计数变量Write_Cnt = 0,写指针 WritePo inter = BufferAddr,转步骤 5 ο
[0020]步骤5、循环存储指针控制模块判断Write_Cnt大于等于捕获长度及启动捕获标志无效是否同时成立,如成立则转步骤6,否则转步骤7。
[0021 ]步骤6、循环存储指针控制模块判断设置启动捕获标志有效。
[0022]步骤7、循环存储指针控制模块判断模ReadSize是否为O,如成立则转步骤8,否则转步骤9。
[0023]步骤8、循环存储指针控制模块判断更新RemainderCnt = RemainderCnt+l。
[0024]步骤9、循环分发指针控制模块判断RemainderCnt大于O以及捕获完成标志有效是否同时成立,如成立转步骤10,否则转步骤17。
[0025]步骤10、循环分发指针控制模块判断ReadPointer+DataLen > BufferAddrEnd是否成立,如成立转步骤11,否则转步骤12。
[0026]步骤11、循环分发指针控制模块更新DataLen = BufferAddrEnd-ReadPointer,转步骤13。
[0027]步骤12、循环分发指针控制模块更新DataLen = ReadSize,转步骤13。
[0028]步骤13、循环分发指针控制模块从ReadPointer处拷贝DataLen个数据给解调线程,更新写指针:ReadPo inter = ReadPointer+DataLen ;
步骤14、循环分发指针控制模块判断ReadPointer > BufferAddrEnd是否成立,成立转步骤15,不成立转步骤16;
步骤 15、循环分发指针控制模块更新 ReadPo inter = Buf f er Addr,DataLen = ReadSi z e ;步骤16、循环分发指针控制模块更新RemainderCnt = RemainderCnt-1 ;
步骤17、数据存储与分发线程当未收到数据存储与分发线程结束标志时转步骤I,否则转步骤18;
步骤18、注销线程,退出程序;
最后所应说明的是,以上实施方法与步骤仅用以说明本发明的技术方案而非限制,尽管参照上述实施方法与步骤对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
【主权项】
1.一种实时软件接收机中采集数据循环存储与分发方法,其特征在于包括如下步骤:首先,在计算机中分配一块容量为每次中断上报数据量整数倍的缓存器,对采集数据进行实时循环存储;采集数据经PCIE总线上报到计算机后,在循环存储指针控制模块控制下写入缓存器;当启动捕获标志有效时,单次分发指针控制模块启动单次数据分发流程,向捕获线程传递分发地址指针与分发数据长度,捕获线程从分发地址指针处拷贝数据到GPU中进行信号捕获操作;捕获线程完成捕获操作后,设置捕获完成标志有效;当捕获完成标志有效时,循环分发指针控制模块判断未分发数据块计数变量是否大于O,如果未分发数据块计数变量大于O,则启动循环数据分发流程;每存储标准分发数据长度个数据后,循环存储指针控制模块令未分发数据块计数变量执行加I操作,当数据存储指针到达缓存器尾部时,循环存储指针控制模块令数据采集卡中断次数循环计数变量归O,数据存储指针更新为缓存器首地址;当数据分发指针未到达缓存器尾部时,数据循环分发指针控制模块分发标准分发数据长度个数据给解调线程,并令未分发数据块计数变量执行减I操作,同时依照分发数据长度更新循环分发地址指针,当分发数据地址指针达到缓存器尾部时,分发数据长度等于分发时刻分发地址指针至循环缓存器尾部之间的数据长度,数据分发完成后,数据循环分发指针控制模块再更新数据循环分发指针等于缓存器首地址,分发数据长度等于标准分发数据长度。2.按权利要求1所述的实时软件接收机中采集数据循环存储与分发方法,其特征在于,数据采集与分发线程在计算机中分配一块容量为DMA_Cnt个中断上报数据包大小的缓存器。3.缓存器的首尾地址分别为131^€6^(1(11'和131^€6^(1(1杜11(1,每次中断上报数据包对应的数据个数为ffriteSize,采集设备写入缓存器的地址指针为fcitePointer;循环存储指针控制模块判断PCIE中断信号是否到来,如果出现中断,则判断数据采集中断次数循环计数变量Write_Cnt > DMA_Cnt是否成立。4.按权利要求1所述的实时软件接收机中采集数据循环存储与分发方法,其特征在于,如果出现中断,循环存储指针控制模块判断ffrite_Cnt > DMA_Cnt是否成立,如不成立更新中断次数循环计数变量W^rite.CntzWrite.Cnt+l,写指针WritePointer= WritePointer+Wri teSize,如果判断条件成立,更新中断次数循环计数变量Wri te_Cnt = 0,写指针WritePointer=BufferAddr,完成上述条件判断后,在更新后的fcitePo inter处写入采集卡上报的WriteSize个数据,完成一次循环存储操作。5.按权利要求1所述的实时软件接收机中采集数据循环存储与分发方法,其特征在于,在完成一次循环存储操作后,循环存储指针控制模块判断ffrite_Cnt大于等于捕获长度及启动捕获标志无效是否同时成立,如成立则设置启动捕获标志有效。6.按权利要求1所述的实时软件接收机中采集数据循环存储与分发方法,其特征在于,循环分发指针控制模块判断teSize的乘积对标准分发数据长度ReadSize进行取模运算是否为0,ReadSiZe等于WriteSize整数倍,可以对两者倍数关系进行灵活调整以满足不同信息速率解调时延与实时软件解调最小处理时间的需求;如判断条件成立则更新缓存器中未分发数据块数变量RemainderCnt= RemainderCnt +1,然后判断RemainderCnt大于O以及捕获完成标志有效是否同时成立。7.按权利要求1所述的实时软件接收机中采集数据循环存储与分发方法,其特征在于,循环分发时,循环分发指针控制模块从缓存器读出数据地址指针为ReadPointer,从缓存器中单次循环分发到解调线程的数据数目为DataLen,当读指针ReadPointer没有到达缓存器尾部时DataLen等于ReadSize,循环分发指针控制模块判断RemainderCnt大于O以及捕获完成标志有效同时成立,如判断条件不成立,则判断数据循环存储与分发线程是否注销,如果判断条件成立,则判断ReadPointer+DataLen > BufferAddrEnd是否成立。8.按权利要求1所述的实时软件接收机中采集数据循环存储与分发方法,其特征在于,循环分发指针控制模块判断ReadPointer+DataLen > BufferAddrEnd是否成立,如成立更新DataLen=BufferAddrEnd-ReadPointer,如不成立更新DataLen= ReadSize ;然后从ReadPointer处拷贝DataLen个数据给解调线程,单次循环数据分发操作完成,更新写指针ReadPointer= ReadPointer +DataLen09.按权利要求1所述的实时软件接收机中采集数据循环存储与分发方法,其特征在于,在单次循环数据分发操作完成后,循环分发指针控制模块判断从缓存器读出数据地址指针ReadPointer >缓存器尾地址BufferAddrEnd是否成立,若成立更新ReadPointer等于缓存器首地址BufferAddr ,DataLen=ReadSize ;完成判断与更新后,循环分发指针控制模块更新RemainderCnt=RemainderCnt-1。10.按权利要求1所述的实时软件接收机中采集数据循环存储与分发方法,其特征在于,当数据存储与分发线程未收到数据存储与分发线程结束标志时,返回判断PCIE中断信号是否到来步骤,否则注销线程,退出程序。11.按权利要求1所述的实时软件接收机中采集数据循环存储与分发方法,其特征在于,当数据存储写指针到达缓存器尾部时Write_Cnt自动归O,写指针更新为BufferAddr。
【专利摘要】本发明公开了一种实时软件接收机中采集数据循环存储与分发方法,旨在提供一种能对不同体制、不同速率测控通信信号进行实时循环存储,分发速率可控的数据循环存储与分发的方法。本发明通过下述技术方案予以实现:采集数据经PCIE总线上报到计算机后,在循环存储指针控制模块控制下写入缓存器;当启动捕获标志有效时,单次分发指针控制模块向捕获线程传递分发地址指针与分发数据长度;捕获完成后循环分发指针控制模块进行数据循环分发操作,当分发数据地址指针达到缓存器尾部时,分发数据长度等于分发时刻分发地址指针至循环缓存器尾部之间的数据长度,数据分发完成后,数据循环分发指针控制模块再更新数据循环分发指针等于缓存器首地址。
【IPC分类】G05B19/04, G01S19/24, G01S19/37
【公开号】CN105676689
【申请号】CN201610015647
【发明人】晏辉
【申请人】中国电子科技集团公司第十研究所
【公开日】2016年6月15日
【申请日】2016年1月11日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1