• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于SCA架構(gòu)的波形設(shè)計方法

      2021-05-20 06:55:24
      現(xiàn)代導(dǎo)航 2021年2期
      關(guān)鍵詞:調(diào)用代碼處理器

      呂 浩

      (中國電子科技集團公司第二十研究所,西安 710068)

      0 引言

      軟件通信體系架構(gòu)(Software Communication Architecture,SCA)是一組實現(xiàn)軟件無線電系統(tǒng)的規(guī)則和方法的集合,定義了統(tǒng)一的軟件無線電體系結(jié)構(gòu)規(guī)范,解決了不同廠家軟件無線電產(chǎn)品的兼容問題[1]。本文基于SCA 架構(gòu),提出一種通用的波形設(shè)計方法,將波形功能封裝成接口標(biāo)準(zhǔn)的波形組件,通過硬件抽象層接口屏蔽底層驅(qū)動差異,并通過SCA 核心框架進行管控,可滿足“一種波形適應(yīng)多種平臺,一種平臺加載多種波形”的要求。

      1 SCA 軟硬件架構(gòu)

      硬件體系架構(gòu)采用面向?qū)ο蟮念惤Y(jié)構(gòu),硬件結(jié)構(gòu)中的各部分被劃分為硬件類,硬件類再細分為各硬件子類,可涵蓋所有電子裝備應(yīng)用領(lǐng)域通用硬件。硬件架構(gòu)如圖1所示。每個子類設(shè)備都可以通過繼承的方式來獲得父類設(shè)備通用的屬性,同時每個子類也可以有自己的特定屬性。

      圖1 SCA 硬件架構(gòu)

      硬件類的劃分方法依據(jù)硬件設(shè)備的物理和接口特性,而不是硬件設(shè)備的特定功能,從而保證了硬件設(shè)備的通用性和可擴展性,降低系統(tǒng)成本[2]。而軟件架構(gòu)采用分層結(jié)構(gòu),并將應(yīng)用與底層硬件分開,如圖2所示。應(yīng)用與硬件平臺中間的部分成為操作環(huán)境(Operating Environment,OE),由操作系統(tǒng)、組件間通信機制、核心框架、設(shè)備與服務(wù)組成,為波形應(yīng)用的開發(fā)提供統(tǒng)一的底層支持和服務(wù),使波形應(yīng)用開發(fā)具有最大的可移植性和可重用性。

      圖2 SCA 軟件架構(gòu)

      2 基于SCA 的波形設(shè)計方法

      對于通信波形而言,一般的處理流程如圖3所示。傳統(tǒng)的波形開發(fā)方法是將各個分功能緊密耦合在一起來實現(xiàn)波形完整功能,這樣就導(dǎo)致了軟件重用和功能升級比較困難,使得波形開發(fā)難度大、開發(fā)速度慢、周期長[3]。

      圖3 通信波形典型功能組成及流程

      為了提高波形應(yīng)用的可復(fù)用性以及可移植性,降低波形開發(fā)難度,本文基于SCA 架構(gòu),提出一種通用的波形設(shè)計方法,將波形應(yīng)用劃分為多個標(biāo)準(zhǔn)應(yīng)用組件,封裝業(yè)務(wù)功能實現(xiàn),通過核心框架實現(xiàn)波形管理控制,通過中間件及硬件抽象層進行數(shù)據(jù)交互。

      下面以某波形為例說明波形開發(fā)步驟,將其移植到通用軟無設(shè)備上,并驗證該方法的可行性。通用軟無平臺硬件組成為PPC+FPGA,PPC 和FPGA之間通過LVDS 通信,如圖4所示。

      圖4 通用軟無硬件平臺示意圖

      2.1 波形組件劃分

      組件劃分粒度大小決定了對平臺資源的需求和組件功能的可移植性、可復(fù)用性。組件劃分時,可以根據(jù)硬件架構(gòu)處理器類的不同,將波形組件分為運行在通用處理器(如PPC、ARM 等)和非通用處理器(如FGPA、DSP 等)兩類。

      此外,也可以按照功能進行組件劃分[2]。對于該波形,可分為信息處理組件和信號處理組件,其中信息處理IP 組件完成接口協(xié)議處理以及數(shù)據(jù)處理功能運行在PPC 上;信號處理SP 組件完成編解碼、調(diào)制解調(diào)、上下變頻等功能,運行在FPGA 上,如圖5所示。

      圖5 組件劃分示意圖

      IP 組件和SP 組件運行在異構(gòu)處理器,需要借助硬件抽象層(Hardware Abstraction Layer,HAL)完成通信[3]。波形組件IP 通過中間件與HALDevice進行數(shù)據(jù)交互,然后通過HALDevice 提供的標(biāo)準(zhǔn)接口與波形組件SP 進行數(shù)據(jù)交互,HALDevice 標(biāo)準(zhǔn)接口中封裝 LVDS 驅(qū)動。IP 和 SP 組件以及HALDevice 連接關(guān)系如圖6所示。

      圖6 波形組件間連接關(guān)系

      2.2 組件建模及應(yīng)用建模

      通過軟件無線電集成開發(fā)環(huán)境(Integrated Development Environment,IDE)對組件建模和應(yīng)用建模,選擇恰當(dāng)?shù)慕M件類型,將IDL 文件映射生成C++框架代碼文件,同時設(shè)置組件參數(shù),建立組件間的連接關(guān)系,設(shè)置裝配控制器,生成域描述文件(包括SCD、PRF、SPD、SAD 等)。

      波形組件屬于 SCA 規(guī)范[1]中定義的標(biāo)準(zhǔn)ApplicationComponent 類,繼承核心框架定義的LifeCycle 、 PortAccessor 、 PropertySet 、Controllable-Interface 等標(biāo)準(zhǔn)接口,用來實現(xiàn)波形組件的初始化(initialize)、釋放對象(releaseObject),端口連接(connectUsesPorts)、斷開連接(disconnectPorts)、開始(start)和停止(stop)等操作。

      通用硬件平臺的GPP 和FPGA 屬于SCA 規(guī)范中的DeviceComponent 類,需繼承核心框架定義的LifeCycle 、 PortAccessor 、 PropertySet 和ControllableInterface 等標(biāo)準(zhǔn)接口,并根據(jù)各自特定的屬性,分別繼承 ExecutableInterface 和LoadableInterface,為波形應(yīng)用提供標(biāo)準(zhǔn)訪問硬件接口,使得波形應(yīng)用與硬件解耦,可實現(xiàn)波形在包含相同類型處理器的不同硬件平臺的移植。

      HALDevice 屬于 SCA 規(guī)范中定義的標(biāo)準(zhǔn)DeviceComponent 類,除LifeCycle、PortAccessor、PropertySet 和ControllableInterface 等標(biāo)準(zhǔn)接口外,還需繼承MHAL::MHALPacketConsumer 接口,將底層驅(qū)動封裝成統(tǒng)一的pushPacket 接口,實現(xiàn)異構(gòu)處理器間的數(shù)據(jù)交互。利用該接口可屏蔽底層硬件的差異,便于波形在不同硬件平臺的移植。

      2.3 波形組件功能封裝

      將實現(xiàn)波形功能的代碼填入建模生成的框架代碼中進行封裝,如圖7所示。波形組件模型由外部接口和內(nèi)部封裝的功能代碼組成。外部接口的主接口繼承了核心框架中的接口,用于組件的控制和管理;數(shù)據(jù)端口主要用于組件之間的數(shù)據(jù)傳遞。

      圖7 波形組件功能封裝示意圖

      內(nèi)部封裝的組件代碼由框架代碼、功能代碼和膠水代碼組成[4]。其中框架代碼的主要作用是封裝組件內(nèi)部的功能代碼,并負責(zé)組件與組件之間、組件與核心框架之間的通信;功能代碼是實現(xiàn)波形功能的算法;膠水代碼作為框架代碼和功能代碼之間的橋梁,其主要作用是轉(zhuǎn)發(fā)框架代碼和功能代碼之間的通信數(shù)據(jù),并負責(zé)對通信數(shù)據(jù)進行格式轉(zhuǎn)換。編譯封裝好的波形組件,生成可執(zhí)行文件。

      不同功能的應(yīng)用對應(yīng)不同的功能代碼和膠水代碼,但框架代碼相同且可復(fù)用,因此,在組件劃分方式相同的前提下,只需要修改功能代碼和膠水代碼,便可以將不同功能的波形可移植到同一硬件平臺。

      2.4 波形管理控制

      核心框架提供了標(biāo)準(zhǔn)的接口對運行在軟件平臺的波形應(yīng)用進行管理控制,以保證波形能夠正常加安裝、加卸載和運行停止。

      (1)波形安裝

      波形組件及相關(guān)文件安裝到設(shè)備存儲空間相應(yīng)的文件路徑,并且調(diào)用核心框架installApplication操作,創(chuàng)建應(yīng)用工廠實例以及組件注冊器實例,用于創(chuàng)建波形及波形注冊,序列圖如圖8所示。

      圖8 波形安裝序列圖

      (2)波形部署

      建立波形組件和設(shè)備組件的部署關(guān)系,確保波形可執(zhí)行程序運行在該硬件處理器上。對于該波形,IP 組件部署在 GPPDevice,SP 組件部署在FPGADevice。

      (3)波形加載

      調(diào)用應(yīng)用工廠create 接口,生成應(yīng)用組件實例,根據(jù)部署關(guān)系,調(diào)用allocateCapacity 接口分配處理器的內(nèi)存及堆棧給波形組件;調(diào)用設(shè)備的load 接口將波形應(yīng)用中各個組件部署到符合條件的設(shè)備上;運行波形組件可執(zhí)行程序,初始化組件;根據(jù)SAD文件中定義的組件連接關(guān)系,調(diào)用connectUsesPorts接口建立組件間的連接關(guān)系,創(chuàng)建成功后,向域內(nèi)注冊,序列圖如圖9所示。

      圖9 波形加載序列圖

      (4)波形啟動

      波形加載后,調(diào)用start 函數(shù),啟動波形應(yīng)用。

      (5)波形停止

      調(diào)用stop 函數(shù),使波形組件停止工作。

      (6)波形卸載

      調(diào)用disconnectPorts 操作斷開波形組件間連接關(guān)系,調(diào)用releaseObject 操作釋放波形組件對象,調(diào)用terminate 和unload 操作,刪除部署在處理器的波形可執(zhí)行文件,并釋放分配空間,完成波形卸載,序列圖如圖10 所示。

      圖10 波形卸載序列圖

      (7)波形刪除

      調(diào)用核心框架uninstallApplication 操作,將波形從域內(nèi)刪除。

      3 功能驗證及符合性測試

      按照上述方法進行波形移植,并與非軟無平臺進行通信測試,測試環(huán)境如圖11 所示。軟無平臺通過交換機與波形管控軟件以及平臺模擬器相連,非軟無平臺通過交換機與平臺模擬器相連。測試中,通過波形控制軟件下發(fā)指令,波形能正常安裝刪除、部署、加卸載和運行停止,通過平臺模擬器發(fā)送并接受測試數(shù)據(jù),通信測試功能正常。

      圖11 通信測試環(huán)境示意圖

      對該波形進行SCA 符合性測試,軟無平臺與符合性測試軟件通過交換機相連,如圖12 所示。啟動測試用例,測試應(yīng)用及組件的域描述文件符合性、接口符合性等,測試用例全部通過。

      圖12 符合性測試環(huán)境示意圖

      4 總結(jié)

      本文提出一種基于SCA 架構(gòu)波形設(shè)計方法,將波形應(yīng)用封裝為標(biāo)準(zhǔn)應(yīng)用組件,通過硬件抽象層屏蔽底層驅(qū)動的差異,采用核心框架實現(xiàn)波形管理控制。利用該方法可將不同功能的波形封裝成波形組件庫移植到軟無平臺,為波形數(shù)據(jù)交互提供統(tǒng)一的接口,保證波形在不同的軟無平臺上移植和復(fù)用,縮短研發(fā)周期,降低維護成本,滿足“一種波形適應(yīng)多種平臺,一種平臺加載多種波形”的要求。

      猜你喜歡
      調(diào)用代碼處理器
      核電項目物項調(diào)用管理的應(yīng)用研究
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      創(chuàng)世代碼
      動漫星空(2018年11期)2018-10-26 02:24:02
      創(chuàng)世代碼
      動漫星空(2018年2期)2018-10-26 02:11:00
      創(chuàng)世代碼
      動漫星空(2018年9期)2018-10-26 01:16:48
      創(chuàng)世代碼
      動漫星空(2018年5期)2018-10-26 01:15:02
      基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
      Imagination的ClearCallTM VoIP應(yīng)用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
      ADI推出新一代SigmaDSP處理器
      汽車零部件(2014年1期)2014-09-21 11:41:11
      呼嚕處理器
      小青蛙報(2014年1期)2014-03-21 21:29:39
      嵩明县| 鄂托克旗| 安康市| 南澳县| 彰化市| 鞍山市| 忻城县| 海林市| 新昌县| 罗平县| 历史| 涞水县| 通州市| 田东县| 凤翔县| 榆社县| 资溪县| 绵竹市| 固原市| 靖州| 平泉县| 广宗县| 农安县| 射阳县| 衡东县| 贵定县| 自贡市| 罗田县| 新田县| 比如县| 博罗县| 通江县| 左权县| 内丘县| 诸暨市| 宝兴县| 永福县| 开江县| 湖州市| 得荣县| 万年县|