国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

高層次綜合技術(shù)在遙測(cè)地面站數(shù)據(jù)處理中的應(yīng)用

2021-10-08 02:22遲東明劉兆輝王燕玲
關(guān)鍵詞:遙測(cè)數(shù)據(jù)處理代碼

遲東明,劉兆輝,王燕玲

(上海航天電子有限公司,上海 201800)

0 引言

遙測(cè)地面站所接收的火箭、衛(wèi)星等飛行器的原始遙測(cè)數(shù)據(jù)中包含有大量的重要遙測(cè)信息,如姿態(tài)信息、油量信息、位置信息等。地面站需要將這些關(guān)鍵遙測(cè)參數(shù)從原始數(shù)據(jù)中提取出來(lái)并進(jìn)行綜合、計(jì)算,最后將處理的結(jié)果顯示在終端設(shè)備上,以便操作人員進(jìn)行分析、決策。隨著火箭、衛(wèi)星等飛行器的結(jié)構(gòu)日益復(fù)雜,地面站所接收的遙測(cè)數(shù)據(jù)不僅數(shù)據(jù)量更大,且數(shù)據(jù)結(jié)構(gòu)更也為復(fù)雜,這就對(duì)地面站的數(shù)據(jù)處理能力提出的更高的要求。

地面站對(duì)于遙測(cè)信息的處理一般采用“FPGA+DSP+通用CPU”或“FPGA+通用CPU”的方式。

“FPGA+DSP+通用CPU”的實(shí)現(xiàn)方式中,F(xiàn)PGA負(fù)責(zé)數(shù)據(jù)幀檢索、重組幀等密集型計(jì)算,DSP負(fù)責(zé)遙測(cè)數(shù)據(jù)計(jì)算、數(shù)據(jù)判斷等復(fù)雜度較高的計(jì)算,而通用CPU負(fù)責(zé)數(shù)據(jù)決策、人機(jī)交互等。這種實(shí)現(xiàn)方式適應(yīng)面廣,但集成度低且功耗較大,不利于地面站的小型化設(shè)計(jì)。

“FPGA+通用CPU”的實(shí)現(xiàn)方式中,如果FPGA負(fù)責(zé)數(shù)據(jù)幀檢索、重組幀等密集型計(jì)算,通用CPU負(fù)責(zé)其他計(jì)算,則FPGA與通用CPU之間需要傳輸大量數(shù)據(jù),對(duì)于總線的數(shù)據(jù)吞吐量及通用CPU的性能提出了極高的要求,不利于地面站低成本設(shè)計(jì)。雖然目前FPGA內(nèi)部可以集成通用CPU的IP,但由于通用CPU IP性能較弱,無(wú)法滿足高速率的遙測(cè)數(shù)據(jù)處理任務(wù)。

而如果FPGA負(fù)責(zé)數(shù)據(jù)幀檢索、重組幀、遙測(cè)數(shù)據(jù)計(jì)算、數(shù)據(jù)判斷等,通用CPU負(fù)責(zé)其他計(jì)算,雖然降低了總線及通用CPU的負(fù)擔(dān),但由于遙測(cè)數(shù)據(jù)處理往往涉及到復(fù)雜的數(shù)據(jù)檢索、浮點(diǎn)計(jì)算以及數(shù)據(jù)分析,如果使用傳統(tǒng)的基于寄存器傳送級(jí)(register transfer level,RTL)的設(shè)計(jì)流程實(shí)現(xiàn)遙測(cè)數(shù)據(jù)處理,其代碼的設(shè)計(jì)、調(diào)試難度會(huì)大大增加,且代碼的維護(hù)成本也會(huì)加大。

本文將FPGA的高層次綜合技術(shù)(high-level synthesis,HLS)引入到地面站的遙測(cè)數(shù)據(jù)處理中,利用該技術(shù)可以將遙測(cè)數(shù)據(jù)處理功能用抽象層級(jí)較高的C代碼實(shí)現(xiàn),這樣就有效降低了FPGA進(jìn)行遙測(cè)數(shù)據(jù)處理的設(shè)計(jì)難度,提高了開發(fā)效率,從而縮短了產(chǎn)品的研制周期。

1 地面站遙測(cè)數(shù)據(jù)處理流程介紹

地面站的遙測(cè)數(shù)據(jù)處理流程一般是以如圖1所示的方式進(jìn)行[1-2],主要分為5個(gè)步驟:

