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

嵌入式異構平臺DDS中間件設計

2021-08-19 09:02:54吳翼虎錢宏文朱江偉
電子與封裝 2021年8期

吳翼虎,錢宏文,朱江偉

(中科芯集成電路有限公司,江蘇無錫214072)

1 引言

隨著網絡和人工智能技術的不斷發展,如何實現各個網絡節點間的快速通信以及對不同應用的高效管理尤為重要。特別在航天、航空領域,一機多用、一彈多用、一星多用將成為未來武器裝備的發展趨勢。未來武器裝備電子系統勢必從單平臺走向分布式異構平臺,系統架構設計從封閉式走向開放式、多功能、可重構一體化。基于此,如何解決在異構平臺下軟硬件解耦合、不同系統間的通信成為關鍵。

中間件是一個軟件適配層,向下能夠為底層網絡、硬件、操作系統和編程語言的差異性提供屏蔽,向上為應用程序開發提供一致的計算模型,具備開放性、高可用、可擴展等特征。這些優勢使得中間件成為軟件化定義系統中的關鍵技術,隨著技術的不斷發展,目前已經應用到多個領域,例如軟件化雷達、軟件化衛星以及綜合電子系統等。

本文基于發布/訂閱模式中間件,針對嵌入式系統有限資源和不同處理器的異構平臺,提出基于發布/訂閱模式的數據分發服務DDS中間件[1]設計方案,并在基于CPU+DSP+FPGA的異構平臺上進行實現和功能測試。

2 DDS中間件及其特點

數據分發服務DDS中間件是一種以數據為中心的發布/訂閱模式中間件,包含了一個抽象的編程模型規范和互操作鏈路協議規范。語言無關的標準編程模型定義了發布/訂閱服務在應用程序層次標準化的接口和行為,使得用戶程序可以在不同的DDS間實現移植;鏈路協議保證了不同的DDS實現后的互操作性。DDS分為2層:數據中心發布/訂閱層DCPS和數據本地重構層DLRL。

2.1 DCPS層

DCPS層中主要包含域、參與者、發布者、訂閱者、數據寫入者、數據讀取者、主題、監聽器等通信實體。同一個數據域內可能存在多個數據發布者和訂閱者,各個通信實體共同構建出一個全局數據空間,在空間中通過主題來標識數據對象,完成數據的發布/訂閱。同時也通過質量保證策略Qos[2]為不同的數據標定不同的優先級,在同一個域內,主題匹配且Qos相互兼容的發布者和訂閱者才能相互通信。DCPS模型架構如圖1所示。

圖1 DCPS模型架構

2.2 DLRL層

DLRL層將DCPS層數據重構為數據對象,添加對象屬性,同時也反映對象的繼承和關聯關系,這使得應用程序以面向對象的方法在本地訪問數據。DLRL層在本地維護了一個發布/訂閱對象的緩存、緩存中對象的屬性、繼承和關聯關系對應著全局數據空間中發布/訂閱數據。數據生產者對其緩存中數據對象的改動會自動反映到其訂閱者的緩存中,增加了DDS的發布/訂閱功能。DLRL層架構如圖2所示。

圖2 DLRL層架構

3 嵌入式異構平臺組成

異構嵌入式硬件平臺基于VPX標準設計,整個系統分成3個功能板卡,包含主控板、預處理板和信號處理板。在管理和業務層面,平臺設計了統一管理總線(SPI),板卡管理總線(千兆以太網),高速數據總線(SRIO),使得板卡的通信接口統一化和標準化。系統運行由軟件統一配置管理,各條總線的傳輸由軟件監管,具備軟件化系統的條件。

主控板采用賽靈思公司Zynq-7000系列的XC7Z045芯片作為主處理器,同時包含以太網和SRIO交換網絡模塊,以太網的交換芯片采用Broadcom公司的BCM5396,該總線為平臺管理總線。SRIO交換芯片采用IDT的CPS1848,進行各功能板卡之間的數據交換。

