一種波控信息報文緩存方法
【技術領域】
[0001]本發(fā)明涉及一種波控信息報文緩存方法,屬于雷達數(shù)據(jù)傳輸技術,主要是針對相控陣雷達實時波束控制技術。
【背景技術】
[0002]相控陣雷達一般采用CPU應用嵌入式系統(tǒng)做波控資源調度算法,計算一段時間周期下得到多任務波控信息報文。一般使用兩個存儲器實現(xiàn)乒乓操作,進行循環(huán)讀寫。這樣做導致控制比較困難和占用兩倍的存儲資源。為了提高FPGA內(nèi)部存儲資源使用效率,降低控制難度,提出一種新的緩存技術以降低波控軟件設計難度。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于設計一種緩存方法,為滿足不同相控陣雷達實時波束控制技術,降低波控信息報文讀寫控制難度。
[0004]實現(xiàn)本發(fā)明目的的技術解決方案為:在相控陣雷達中,波模模塊與資源調度軟件處于不同的硬件處理器中,波模模塊使用FPGA處理器,資源調度軟件使用POWERPC處理器。波控模塊向資源調度軟件申請任務,資源調度軟件計算得到一組波控信息報文,通過RAPID10鏈路發(fā)給波控模塊。在波控模塊內(nèi)部,將RAPID10鏈路發(fā)來的波控信息報文先經(jīng)過一個FIFO進行緩存,實現(xiàn)數(shù)據(jù)率和位寬的變換,根據(jù)FIFO中緩存的數(shù)據(jù)量達到5000之后,用一個寫計數(shù)器作為地址累加器將FIFO的數(shù)據(jù)寫入到BRAM中,直到FIFO為空為止。波控程序依據(jù)雷達工作的需要,每隔一段工作周期從BRAM中讀取一段固定大小的數(shù)據(jù)作為一幀波控信息任務報文,隨著工作時序的需要逐一讀取各個波控信息報文時,可以方便地使用讀計數(shù)器作為地址準確無誤地讀取BRAM中的報文。目前,BRAM的復位信號RST置I時,使輸出為零值,并不能清除內(nèi)部存儲的數(shù)據(jù),當復位信號RST置O時,讀出的值仍然是原來的存儲數(shù)據(jù)。為使得BRAM清零簡便易操作,因為BRAM前32個地址是波控信息報文頭,可以將這32個地址寫入全零數(shù)據(jù),使整個BRAM存儲的波控信息報文無效,以此完成BRAM清零。當讀取完最后一個波控信息報文之后,控制程序完成BRAM清零,再向資源調度軟件申請任務,就能在下一組任務周期到來之前更新任務報文。即使沒有新任務報文下發(fā),也不會造成錯誤地讀取原來的報文。對BRAM來說,清零和寫入波控信息報文兩項工作,波控控制程序從時間上完全分開,所以可以確保BRAM讀寫無誤。
【附圖說明】
[0005]圖1是波控信息緩存方法原理圖。
[0006]圖2是波控信息產(chǎn)生及緩存時序圖。
【具體實施方式】
[0007]本發(fā)明的波控信息報文緩存方法,如圖2所示,分成如下5個步驟:
[0008]1.波控控制器產(chǎn)生任務報文申請脈沖,以此為基準進行FIFO、BRAM清零。FIFO設為64位輸入16位輸出方式,BRAM的輸入輸出均為16位。FIFO清零時,直接將FIFO的RST信號賦值為1,保持3個時鐘周期后,再賦值為O。BRAM清零時,向地址O至32地址寫入全零數(shù)據(jù),因該段地址是波控信息報文頭部,頭部的有效報文被寫入全零數(shù)據(jù)后,整個BRAM中的波控信息報文都被波控控制器判斷為無效報文。
[0009]2.完成第I步后,波控控制器生成任務申請報文及門鈴信息,通過RAPID10發(fā)送程序發(fā)到資源調度軟件端。資源調度軟件會計算下一時間片的波控參數(shù),形成波控信息報文。波控模塊用FIFO接收來自RAPID10接口的波控信息報文,實現(xiàn)由156.25MHz、64位數(shù)據(jù)變換成100MHz、16位數(shù)據(jù)的轉換。寫入FIFO時,通過RAPID10接收地址信號高14位作為寫入進程的觸發(fā)信號,每一次該地址信號為設定的值時,向FIFO寫入一個64位數(shù)據(jù)。
[0010]3.判斷FIFO已緩存數(shù)據(jù)是否超過5000,若超過5000,則立即啟動寫B(tài)RAM控制程序。從地址O開始,逐一將FIFO讀出的波控信息報文頭、波控信息報文各個子任務報文寫入到BRAM中,直到FIFO為空。
[0011]4.從一個工作時間片循環(huán)進入下一個時間片時,首先由波控控制器判斷是否有更高級的任務命令,若有則進入高優(yōu)先級的工作模式,若無則進行從BRAM中讀取波控信息報文產(chǎn)生波控控制信號及報文。
[0012]5.讀取BRAM的地址O至31前32個地址的數(shù)據(jù),判斷當前BRAM中的波控信息報文是否有效,若無效則終止。若有效,則從波控信息報文頭中提取各個子任務在本時間片的起始時間,即可將時間片劃分成多個連續(xù)的工作周期。在每一個工作周期起始時刻,從BRAM中讀取波控子任務報文,并依據(jù)波控子任務報文產(chǎn)生各項控制脈沖及光纖控制報文。在最后一個任務報文讀取之后,由波控控制器產(chǎn)生任務申請脈沖,進入第I步做FIF0、BRAM清零工作。
【主權項】
1.一種波控信息報文緩存方法,其特征在于:用FIFO+BRAM構成RAPID1接口接收數(shù)據(jù)的緩存鏈路;波控控制時序將FIFO和BRAM的清零與讀寫數(shù)據(jù)從時間上錯開;FIF0寫入端由RAPID1接口的控制信號進行控制寫入;當FIFO的緩存數(shù)據(jù)量超過5000時,就一次性連續(xù)讀完并寫入到BRAM中,作為波控信息報文用;當波控信息報文在波控程序的控制下從BRAM中讀取完畢后,波控程序將BRAM前32個地址寫入全零,即將BRAM內(nèi)部波控信息報文設置為無效;這樣設計,避免了在沒有新的波控信息報文寫入的情況下,會重新再讀取原來報文作為當前時刻報文的錯誤。2.根據(jù)權利要求1所述的波控信息報文緩存方法,其特征在于:所述的FIFO是將RAPID1鏈路數(shù)據(jù)由64位轉換成16位,并由數(shù)據(jù)率由156.25MHz變換成實際工作時鐘頻率。3.根據(jù)權利要求1或2所述的波控信息報文緩存方法,其特征在于:所述的BRAM是緩存最多10個周期的波控信息數(shù)據(jù),依據(jù)雷達工作時序在最后一個波控信息報文讀取之后,將BRAM前面32地址寫入全零數(shù)據(jù),將整個BRAM中的數(shù)據(jù)設為無效;以此代替清零工作,再向波控資源調度軟件申請新的波控信息報文。
【專利摘要】本發(fā)明涉及一種波控信息報文緩存方法。本發(fā)明在FPGA處理器中實現(xiàn),接收來自RAPIDIO鏈路的波控信息數(shù)據(jù),采用兩級緩存,第一級是先經(jīng)過一個FIFO,第二級是將波控信息數(shù)據(jù)存儲到BRAM中。FIFO的寫入由RAPIDIO鏈路控制,F(xiàn)IFO在緩存5000個數(shù)據(jù)后開始讀出時。BRAM寫入由波控控制器有效控制或由清零使能控制,這樣既可以依據(jù)計數(shù)器作為地址讀出波控信息報文,又可以將BRAM進行清零,減少外部控制的難度。為減小BRAM清零時間,只將前32個地址寫入全零數(shù)據(jù),通過讓波控信息報文頭部無效,使得整個BRAM存儲的波控信息報文無效,達到清零的目的。
【IPC分類】G01S7/00
【公開號】CN104931930
【申請?zhí)枴緾N201510359213
【發(fā)明人】周邦華, 于志偉, 劉劍, 吳衛(wèi)
【申請人】中國船舶重工集團公司第七二四研究所
【公開日】2015年9月23日
【申請日】2015年6月25日