圖1 地面站遙測(cè)數(shù)據(jù)處理流程

1)遙測(cè)解調(diào)。地面站對(duì)接收到的無(wú)線遙測(cè)信號(hào)進(jìn)行解調(diào),并將解調(diào)出的遙測(cè)數(shù)據(jù)以數(shù)據(jù)流形式發(fā)送給后端的遙測(cè)數(shù)據(jù)處理模塊做進(jìn)一步處理。

2)遙測(cè)幀數(shù)據(jù)重組。遙測(cè)數(shù)據(jù)處理模塊對(duì)解調(diào)后的遙測(cè)數(shù)據(jù)流進(jìn)行檢索,并根據(jù)遙測(cè)幀同步頭檢索出完整的遙測(cè)幀,最后根據(jù)遙測(cè)幀的數(shù)據(jù)結(jié)構(gòu)進(jìn)行遙測(cè)幀數(shù)據(jù)重組,從而得到連續(xù)的遙測(cè)幀。

3)遙測(cè)參數(shù)提取。遙測(cè)數(shù)據(jù)處理模塊根據(jù)一定的提取規(guī)則,對(duì)遙測(cè)幀內(nèi)的遙測(cè)參數(shù)進(jìn)行提取,從而得到需要的遙測(cè)參數(shù)。

4)遙測(cè)參數(shù)計(jì)算。遙測(cè)數(shù)據(jù)處理模塊對(duì)提取出的遙測(cè)參數(shù)進(jìn)行計(jì)算及分析,最終得出計(jì)算結(jié)果。

5)計(jì)算結(jié)果組幀。遙測(cè)數(shù)據(jù)處理模塊將計(jì)算結(jié)果打包并根據(jù)一定的成幀規(guī)則形成新的數(shù)據(jù)幀發(fā)送給后端的數(shù)據(jù)處理模塊或終端設(shè)備進(jìn)行后續(xù)數(shù)據(jù)處理或數(shù)據(jù)顯示。

一般情況下遙測(cè)數(shù)據(jù)是以一系列遙測(cè)幀的形式進(jìn)行存儲(chǔ)和傳輸?shù)?,如果遙測(cè)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)較復(fù)雜,則每一個(gè)遙測(cè)幀又可分為一系列不同的遙測(cè)子幀,子幀內(nèi)部的不同區(qū)域存放有各類遙測(cè)參數(shù)或其他數(shù)據(jù)。換言之,遙測(cè)幀一般以二維數(shù)據(jù)表的形式存放各類參數(shù)及數(shù)據(jù),而遙測(cè)參數(shù)則以某一點(diǎn)、某一行(列)或多行(列)的形式分布于該二維表中,其數(shù)據(jù)結(jié)構(gòu)示意圖如圖2所示。

圖2 遙測(cè)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)示意圖

由于火箭、衛(wèi)星等飛行器內(nèi)部包含數(shù)量眾的多傳感器和各類設(shè)備,因此其遙測(cè)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)可能會(huì)變得非常復(fù)雜。以圖2為例,遙測(cè)參數(shù)集1是遙測(cè)幀中子行(列)抽取出來(lái)的二維數(shù)組,數(shù)組中數(shù)據(jù)可以代表飛行器總線中的某些總線指令,而總線指令在遙測(cè)參數(shù)集1中的出現(xiàn)的時(shí)間以及相對(duì)位置可能都不固定,需要遙測(cè)數(shù)據(jù)處理模塊通過(guò)總線指令的同步頭對(duì)接收到的每一個(gè)遙測(cè)幀進(jìn)行搜索。而搜索到總線指令后,還要對(duì)指令進(jìn)行校驗(yàn),校驗(yàn)通過(guò)后才能提取其中的遙測(cè)參數(shù)并進(jìn)行計(jì)算。同時(shí)在處理遙測(cè)幀時(shí)也可能需要對(duì)遙測(cè)幀進(jìn)行記數(shù)操作,以便統(tǒng)計(jì)通信狀態(tài)或超時(shí)重傳等。

