?

面向飛控計算機的新型總線體系架構研究

2022-05-30 07:44吳軍鋒韓冰張志君李建峰宇峰張磊磊黃家俊曹建安
電子測試 2022年8期
關鍵詞:總線數據處理通訊

吳軍鋒,韓冰,張志君,李建峰,宇峰,張磊磊,黃家俊,曹建安

(1.中國西安飛機工業集團股份有限公司,陜西西安,710089;2.西安交通大學電氣工程學院,陜西西安,710049)

0 引言

總線體系結構具有良好的開放性、透明性、可靠性和通用性[1],實現業務的通訊管理、業務調度與數據傳輸。而傳統的嵌入式計算機多采用模塊化的整機式體系結構,總線帶寬和擴展能力有限,并且不具備動態重構、數據信號綜合處理能力[2]。

在飛行器中應用于計算和控制的總線,多為機箱內部的高速并行總線PXI,和外設低速的串行總線;而基于PXIe的高速串行總線正在逐漸取代PXI并行總線?;谕獠看锌偩€的LRM體系結構的彈載計算機,包含了先進計算機體系結構松耦合、高內聚的特點[3]。這一系統吸收了美國空軍綜合模塊化航空電子設備IMA的設計思想,以串行總線為核心,將任務控制模塊、慣導模塊、大氣數據計算模塊、無線電高度計算模塊等,均以資源的方式掛載在串行背板總線上[4]。

目前串行背板總線多采用ARINC429、1553B、AFDX、FC等,通訊速率從48kbps到2Gbps,能夠滿足航空電子系統日益增長的對數據要求高速和低延遲傳輸的需求[5]。但是采用不同的總線協議,會給系統通訊解析帶來更大的工作量,即需要處理器處理多種復雜的通訊協議問題。多數背板總線已經從并行處理的PXI總線過渡到串行的PXIe總線,從而獲得了更高的處理速度[6]。

軟件功能由操作系統粗粒度層次上的靜態分時、分區,按時間出發協議運行;和內嵌業務類及監控目標的細粒度實時管理與故障推理,實現資源有效管理的動態運行模式[7]。其最大特點是支持故障監控與隔離和系統重構,適合構建裕度配置的高可靠、高容錯的彈載計算機。采用多處理器互連的計算機物理架構[8],能有效的提高數據處理速度,實現并行處理技術。但是這種架構的復雜性將降低系統運行的可靠性,同時,因為程序的并行執行,造成這種結構中存在多處理器內核對總線的競爭使用問題[9]。雖然采用排隊模型可以避免總線仲裁的問題,但是這種由于核間總線競爭造成的時間開銷具有不確定性,使得該整機系統的可靠性無法保證。

采用國產ARM系列多核處理器構建的嵌入式計算機應用,在安全方面具有較大優勢,可用于航天航空領域[10,11]。但是國產化ARM處理器的數據處理速度和可靠性仍需要提高。為此,通過合理設計,將外設的數據接口和高速的數據處理分離,能有效提高系統處理能力,進而滿足飛行器大數據量處理的要求。文獻[12]提出一種可擴展的一體化空間綜合電子系統構架,實現整機的外部接口總線和內部背板總線一體化,具有較好的兼容性和可擴展性,實現系統的標準化。只是按照該文獻的方法,仍無法實現低速串行通訊數據的接口與解析,和高速數據處理之間的協調,以及設備擴展能力的提高,系統優化仍有提高空間。

1 現狀分析及存在問題

串行總線可適用于飛行器的工程應用,既能滿足高速、大容量的數據檢測需求,也能滿足大量外部設備的混合串并聯結構。一個典型的航空串行總線應用示意如圖 1所示。

圖1 傳統串行通訊總線時序圖

圖中,橫坐標為系統時標,主控制器每50ms進行一次全部設備的輪詢TX,能RX回復的表示正常工作,如果連續3次詢問均不能回復,則視為有故障。設備2和設備4可同時接收主控器的數據發送請求TX;而設備1~3只能由主控器輪流發送請求TX。每次的輪詢總是主控制器作為發起者,其他設備作為接收者;只有被輪詢到的設備才能將其檢測數據上傳。

