999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

機載SDR系統SCA核心框架優化技術*

2021-08-30 01:38:24許富龍
電訊技術 2021年8期
關鍵詞:優化系統

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

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

0 引 言

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

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

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

1 機載SDR系統介紹

1.1 機載SDR系統硬件平臺

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

圖1 機載SDR系統典型硬件結構

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

1.2 機載SDR系統軟件結構

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

圖2 SCA軟件結構

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

1.3 機載環境下SCA架構的實際需求

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

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

2 功能單元裁剪

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

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

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

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

2.2 系統組件的動態注銷能力裁剪

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

3 加載流程優化

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

3.1 問題分析

波形創建的步驟包括組件加載、組件執行、端口連接和波形配置。其中,組件加載因為需要搬移數據而較為耗時。在分布式環境下,組件的加載需要先從文件系統中讀取數據,再通過總線傳輸到目的處理器。因此,波形組件的加載速度主要取決于文件系統性能、總線傳輸速率。顯然,當系統設計完成時,這兩個參數就已經確定。

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

3.1.1 SCA規范對波形加載的限制

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

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

raises(InvalidState,InvalidLoadKind,InvalidFileName,LoadFail)。

其中,參數fs指定被加載文件所在的文件系統,filename是被加載文件名,loadKind指定加載類型。

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

圖3 SCA規范的波形加載示意圖

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

(1)

式中:ti是第i個組件的加載耗時,n是組件數量,t′是分布式環境下的命令傳輸耗時。可見,波形加載耗時較長,限制了系統性能。

3.1.2 SDR硬件架構對波形加載的影響

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

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

圖4 影響加載的兩種硬件架構

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

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

(2)

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

3.1.3 優化原則

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

3.2 加載流程優化設計

3.2.1 接口設計

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

圖6 異步加載接口及調用關系

(1)增加asynLoad函數

在SCA規范的標準接口LoadableInterface中增加asynLoad函數。該函數由loadableDevice組件實現,供核心框架調用。

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

raises(InvalidState,InvalidLoadKind,InvalidFileName)。

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

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

(2)新增LoadResultCallbackInterface接口

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

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

其中,參數fileName指明被加載的波形組件,loadResult指出加載結果,LoadableDevice組件在完成加載后調用該函數將結果告知波形創建進程。

在核心框架內部,LoadResultCallbackObj對象應實現LoadResultCallbackInterface接口。應用工廠組件根據需要創建多個LoadResultCallbackObj對象。一個LoadResultCallbackObj對象對應一個LoadableDevice組件。該對象將作為asynload函數的最后一個參數傳遞給LoadableDevice組件。

3.2.2 建模設計

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

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

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

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

3.2.3 算法設計

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

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

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

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

3 if(Ф不為空) then

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

5 獲取組件Фn的部署設備loadDev,回調對象cbObj,文件系統fs,文件名fn;

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

7 end for

8

9 while(1) do

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

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

12 break;//跳出while循環,本批次組件加載完畢;

13 end if

14 end while

15

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

17 break;//跳出for循環,此波形加載結束!

18 end if

19 end if

20 end for

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

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

4 實驗驗證

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

4.1 功能驗證

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

4.2 實驗分析

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

表1 波形加載時間優化結果

上述結果表明,本文的優化技術可有效降低核心架構的自身開銷,提升架構性能。

5 結 論

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

猜你喜歡
優化系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
WJ-700無人機系統
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
主站蜘蛛池模板: 亚洲天堂网视频| 国产精品视频观看裸模| 538精品在线观看| 国产精品高清国产三级囯产AV| 国产视频久久久久| 一本色道久久88综合日韩精品| 亚洲成人一区在线| 欧美国产日产一区二区| 久久精品人人做人人爽电影蜜月 | 美女毛片在线| 亚洲综合中文字幕国产精品欧美| 一区二区三区成人| 国产综合精品日本亚洲777| 国产主播一区二区三区| 欧美日韩午夜| 亚洲天堂久久| 欧美久久网| 久久久国产精品免费视频| 成人国产精品2021| 亚洲欧美日韩成人高清在线一区| 亚洲男人天堂网址| 国产综合另类小说色区色噜噜| 极品国产一区二区三区| 亚洲欧美在线精品一区二区| 亚洲 日韩 激情 无码 中出| 欧美高清视频一区二区三区| 波多野结衣一区二区三区AV| 91香蕉国产亚洲一二三区| 亚洲无码视频一区二区三区| 精品三级网站| 中文字幕 日韩 欧美| 亚洲精选高清无码| 国产精品免费露脸视频| 色网站免费在线观看| 亚洲第一视频区| 国产欧美在线观看一区| 婷婷亚洲天堂| 亚洲综合色婷婷| 另类重口100页在线播放| 国产精品无码AV片在线观看播放| A级毛片高清免费视频就| 亚洲av无码成人专区| h网站在线播放| 日韩国产黄色网站| 国产香蕉在线视频| 欧美啪啪精品| 日韩在线观看网站| 亚洲日本www| 精品少妇人妻无码久久| 国产一二视频| 99精品在线视频观看| 黄色国产在线| 亚洲视频无码| 91九色视频网| 国产日本欧美亚洲精品视| 国产免费a级片| 亚洲成人一区二区| 在线免费观看AV| 国产亚洲第一页| 熟女日韩精品2区| 国产精品微拍| 自拍偷拍欧美日韩| 亚洲永久精品ww47国产| 超薄丝袜足j国产在线视频| 韩国v欧美v亚洲v日本v| 亚洲综合色婷婷中文字幕| 亚洲AV无码一区二区三区牲色| 青草免费在线观看| 色爽网免费视频| 日韩成人午夜| 亚洲欧美极品| 无码在线激情片| 国产成人免费手机在线观看视频| 无码日韩精品91超碰| 91免费观看视频| 高清码无在线看| 中文字幕 欧美日韩| 国产一区三区二区中文在线| 在线综合亚洲欧美网站| 免费av一区二区三区在线| 精品无码一区二区三区在线视频| 国产v精品成人免费视频71pao|