由于飛行器內(nèi)傳感器及設(shè)備工作狀態(tài)各異,其遙測(cè)參數(shù)的數(shù)據(jù)類型也千差萬(wàn)別,通常情況下提取出的遙測(cè)參數(shù)的數(shù)據(jù)類型并不一致,需要經(jīng)過(guò)一系列變換、統(tǒng)計(jì)等操作。比如某遙測(cè)幀中的遙測(cè)參數(shù)就可能包含8位無(wú)符號(hào)數(shù)、16位無(wú)符號(hào)數(shù)、32位單精度及64位雙精度浮點(diǎn)數(shù)等多種數(shù)據(jù)類型。

綜上所述,在使用FPGA進(jìn)行遙測(cè)參數(shù)處理時(shí),會(huì)遇到以下兩方面的難點(diǎn):

1)遙測(cè)參數(shù)的提取涉及到復(fù)雜的搜索、判斷、校驗(yàn)過(guò)程,如果使用RTL級(jí)代碼實(shí)現(xiàn),其描述工作狀態(tài)的狀態(tài)機(jī)將異常復(fù)雜,相關(guān)代碼量也將非常大,不利于代碼的維護(hù)和調(diào)試。

2)遙測(cè)參數(shù)的計(jì)算會(huì)經(jīng)常遇到浮點(diǎn)計(jì)算、數(shù)據(jù)類型轉(zhuǎn)換以及復(fù)雜公式計(jì)算(如正弦、對(duì)數(shù)計(jì)算等),使用RTL級(jí)代碼進(jìn)行描述較為困難。

針對(duì)以上問(wèn)題,本文將FPGA高層次綜合技術(shù)引入到遙測(cè)數(shù)據(jù)處理過(guò)程中。利用高層次綜合技術(shù)對(duì)遙測(cè)數(shù)據(jù)進(jìn)行處理具有以下優(yōu)勢(shì):

1)開發(fā)周期短。應(yīng)用高層次綜合技術(shù)編寫的遙測(cè)數(shù)據(jù)處理相關(guān)代碼屬于行為級(jí)描述,抽象層級(jí)較高,比較符合高級(jí)語(yǔ)言的編程習(xí)慣。相對(duì)于RTL級(jí)的實(shí)現(xiàn)方式,其代碼精簡(jiǎn)易懂,也便于修改,因此可以有效縮短產(chǎn)品的開發(fā)周期。

2)實(shí)時(shí)性高。相對(duì)于DSP或通用CPU等軟件實(shí)現(xiàn)方式,應(yīng)用高層次綜合技術(shù)編寫的遙測(cè)數(shù)據(jù)處理相關(guān)代碼仍屬于硬件實(shí)現(xiàn),延時(shí)可控且可以多模塊并行處理,實(shí)時(shí)性高。

3)支持浮點(diǎn)計(jì)算。高層次綜合技術(shù)支持IEEE754標(biāo)準(zhǔn)的浮點(diǎn)數(shù)據(jù)計(jì)算[7,10],且支持標(biāo)準(zhǔn)32位單精度及64位雙精度浮點(diǎn)數(shù)據(jù)類型,因此非常適合描述復(fù)雜遙測(cè)參數(shù)計(jì)算。

2 基于高層次綜合技術(shù)的遙測(cè)數(shù)據(jù)處理

2.1 高層次綜合技術(shù)介紹

高層次綜合(High-Level Synthesis)并不是最近才發(fā)展起來(lái)的技術(shù),早在20世紀(jì)70年代就提出了相關(guān)的概念,隨著軟、硬件技術(shù)的不斷發(fā)展,高層次綜合的相關(guān)技術(shù)才逐步完善、成熟[14]。

對(duì)于高層次綜合技術(shù)的應(yīng)用,目前國(guó)外的相關(guān)報(bào)道較多,比如基于FPGA或GPU的計(jì)算加速[13]、圖像處理[11-12]、算法開發(fā)[17-18]等。尤其在異構(gòu)計(jì)算方面,利用高層次綜合技術(shù)能夠有效提升異構(gòu)計(jì)算平臺(tái)的設(shè)計(jì)、開發(fā)效率[20-21]。國(guó)內(nèi)目前高層次綜合技術(shù)相關(guān)報(bào)道主要集中于圖像處理及算法開發(fā)上,在衛(wèi)星測(cè)控領(lǐng)域的應(yīng)用還較少。