顯然,這種應用方式能有序地進行數據獲取和設備控制,但是主控制器的通訊效率較低:1)每次都需要主控制器進行輪詢,浪費總線帶寬;2)大數據量容易造成總線阻塞,只能進行少量的數據交換;3)關鍵設備的數據無法得到優先交換,其實時性得不到保證;4)系統擴展能力受限。

面向飛行器應用的總線系統,其特點是:1)各種電子設備較多,且設備分散分布于整機系統中,只能采用串行總線進行數據交換;2)電子設備越來越復雜,導致其向主控器上傳數據量越來越大,而下行數據量是有限的。為此,結合多核主控器,本文提出混合串行通訊總線體系結構,無論是背板總線還是外部總線,均可采用串行結構。

2 新型通訊體系架構的提出

本文所提出的新型通訊體系架構采用多核處理器作為控制核心。使用多核處理器中一個Core,專門負責所有串行接口的數據接收與解析,并為該Core分配獨立的運行空間和數據存儲空間。而后續的數據處理則由其他Core完成,使得該多核處理器中的各個Core完全處于并行運行狀態,既能保證串行數據的高速接收與解析,也能保證數據的高速處理,形成一種新型串行通訊體系架構,最大化的實現串行總線大數據量的吞吐能力。

2.1 混合串行通訊總線體系結構

一種混合通用航空總線體系結構串行通訊時序如圖2所示。圖中,既有多設備共享一路串行總線的通訊模式,如設備1~3;也有多個設備采用獨立串行總線的模式,如設備4~n。這既是一種網狀、也是一種樹形的串行總線分層結構。設備1~3共享一條串行通訊總線,和上位機通訊時,顯然每個時刻只允許一個設備進行通訊。因而,通訊速度較低,傳輸數據量較小,如ARINC429等;而設備4~n獨立使用一根串行通訊總線,每個設備可采用高速通訊模式,如PXIe或FC。

圖2 混合串行通訊體系結構

該混合串行通訊體系結構的關鍵在于采用多核處理器中的一個Core(如Core1),單純進行數據的收發與管理,不參與數據的計算與處理;而該處理器中的其他Core2,通過進程間通訊(IPC),將Core1接收的數據進行處理,而不涉及通訊數據的收發與管理。這樣,多核處理器中的Core2和Core1在微觀上完全是并行運行,因而能夠提高處理器運行效率,提高系統數據處理速度。

設備和處理器之間的數據通訊模式可采用地址優先級或數據優先級,這樣既要保證各個設備在系統中的相同地位,也要保證關鍵設備的優先級。

2.2 地址優先級模式

廣泛用于車載系統的CAN總線采用隱形地址優先的原則,可以將高優先級的設備設置為低位地址,實現搶占串行總線、優先發送數據的模式,如圖3所示。

圖3 地址優先通訊模式

CAN總線在發送數據前,先發送地址,并同時檢測總線上的地址是否和發出去的地址一致,如一致,則是本設備發出的;如不一致,則是高優先級設備發出的。如設備m的地址(以4bit為例)為0b0010,設備n地址為0b0100。當著兩個設備在時間戳時刻同時發出地址時,顯然設備m地址優先級較高,將CAN總線拉到低電平。設備n從總線上檢測不到其自身地址0b0100,故放棄CAN總線的控制,由高優先級的設備m繼續發送地址和數據。

當設備檢測到緊急事件時,可通過地址搶占模式上傳數據。設備分配地址時,將0b0001作為最高優先級的設備地址(0b0000作為主控制器的地址)備份,僅在地址搶占模式下使用。如設備n,采用搶占模式,將自己的地址變更為0b0001,可優先傳輸數據;當重要數據傳輸完成,其地址回復到輪詢模式。所有設備都在實時監測總線是否空閑,如果還有一個設備想搶占總線,需要等待總線釋放0b0001地址。

2.3 數據處理模式

不同功能的設備,其數據采樣頻率、數據位數,通過串行上傳的數據量都是不同的,設備數據的重要程度也是不同的。為此,在數據存儲器中開設不同數據量大小的緩沖區Buffer,形成數據池如圖4所示。

圖4 數據優先通訊模式

