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

        ?

        機載SDR系統(tǒng)SCA核心框架優(yōu)化技術(shù)*

        2021-08-30 01:38:24許富龍
        電訊技術(shù) 2021年8期
        關(guān)鍵詞:波形組件架構(gòu)

        許富龍,張 強,李 鵬,羅 玲

        (1.中國民用航空飛行學院 空中交通管理學院,四川 廣漢 618307;2.中國西南電子技術(shù)研究所,成都 610036)

        0 引 言

        軟件無線電(Software Defined Radio,SDR)[1]是一種新型的無線電體系結(jié)構(gòu),它通過硬件和軟件的結(jié)合使無線電系統(tǒng)或設(shè)備具有可重配置能力[2],使相同的硬件可以通過軟件定義來獲得不同的功能。硬件通用化、功能軟件化是SDR系統(tǒng)的主要特點。在開放、可擴展、結(jié)構(gòu)精簡的硬件通用平臺上,如何實現(xiàn)標準化的波形軟件建模、開發(fā)和部署,縮短系統(tǒng)開發(fā)時間,是SDR系統(tǒng)研發(fā)中需要解決的關(guān)鍵問題之一。在此背景下,軟件通信架構(gòu)(Software Communication Architecture,SCA)應運而生。

        SCA起源于2000年,作為一個開放的軟件架構(gòu)標準,它規(guī)定一組與波形功能無關(guān)的通用接口和規(guī)則,使基于此開發(fā)的波形應用軟件具有良好的可移植性、可重用性和互操作性。2015年,SCA4.1版本發(fā)布,該版本對舊版進行了大量變革,例如支持功能裁剪等。

        盡管SCA圍繞SDR普適性的目標不斷發(fā)展,但其通用的定位導致其接口功能臃腫,運行效率較低[3-4]。在注重效益的SDR工業(yè)領(lǐng)域,尤其是機載SDR領(lǐng)域,基于SCA規(guī)范的研發(fā)常常遭遇困難。為此,本文將根據(jù)機載SDR的實際特點,分析機載領(lǐng)域?qū)CA架構(gòu)的實際需求,并從功能裁剪和加載流程優(yōu)化兩方面提出SCA核心框架的優(yōu)化技術(shù),解決SCA架構(gòu)在機載SDR中的應用問題。

        1 機載SDR系統(tǒng)介紹

        1.1 機載SDR系統(tǒng)硬件平臺

        圖1是典型的機載SDR硬件平臺[5],由通用射頻收發(fā)模塊和信號信息處理模塊通過數(shù)字交換網(wǎng)絡(luò)互連而成。通用射頻收發(fā)模塊用于射頻信號的上下變頻、濾波和射頻信號與數(shù)字信號的相互轉(zhuǎn)換。信號信息處理模塊完成數(shù)字信號處理和信息協(xié)議處理[5-6],其處理實際由模塊上的波形軟件完成。

        圖1 機載SDR系統(tǒng)典型硬件結(jié)構(gòu)

        信號信息處理模塊主要包括通用處理器(General Purpose Processors,GPP)、數(shù)字信號處理(Digital Signal Processing,DSP)、現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)等多種類型的處理器和Flash器件。當系統(tǒng)運行時,各處理器從文件系統(tǒng)中加載所需的波形應用軟件,執(zhí)行相應的信號和信息處理程序,實現(xiàn)無線電功能。

        1.2 機載SDR系統(tǒng)軟件結(jié)構(gòu)

        機載SDR系統(tǒng)采用圖2所示的SCA軟件結(jié)構(gòu)。其中,底層驅(qū)動之上、波形應用之下的軟件統(tǒng)稱為運行環(huán)境(Operating Environment,OE)。OE為波形應用軟件提供完善的運行平臺環(huán)境,并負責軟件平臺管理和組件執(zhí)行。OE主要包括嵌入式操作系統(tǒng)、傳輸機制、核心框架、平臺設(shè)備組件和服務組件。

        圖2 SCA軟件結(jié)構(gòu)

        SCA核心框架是OE的核心管理單元。SCA核心框架軟件實現(xiàn)SCA規(guī)范要求的API接口,管理平臺軟硬件資源,并負責波形軟件在系統(tǒng)中的加載、創(chuàng)建、執(zhí)行、配置和銷毀。SCA核心框架包含一套標準接口定義,使按照該接口開發(fā)的波形組件可以直接被核心框架調(diào)用和管理。因此,SCA核心框架使波形應用與平臺的集成變得簡單,增強了波形軟件的可移植性。

        1.3 機載環(huán)境下SCA架構(gòu)的實際需求

        雖然SCA能提升SDR系統(tǒng)的軟件開發(fā)和集成效率,但其接口冗余、資源浪費、性能較低等缺點難以滿足機載需求。

        實際上,機載SDR系統(tǒng)的體積、功耗等要求制約了硬件系統(tǒng)的資源規(guī)模[7];同時,為了滿足DO-178C標準[8],SCA核心框架必須具備輕量、高效的特點。因此,必須對臃腫冗余的核心框架進行優(yōu)化改進。

        2 功能單元裁剪

        功能單元裁剪既符合SCA 4.1規(guī)范優(yōu)化思路,也與機載軟件精簡緊湊的要求相一致。

        2.1 波形安裝/卸載能力裁剪

        SCA規(guī)范包含波形應用的安裝和卸載能力。波形必須被“安裝”到系統(tǒng)中,才能獲得該波形應用的工廠對象,當不再需要一個波形時,可通過“卸載”將其移除。

        機載SDR系統(tǒng)不需要波形安裝和卸載能力。雖然安裝行為會對波形的軟件裝配描述文件(Software Assembly Descriptor,SAD)及其依賴的關(guān)聯(lián)文件進行校驗,但該能力裁剪后仍然可以通過優(yōu)化保證安全,簡化運行流程,有利于減小軟件規(guī)模提高和運行效率。

        2.2 系統(tǒng)組件的動態(tài)注銷能力裁剪

        為支持設(shè)備熱插拔,SCA規(guī)范提供了系統(tǒng)組件(設(shè)備組件和服務組件)的運行時動態(tài)注冊/注銷能力。機載SDR系統(tǒng)在運行時不會插拔硬件模塊,所以不需要此能力。雖然在研發(fā)階段,該能力支持在不重啟系統(tǒng)的條件下多次加卸載系統(tǒng)組件,為測試工作提供便利,但加卸載系統(tǒng)組件的行為常常是由軟件運行錯誤引起的,此時為排查軟件錯誤,重啟是更為常用的方法。此外,裁剪此能力一定程度上簡化了核心框架的復雜性,所以兼具瘦身和可靠性提升的優(yōu)點。

        3 加載流程優(yōu)化

        SCA系統(tǒng)中存在兩種組件:系統(tǒng)組件和波形組件。系統(tǒng)組件通常在啟動階段由設(shè)備管理器根據(jù)設(shè)備配置描述文件(Device Configuration Descriptor,DCD)依次加載,而波形組件則在功能創(chuàng)建時由應用工廠根據(jù)其SAD描述文件進行加載。雖然兩種組件的加載時機不同、實施加載行為的主體不同,但其加載過程實質(zhì)上是類似的,都可以采用本文的加載流程優(yōu)化方法。為便于描述,后面主要針對波形組件來闡述加載流程優(yōu)化設(shè)計。

        3.1 問題分析

        波形創(chuàng)建的步驟包括組件加載、組件執(zhí)行、端口連接和波形配置。其中,組件加載因為需要搬移數(shù)據(jù)而較為耗時。在分布式環(huán)境下,組件的加載需要先從文件系統(tǒng)中讀取數(shù)據(jù),再通過總線傳輸?shù)侥康奶幚砥?。因此,波形組件的加載速度主要取決于文件系統(tǒng)性能、總線傳輸速率。顯然,當系統(tǒng)設(shè)計完成時,這兩個參數(shù)就已經(jīng)確定。

        可以從更高層面來分析波形加載時間問題。通常,一個波形應用包括多個組件,而這些組件一般部署在不同處理器上。因此,一個波形應用的“總”加載時間,還取決于各組件是串行加載還是并行加載。

        3.1.1 SCA規(guī)范對波形加載的限制

        SCA規(guī)范定義LoadableInterface接口用于組件加載,并要求可加載設(shè)備(LoadableDevice)實現(xiàn)該接口。該接口的load函數(shù)定義如下:

        void load(in FileSystem fs,in string fileName,in LoadType loadKind);

        raises(InvalidState,InvalidLoadKind,InvalidFileName,LoadFail)。

        其中,參數(shù)fs指定被加載文件所在的文件系統(tǒng),filename是被加載文件名,loadKind指定加載類型。

        當創(chuàng)建一個波形應用時,首先為其每一個組件分配合適的處理器,而每一個處理器對應一個可加載設(shè)備組件。隨后,SCA核心框架調(diào)用相應的可加載設(shè)備組件的load函數(shù),完成組件加載。因為load是同步函數(shù),所以核心框架的波形創(chuàng)建進程在調(diào)用load時會被阻塞,直到組件加載結(jié)束后才從load返回。因此,SCA規(guī)范的組件加載實際是串行執(zhí)行的。例如波形Wave1有三個組件Comp1~3,分別要部署在處理器A、B和C,核心框架的加載行為類似于圖3(a)的偽代碼,其時間特性如圖3(b)所示。

        圖3 SCA規(guī)范的波形加載示意圖

        波形加載的總時長約為各組件加載時長之和,即

        (1)

        式中:ti是第i個組件的加載耗時,n是組件數(shù)量,t′是分布式環(huán)境下的命令傳輸耗時??梢姡ㄐ渭虞d耗時較長,限制了系統(tǒng)性能。

        3.1.2 SDR硬件架構(gòu)對波形加載的影響

        出于對成本、性能等方面的考慮,不同的SDR系統(tǒng)在硬件設(shè)計上差異較大。SCA規(guī)范不對SDR的硬件做過多約束,使得硬件架構(gòu)設(shè)計具有很大的靈活性。

        圖4列舉了兩種SDR硬件架構(gòu)。圖4(a)有三個文件系統(tǒng),采用交換總線與處理器相連;圖4(b)為控制成本,通過共享總線將一個文件系統(tǒng)(File System,FS)與處理器相連。這里仍以前面的波形加載為例,討論兩種硬件架構(gòu)對加載的影響。

        圖4 影響加載的兩種硬件架構(gòu)

        對于圖4(a)的硬件結(jié)構(gòu),多文件系統(tǒng)提升了文件服務能力。如果三個波形組件分別存儲在三個FS,并行加載不會使單個FS的負荷增大。同時,交換總線也使點到點的帶寬不會因為同時傳輸而下降。因此,并行加載的性能如圖5所示,此時加載總時間約為單個組件加載時間中的最大值:

        圖5 波形組件并行加載的時間特性

        (2)

        對于圖4(b)的硬件結(jié)構(gòu),單文件系統(tǒng)和共享總線下的并行加載不能顯著提升時間性能,甚至可能因形成瓶頸而使性能惡化。一方面,單文件系統(tǒng)在提供多個大文件的并行讀操作時,工作負荷增大,調(diào)度開銷增加,其性能相對于串行讀取可能更低;另一方面,總線鏈路共享使多個數(shù)據(jù)流的同時傳輸相互影響。此時采用串行加載更為合適。

        3.1.3 優(yōu)化原則

        通過上述分析可知,“改串為并”,即采用并行方式加載波形組件是優(yōu)化加載時間性能的一個有效方法,但前提是硬件系統(tǒng)能夠為并行加載提供支持。對不適合并行加載的情形,例如上述共享式硬件架構(gòu)、從單文件系統(tǒng)中加載多個組件、組件間存在依賴關(guān)系導致無法并行加載等,仍適宜采用串行加載。實際上,很多SDR系統(tǒng)往往同時存在適合并行加載和適合串行加載的情形。因此,“串并共存”,即根據(jù)實際系統(tǒng)的具體情況來靈活配置和指定波形的加載方式,才是最符合實際需要的,這正是本文加載流程優(yōu)化設(shè)計的基本原則。該原則能夠根據(jù)實際系統(tǒng)的特點,充分發(fā)揮硬件系統(tǒng)的并行加載潛力,既提升了時間性能,同時也能很好地兼容SCA規(guī)范。

        3.2 加載流程優(yōu)化設(shè)計

        3.2.1 接口設(shè)計

        SCA規(guī)范的load函數(shù)是同步函數(shù)。為支持并行加載,本文設(shè)計了如圖6所示的異步加載接口。

        圖6 異步加載接口及調(diào)用關(guān)系

        (1)增加asynLoad函數(shù)

        在SCA規(guī)范的標準接口LoadableInterface中增加asynLoad函數(shù)。該函數(shù)由loadableDevice組件實現(xiàn),供核心框架調(diào)用。

        void asynLoad(in FileSystem fs,in string fileName,in LoadType loadKind,in loadResultCallbackObj resultCallbackObj);

        raises(InvalidState,InvalidLoadKind,InvalidFileName)。

        asynLoad函數(shù)是異步(非阻塞)函數(shù),它在啟動波形加載過程后立即返回,不等待波形加載行為結(jié)束。因此,該函數(shù)執(zhí)行時間極短,不會使調(diào)用的進程睡眠。波形創(chuàng)建進程可以連續(xù)調(diào)用多個LoadableDevice的asynLoad函數(shù),使多個組件并行加載。

        相比load函數(shù),asynload多了一個參數(shù)resultCallbackObj,該參數(shù)是一個loadResultCallbackObj類型的對象引用(指針),供loadableDevice組件在波形組件加載結(jié)束時通過回調(diào)將加載結(jié)果返回。該參數(shù)的細節(jié)見下一小節(jié)。

        (2)新增LoadResultCallbackInterface接口

        異步函數(shù)asynLoad無法向調(diào)用者返回加載結(jié)果,必須采用回調(diào)方式讓LoadableDevice在加載結(jié)束時上報加載結(jié)果。為此,增加LoadResultCallbackInterface接口,該接口只有一個resultCallback函數(shù)。

        void resultCallback(in string fileName,in LoadResultType loadResult)。

        其中,參數(shù)fileName指明被加載的波形組件,loadResult指出加載結(jié)果,LoadableDevice組件在完成加載后調(diào)用該函數(shù)將結(jié)果告知波形創(chuàng)建進程。

        在核心框架內(nèi)部,LoadResultCallbackObj對象應實現(xiàn)LoadResultCallbackInterface接口。應用工廠組件根據(jù)需要創(chuàng)建多個LoadResultCallbackObj對象。一個LoadResultCallbackObj對象對應一個LoadableDevice組件。該對象將作為asynload函數(shù)的最后一個參數(shù)傳遞給LoadableDevice組件。

        3.2.2 建模設(shè)計

        為支持靈活的并/串行加載,需要設(shè)計一種標準的建模方法。SAD描述文件用于描述一個波形應用的組件列表、裝配方法和內(nèi)部連接等特性。因此,本文選擇在SAD存儲組件的加載配置信息。該配置信息只包含一個加載批次(LoadBatch)屬性,具體設(shè)計如下:

        (1)LoadBatch屬性是1~255的整型值,用于表示一個組件被加載的批次。

        (2)LoadBatch屬性的具體位置是在SAD partitioning:componentplacement:componentinstantiation:componentproperties。每一個波形組件(實例)都對應一個componentproperties元素,用于存儲該組件(實例)在創(chuàng)建及初始配置過程中所需使用的屬性值。因此,每一個組件(實例)都對應一個LoadBatch屬性。

        當創(chuàng)建一個波形應用時,核心框架讀取其SAD文件獲知每一個組件的LoadBatch。如果未設(shè)置LoadBatch,核心框架將采用SCA規(guī)范的標準加載流程,從而實現(xiàn)對SCA規(guī)范的兼容。

        3.2.3 算法設(shè)計

        對一個波形應用的多組件加載,采用“多批次的并行加載”設(shè)計:同一批次內(nèi)采用并行加載,而不同批次之間是串行加載。組件的加載次序由其LoadBatch決定:先加載LoadBatch為1的組件,再加載LoadBatch為2的組件……直到所有組件都被加載。若多個組件的LoadBatch同為i,則它們將在第i批次中并行加載。

        一個波形應用的加載流程算法偽代碼如下:

        1 fori=1;i<=255;i++ do

        2 將批次號(LoadBatch)為i的所有組件,構(gòu)成集合Ф;//Ф內(nèi)的組件將并行加載

        3 if(Ф不為空) then

        4 forn=1;n<=|Ф|;n++ do //|Ф|代表Ф中組件個數(shù),Фn指Ф集合中第n個組件

        5 獲取組件Фn的部署設(shè)備loadDev,回調(diào)對象cbObj,文件系統(tǒng)fs,文件名fn;

        6 loadDev->asynload(fs,fn,EXECUTABLE,cbObj);//asynload調(diào)用后立即返回

        7 end for

        8

        9 while(1) do

        10 waitForLoadResult();//進程將睡眠,直到收到Ф中某組件的加載結(jié)果后才喚醒

        11 if(Ф中所有組件的加載結(jié)果已收齊)

        12 break;//跳出while循環(huán),本批次組件加載完畢;

        13 end if

        14 end while

        15

        16 if(此波形的所有組件都已執(zhí)行加載動作)

        17 break;//跳出for循環(huán),此波形加載結(jié)束!

        18 end if

        19 end if

        20 end for

        4~7行的for語句循環(huán)調(diào)用asynLoad函數(shù),使第i批次的所有n個組件并行加載。9~14行的while語句用于等待第i批次n個組件的加載結(jié)果。每當執(zhí)行到10行時,波形創(chuàng)建進程將睡眠等待,直到LoadDevice組件調(diào)用resultCallback函數(shù)上報加載結(jié)果時,該進程才被喚醒,此時采用11行if語句檢查n個組件的加載結(jié)果是否已收齊:若是,本批次加載結(jié)束;否則將回到10行繼續(xù)等待其他組件的加載結(jié)果。當程序執(zhí)行到16行時,本批次的加載已完成,此時若該波形的所有組件都已加載,則流程結(jié)束;否則將啟動下一批次加載。

        上述算法可以靈活地使波形的多個組件以任意期望的順序和串/并方式被加載,滿足任意系統(tǒng)對波形加載流程的優(yōu)化需要。

        4 實驗驗證

        實驗采用信號處理測試平臺。該平臺集成通用信號處理模塊,包含PPC、DSP和FPGA等高性能處理單元。為便于測試,編寫了相關(guān)測試設(shè)備組件和測試波形組件。

        4.1 功能驗證

        結(jié)果表明,采用本文優(yōu)化技術(shù)的核心框架能夠正常啟動和運行,當設(shè)置了各個組件LoadBatch值時,核心框架能夠讀取LoadBatch值并按模型意圖正確地實施組件加載。

        4.2 實驗分析

        實驗結(jié)果表明,采用本文優(yōu)化技術(shù),核心框架的啟動時間有所縮短。表1是波形加載時間的優(yōu)化結(jié)果,可以看出,并行加載可有效縮短波形加載時間。組件數(shù)量為2的數(shù)據(jù)表明,各組件尺寸的差異越小,并行加載的時間優(yōu)化效果越好。此外,當組件數(shù)量為4時,優(yōu)化效果有所下降,這是因為4個組件被分成了兩個批次進行加載。

        表1 波形加載時間優(yōu)化結(jié)果

        上述結(jié)果表明,本文的優(yōu)化技術(shù)可有效降低核心架構(gòu)的自身開銷,提升架構(gòu)性能。

        5 結(jié) 論

        本文分析了SCA架構(gòu)在機載SDR系統(tǒng)中的不足,并從功能裁剪和加載流程優(yōu)化兩方面提出了核心框架優(yōu)化方法。實驗結(jié)果表明,該方法不僅使架構(gòu)更精簡,而且能充分地發(fā)揮硬件系統(tǒng)的并行加載潛力,有效提升機載系統(tǒng)中SCA架構(gòu)的可用性,對面向機載SDR系統(tǒng)的SCA核心框架優(yōu)化具有一定指導意義。

        猜你喜歡
        波形組件架構(gòu)
        基于FPGA的RNN硬件加速架構(gòu)
        無人機智能巡檢在光伏電站組件診斷中的應用
        能源工程(2022年2期)2022-05-23 13:51:50
        功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應用和實踐
        汽車工程(2021年12期)2021-03-08 02:34:30
        對《壓力容器波形膨脹節(jié)》2018版新標準的理解及分析
        新型碎邊剪刀盤組件
        重型機械(2020年2期)2020-07-24 08:16:16
        U盾外殼組件注塑模具設(shè)計
        基于LFM波形的靈巧干擾效能分析
        LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
        電信科學(2017年6期)2017-07-01 15:45:17
        基于ARM的任意波形電源設(shè)計
        大連臺使用CTS-1記錄波形特點
        射死你天天日| 亚洲精品国产av成拍色拍| 99精品国产综合久久麻豆| 国模冰莲自慰肥美胞极品人体图| 亚洲av日韩av综合| 中文字幕久热精品视频免费| 蜜桃在线一区二区三区| 青草久久婷婷亚洲精品| 免费视频爱爱太爽了| 亚洲男同志gay 片可播放| 免费无码黄网站在线观看| 日韩av天堂一区二区三区在线| 亚洲精品动漫免费二区| 国产真实乱人偷精品人妻| 无码av专区丝袜专区| 国产免费人成视频在线| 娜娜麻豆国产电影| 久久久国产精品ⅤA麻豆| 淫欲一区二区中文字幕| 18禁美女裸身无遮挡免费网站 | 人妻少妇哀求别拔出来| 欧美一区二区三区红桃小说| 永久无码在线观看| av免费在线观看在线观看| 国产精品沙发午睡系列| 无码av免费一区二区三区试看| 98国产精品永久在线观看| 国产伦理一区二区久久精品 | 特级做a爰片毛片免费看无码| 538任你爽精品视频国产| 人妻1024手机看片你懂的| 中国妇女做爰视频| 老熟妇高潮喷了╳╳╳| 国产日产久久福利精品一区| 精品视频在线观看日韩| 特黄特色的大片观看免费视频| 亚洲精品国产一二三无码AV| 亚洲大胆美女人体一二三区| 草色噜噜噜av在线观看香蕉| 成人免费ā片在线观看| 蜜桃av一区在线观看|