簡(jiǎn)單來(lái)說(shuō),高層次綜合是一種代碼的綜合技術(shù),其作用是將抽象層級(jí)較高的語(yǔ)言(如C、C++、SystemC、OpenCL等)編寫的行為級(jí)描述代碼自動(dòng)轉(zhuǎn)換為RTL級(jí)代碼。而利用高層次綜合技術(shù)的FPGA開發(fā)工具[15-16](如Xilinx公司的VIVADO HLS),除了提供高層次綜合的功能外,還提供了如寄存器分配、I/O接口生成、操作調(diào)度、狀態(tài)機(jī)生成等諸多功能,有效提高了FPGA設(shè)計(jì)、開發(fā)效率。

利用高層次綜合工具進(jìn)行FPGA設(shè)計(jì)開發(fā),可以帶來(lái)以下幾方面的優(yōu)勢(shì)[19]:

1)開發(fā)周期短。高層次綜合技術(shù)可以屏蔽很多的硬件具體實(shí)現(xiàn)細(xì)節(jié),使設(shè)計(jì)師將更多精力放在算法設(shè)計(jì)、產(chǎn)品功能描述上,從而大大縮短開發(fā)周期[5]。根據(jù)統(tǒng)計(jì),相對(duì)于手工編寫RTL級(jí)代碼,采用高層次綜合技術(shù)的代碼設(shè)計(jì)效率可以提高約4倍~10倍,結(jié)果質(zhì)量(quality of results,QoR)約0.7倍~1.2倍。

2)測(cè)試激勵(lì)開發(fā)效率高。對(duì)于FPGA的設(shè)計(jì)、開發(fā),測(cè)試激勵(lì)(Testbench)的編寫非常重要且非常耗時(shí),而高層次綜合技術(shù)可以將基于高級(jí)語(yǔ)言(如C/C++)的測(cè)試激勵(lì)直接用于RTL級(jí)代碼的功能驗(yàn)證,這就有效提高了代碼驗(yàn)證的效率。

3)便于代碼的修改和維護(hù)。由于基于高層次綜合技術(shù)編寫的代碼是屬于行為級(jí)的描述,其抽象層級(jí)較高,便于設(shè)計(jì)師的閱讀理解,也便于代碼的后期維護(hù)。

基于高層次綜合技術(shù)的特點(diǎn),其非常適合應(yīng)用于衛(wèi)星、火箭等飛行器的遙測(cè)數(shù)據(jù)處理過(guò)程中(如遙測(cè)參數(shù)的提取、計(jì)算、重組等過(guò)程)。

2.2 遙測(cè)數(shù)據(jù)處理模塊的對(duì)外接口設(shè)計(jì)

為了實(shí)現(xiàn)對(duì)遙測(cè)參數(shù)的處理,首先需要對(duì)遙測(cè)數(shù)據(jù)處理模塊的對(duì)外接口進(jìn)行定義。這里使用的開發(fā)平臺(tái)為Xilinx公司的VIVADO HLS[3-4,8],且使用C語(yǔ)言對(duì)遙測(cè)數(shù)據(jù)處理模塊的功能及接口進(jìn)行描述。

假設(shè)所有遙測(cè)數(shù)據(jù)均以1Byte為單位存儲(chǔ)于遙測(cè)幀中,而遙測(cè)幀是一種M*N的二維表格,經(jīng)過(guò)遙測(cè)數(shù)據(jù)處理模塊的處理后會(huì)生成一個(gè)長(zhǎng)度為L(zhǎng)的一維數(shù)據(jù)幀輸出給后續(xù)處理模塊。遙測(cè)數(shù)據(jù)處理模塊的對(duì)外接口定義如圖3所示。

圖3 遙測(cè)數(shù)據(jù)處理模塊對(duì)外接口定義

其中input_data為unsigned char類型的二維數(shù)組,用于存放接收到的遙測(cè)幀;output_data為unsigned char類型的一維數(shù)組,用于存放處理后的數(shù)據(jù)幀;tm_process_block為該遙測(cè)數(shù)據(jù)處理模塊函數(shù)名,經(jīng)過(guò)VIVADO HLS綜合后會(huì)轉(zhuǎn)換為相應(yīng)的RTL模塊。

由于遙測(cè)幀內(nèi)部數(shù)據(jù)是按照地址的先后順序輸入到遙測(cè)處理模塊的,不存在隨機(jī)訪問(wèn)情況,輸出結(jié)果也是如此,因此可以將模塊的對(duì)外接口理解為一個(gè)FIFO,而在VIVADO HLS中可以使用約束語(yǔ)句對(duì)其進(jìn)行約束。