圖中數據池模型,其寬度越大,代表的數據池越大。顯然,設備4的數據Buffer較大,設備2的數據Buffer較??;循環的箭頭代表每個設備的數據Buffer都是環形數據池,即數據存入和取出都是地址循環模式;且每次上傳的數據都帶有時間戳。正常工作模式下,每個設備都是根據自己的地址(即地址優先級),輪流進行發送數據,并填充在該數據池。處理器內核根據時間戳的順序,同時取出所有數據,并進行處理;如果有沒有價值的數據,就拋棄。

數據的存入與取出,都是按照時間戳進行,數據池不會出現溢出。如果出現數據即將填滿整個數據池時,接口內核將啟用中斷機制,通過處理器內核間的IPC(圖2),將數據發送給數據處理內核。

3 混合串行通訊的設計與分析

本文在國產FPGA中植入軟多核處理器,并分配相應的硬件資源;混合串行接口設計有高速和低速三種模式。

3.1 通訊速率

根據飛行器串行通訊的特點,設備上傳的數據格式如圖5所示。在正常情況下,設備1~4只是在每個時間戳的時刻,進行數據發送。

圖5 混合通訊模式的時序示意圖

這些數據都是先發送地址信息,然后發送數據。如果主控制器需要緊急發布命令,會在時間戳時刻,發出0b0000的地址信息,此時,設備就停止發送,總線使用權留給主控器。

由此可見,通過額外的接口內核全職接收數據,將原來的交互通訊模式,設計成設備上傳數據模式,能有效的提高數據傳輸速率。

如果對于串行背板總線,即采用PXIe總線,仍采用這種模式,也可實現PXIe機箱內部的高速數據采集與處理。

3.2 基于FPGA的多核處理器設計

傳統的多核處理器在執行程序的過程中,宏觀上展現的是并行;但由于多核處理器的內部多個Core,都共享一個SDRAM控制器,使得所有Core在微觀執行代碼的過程中,表現為串行工作模式。因而,相比較單核處理器,多核并非將工作效率提高了多倍。為了能夠實現高速混合串行通訊,本設計采用國產FPGA開發板。

圖6 基于FPGA實現混合通訊示意圖

3.3 通訊結構的實現

在該混合串行通訊總線的設計中,其軟件由總線API、總線接口、總線管理和總線服務構成。

總線API向用戶提供一組函數,用戶調用這些函數,向系統登記和注冊設備特征,實現總線管理。如所有串行設備首先需要進行時間同步處理,由總線API下發時間戳到各個串行設備;其次,完成設備的地址優先級管理、功能備注、采樣數據的緩沖等功能。

采用如圖7所示的國產FPGA開發板驗證該混合串行高速通訊。該FPGA板含有828kbits的塊狀SRAM和41kbits的靜態SRAM。在該FPGA中采用ARM架構v6-M的Cortex-M1作為數據處理內核,采用AHB-Lite接口單元為用作為串行數據解析內核,該單元能實現高性能的同步串口解析和內部互連。開發板上的SDRAM作為Cortex-M1的程序和數據存儲器;FPGA內部的SRAM作為AHB-Lite的數據池。

圖7 基于國產FPGA的實驗板

外部混合串行總線可設計一個高速的Ethernet網絡,兩個低速的SPI總線和CAN總線,實現該混合串行總線的驗證。

4 結論

通過上述的設計和分析,采用本文提出的飛控計算機架構對飛行器主控器進行優化設計,能達到以下效果:(1)能有效的提高串行總線效率、提高系統數據處理能力;(2)分離數據收發管理與數據處理過程,能提高系統可靠性。(3)能提高系統的擴展能力和動態重構能力。

猜你喜歡
總線數據處理通訊
《茶葉通訊》編輯委員會
《茶葉通訊》簡介
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
無人機測繪數據處理關鍵技術及運用
關于CAN總線的地鐵屏蔽門控制思路論述
高層建筑沉降監測數據處理中多元回歸分析方法的應用研究
高層建筑沉降監測數據處理中多元回歸分析方法的應用研究
視頻大數據處理的設計與應用
國內首個AR通訊應用浮出水面
國內首個AR通訊應用浮出水面
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合