預處理板的主要功能是將接收到的光纖數據進行預處理后發送到平臺內部的SRIO交換網絡中。采用 高 性 能Virtex UltraScale+中 的XCVU13P-2FHGB2104I型號FPGA,其光纖接口采用zQSFP+光電連接器,每路4個lane,單lane的線速率為25 Gbit/s。采用molex的zQSFP+光電連接方案,滿足系統大數據量交互的需求。

信號處理板采用4個德州儀器公司TI TMS320C6678多核DSP組成,以滿足計算密集型算法的工程實現,同時具備強大的并行處理能力。每片DSP芯片分別通過一組SRIO 4×接口與本地SRIO交換芯片連接,每2片DSP芯片之間還通過一組HyperLink接口和SGMII互聯,這樣的連接方式既可以實現2片芯片的并行操作,也可將其進行級聯,實現流水操作,可以為算法工程化實現的靈活性提供支持。

4 中間件架構設計與實現

4.1 架構設計

異構嵌入式平臺中間件需要在CPU、DSP、FPGA 3種不同異構處理器間實現,每種類型的處理器實現不同功能。

1)CPU運行RTLinux操作系統,主要完成中間件代理的實現,包含組件的注冊、消息訂閱和發布管理、整個系統的健康管理等;響應上位機或者上層系統的任務下發,同時也完成部分計算功能。

2)DSP運行SYS/BIOS操作系統,其中Core0響應系統中心節點配置服務,Core1~Core7加載不同的計算組件,組件通信采用任務調度,不同的任務分配不同的數據和接口資源。

3)FPGA運行MircoBlaze嵌入式CPU,由其響應系統中心節點的響應,同時不同組件模塊按照類似數據流接口、配置接口等組成標準組件,組件間通過Crossbar完成全連接互聯。

4)不同處理器間通過以太網進行數據交換,基于TCP/IP協議,進行中間件通信。

異構中間件架構設計如圖3所示。

圖3 異構中間件架構設計

4.2 中間件實現方案路線

在異構處理平臺中間件的實現方案選擇過程中,本公司調研了對象管理組織的實時數據分發服務的C++開源實現方案OpenDDS[3],凌華科技的Vortex OpenSplice的開源版本和西班牙分布式網絡中間件解決方案提供商eProsima公司的Micro XRCE-DDS[4],3款實時分布式網絡中間件產品各自特點如下。

OpenDDS是對象管理組織針對數據分發服務的一種開源C++實現,遵循數據分發服務規范和實時發布/訂閱互操作性通信協議規范,由OCI公司設計開發并一直在維護。由于OpenDDS采用C++語言,通過多線程的方式實現域參與者的互發現、發布/訂閱數據、可靠性連接的維持等,所以運行環境需要提供C++編程語言和多線程的支持。本公司在異構處理器平臺CPU處理器(ARM Cortex A9)Linux環境中完成了OpenDDS的移植實現,但是要基于異構處理器平臺DSP和FPGA來實現OpenDDS的適配非常困難。

凌華科技長期專注于對象管理組織的數據分發服務的研發,Vortex OpenSplice基于對象管理組織的數據分發服務標準實現,提供設備對設備的實時數據共享和安全的大量數據傳輸。Vortex OpenSplice和OpenDDS一樣采用C++語言實現,通過多線程的方式實現域參與者的互發現、發布/訂閱數據、可靠性連接的維持等,代碼量龐大,也不適合在異構處理器平臺DSP和FPGA上實現。

eProsima公司的Micro XRCE-DDS產品是基于對象管理組織發布的一種針對極端資源受限環境下數據分發服務的標準協議實現的分布式網絡中間件產品,為將資源極端受限的設備加入數據分發服務網絡提供了解決方案。它基于資源受限的低功耗設備與代理端之間的客戶端-服務器協議定義了極端資源受限環境數據分發服務的標準協議服務,該服務使設備能夠與數據分發服務網絡進行通信并在特定的域發布和訂閱相關主題的數據。Micro XRCE-DDS開源,支持多平臺,OS依賴項被視為可插入模塊,用戶可以輕松地在特定平臺上實現Micro XRCE-DDS客戶端的適配。Micro XRCE-DDS客戶端使用純c99標準實現,沒有使用其他版本的C編譯器,所以運行環境只要支持c99語言標準,即可實現Micro XRCE-DDS客戶端的適配。Micro XRCE-DDS并非基于特定的傳輸協議(如串口或UDP)構建,與所使用的傳輸方式無關,并提供了快速實施其量身定制傳輸方式的可能性,比如RapidIO;默認情況下,提供了UPD、TCP和串口傳輸。