為了使VIVADO HLS能夠正確識(shí)別對(duì)外接口的輸入輸出關(guān)系和具體接口形式,需要在代碼中添加相應(yīng)的約束語(yǔ)句,具體如圖4所示。

圖4 遙測(cè)數(shù)據(jù)處理模塊的外接口約束

其中,第一條約束語(yǔ)句用于指導(dǎo)VIVADO HLS為遙測(cè)數(shù)據(jù)處理模塊添加模塊級(jí)握手信號(hào)。模塊級(jí)握手信號(hào)用于控制和監(jiān)測(cè)模塊的工作狀態(tài),以便于不同模塊之間的數(shù)據(jù)交換;第二、三條約束語(yǔ)句用于通知VIVADO HLS對(duì)input_data、output_data采用FIFO接口形式。

圖5為經(jīng)過(guò)VIVADO HLS綜合后生成的遙測(cè)數(shù)據(jù)處理模塊的對(duì)外接口,可以看出主要分為三部分:輸入接口、輸出接口以及相關(guān)的握手信號(hào)。

圖5 遙測(cè)數(shù)據(jù)處理模塊的硬件接口

2.3 基于高層次綜合技術(shù)的遙測(cè)數(shù)據(jù)處理的設(shè)計(jì)與實(shí)現(xiàn)

前文簡(jiǎn)要介紹了對(duì)衛(wèi)星、火箭等飛行器的遙測(cè)數(shù)據(jù)的處理過(guò)程,而使用高層次綜合技術(shù)對(duì)遙測(cè)數(shù)據(jù)進(jìn)行處理,主要的技術(shù)難點(diǎn)在于如何使用高級(jí)語(yǔ)言描述遙測(cè)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),以及如何使用高級(jí)語(yǔ)言描述遙測(cè)數(shù)據(jù)的處理過(guò)程。

從前面的分析可以看出,遙測(cè)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)可以由高級(jí)語(yǔ)言的一維或二維數(shù)組描述,并且可以很方便地對(duì)數(shù)組中的指定數(shù)據(jù)進(jìn)行尋址訪問(wèn),而遙測(cè)數(shù)據(jù)的處理過(guò)程可以使用高級(jí)語(yǔ)言的循環(huán)、條件判斷等常用的語(yǔ)句描述,其工作流程如圖6所示。具體描述如下:

圖6 遙測(cè)數(shù)據(jù)處理模塊工作流程圖

1)對(duì)input_data、output_data以及其他用于存放中間結(jié)果的臨時(shí)數(shù)據(jù)緩沖區(qū)進(jìn)行初始化,可以使用For循環(huán)完成。如輸出結(jié)果中還要包含幀計(jì)數(shù)功能,則初始化幀計(jì)數(shù)相關(guān)變量。

2)將input_data中的遙測(cè)幀數(shù)據(jù)拷貝到臨時(shí)數(shù)據(jù)緩沖區(qū)中。由于遙測(cè)幀是二維結(jié)構(gòu),存放遙測(cè)幀的緩沖區(qū)可以聲明為unsigned char類型的二維數(shù)組,并使用二級(jí)For循環(huán)實(shí)現(xiàn)數(shù)據(jù)拷貝。

3)校驗(yàn)遙測(cè)幀內(nèi)部數(shù)據(jù)(如奇偶校驗(yàn)、CRC校驗(yàn)),如果校驗(yàn)正確則進(jìn)行下一步處理,如果校驗(yàn)不正確則返回FALSE,表明本次遙測(cè)幀處理失敗。

4)遙測(cè)參數(shù)提取。該過(guò)程實(shí)際上就是對(duì)二維數(shù)組的訪問(wèn)過(guò)程,將二維數(shù)組中指定遙測(cè)數(shù)據(jù)拷貝到臨時(shí)數(shù)據(jù)緩沖區(qū),或按照一定規(guī)則在二維數(shù)組中指定區(qū)域搜索指定的遙測(cè)參數(shù)集再進(jìn)行進(jìn)一步處理。

5)遙測(cè)參數(shù)計(jì)算。對(duì)提取出的遙測(cè)參數(shù)進(jìn)行計(jì)算,并將計(jì)算結(jié)果保存到臨時(shí)緩沖區(qū)。

