<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于AMBA總線接口的AFDX端系統(tǒng)IP核

          基于AMBA總線接口的AFDX端系統(tǒng)IP核

          作者:趙旺 時間:2014-03-27 來源:電子產(chǎn)品世界 收藏

            1 引言

          本文引用地址:http://www.ex-cimer.com/article/235428.htm

            本文介紹了基于總線接口的AFDX核的設(shè)計方案,使AFDX的應(yīng)用不只局限于終端板卡的形式。在片上系統(tǒng)(SoC)芯片中集成AFDX功能,使AFDX端系統(tǒng)的應(yīng)用更加靈活,以滿足不同的應(yīng)用需求?;赟698-P4的SoC系統(tǒng)芯片是珠海歐比特公司自主研發(fā)的一款32位嵌入式SoC芯片。應(yīng)用該芯片集成了一個符合ARINC664規(guī)范[4]的AFDX端系統(tǒng)核,目前該核設(shè)計已經(jīng)通過了RTL級驗證和FPGA驗證。

            2 AFDX端系統(tǒng)

            AFDX端系統(tǒng)嵌入在每個航空電子子系統(tǒng)中,主要提供航空電子設(shè)備子系統(tǒng)和AFDX互聯(lián)網(wǎng)絡(luò)之間的接口,負(fù)責(zé)消息的發(fā)送和接收。AFDX網(wǎng)絡(luò)不同于普通的特性主要由端系統(tǒng)實現(xiàn)[5],主要包括:

            2.1 虛擬鏈路

            AFDX引進(jìn)了虛擬鏈路(Virtual Link,VL)對帶寬資源進(jìn)行有效地分隔。虛擬鏈路是AFDX網(wǎng)絡(luò)的核心,每條虛擬鏈路都在源端系統(tǒng)和目的端系統(tǒng)之間建立一條單向邏輯鏈路來傳輸數(shù)據(jù),同時還允許建立子虛擬鏈路。在發(fā)送端采用流量整形機(jī)制通過對每條VL定義最大幀長度Lmax(Maximum Frame Size)和帶寬分配間隔(Bandwidth Allocation Gap,BAG)在VL間分配通信資源。

            流量整形功能是在單條虛擬鏈路上調(diào)整幀的發(fā)送時間,使每條虛擬鏈路在各自的BAG內(nèi)只能發(fā)送一個幀。ARINC664第7部分規(guī)定AFDX網(wǎng)絡(luò)集成者需要根據(jù)實際應(yīng)用需求為每條虛擬鏈路預(yù)先配置BAG,BAG的取值需要在1ms~128ms范圍之內(nèi),同時滿足公式:BAG = 2k (單位:ms),(k的取值范圍是0~7)。

            端系統(tǒng)的每個VL的Max_jitter(最大允許抖動)應(yīng)該服從下列兩個聯(lián)立的公[4]:

           

            2.2 冗余網(wǎng)絡(luò)

            AFDX采用冗余網(wǎng)絡(luò)增強(qiáng)數(shù)據(jù)傳輸?shù)目煽啃?,以保證在某一個網(wǎng)絡(luò)崩潰時仍可以繼續(xù)正常通信。在冗余配置下,對發(fā)送的數(shù)據(jù)幀進(jìn)行編號,并將它復(fù)制成兩份,分別通過物理上相互獨立的網(wǎng)絡(luò)向目的端系統(tǒng)發(fā)送。端系統(tǒng)具有冗余管理功能,目的端系統(tǒng)根據(jù)編號按順序接收。如果兩個冗余幀都被正常接收,則后到的被丟棄;如果其中一個出現(xiàn)傳輸故障,則可以用另一個進(jìn)行替代。

            3 總線

            規(guī)范[6]是ARM公司設(shè)計的一種用于高性能嵌入式系統(tǒng)的總線標(biāo)準(zhǔn)。AMBA規(guī)范定義了3種可使用的不同類型的總線:AHB,ASB和APB。

            典型的基于AMBA的SoC系統(tǒng)結(jié)構(gòu)如圖1所示[7]。其中高性能系統(tǒng)總線(AHB或ASB)主要用以滿足CPU和存儲器之間的高帶寬要求。CPU、片內(nèi)存儲器和DMA設(shè)備等高速設(shè)備連接在其上,而系統(tǒng)的大部分低速外部設(shè)備則連接在低帶寬總線APB上。系統(tǒng)總線和外設(shè)總線之間用一個橋接器進(jìn)行連接。

            4 AFDX端系統(tǒng)IP核設(shè)計

            4.1 AFDX端系統(tǒng)IP核體系結(jié)構(gòu)

            系統(tǒng)集成的AFDX端系統(tǒng)IP核符合ARINC664規(guī)范。該IP核通過AMBA總線與RISC核通信,通過外接一個物理層PHY接口芯片與AFDX網(wǎng)絡(luò)相連。AFDX端系統(tǒng)IP核主要技術(shù)特征包括:(1)支持ARINC664規(guī)范;(2)高性能的AMBA總線接口與RISC間的數(shù)據(jù)傳輸;(3)提供2個10/100M的RJ45形式的AFDX端口,支持2個端口獨立使用或2個端口互為冗余;(4)軟件實現(xiàn)傳輸層(UPD)、網(wǎng)絡(luò)層(IP)協(xié)議,硬件實現(xiàn)鏈路層(Virtual Link)及物理層(PHY)層協(xié)議 ;(5)硬件實現(xiàn)快速傳輸調(diào)度和虛擬鏈接過濾 ;(6)支持采樣(Sampling)和列隊(Queuing)端口;(7)支持發(fā)送和接收各128條虛擬鏈路(VL)。AFDX端系統(tǒng)IP核體系結(jié)構(gòu)如圖2所示。

            AFDX端系統(tǒng)IP核內(nèi)部主要有:AMBA總線接口模塊、發(fā)送功能模塊、接收功能模塊、媒體介質(zhì)管理模塊(MAC)、寄存器配置管理模塊。

            4.2 AFDX端系統(tǒng)IP核中關(guān)鍵模塊設(shè)計

            4.2.1 AMBA總線接口模塊

            該模塊實現(xiàn)了AFDX端系統(tǒng)IP核與RISC間通信功能。當(dāng)發(fā)送或接收數(shù)據(jù)幀時,總線控制器都要訪問AMBA總線上的SRAM,以讀或?qū)憯?shù)據(jù),此時AFDX端系統(tǒng)IP核作為總線Master訪問SRAM(通過AHB總線)。當(dāng)RISC核(作為總線Master)訪問AFDX端系統(tǒng)IP核寄存器時,該IP核作為總線Slave響應(yīng)總線Master的傳輸請求(通過APB總線)。

            在發(fā)送一個數(shù)據(jù)幀時,RISC核首先寫寄存器以允許AFDX端系統(tǒng)IP核發(fā)送數(shù)據(jù)幀,然后構(gòu)建好發(fā)送緩沖區(qū)描述符(TxBD)并寫入SRAM。發(fā)送控制器讀取該TxBD并啟動AHB Master從SRAM中直接讀取數(shù)據(jù)存放到內(nèi)部的發(fā)送緩存RAM,并最終產(chǎn)生發(fā)送控制信號(TxCtrls)通知發(fā)送模塊等待調(diào)度發(fā)送。其中,發(fā)送緩存分成128個存儲空間,根據(jù)不同的虛擬鏈路號(VL)來存儲128個虛擬鏈路的發(fā)送數(shù)據(jù)。接收數(shù)據(jù)幀的過程類似。

            4.2.2 發(fā)送功能模塊

            發(fā)送模塊要實現(xiàn)以下功能:按照端系統(tǒng)的配置,對各條虛鏈路的數(shù)據(jù)幀進(jìn)行流量整形;在各虛鏈路之間進(jìn)行調(diào)度以多路復(fù)用物理帶寬;然后添加序列號SN,再根據(jù)配置信息中各虛鏈路的冗余狀態(tài),將其幀發(fā)往MAC A、MAC B模塊。發(fā)送模塊主要功能如圖3[8]所示。

           

            (1)虛擬鏈路調(diào)度:由于一個AFDX端系統(tǒng)內(nèi)可以使用多條虛擬鏈路,而AFDX網(wǎng)絡(luò)的物理鏈路同一時間只允許一條虛擬鏈路的數(shù)據(jù)被發(fā)送,因此端系統(tǒng)協(xié)議棧的虛擬鏈路層需要對經(jīng)過流量整形的各條虛擬鏈路進(jìn)行多路復(fù)用傳輸?shù)轿锢韺印0l(fā)送功能模塊采用了基于靜態(tài)優(yōu)先級的綜合同步調(diào)度策略,其高優(yōu)先級數(shù)據(jù)幀發(fā)送延遲明顯小于低優(yōu)先級數(shù)據(jù)幀的延遲,具體規(guī)則如下:

            (a) 對虛擬鏈路層的所有VL區(qū)分為高或低兩個優(yōu)先級,VL的優(yōu)先級一旦確定,在傳輸過程中將固定不變。

            (b) 將標(biāo)準(zhǔn)AFDX調(diào)度模型的流量整形綜合到虛擬鏈路調(diào)度。

            (c) 虛擬鏈路調(diào)度器根據(jù)VL的優(yōu)先級(對于具有同一優(yōu)先級的VL則根據(jù)輪詢策略),讀取虛擬鏈路層VL隊列緩沖的幀到虛擬鏈路多路復(fù)用緩沖。

            (d) 同時虛擬鏈路調(diào)度器采用同步調(diào)度對進(jìn)入多路復(fù)用緩沖的各虛擬鏈路的幀進(jìn)行流量整形并發(fā)送。

            (2)發(fā)送冗余管理:發(fā)送冗余管理功能是根據(jù)虛擬鏈路的冗余配置狀態(tài)確定幀的傳輸方式,包括只在網(wǎng)絡(luò)A傳輸、只在網(wǎng)絡(luò)B傳輸或者在網(wǎng)絡(luò)A和網(wǎng)絡(luò)B同時傳輸(冗余傳輸)三種方式,如果需要冗余發(fā)送,則復(fù)制AFDX幀,并修改AFDX幀的網(wǎng)絡(luò)接口標(biāo)識(Interface_ID),然后通過相應(yīng)的網(wǎng)絡(luò)傳輸?shù)侥康亩讼到y(tǒng)。

            4.2.3 接收功能模塊

            接收模塊要實現(xiàn)以下功能:首先將MAC模塊(MAC1和MAC2)傳來的數(shù)據(jù)存入自身緩存中,首先經(jīng)過CRC檢查幀的正確性,如果沒有錯誤,再對數(shù)據(jù)幀進(jìn)行完整檢查、冗余管理。接收模塊主要功能如圖4[8]所示。

            (1)完整性檢查:AFDX使用SN對虛擬鏈路上傳輸?shù)膸M(jìn)行順序編號,因此虛擬鏈路層可以根據(jù)一定算法對同一虛擬鏈路連續(xù)接收的幀的SN進(jìn)行檢查,判斷虛擬鏈路接收的幀序列是否完整有效。

            完整性檢查的應(yīng)用規(guī)則(以下文中簡稱“IC規(guī)則”),可以歸納如下:

            規(guī)則1:RSN=PSN+1,表示當(dāng)前接收幀的SN符合期望的SN,為上一接收幀的后續(xù)幀;

            規(guī)則2:RSN=PSN+2,表示單個幀的丟失不會影響后續(xù)到達(dá)幀的接收。

            規(guī)則3:RSN=0,表示當(dāng)前接收幀是在源端系統(tǒng)啟動或復(fù)位后發(fā)送的第一幀。

            其中RSN(Received SN)指當(dāng)前接收幀的SN;PSN(Previous SN)指同一虛鏈路上前一個接收幀的SN;操作符“+”是指在SN的取值范圍內(nèi)進(jìn)行循環(huán)加計算,SN的取值范圍為1~255,當(dāng)SN超過最大值時,返回到循環(huán)的起始位置,即當(dāng)PSN=255時,RSN=PSN+1=1。

            (2)接收冗余管理:冗余性檢查接收所有經(jīng)過完整性檢查的合法幀,當(dāng)它接收到同一個幀的兩份拷貝時,它將先接收到的幀轉(zhuǎn)發(fā)出去,然后刪除冗余幀。

            在接收幀時,冗余檢查模塊還依賴于SkewMax(最大偏斜)。SkewMax指接收兩個獨立網(wǎng)絡(luò)傳送的互為冗余的幀的最大允許時間間隔。如果互為冗余幀的接收時間間隔在SkewMax之內(nèi),那么丟棄冗余幀。如果接收時間間隔超過SkewMax,那么冗余幀被無條件接收,視為有效幀。

            5 結(jié)束語

            本AFDX端系統(tǒng)IP核符合ARINC664規(guī)范,可集成于具有AMBA總線接口的SoC中,外接物理層PHY接口芯片便可以接入AFDX網(wǎng)絡(luò)。經(jīng)RTL級和FPGA驗證及功能和性能測試表明,此IP核符合AFDX協(xié)議標(biāo)準(zhǔn),通信性能及穩(wěn)定性較高,能滿足系統(tǒng)應(yīng)用需要。

            另外,本AFDX端系統(tǒng)IP核具有標(biāo)準(zhǔn)的AMBA總線接口,因此,完全可以作為一個通用的IP核集成在各SoC設(shè)計中,并可滿足各種嵌入式通信系統(tǒng)的應(yīng)用要求,具有廣泛的應(yīng)用價值。

            參考文獻(xiàn):

            [1]陳昕, 周擁軍, 萬劍雄. AFDX端系統(tǒng)關(guān)鍵技術(shù)的研究與實現(xiàn)[J]. 計算機(jī)工程. 2009, 35 (5): 1-3

            [2]Committee of the IEEE Computer Society.IEEE Std. 802.3-2002. LAN/MAN Standards[S]. 2002

            [3]羅西. 基于FPGA的AFDX端系統(tǒng)設(shè)計[碩士論文]. 長沙:中南大學(xué). 2011

            [4]AEEC. ARINC Specification 664 Part 7: Avionics Ful1 Duplex Switched Ethemet (AFDX) Network[S]. 2005

            [5]熊華鋼, 李峭, 黃永邦. 航空全雙工交換式標(biāo)準(zhǔn)研究[J]. 航空標(biāo)準(zhǔn)化與質(zhì)量. 2008, 223: 25-26

            [6]ARM Ltd Co AMBA Specification(Rev2.0) [Z]. 1999

            [7]李瑞, 張春元, 羅莉. 三種常用SoC片上總線的分析與比較[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用. 2004 (02)

            [8]許燕婷. AFDX端系統(tǒng)協(xié)議棧虛擬鏈路層分析及仿真研究[碩士論文]. 上海:上海交通大學(xué). 2011



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();