對比OCI OpenDDS、凌華科技Vortex OpenSplice以及eProsima Micro XRCE-DDS 3款開源分布式網絡中間件產品,本公司最終選擇基于eProsima Micro XRCE-DDS完成異構處理平臺中間件的實現。

4.3 中間件實現

4.3.1 主控板中間件實現

主控板主要功能是對整個處理機的配置管理,對各個節點DSP/FPGA的動態加載和配置都由主控板完成。其核心使用賽靈思公司Zynq-7000系列的XC7Z045芯片作為主處理器。Zynq XC7Z045 PS端為ARM Cortex-A9 CPU,ARM Cortex-A9 CPU運 行RTLinux操作系統軟件,主控板作為整機的綜合控制單元,需要實現Micro XRCE-DDS的代理端和客戶端。基于RTLinux操作系統軟件以太網驅動,Linux TCP/IP協議棧為Micro XRCE-DDS客戶端和Micro XRCE-DDS客戶端提供傳輸插件的支撐,實現主控板分布式網絡中間件應用的數據傳輸。異構處理平臺的主控板中間件實現方案架構如圖4所示。

圖4 主控板中間件實現方案

4.3.2 信號處理板中間件實現

信號處理板由多核DSP組成,中間件實現基于SYS/BIOS操作系統。SYS/BIOS針對TI DSP的一個可擴展的實時內核,它是為需要實時調度和同步或實時分析的應用程序而設計的,提供了搶占式多線程、硬件抽象、實時分析和配置工具,幫助目標設備實現最小化的內存使用和CPU運算,支持任務的調度和管理,提供網絡開發工具NDK組件,支持網絡協議棧包括IPv4、TCP、UDP,提供C/C++程序運行環境。

信號處理板作為Micro XRCE-DDS客戶端接入分布式網絡中間件系統,TI TMS320C6678 DSP信號處理板上運行SYS/BIOS操作系統,基于TI SYS/BIOS實時操作系統以太網驅動和TI NDK TCP/IP協議棧[5]為Micro XRCE-DDS客戶端提供傳輸層的支撐,實現信號處理板中間件應用的數據傳輸。異構處理平臺的信號處理板中間件實現方案見圖5。

圖5 信號處理板中間件實現方案

4.3.3 預處理板中間件實現

預處理板由高性能FPGA構成,考慮其無硬核處理器,采用基于MicroBlaze軟核[6]進行中間件實現。MicroBlaze軟核是一個被賽靈思公司優化過的可以嵌入在FPGA中的RISC精簡指令集計算機處理器軟核,充當CPU,這個IP核是由FPGA內部的邏輯資源組合而成的,具有運行速度快、占用資源少、可配置性強等優點。接口板作為Micro XRCE-DDS客戶端接入分布式網絡中間件系統,同時基于LwIP輕量級協議棧[7]為中間件提供傳輸層的支撐,實現無操作系統環境中間件組件的移植。異構處理平臺的預處理板中間件實現方案架構如圖6所示。

圖6 預處理板中間件實現方案

4.4 中間件驗證

4.4.1 主控板與信號處理板中間件驗證

1)主控板與信號處理板中間件驗證場景

主控板和信號處理板通過以太網連接,主控板和信號處理板分別通過調試串口連接主機,在主機中連接主控板調試串口的本地串口為COM8,連接信號處理板調試串口的本地串口為COM10。主控板運行RTLinux操作系統,同時部署代理端和客戶端A,客戶端A在域0中以Topic 1主題發布數據;信號處理板運行SYS/BIOS操作系統,部署客戶端B,客戶端B在域0中以Topic 1主題訂閱數據。主控板與信號處理板中間件驗證場景如圖7所示。