6)將遙測(cè)參數(shù)計(jì)算結(jié)果保存到臨時(shí)緩沖區(qū),并根據(jù)一定的規(guī)則重新組幀,同時(shí)將計(jì)算結(jié)果填入幀內(nèi)。如輸出結(jié)果中需要有幀計(jì)數(shù)功能,則將幀計(jì)數(shù)變量加1并填入幀內(nèi)相應(yīng)位置。

7)根據(jù)一定規(guī)則計(jì)算輸出幀的校驗(yàn)和并填入輸出幀的相應(yīng)位置。

8)將臨時(shí)緩沖區(qū)中的輸出幀拷貝到output_data中,該過(guò)程可用For循環(huán)實(shí)現(xiàn),最后返回TRUE,表明本次遙測(cè)幀處理成功。

遙測(cè)地面站在輸出處理結(jié)果時(shí)經(jīng)常需要標(biāo)記當(dāng)前輸出幀的幀序號(hào),以便于后端設(shè)備根據(jù)幀序號(hào)進(jìn)行通信握手或誤碼統(tǒng)計(jì),這就要用到幀計(jì)數(shù)功能。幀計(jì)數(shù)變量需要在不同的遙測(cè)幀處理過(guò)程中持續(xù)保持更新,而不像其他變量那樣每次處理過(guò)程都置零或恢復(fù)初始狀態(tài),因此幀計(jì)數(shù)變量需要設(shè)置為static類型,這樣幀計(jì)數(shù)變量就可以保持上一次調(diào)用遙測(cè)數(shù)據(jù)處理模塊時(shí)的狀態(tài)。

對(duì)于浮點(diǎn)計(jì)算,VIVADO HLS支持標(biāo)準(zhǔn)IEEE754浮點(diǎn)數(shù)(32位單精度及64位雙精度浮點(diǎn)數(shù)據(jù)類型)及相關(guān)浮點(diǎn)計(jì)算。因此使用高層次綜合技術(shù)實(shí)現(xiàn)遙測(cè)參數(shù)的浮點(diǎn)計(jì)算非常簡(jiǎn)潔、高效。以標(biāo)準(zhǔn)32位單精度浮點(diǎn)數(shù)為例,配合C語(yǔ)言的強(qiáng)制類型轉(zhuǎn)換及位操作便可以實(shí)現(xiàn)復(fù)雜的浮點(diǎn)計(jì)算。

這里假設(shè)提取遙測(cè)幀中的11行85列的遙測(cè)參數(shù)(unsigned char類型),將該參數(shù)進(jìn)行浮點(diǎn)計(jì)算(float類型)并將計(jì)算結(jié)果存儲(chǔ)到輸出幀中的[10:13]位置,其實(shí)現(xiàn)代碼如圖7所示。

圖7 浮點(diǎn)計(jì)算實(shí)現(xiàn)代碼示例

可以看出基于高層次綜合技術(shù)的浮點(diǎn)計(jì)算代碼非常簡(jiǎn)潔,遙測(cè)數(shù)據(jù)的尋址、浮點(diǎn)運(yùn)算等只需一條語(yǔ)句描述,將計(jì)算結(jié)果存儲(chǔ)到輸出幀中也僅需要簡(jiǎn)單的移位、強(qiáng)制類型轉(zhuǎn)換等操作完成,而如使用RTL方式實(shí)現(xiàn)相同功能,則代碼量將大大增加。

3 測(cè)試結(jié)果與分析

本文將以上描述的遙測(cè)數(shù)據(jù)處理模塊使用VIVADO HLS進(jìn)行了設(shè)計(jì)、仿真,同時(shí)將轉(zhuǎn)換的RTL代碼進(jìn)行了硬件測(cè)試。代碼在VIVADO開發(fā)環(huán)境[9]中進(jìn)行綜合、布局、布線,最后在Xilinx公司的XC7A200T[6]平臺(tái)上進(jìn)行了硬件測(cè)試。

硬件測(cè)試過(guò)程中,遙測(cè)數(shù)據(jù)處理模塊對(duì)96 Byte*64 Byte的遙測(cè)幀進(jìn)行處理,輸出幀長(zhǎng)度為360 Byte。處理過(guò)程涉及到若干次的參數(shù)集提取、浮點(diǎn)計(jì)算以及校驗(yàn)和計(jì)算等操作,模塊工作時(shí)鐘為10 MHz。

