亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        機(jī)載高速內(nèi)存映射異構(gòu)平臺波形建模方法

        2018-12-22 07:40:08路小超

        李 鵬,孫 學(xué),路小超

        (中國電子科技集團(tuán)公司第十研究所,四川 成都 610036)

        0 引 言

        如何實(shí)現(xiàn)標(biāo)準(zhǔn)化的波形建模方法,縮短系統(tǒng)開發(fā)時間,是目前機(jī)載傳感器系統(tǒng)開發(fā)過程中需要解決的關(guān)鍵問題之一[1,2]。

        國外F35采用開放式架構(gòu)實(shí)現(xiàn)了機(jī)載傳感器數(shù)字部分及射頻前端的綜合,通過標(biāo)準(zhǔn)的信號與數(shù)據(jù)處理單元完成傳感器和任務(wù)設(shè)備的信號與數(shù)據(jù)處理,實(shí)現(xiàn)了通信導(dǎo)航識別、雷達(dá)及電子戰(zhàn)等多項(xiàng)無線傳感器功能[3,4]。借助開放性、模塊化和通用化的硬件平臺,F(xiàn)35進(jìn)一步借鑒了軟件無線電思想,將各種功能如工作頻段、調(diào)制解調(diào)和通信協(xié)議等使用軟件模塊完成,以研制出具有高度靈活、開放性的新一代無線通信系統(tǒng)[5]。JTRS聯(lián)合項(xiàng)目辦公室發(fā)布的軟件通信體系結(jié)構(gòu)SCA2.2.2標(biāo)準(zhǔn),標(biāo)準(zhǔn)化了波形的建模和開發(fā)流程。為了實(shí)現(xiàn)波形與硬件解耦,后續(xù)又發(fā)布了MHAL[6]和MOCB[7]規(guī)范,但是鮮有基于這些中間件的規(guī)范化波形建模與開發(fā)流程。

        目前,機(jī)載平臺中已大量使用如RapidIO等支持高速內(nèi)存映射機(jī)制的數(shù)據(jù)總線。然而在大規(guī)模系統(tǒng)應(yīng)用中,內(nèi)存空間劃分與地址規(guī)劃復(fù)雜,缺乏規(guī)范化建模和管配方法,應(yīng)用中還經(jīng)常面臨如下問題:①平臺異構(gòu)特性封裝需求;②波形高帶寬和動態(tài)部署需求;③標(biāo)準(zhǔn)化波形建模方法需求。本文將基于高速內(nèi)存映射機(jī)制通信總線,結(jié)合JTNC MOCB標(biāo)準(zhǔn),提出了一種規(guī)范化的波形建模方法,解決上述波形開發(fā)中面臨的問題。

        1 機(jī)載高速內(nèi)存映射異構(gòu)平臺

        機(jī)載高速信號處理機(jī)主要用于完成機(jī)載各種傳感器的信號與信息處理及其它運(yùn)算控制等功能,是航電系統(tǒng)的重要組成平臺,通常具有如下特點(diǎn):

        (1)遵循標(biāo)準(zhǔn)的綜合化開放式系統(tǒng)結(jié)構(gòu),采用通用化、多目的和標(biāo)準(zhǔn)化的數(shù)據(jù)和信號處理模塊,支持資源冗余和靈活可變的硬件線程重組設(shè)計(jì),提升系統(tǒng)的可擴(kuò)展性和可靠性;

        (2)集成通用的高性能異構(gòu)類型處理單元,如MPC8640和P2020、TMS320C600系列多核DSP、Xilinx K7系列FPGA。在滿足不同波形高性能信號解算、數(shù)據(jù)處理等運(yùn)算需求的同時,避免器件種類的多樣化;

        (3)使用高性能的分布式互連總線,如RapidIO總線等[8,9]。RapidIO 1.x標(biāo)準(zhǔn)支持的信號速率為1.25 Gbps、2.5 Gbps和3.125 Gbps。借助高速交換芯片如CPS-1848(支持12路4x或18路1x)、TSI578(支持8路4x+8路1x或16路1x)和互聯(lián)背板可以實(shí)現(xiàn)模塊內(nèi)部和模塊間的高速數(shù)據(jù)傳輸,能夠支持目前CNI、電子戰(zhàn)和雷達(dá)的波形應(yīng)用需求。后續(xù)發(fā)布的RapidIO 2.x標(biāo)準(zhǔn)在兼容RapidIO 1.x標(biāo)準(zhǔn)基礎(chǔ)上,增加了支持5Gbps和6.25Gbps的傳輸速率[10],對滿足未來機(jī)載波形高速通信需求提供了有效的技術(shù)保障。

        雖然RapidIO規(guī)范支持消息通信、全局共享內(nèi)存(GSM)和直接輸入輸出(DIO)等多種通信機(jī)制,為了支持高速機(jī)載波形的數(shù)據(jù)交互需求,本文采用RapidIO DIO內(nèi)存映射通信模式構(gòu)建高速的異構(gòu)處理器互聯(lián)通道,以滿足波形的數(shù)據(jù)交互需求。

        圖1給出了基于RapidIO的機(jī)載高速信號處理機(jī)資源互聯(lián),其中包含了各類計(jì)算單元處理板,板內(nèi)單元通過高速交換芯片進(jìn)行互聯(lián),并通過交換芯片連接至交換模塊,實(shí)現(xiàn)板間的數(shù)據(jù)通信。交換板預(yù)留與外部的互聯(lián)接口,實(shí)現(xiàn)與射頻系統(tǒng)以及其它高速處理單元的互聯(lián)。

        集成開放式體系架構(gòu)、通用處理單元和高速互聯(lián)總線的機(jī)載異構(gòu)處理平臺,為實(shí)現(xiàn)波形的建模開發(fā),提高系統(tǒng)開發(fā)效率和波形復(fù)用率提供了一個更加標(biāo)準(zhǔn)化的運(yùn)行環(huán)境。

        圖1 機(jī)載異構(gòu)平臺資源互聯(lián)

        2 E*MOCB硬件抽象層

        JTNC辦公室于2013年公布了MOCB 1.1.5版應(yīng)用編程接口規(guī)范,用于支持GPPs、DSPs和FPGAs上波形組件間的高速數(shù)據(jù)互聯(lián)通信[7]。區(qū)別于MHAL,MOCB是進(jìn)一步對內(nèi)存映射類型通信機(jī)制接口的封裝和組件數(shù)據(jù)傳輸通信的規(guī)范,適用于高速、大數(shù)據(jù)量的數(shù)據(jù)通信需求。本文參照MOCB 1.1.5版規(guī)范,結(jié)合實(shí)際應(yīng)用需求實(shí)現(xiàn)了E*MOCB硬件抽象層中間件。

        2.1 關(guān)鍵概念

        E*MOCB定義了如下關(guān)鍵概念:

        邏輯地址(LD):表示波形組件的邏輯ID,與平臺無關(guān)。波形組件間使用邏輯地址進(jìn)行通信;

        事件(Event):與波形組件相對應(yīng),當(dāng)事件分發(fā)寄存器狀態(tài)改變時需要觸發(fā)事件發(fā)生;

        子事件(SubEvent):對應(yīng)于事件分發(fā)寄存器中的一個狀態(tài)位,通常用于區(qū)分不同源端觸發(fā)的相同事件信息。子事件與一個信號量關(guān)聯(lián),子事件狀態(tài)的改變將觸發(fā)事件的發(fā)生;

        事件分發(fā)寄存器(EventMux):每個事件對應(yīng)一個事件分發(fā)寄存器,用于存儲子事件相關(guān)狀態(tài)信息,寄存器的長度由關(guān)聯(lián)的子事件個數(shù)決定;

        占用狀態(tài)位(IU):表示數(shù)據(jù)的忙閑狀態(tài),用于實(shí)現(xiàn)數(shù)據(jù)收發(fā)端的內(nèi)存互斥訪問和流控等操作;

        連接(Connection):表示源端與目的LD之間的一條數(shù)據(jù)通路。對于每個處理單元上提供的LD,所有與其關(guān)聯(lián)的子事件都對應(yīng)一條連接。

        基于內(nèi)存映射機(jī)制的波形組件數(shù)據(jù)交互,需要根據(jù)節(jié)點(diǎn)上波形組件的使用需求,完成內(nèi)存塊大小及地址的劃分,避免出現(xiàn)數(shù)據(jù)重疊等問題。圖2在上述概念基礎(chǔ)上給出了接收端包含3個邏輯地址的內(nèi)存劃分的示例,以及關(guān)聯(lián)的事件/事件分發(fā)寄存器映射配置信息。

        圖2 E*MOCB波形組件內(nèi)存資源分配

        2.2 波形側(cè)與驅(qū)動側(cè)接口規(guī)范

        如圖3所示,波形側(cè)接口用于描述波形組件與E*MOCB之間的標(biāo)準(zhǔn)化通信接口規(guī)范,該部分接口在GPP和DSP、FPGA平臺上保持一致;驅(qū)動側(cè)接口用于描述E*MOCB與內(nèi)存映射類型通信總線驅(qū)動之間的接口要求。為了適應(yīng)不同內(nèi)存映射機(jī)制總線差異,需要實(shí)現(xiàn)對應(yīng)的驅(qū)動接口適配模塊。

        圖3 E*MOCB波形與驅(qū)動側(cè)接口使用場景

        根據(jù)應(yīng)用需求,本文實(shí)現(xiàn)如下波形側(cè)C語言接口(FPGA部分接口與規(guī)范保持一致,這里不作說明),包括非阻塞讀、阻塞讀、非阻塞寫、阻塞寫、LD地址映射配置和事件配置等,具體接口定義及參數(shù)說明請參閱MOCB1.1.5版規(guī)范[7]:

        mocbRead:實(shí)現(xiàn)本地組件的非阻塞數(shù)據(jù)讀??;

        readWait:實(shí)現(xiàn)本地組件的阻塞式數(shù)據(jù)讀取,阻塞時間可以通過參數(shù)設(shè)置;

        mocbWrite:實(shí)現(xiàn)對遠(yuǎn)端數(shù)據(jù)非阻塞寫功能;

        writeWait:實(shí)現(xiàn)對遠(yuǎn)端數(shù)據(jù)的阻塞寫功能,阻塞時間可以通過參數(shù)設(shè)置;

        configLDMap:配置LD與內(nèi)存地址的映射關(guān)系;

        registerEventMux:用于給波形組件使用的事件分配事件分發(fā)寄存器空間;

        registerSemaphore:用于建立事件、子事件以及波形軟件管理的信號量之間的關(guān)聯(lián)關(guān)系;

        unregisterSemaphore:用于注銷信號量。

        通過E*MOCB屏蔽了異構(gòu)平臺的硬件差異,波形的開發(fā)無需關(guān)注平臺相關(guān)信息,從而提高波形的可移植性和可復(fù)用性。

        然而,由于各平臺提供的總線驅(qū)動接口可能存在差異,為了進(jìn)一步提高E*MOCB的平臺可移植性,適配不同的內(nèi)存映射機(jī)制高速互聯(lián)總線,這里進(jìn)一步約束了GPPs和DSPs上驅(qū)動側(cè)接口形式:

        (1)事件發(fā)送接口:

        MOCBErrorCodes eventIdWrite (

        unsigned short eventId,

        struct MOCBPhyAddr addr);

        (2)子事件發(fā)送接口:

        MOCBErrorCodes subEventIdWrite (

        unsigned short subEventId,

        struct MOCBPhyAddr addr);

        (3)數(shù)據(jù)寫接口:

        MOCBErrorCodes dataWrite (

        unsigned int dataLen,

        unsigned char* data,

        struct MOCBPhyAddr addr);

        (4)數(shù)據(jù)讀接口

        MOCBErrorCodes dataRead (

        unsigned int dataLen,

        unsigned char* data,

        struct MOCBPhyAddr addr);

        對于異構(gòu)平臺,需要在不同的總線驅(qū)動上封裝上述接口,并利用E*MOCB提供的注冊接口完成不同類型總線收發(fā)接口的掛接,以避免由于驅(qū)動的不同對E*MOCB中間件帶來的修改。

        3 波形建模及描述方法

        3.1 基于E*MOCB的波形建模方法

        內(nèi)存映射通信機(jī)制下的波形建模需要考慮內(nèi)存劃分、數(shù)據(jù)包緩存、流控和數(shù)據(jù)覆蓋等問題,借助E*MOCB中間件,可以實(shí)現(xiàn)對內(nèi)存區(qū)域的合理管控,滿足高性能、靈活復(fù)雜的數(shù)據(jù)通信需求?;贓*MOCB的波形建模應(yīng)遵循如下流程:

        (1)采用自頂向下的方式進(jìn)行波形資源需求分析,確定所需的計(jì)算資源類型和數(shù)量;

        (2)采用逆向自底向上的原則進(jìn)行每個計(jì)算單元上的波形組件建模,確定波形組件的劃分方法,每個波形組件需要提供服務(wù)的端口數(shù)量、接收數(shù)據(jù)包的大小、緩存數(shù)據(jù)包的數(shù)量等;

        (3)確定波形組件間的交互關(guān)系,建立提供者端口與使用者端口之間的連接關(guān)系,完成波形的數(shù)據(jù)通信關(guān)系建模。

        圖4給出了一個波形建模示例,由運(yùn)行在計(jì)算節(jié)點(diǎn)A和B上的3個波形組件構(gòu)成,其中計(jì)算節(jié)點(diǎn)A包括兩個波形組件,對應(yīng)于LD1和LD2,LD1具有兩個提供者端口(即LD1對應(yīng)的波形組件支持最多兩個使用者),每個提供者端口支持的接收數(shù)據(jù)包長度最大都為128 KB,最多可以緩存4包數(shù)據(jù),LD2包括一個提供者端口;計(jì)算節(jié)點(diǎn)B包括一個波形組件,對應(yīng)于LD3,具有一個提供者端口。計(jì)算節(jié)點(diǎn)A需要使用B節(jié)點(diǎn)LD3的提供者端口,而計(jì)算節(jié)點(diǎn)B需要使用A節(jié)點(diǎn)LD1的第一個提供者端口和LD2的提供者端口。節(jié)點(diǎn)間使用端口和提供端口調(diào)用關(guān)系通過連接進(jìn)行表示。

        圖4 基于E*MOCB的波形建模

        3.2 波形描述方法

        波形描述是將波形對象抽象并描述成具有邏輯關(guān)系的數(shù)據(jù)表達(dá)方式,其目的是在不同數(shù)據(jù)使用者之間共享數(shù)字化的事務(wù)描述,常用的描述方法如XML等??紤]機(jī)載環(huán)境的存儲及解析復(fù)雜度問題,本文采用了更易于解析的Json格式進(jìn)行波形模型描述。Json是一種更加簡潔高效的形式化描述工具,允許通過使用自定義格式、標(biāo)識、交換和處理數(shù)據(jù)庫可以理解的數(shù)據(jù),具有完善的解析和封裝支持[10]。

        波形描述分為波形、組件和連接關(guān)系描述3部分。波形描述是頂層描述,涵蓋組件和連接等。波形組件描述項(xiàng)包括:事件、子事件、內(nèi)存地址劃分和內(nèi)存大小等。連接關(guān)系描述項(xiàng)包括:使用端節(jié)點(diǎn)ID、提供者組件LD和子事件ID等。

        如下給出了圖4所示模型的部分描述示例:

        /*波形描述示例*/

        { “wvID”: “DCE: WAVEDEMO”,

        “wvName”: “WAVEDEMO”,

        “wvDevice”: [ { “wvDeviceType”: “DSP”,

        “wvDeviceID”: “DCE:A”,

        “wvDeviceComponent”:

        [/*組件描述*/]},

        { “wvDeviceType”: “PPC”,

        “wvDeviceID”: “DCE:B”,

        “wvDeviceComponent”:

        [/*組件描述*/]}

        ],

        “wvConnection”: [/*連接關(guān)系描述*/]

        }

        /*組件描述示例*/

        {/*計(jì)算節(jié)點(diǎn)B上組件描述*/

        “ComponentName”: “COMLD3”,

        “MemSize”: 0x40000,

        “MemAddr”: 0x80000000,

        “ComponentLD”: LD3,

        “EventID”: EventId3,

        “RecvPktMaxLen”:0x10000,

        “BufPktNum”:3,

        “SubEventNum”: 1,

        “SubEvent”:[{“SubEventId”:0,

        “Connection”:0,

        “Offset”:8}]

        }

        /*連接描述示例*/

        { ConnectionSum:3,

        /*計(jì)算節(jié)點(diǎn)A到LD3提供者端口的連接描述*/

        ConnectionInfo: [

        {“ConnectionID”: 1,

        “SrcDeviceID”: “DCE:A”,

        “DstComponentLD”: LD3,

        “DstSubEventId”: 0},

        …]

        }

        波形建模時采用“接收方規(guī)劃,告知發(fā)送方結(jié)果”的模式,每個組件規(guī)劃自己的提供者端口實(shí)現(xiàn),使用者通過連接關(guān)系獲取提供者端口信息。在進(jìn)行數(shù)據(jù)發(fā)送時,系統(tǒng)控管軟件通過解析波形描述文件,同時結(jié)合組件實(shí)際部署位置信息,完成平臺相關(guān)部分的配置。

        4 波形動態(tài)部署運(yùn)行

        波形的建模與實(shí)現(xiàn)具有平臺無關(guān)性,實(shí)際應(yīng)用中需要根據(jù)物理資源狀態(tài)信息完成波形部署運(yùn)行[11]。

        如圖5所示,在邏輯層面,波形組件之間的數(shù)據(jù)收發(fā)僅需要通過調(diào)用E*MOCB提供的標(biāo)準(zhǔn)通信接口和邏輯地址完成,無需關(guān)注具體的實(shí)際部署情況;在物理部署層面,系統(tǒng)控制管理軟件根據(jù)波形模型和組件部署位置信息計(jì)算并完成對組件所在節(jié)點(diǎn)E*MOCB的配置,建立邏輯地址到物理地址的映射關(guān)系,中間件通過調(diào)用具體的底層總線驅(qū)動將數(shù)據(jù)發(fā)送到對方,對方節(jié)點(diǎn)E*MOCB收到數(shù)據(jù)后根據(jù)LD等信息將數(shù)據(jù)路由給對應(yīng)的波形組件,從而實(shí)現(xiàn)應(yīng)用數(shù)據(jù)的通信。當(dāng)波形組件部署位置發(fā)生變化時,只需要重新計(jì)算部署節(jié)點(diǎn)上的路由信息,并完成對E*MOCB的配置,就可實(shí)現(xiàn)波形的動態(tài)部署運(yùn)行。

        圖5 異構(gòu)平臺的波形動態(tài)部署

        5 實(shí)驗(yàn)驗(yàn)證與分析

        如圖6所示,實(shí)驗(yàn)部分使用由運(yùn)行于PPC、DSP和FPGA這3類處理器上的6個波形組件構(gòu)成的波形樣例進(jìn)行測試。

        圖6 測試波形樣例

        該波形的功能和運(yùn)行流程如下:FPGA上的組件1作為測試數(shù)據(jù)源,調(diào)用組件2和組件4提供的端口,間隔向這兩個組件發(fā)送長度為512 KB的數(shù)據(jù),組件2(完成相鄰奇偶位置數(shù)據(jù)相加后對16取模)和組件4,組件3(完成相鄰奇偶位置數(shù)據(jù)相乘后對16取模)和組件5具有相同的處理功能,組件3和組件5將處理完的數(shù)據(jù)發(fā)送到組件6(具有兩個提供者端口),組件6對組件3和5發(fā)送的數(shù)據(jù)進(jìn)行對比。測試中數(shù)據(jù)的發(fā)送采用阻塞模式,以匹配不同類型處理器的運(yùn)算速度差異。波形組件的關(guān)鍵配置信息見表1。

        表1 波形組件關(guān)鍵配置信息

        實(shí)驗(yàn)中,在某預(yù)研項(xiàng)目的綜合信號處理機(jī)(ISP)中進(jìn)行了測試。ISP內(nèi)集成了通用的數(shù)據(jù)和信號處理模塊,處理器包括P2020、TMS320C6678和Xilinx X7K325T等高性能處理單元,處理單元間通過高速交換芯片CPS-1848進(jìn)行RapidIO總線互聯(lián),實(shí)現(xiàn)4×3.125Gbps模式高速數(shù)據(jù)傳輸。

        測試時,首先由ISP控制管理程序?qū)y試波形描述進(jìn)行解析,接下來按照波形描述、所需物理資源及RapidIO連接關(guān)系進(jìn)行波形組件部署及節(jié)點(diǎn)的E*MOCB中間件信息配置,最后根據(jù)組件間的邏輯連接關(guān)系建立節(jié)點(diǎn)間的RapidIO鏈路層連接關(guān)系。

        完成部署和配置后,啟動各節(jié)點(diǎn)的程序,并觸發(fā)COM1組件發(fā)送數(shù)據(jù)。通過測試結(jié)果可知,波形運(yùn)行正常,組件6從組件4和5接收的處理結(jié)果數(shù)據(jù)相同。測試中,所有組件都采用了阻塞式流控發(fā)送模式,如果接收端處理速度慢,且緩沖已滿,則觸發(fā)發(fā)送端進(jìn)行流控。測試的整體數(shù)據(jù)帶寬受RIO總線性能以及各節(jié)點(diǎn)處理性能的影響。因?yàn)槭褂昧肆骺貦C(jī)制,因此不存在數(shù)據(jù)包丟失的情況。據(jù)測試,對于512 KB數(shù)據(jù),中間件收發(fā)數(shù)據(jù)帶寬可達(dá)7 Gbps以上,為更好實(shí)現(xiàn)機(jī)載傳感器功能集成提供了保證。

        測試用例中,在各組件中實(shí)現(xiàn)了數(shù)據(jù)的加、乘和對比等運(yùn)算,通過更改組件功能就可快速構(gòu)成其它的波形功能。通過本文提出的方法,在完成波形數(shù)據(jù)通信流程建模后,波形開發(fā)者只需要在組件內(nèi)添加具體功能實(shí)現(xiàn),無需關(guān)注通信細(xì)節(jié),可以顯著提升波形復(fù)用率和軟件開發(fā)效率。

        6 結(jié)束語

        本文針對機(jī)載高速內(nèi)存映射異構(gòu)平臺,分析了大規(guī)模機(jī)載波形建模的應(yīng)用需求,針對異構(gòu)平臺的建模環(huán)境,提出了基于E*MOCB硬件抽象層的內(nèi)存映射總線底層封裝方法和標(biāo)準(zhǔn)化的波形組件以及波形建模、描述方法,實(shí)現(xiàn)了波形與平臺的解耦和規(guī)范化的設(shè)計(jì)與開發(fā),規(guī)范了基于高速內(nèi)存映射機(jī)制通信總線的機(jī)載異構(gòu)平臺波形建模,能夠推進(jìn)模型驅(qū)動的軟件開發(fā)實(shí)踐,提升波形軟件的復(fù)用率。

        午夜精品久久久久久中宇| 丰满少妇被啪啪到高潮迷轩| 国产狂喷水潮免费网站www| 中文成人无字幕乱码精品区| 亚洲精品不卡电影| 日本av一区二区播放| 日韩有码在线观看视频| 极品少妇小泬50pthepon| 大地资源中文第三页| 精品黑人一区二区三区| 亚洲天堂av福利在线| 免费视频成人片在线观看| 国产精品久久久久久久久鸭| 中文字幕亚洲区第一页| 中文字幕在线乱码亚洲| 好男人社区影院www| 国产A√无码专区| 亚洲中文字幕黄色小视频| 久久精品国产亚洲av成人文字| 国产成人a在线观看视频免费 | 国产精品无码久久久久下载| 亚洲天码一区二区三区| 欧美日韩精品一区二区视频| 老熟妇高潮喷了╳╳╳| 一区二区丝袜美腿视频| 久久婷婷综合激情五月| 女人张开腿让男桶喷水高潮| 香蕉成人啪国产精品视频综合网 | 中文字幕一区在线观看视频| 国产精品亚洲午夜不卡| 日本免费播放一区二区| 粗大的内捧猛烈进出少妇 | 色视频综合无码一区二区三区| y111111少妇影院无码| 日本中文字幕一区二区在线观看| 人妖av手机在线观看| 国产成年无码v片在线| 国产午夜激情视频自拍| 国产麻豆一区二区三区在| 亚洲av日韩av天堂久久| 亚洲人成网站在线播放观看|