圖7 主控板與信號處理板中間件驗證場景

2)主控板與信號處理板中間件驗證結果

在主機中通過SecureCRT終端仿真工具打開COM8和COM10,在主控板運行代理端和客戶端A程序,在信號處理板上運行客戶端B程序。程序運行后,主控板客戶端A與主控板代理端建立連接,信號處理板客戶端B與主控板代理端建立連接,主控板客戶端A以Topic 1主題發布數據,主控板代理端收到主題為Topic 1的數據并轉發給信號處理板客戶端B,信號處理板中運行的客戶端B訂閱到主控板客戶端A發布的數據,測試結果如圖8所示。

圖8 主控板與信號處理板中間件通信測試

3)主控板與信號處理板中間件驗證結論

基于信號處理板中間件應用客戶端B訂閱到主控板中間件應用客戶端A發布的以Topic 1為主題的數據試驗結果顯示,基于主控板和信號處理板完成了中間件的實現。

4.4.2 主控板與預處理板中間件驗證

1)主控板與預處理板中間件驗證場景

主控板和預處理板通過以太網連接,主控板和預處理板分別通過調試串口連接主機,在主機中連接主控板調試串口的本地串口為COM8,連接預處理板調試串口的本地串口為COM9。主控板運行RTLinux操作系統,同時部署代理端和客戶端C,客戶端C在域0中以Topic 2主題發布數據;預處理板支持LwIP協議棧,以無操作系統形式接入系統,僅部署客戶端D,客戶端D在域0中以Topic 2主題訂閱數據。主控板與預處理板中間件驗證場景如圖9所示。

圖9 主控板與預處理板中間件驗證場景

2)主控板與預處理板中間件驗證結果

在主機中通過SecureCRT終端仿真工具打開COM8和COM9,在主控板運行代理端和客戶端C程序,在預處理板上運行客戶端D程序。程序運行后,主控板客戶端C與主控板代理端建立連接,預處理板客戶端D與主控板代理端建立連接,主控板客戶端C以Topic 2主題發布數據,主控板代理端收到主題為Topic 2的數據并轉發給預處理板客戶端D,預處理板中運行的客戶端D訂閱到主控板客戶端C發布的數據,測試結果如圖10所示。

圖10 主控板與預處理板中間件通信測試

3)主控板與預處理板中間件驗證結論

基于預處理板中間件應用客戶端D訂閱到主控板中間件應用客戶端C發布的以Topic 2為主題的數據試驗結果顯示,基于主控板和信號處理板完成了中間件的實現。

4.4.3 信號處理板與預處理板中間件驗證

1)信號處理板與預處理板中間件驗證場景

信號處理板和預處理板分別通過以太網與主控板連接,主控板、信號處理板和預處理板分別通過調試串口連接主機,在主機中連接主控板調試串口的本地串口為COM8,連接預處理板調試串口的本地串口為COM9,連接信號處理板調試串口的本地串口為COM10。主控板運行RTLinux操作系統,部署代理端,信號處理板運行SYS/BIOS操作系統,部署客戶端E,客戶端E在域0中以Topic 3主題發布數據,預處理板支持LwIP協議棧,以無操作系統的形式接入系統,部署客戶端F,客戶端F在域0中以Topic 3訂閱數據。信號處理板與預處理板中間件驗證場景如圖11所示。

圖11 信號處理板與預處理板中間件驗證場景

2)信號處理板與預處理板中間件驗證結果

在主機中通過SecureCRT終端仿真工具打開COM8、COM9和COM10,在主控板運行代理端程序,在信號處理板上運行客戶端E程序,在預處理板上運行客戶端F程序。程序運行后,信號處理板客戶端E與主控板代理端建立連接,預處理板客戶端F與主控板代理端建立連接,信號處理板客戶端E以Topic 3主題發布數據,主控板代理端收到主題為Topic 3的數據并轉發給預處理板客戶端F,預處理板中運行的客戶端F訂閱到信號處理板客戶端E發布的數據,測試結果如圖12所示。