圖8為該模塊的FPGA資源占用情況,LUT及DSP資源占用率分別為5%和1%??梢钥闯銎?FPGA資源占用率是非常低的。

圖8 遙測(cè)數(shù)據(jù)處理模塊FPGA資源占用情況

圖9是遙測(cè)數(shù)據(jù)處理模塊的時(shí)鐘及延時(shí)情況??梢钥闯?,該模塊最高工作頻率可以達(dá)到11.2 MHz,延時(shí)最高為24 367個(gè)時(shí)鐘周期,約2.4 ms,因此理論上達(dá)到400幀/s的處理速度。由于遙測(cè)數(shù)據(jù)處理模塊使用的是FPGA的基本邏輯資源,因此也可以多個(gè)模塊并行處理遙測(cè)數(shù)據(jù),以適應(yīng)更高速的遙測(cè)數(shù)據(jù)處理需求。

圖9 遙測(cè)數(shù)據(jù)處理模塊時(shí)鐘及延時(shí)情況

圖10是遙測(cè)數(shù)據(jù)處理模塊接口部分的RTL級(jí)仿真圖??梢钥闯?,當(dāng)遙測(cè)幀輸入到模塊后,經(jīng)過(guò)一定的處理周期,模塊輸出處理結(jié)果,RTL級(jí)仿真結(jié)果與行為級(jí)仿真一致。

圖10 遙測(cè)數(shù)據(jù)處理模塊接口部分RTL仿真圖

從開發(fā)周期上進(jìn)行對(duì)比,應(yīng)用高層次綜合技術(shù),整個(gè)模塊從代碼設(shè)計(jì)、仿真直到最后的硬件測(cè)試僅僅耗費(fèi)了1周的時(shí)間,而如果使用傳統(tǒng)的RTL開發(fā)流程,保守估計(jì)預(yù)計(jì)要耗費(fèi)2個(gè)月的時(shí)間。

從代碼量上進(jìn)行對(duì)比,由于模塊是基于C語(yǔ)言描述的,其抽象級(jí)別較高(行為級(jí)描述),因此相關(guān)代碼極為精簡(jiǎn),模塊主體代碼量?jī)H300行左右,加上Testbench的代碼量為500行左右。與之對(duì)比,如果采用基于RTL的設(shè)計(jì)流程,整個(gè)設(shè)計(jì)的代碼量預(yù)計(jì)要增加10倍以上。

4 結(jié)束語(yǔ)

綜上所述,使用高層次綜合技術(shù)對(duì)遙測(cè)數(shù)據(jù)進(jìn)行處理,在同樣滿足設(shè)計(jì)要求的情況下,其設(shè)計(jì)、開發(fā)效率要遠(yuǎn)遠(yuǎn)高于傳統(tǒng)的基于RTL的開發(fā)流程,同時(shí)也在很大程度上減輕了設(shè)計(jì)工程師的工作量。

目前高層次綜合技術(shù)主要應(yīng)用在圖像處理、數(shù)據(jù)編解碼[11-12]等領(lǐng)域,而在衛(wèi)星測(cè)控領(lǐng)域的應(yīng)用報(bào)道還很少。本文將高層次綜合技術(shù)應(yīng)用到地面站的遙測(cè)數(shù)據(jù)處理過(guò)程中,證明了利用高層次綜合技術(shù)可以有效提高衛(wèi)星測(cè)控產(chǎn)品相關(guān)FPGA的設(shè)計(jì)、開發(fā)效率,縮短產(chǎn)品的研制周期,因此具有推廣價(jià)值和參考價(jià)值。

猜你喜歡
遙測(cè)數(shù)據(jù)處理代碼
認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
基于ARCGIS 的三種數(shù)據(jù)處理方法的效率對(duì)比研究
高層建筑沉降監(jiān)測(cè)數(shù)據(jù)處理中多元回歸分析方法的應(yīng)用研究
高層建筑沉降監(jiān)測(cè)數(shù)據(jù)處理中多元回歸分析方法的應(yīng)用研究
視頻大數(shù)據(jù)處理的設(shè)計(jì)與應(yīng)用
神秘的代碼
一周機(jī)構(gòu)凈增(減)倉(cāng)股前20名
重要股東二級(jí)市場(chǎng)增、減持明細(xì)
調(diào)度監(jiān)控系統(tǒng)畫面數(shù)據(jù)信息糾錯(cuò)方法討論
近期連續(xù)上漲7天以上的股