亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

實時軟件接收機中采集數(shù)據(jù)循環(huán)存儲與分發(fā)方法_2

文檔序號:9910140閱讀:來源:國知局
指針控制模塊判斷> DMA_Cnt是否成立,如不成立轉步驟3,否則轉步驟4。
[0018]步驟3、循環(huán)存儲指針控制模塊判斷更新中斷次數(shù)循環(huán)計數(shù)變量Wr i t e _ C n t =ffrite_Cnt+l,寫指針WritePointer=WritePointer+WriteSize,轉步驟5。
[0019]步驟4、循環(huán)存儲指針控制模塊判斷更新中斷次數(shù)循環(huán)計數(shù)變量Write_Cnt = 0,寫指針 WritePo inter = BufferAddr,轉步驟 5 ο
[0020]步驟5、循環(huán)存儲指針控制模塊判斷Write_Cnt大于等于捕獲長度及啟動捕獲標志無效是否同時成立,如成立則轉步驟6,否則轉步驟7。
[0021 ]步驟6、循環(huán)存儲指針控制模塊判斷設置啟動捕獲標志有效。
[0022]步驟7、循環(huán)存儲指針控制模塊判斷模ReadSize是否為O,如成立則轉步驟8,否則轉步驟9。
[0023]步驟8、循環(huán)存儲指針控制模塊判斷更新RemainderCnt = RemainderCnt+l。
[0024]步驟9、循環(huán)分發(fā)指針控制模塊判斷RemainderCnt大于O以及捕獲完成標志有效是否同時成立,如成立轉步驟10,否則轉步驟17。
[0025]步驟10、循環(huán)分發(fā)指針控制模塊判斷ReadPointer+DataLen > BufferAddrEnd是否成立,如成立轉步驟11,否則轉步驟12。
[0026]步驟11、循環(huán)分發(fā)指針控制模塊更新DataLen = BufferAddrEnd-ReadPointer,轉步驟13。
[0027]步驟12、循環(huán)分發(fā)指針控制模塊更新DataLen = ReadSize,轉步驟13。
[0028]步驟13、循環(huán)分發(fā)指針控制模塊從ReadPointer處拷貝DataLen個數(shù)據(jù)給解調(diào)線程,更新寫指針:ReadPo inter = ReadPointer+DataLen ;
步驟14、循環(huán)分發(fā)指針控制模塊判斷ReadPointer > BufferAddrEnd是否成立,成立轉步驟15,不成立轉步驟16;
步驟 15、循環(huán)分發(fā)指針控制模塊更新 ReadPo inter = Buf f er Addr,DataLen = ReadSi z e ;步驟16、循環(huán)分發(fā)指針控制模塊更新RemainderCnt = RemainderCnt-1 ;
步驟17、數(shù)據(jù)存儲與分發(fā)線程當未收到數(shù)據(jù)存儲與分發(fā)線程結束標志時轉步驟I,否則轉步驟18;
步驟18、注銷線程,退出程序;
最后所應說明的是,以上實施方法與步驟僅用以說明本發(fā)明的技術方案而非限制,盡管參照上述實施方法與步驟對本發(fā)明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發(fā)明的技術方案進行修改或者等同替換,而不脫離本發(fā)明技術方案的精神和范圍。
【主權項】
1.一種實時軟件接收機中采集數(shù)據(jù)循環(huán)存儲與分發(fā)方法,其特征在于包括如下步驟:首先,在計算機中分配一塊容量為每次中斷上報數(shù)據(jù)量整數(shù)倍的緩存器,對采集數(shù)據(jù)進行實時循環(huán)存儲;采集數(shù)據(jù)經(jīng)PCIE總線上報到計算機后,在循環(huán)存儲指針控制模塊控制下寫入緩存器;當啟動捕獲標志有效時,單次分發(fā)指針控制模塊啟動單次數(shù)據(jù)分發(fā)流程,向捕獲線程傳遞分發(fā)地址指針與分發(fā)數(shù)據(jù)長度,捕獲線程從分發(fā)地址指針處拷貝數(shù)據(jù)到GPU中進行信號捕獲操作;捕獲線程完成捕獲操作后,設置捕獲完成標志有效;當捕獲完成標志有效時,循環(huán)分發(fā)指針控制模塊判斷未分發(fā)數(shù)據(jù)塊計數(shù)變量是否大于O,如果未分發(fā)數(shù)據(jù)塊計數(shù)變量大于O,則啟動循環(huán)數(shù)據(jù)分發(fā)流程;每存儲標準分發(fā)數(shù)據(jù)長度個數(shù)據(jù)后,循環(huán)存儲指針控制模塊令未分發(fā)數(shù)據(jù)塊計數(shù)變量執(zhí)行加I操作,當數(shù)據(jù)存儲指針到達緩存器尾部時,循環(huán)存儲指針控制模塊令數(shù)據(jù)采集卡中斷次數(shù)循環(huán)計數(shù)變量歸O,數(shù)據(jù)存儲指針更新為緩存器首地址;當數(shù)據(jù)分發(fā)指針未到達緩存器尾部時,數(shù)據(jù)循環(huán)分發(fā)指針控制模塊分發(fā)標準分發(fā)數(shù)據(jù)長度個數(shù)據(jù)給解調(diào)線程,并令未分發(fā)數(shù)據(jù)塊計數(shù)變量執(zhí)行減I操作,同時依照分發(fā)數(shù)據(jù)長度更新循環(huán)分發(fā)地址指針,當分發(fā)數(shù)據(jù)地址指針達到緩存器尾部時,分發(fā)數(shù)據(jù)長度等于分發(fā)時刻分發(fā)地址指針至循環(huán)緩存器尾部之間的數(shù)據(jù)長度,數(shù)據(jù)分發(fā)完成后,數(shù)據(jù)循環(huán)分發(fā)指針控制模塊再更新數(shù)據(jù)循環(huán)分發(fā)指針等于緩存器首地址,分發(fā)數(shù)據(jù)長度等于標準分發(fā)數(shù)據(jù)長度。2.按權利要求1所述的實時軟件接收機中采集數(shù)據(jù)循環(huán)存儲與分發(fā)方法,其特征在于,數(shù)據(jù)采集與分發(fā)線程在計算機中分配一塊容量為DMA_Cnt個中斷上報數(shù)據(jù)包大小的緩存器。3.緩存器的首尾地址分別為131^€6^(1(11'和131^€6^(1(1杜11(1,每次中斷上報數(shù)據(jù)包對應的數(shù)據(jù)個數(shù)為ffriteSize,采集設備寫入緩存器的地址指針為fcitePointer;循環(huán)存儲指針控制模塊判斷PCIE中斷信號是否到來,如果出現(xiàn)中斷,則判斷數(shù)據(jù)采集中斷次數(shù)循環(huán)計數(shù)變量Write_Cnt > DMA_Cnt是否成立。4.按權利要求1所述的實時軟件接收機中采集數(shù)據(jù)循環(huán)存儲與分發(fā)方法,其特征在于,如果出現(xiàn)中斷,循環(huán)存儲指針控制模塊判斷ffrite_Cnt > DMA_Cnt是否成立,如不成立更新中斷次數(shù)循環(huán)計數(shù)變量W^rite.CntzWrite.Cnt+l,寫指針WritePointer= WritePointer+Wri teSize,如果判斷條件成立,更新中斷次數(shù)循環(huán)計數(shù)變量Wri te_Cnt = 0,寫指針WritePointer=BufferAddr,完成上述條件判斷后,在更新后的fcitePo inter處寫入采集卡上報的WriteSize個數(shù)據(jù),完成一次循環(huán)存儲操作。5.按權利要求1所述的實時軟件接收機中采集數(shù)據(jù)循環(huán)存儲與分發(fā)方法,其特征在于,在完成一次循環(huán)存儲操作后,循環(huán)存儲指針控制模塊判斷ffrite_Cnt大于等于捕獲長度及啟動捕獲標志無效是否同時成立,如成立則設置啟動捕獲標志有效。6.按權利要求1所述的實時軟件接收機中采集數(shù)據(jù)循環(huán)存儲與分發(fā)方法,其特征在于,循環(huán)分發(fā)指針控制模塊判斷teSize的乘積對標準分發(fā)數(shù)據(jù)長度ReadSize進行取模運算是否為0,ReadSiZe等于WriteSize整數(shù)倍,可以對兩者倍數(shù)關系進行靈活調(diào)整以滿足不同信息速率解調(diào)時延與實時軟件解調(diào)最小處理時間的需求;如判斷條件成立則更新緩存器中未分發(fā)數(shù)據(jù)塊數(shù)變量RemainderCnt= RemainderCnt +1,然后判斷RemainderCnt大于O以及捕獲完成標志有效是否同時成立。7.按權利要求1所述的實時軟件接收機中采集數(shù)據(jù)循環(huán)存儲與分發(fā)方法,其特征在于,循環(huán)分發(fā)時,循環(huán)分發(fā)指針控制模塊從緩存器讀出數(shù)據(jù)地址指針為ReadPointer,從緩存器中單次循環(huán)分發(fā)到解調(diào)線程的數(shù)據(jù)數(shù)目為DataLen,當讀指針ReadPointer沒有到達緩存器尾部時DataLen等于ReadSize,循環(huán)分發(fā)指針控制模塊判斷RemainderCnt大于O以及捕獲完成標志有效同時成立,如判斷條件不成立,則判斷數(shù)據(jù)循環(huán)存儲與分發(fā)線程是否注銷,如果判斷條件成立,則判斷ReadPointer+DataLen > BufferAddrEnd是否成立。8.按權利要求1所述的實時軟件接收機中采集數(shù)據(jù)循環(huán)存儲與分發(fā)方法,其特征在于,循環(huán)分發(fā)指針控制模塊判斷ReadPointer+DataLen > BufferAddrEnd是否成立,如成立更新DataLen=BufferAddrEnd-ReadPointer,如不成立更新DataLen= ReadSize ;然后從ReadPointer處拷貝DataLen個數(shù)據(jù)給解調(diào)線程,單次循環(huán)數(shù)據(jù)分發(fā)操作完成,更新寫指針ReadPointer= ReadPointer +DataLen09.按權利要求1所述的實時軟件接收機中采集數(shù)據(jù)循環(huán)存儲與分發(fā)方法,其特征在于,在單次循環(huán)數(shù)據(jù)分發(fā)操作完成后,循環(huán)分發(fā)指針控制模塊判斷從緩存器讀出數(shù)據(jù)地址指針ReadPointer >緩存器尾地址BufferAddrEnd是否成立,若成立更新ReadPointer等于緩存器首地址BufferAddr ,DataLen=ReadSize ;完成判斷與更新后,循環(huán)分發(fā)指針控制模塊更新RemainderCnt=RemainderCnt-1。10.按權利要求1所述的實時軟件接收機中采集數(shù)據(jù)循環(huán)存儲與分發(fā)方法,其特征在于,當數(shù)據(jù)存儲與分發(fā)線程未收到數(shù)據(jù)存儲與分發(fā)線程結束標志時,返回判斷PCIE中斷信號是否到來步驟,否則注銷線程,退出程序。11.按權利要求1所述的實時軟件接收機中采集數(shù)據(jù)循環(huán)存儲與分發(fā)方法,其特征在于,當數(shù)據(jù)存儲寫指針到達緩存器尾部時Write_Cnt自動歸O,寫指針更新為BufferAddr。
【專利摘要】本發(fā)明公開了一種實時軟件接收機中采集數(shù)據(jù)循環(huán)存儲與分發(fā)方法,旨在提供一種能對不同體制、不同速率測控通信信號進行實時循環(huán)存儲,分發(fā)速率可控的數(shù)據(jù)循環(huán)存儲與分發(fā)的方法。本發(fā)明通過下述技術方案予以實現(xiàn):采集數(shù)據(jù)經(jīng)PCIE總線上報到計算機后,在循環(huán)存儲指針控制模塊控制下寫入緩存器;當啟動捕獲標志有效時,單次分發(fā)指針控制模塊向捕獲線程傳遞分發(fā)地址指針與分發(fā)數(shù)據(jù)長度;捕獲完成后循環(huán)分發(fā)指針控制模塊進行數(shù)據(jù)循環(huán)分發(fā)操作,當分發(fā)數(shù)據(jù)地址指針達到緩存器尾部時,分發(fā)數(shù)據(jù)長度等于分發(fā)時刻分發(fā)地址指針至循環(huán)緩存器尾部之間的數(shù)據(jù)長度,數(shù)據(jù)分發(fā)完成后,數(shù)據(jù)循環(huán)分發(fā)指針控制模塊再更新數(shù)據(jù)循環(huán)分發(fā)指針等于緩存器首地址。
【IPC分類】G05B19/04, G01S19/24, G01S19/37
【公開號】CN105676689
【申請?zhí)枴緾N201610015647
【發(fā)明人】晏輝
【申請人】中國電子科技集團公司第十研究所
【公開日】2016年6月15日
【申請日】2016年1月11日
當前第2頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1