圖12 信號處理板與預處理板中間件通信測試

3)信號處理板與預處理板中間件驗證結論

基于預處理板中間件應用客戶端F訂閱到信號處理板中間件應用客戶端E發布的以Topic 3為主題的數據,試驗結果顯示,基于信號處理板和預處理板完成了中間件的實現。

5 結論

本文基于Micro XRCE-DDS中間件,將其適配到由CPU、FPGA、DSP等異構處理器組成的嵌入式系統,實現了異構處理器平臺不同主題的發布/訂閱服務,并提出基于MicroBlaze軟核加LwIP協議棧在FPGA實現中間件通信的實現方案,為軟件中間件硬件化提供一種新的解決思路。后續可在此基礎上繼續開展DDS中間件實時性、分布式、QoS等方面的研究,使其滿足軍用場景下“在正確的時間、正確的地點獲得正確的數據”的“3R”要求,為軟件定義嵌入式實時系統提供支撐平臺,實現系統在時間、空間及數據流上的解耦。

主站蜘蛛池模板: 亚洲第一网站男人都懂| 国产午夜精品一区二区三| 亚洲男人天堂网址| 高h视频在线| 色综合天天综合| 色综合中文综合网| 在线观看精品自拍视频| 亚洲国产天堂久久综合226114| 久久99国产精品成人欧美| 99这里精品| 日韩资源站| 中文字幕无线码一区| 国产sm重味一区二区三区| 精品伊人久久久香线蕉 | 操国产美女| 欧美国产精品不卡在线观看| 白浆视频在线观看| 日韩精品欧美国产在线| 呦女亚洲一区精品| 日韩欧美高清视频| 国产91成人| 亚洲午夜天堂| 欧美午夜视频在线| 精品久久久久久久久久久| 国产精品女熟高潮视频| 国产在线精彩视频二区| 51国产偷自视频区视频手机观看| 福利一区三区| 国产激爽大片在线播放| 99热国产在线精品99| 午夜视频日本| 99热国产在线精品99| 香蕉久久国产超碰青草| 国产乱子伦视频三区| 一区二区三区四区精品视频| 2021国产乱人伦在线播放| 国产情精品嫩草影院88av| 日韩欧美中文字幕在线精品| 人人妻人人澡人人爽欧美一区| 欧美亚洲激情| 狠狠色成人综合首页| 天堂岛国av无码免费无禁网站| 国产无码精品在线播放| 午夜限制老子影院888| 91在线一9|永久视频在线| 国产激爽大片高清在线观看| 在线精品视频成人网| 色吊丝av中文字幕| 中文字幕亚洲乱码熟女1区2区| 欧日韩在线不卡视频| www.91在线播放| 夜夜爽免费视频| 色偷偷av男人的天堂不卡| 国产va欧美va在线观看| 好吊日免费视频| 日韩成人高清无码| 亚洲精品无码在线播放网站| 一本二本三本不卡无码| 色偷偷综合网| 中文字幕精品一区二区三区视频| 欧美日韩亚洲综合在线观看| 国产成人免费高清AⅤ| 欧美激情综合| 亚洲欧美综合在线观看| 亚洲国产欧美国产综合久久 | 国产特级毛片aaaaaaa高清| 99久久无色码中文字幕| 国产一区二区精品福利| 国产一级妓女av网站| 亚洲最大综合网| 国产综合日韩另类一区二区| 亚洲国产成人综合精品2020| 91口爆吞精国产对白第三集| 久久精品aⅴ无码中文字幕 | 国产精品真实对白精彩久久 | 在线99视频| 久久77777| 国产成人艳妇AA视频在线| 成人午夜视频网站| 成人在线亚洲| 中国丰满人妻无码束缚啪啪| 五月婷婷综合在线视频|