范秋香,吳瓊之,孫寧霄,金兆健
(北京理工大學(xué) 信息與電子學(xué)院,北京 100081)
AXI標(biāo)準(zhǔn)協(xié)議在微型機(jī)載采集設(shè)備中的應(yīng)用
范秋香,吳瓊之,孫寧霄,金兆健
(北京理工大學(xué) 信息與電子學(xué)院,北京 100081)
本文介紹了AXI片內(nèi)總線協(xié)議規(guī)范,指出了其高性能、高帶寬、低延遲的特點(diǎn)。針對(duì)微型機(jī)載采集設(shè)備中FPGA設(shè)計(jì)的難點(diǎn),本文提出了采用AXI標(biāo)準(zhǔn)總線協(xié)議作為采集系統(tǒng)FPGA控制邏輯的結(jié)構(gòu)框架,使得整個(gè)采集系統(tǒng)的軟件架構(gòu)具有高度規(guī)范性和靈活性,同時(shí)兼顧了較高的性能需求,并取得了較好的實(shí)用效果。
AXI協(xié)議;片上總線;采集系統(tǒng);FPGA
本文設(shè)計(jì)的微型機(jī)載采集設(shè)備用于遙感數(shù)據(jù)采集,存儲(chǔ)以及數(shù)據(jù)導(dǎo)出。其具有功能多樣,外圍設(shè)備豐富,控制邏輯復(fù)雜等特點(diǎn)。選擇一種合適的片內(nèi)總線協(xié)議不僅能夠極大降低系統(tǒng)設(shè)計(jì)復(fù)雜性,還有利于系統(tǒng)內(nèi)模塊的擴(kuò)展和移植,此外,一種標(biāo)準(zhǔn)的片上總線協(xié)議還便于多人協(xié)作編程,縮短系統(tǒng)開發(fā)周期。
目前有很多種總線規(guī)范,由ARM公司提出的高級(jí)微控制器總線架構(gòu)片上總線規(guī)范(advanced micro-controller bus architecture, AMBA)是芯片總線的主流標(biāo)準(zhǔn)。AXI(Advanced extensible Interface)總線協(xié)議是AMBA3.0協(xié)議中最重要的部分,是一種面向高性能、高帶寬、低延時(shí)的片內(nèi)總線,本設(shè)計(jì)采用AXI標(biāo)準(zhǔn)接口協(xié)議作為微型機(jī)載采集設(shè)備FPGA片內(nèi)總線協(xié)議,在實(shí)際應(yīng)用中取得了良好的效果。
在現(xiàn)代SOC設(shè)計(jì)中,隨著CPU處理能力的大幅提升以及外圍設(shè)備接口的多樣化,如何提高總線的帶寬和各個(gè)從設(shè)備的工作效率成為了提高整個(gè)系統(tǒng)性能的關(guān)鍵。ARM公司提出用于SOC設(shè)計(jì)中的AMBA總線結(jié)構(gòu)由于它的高性能以及ARM微處理器的廣泛應(yīng)用,已經(jīng)成為了SOC設(shè)計(jì)中使用相當(dāng)廣泛的總線標(biāo)準(zhǔn)。AXI是AMBA中一個(gè)新的高性能協(xié)議。AXI協(xié)議豐富了現(xiàn)有的AMBA標(biāo)準(zhǔn)內(nèi)容,滿足超高性能和復(fù)雜的SOC設(shè)計(jì)要求,并且能夠后向兼容現(xiàn)存的高級(jí)高速總線(advanced high performance bus, AHB)和高級(jí)外圍總線(advanced peripheral bus, APB)接口。
AXI協(xié)議的主要特點(diǎn)包括:
1)通道體系結(jié)構(gòu):5個(gè)獨(dú)立的通道,分別是讀地址、寫地址、讀數(shù)據(jù)、寫數(shù)據(jù)和寫響應(yīng)通道。地址通道和數(shù)據(jù)通道分開,能對(duì)每一個(gè)通道進(jìn)行單獨(dú)優(yōu)化,可以根據(jù)需要控制時(shí)序通道,將時(shí)鐘頻率提升到最高,并將延時(shí)降到最低。信息流只以單方向傳輸,不僅簡(jiǎn)化了時(shí)鐘域間的橋接,而且減少了延時(shí)。
2)支持多項(xiàng)數(shù)據(jù)交換。通過并行執(zhí)行猝發(fā)操作,極大地提高了數(shù)據(jù)吞吐能力,可在更短的時(shí)間內(nèi)完成任務(wù),在滿足高性能要求的同時(shí),又減少了功耗。
3)增強(qiáng)的靈活性。AXI擁有對(duì)稱的主從接口,無論在點(diǎn)對(duì)點(diǎn)或在多層系統(tǒng)中,都能十分方便地使用AXI技術(shù)。
4)低功耗節(jié)電模式。AXI 總線定義了在進(jìn)出低功耗節(jié)電模式前后的握手協(xié)議。規(guī)定如何通知進(jìn)入低功耗模式, 何時(shí)關(guān)斷時(shí)鐘, 何時(shí)開啟時(shí)鐘, 如何退出低功耗模式。這使得所有IP 在進(jìn)行功耗控制的設(shè)計(jì)時(shí), 有據(jù)可依, 容易集成在統(tǒng)一的系統(tǒng)中[1]。
為了提高SOC系統(tǒng)的靈活性,AXI協(xié)議定義了3種協(xié)議接口:
1)AXI4:內(nèi)存映射接口,一個(gè)地址在一次猝發(fā)中最多可進(jìn)行256個(gè)數(shù)據(jù)傳輸。
2)AXI-LITE:內(nèi)存映射接口,一次猝發(fā)只傳輸一個(gè)數(shù)據(jù)。AXI-LITE接口信號(hào)是AXI4接口信號(hào)的子集,專用于系統(tǒng)上控制指令的通信。AXI-LITE接口信號(hào)簡(jiǎn)單,對(duì)設(shè)計(jì)和驗(yàn)證方面的要求比較少。本文所設(shè)計(jì)的系統(tǒng)控制指令的傳輸采用AXI-LITE接口。
3)AXI-STREAM:沒有地址通道,非內(nèi)存映射接口,一次猝發(fā)傳輸?shù)臄?shù)據(jù)量不限。AXI-STREAM接口用于連接進(jìn)行大量數(shù)據(jù)交換的模塊。本文所設(shè)計(jì)的系統(tǒng)數(shù)據(jù)流的傳輸采用AXI-STREAM接口。
AXI總線實(shí)現(xiàn)讀寫操作要通過5個(gè)通道,分別是讀地址通道,讀數(shù)據(jù)通道,寫地址通道,寫數(shù)據(jù)通道,寫響應(yīng)通道。數(shù)據(jù)在一個(gè)master(主模塊)與一個(gè)slave(從模塊)之間傳輸,如果數(shù)據(jù)是從master到slave,則在一個(gè)寫數(shù)據(jù)通道上,如果數(shù)據(jù)是從slave到master,則在一個(gè)讀數(shù)據(jù)通道上。每個(gè)通道上均存在握手信號(hào)(VALID, READY),僅當(dāng)握手成立的情況下,該通道上的信號(hào)才有效。圖1表示AXI總線寫數(shù)據(jù)過程寫地址、寫數(shù)據(jù)和寫響應(yīng)3條通道的數(shù)據(jù)流向[2-3]。
圖1 寫地址、寫數(shù)據(jù)和寫響應(yīng)通道Fig. 1 Write address, write data and write response channel
圖2 AXI總線寫數(shù)據(jù)時(shí)序圖Fig. 2 Write timing diagram of AXI bus
圖2顯示了AXI總線寫數(shù)據(jù)時(shí)序。master(主設(shè)備)首先通過寫地址通道發(fā)送地址。接著通過寫數(shù)據(jù)通道發(fā)送寫數(shù)據(jù)。當(dāng)master發(fā)送最后一個(gè)數(shù)據(jù)時(shí),WLAST信號(hào)變高。slave(從設(shè)備)接收完所有的數(shù)據(jù)后,向master返回寫響應(yīng)信號(hào)(OKAY),表明寫傳輸完成。
圖3為本文所設(shè)計(jì)的微型機(jī)載采集設(shè)備系統(tǒng)框圖。
圖3 微型機(jī)載采集設(shè)備系統(tǒng)框圖Fig. 3 System block diagram of mini airborne acquisition device
系統(tǒng)具備以下功能:
采集狀態(tài)下,以一定的速率采集系統(tǒng)前端模擬信號(hào),同時(shí)通過RS232接口接收GPS信號(hào),采集的數(shù)據(jù)和對(duì)應(yīng)的實(shí)時(shí)GPS信息封裝成固定格式存儲(chǔ)在系統(tǒng)的固態(tài)存儲(chǔ)器中。
系統(tǒng)具備3種存儲(chǔ)介質(zhì):FLASH存儲(chǔ)介質(zhì)用于存儲(chǔ)FPGA程序,系統(tǒng)上電后可自動(dòng)往FPGA中加載程序;SATA存儲(chǔ)介質(zhì)具有高速存儲(chǔ)和導(dǎo)出數(shù)據(jù)的功能,用于存儲(chǔ)采集數(shù)據(jù)和GPS信息;EEPROM存儲(chǔ)介質(zhì)用于存儲(chǔ)一些系統(tǒng)信息,如SATA存儲(chǔ)器可用存儲(chǔ)空間、已用存儲(chǔ)空間等信息。
通過4種接口與上位機(jī)之間進(jìn)行數(shù)據(jù)傳送:USB接口、RS422接口、光纖接口和以太網(wǎng)接口。這四種接口不僅能將系統(tǒng)存儲(chǔ)介質(zhì)中的數(shù)據(jù)傳送到上位機(jī),還能接收上位機(jī)傳給采集系統(tǒng)的控制指令。系統(tǒng)與上位機(jī)連接時(shí),上位機(jī)能夠?qū)Ω鱾€(gè)模塊進(jìn)行狀態(tài)查詢,控制采集系統(tǒng)進(jìn)行數(shù)據(jù)的導(dǎo)出,此外,上位機(jī)還能夠清除采集系統(tǒng)存儲(chǔ)介質(zhì)中的數(shù)據(jù)以便系統(tǒng)重新采集記錄[4]。
系統(tǒng)的主要數(shù)據(jù)流向如下:
采集過程:(AD+RS232串口)→FPGA→ATA存儲(chǔ)器;
數(shù)據(jù)讀出過程:SATA存儲(chǔ)器 /EEPROM存儲(chǔ)器→FPGA→上位機(jī)通信接口。
FPGA是本系統(tǒng)的主控模塊,完成數(shù)據(jù)采集存儲(chǔ)和數(shù)據(jù)讀出功能,產(chǎn)生相應(yīng)的時(shí)鐘和控制信號(hào),實(shí)現(xiàn)多種接口協(xié)議。本設(shè)計(jì)采用Xilinx公司的Virtex5系列FPGA,Xilinx公司提供一套豐富的IP核資源,設(shè)計(jì)時(shí)直接調(diào)用能夠極大的降低系統(tǒng)設(shè)計(jì)復(fù)雜性。
本文設(shè)計(jì)的采集系統(tǒng)具有以下特點(diǎn):1)功能多樣:系統(tǒng)具備采集、存儲(chǔ)和回傳數(shù)據(jù)功能,同時(shí)支持多種接口與上位機(jī)通信。2)外圍設(shè)備豐富:包括SATA存儲(chǔ)器,EEPROM存儲(chǔ)器,F(xiàn)LASH存儲(chǔ)器,ADC芯片,GPS芯片,DSP處理器,每種設(shè)備接口各異,采集系統(tǒng)需要將這些接口各異的設(shè)備集成在一片SOC上。3)控制邏輯復(fù)雜:當(dāng)系統(tǒng)與上位機(jī)連接時(shí),采集系統(tǒng)的主控制器為上位機(jī);當(dāng)模塊脫離上位機(jī)時(shí),采集系統(tǒng)的主控制器為FPGA處理器。主控制器需能夠有效控制采集系統(tǒng)眾多接口各異的外圍設(shè)備協(xié)調(diào)、有序工作[5]。
以上特點(diǎn)給FPGA程序設(shè)計(jì)帶來了極大的困難,尋求一種高性能的片上總線標(biāo)準(zhǔn)協(xié)議成為簡(jiǎn)化FPGA程序設(shè)計(jì)的關(guān)鍵。一種合適的片上總線協(xié)議能夠有效地將采集系統(tǒng)各個(gè)功能模塊互連起來,為整個(gè)系統(tǒng)解決功能模塊間的相互通信問題,從而為設(shè)計(jì)人員免去大量精力去考慮如何將各個(gè)功能模塊連接起來,有利于多人協(xié)作開發(fā),縮短系統(tǒng)開發(fā)周期。
本設(shè)計(jì)采用AXI標(biāo)準(zhǔn)協(xié)議作為FPGA片上總線協(xié)議。系統(tǒng)中控制指令通過AXI-LITE接口傳輸,數(shù)據(jù)流通過AXISTREAM接口傳輸。Virtex5 FPGA提供了基于AXI-LITE接口和AXI-STREAM接口的FIFO的IP核,設(shè)計(jì)時(shí)可直接調(diào)用以降低系統(tǒng)設(shè)計(jì)復(fù)雜度[6]。圖4為系統(tǒng)FPGA程序結(jié)構(gòu)圖。
圖4 采集系統(tǒng)FPGA程序結(jié)構(gòu)框圖Fig. 4 FPGA program architecture of acquisition system
系統(tǒng)的硬件設(shè)計(jì)采用功能模塊化的思想,即根據(jù)硬件功能將系統(tǒng)分解成多個(gè)模塊,各模塊之間既相對(duì)獨(dú)立又相互關(guān)聯(lián),如此不僅便于系統(tǒng)調(diào)試又有利于系統(tǒng)功能擴(kuò)展。
上位機(jī)通訊單元用于實(shí)現(xiàn)模塊與上位機(jī)間通過RS422通路、USB3.0通路、光纖通路通信,模塊內(nèi)部包含RS422、USB以及光纖收發(fā)模塊,上位機(jī)通訊單元可根據(jù)上位機(jī)與采集系統(tǒng)實(shí)際的物理連接選擇正確的通路。當(dāng)采集系統(tǒng)與上位機(jī)連接時(shí),上位機(jī)通信單元是FPGA程序的主控模塊。
系統(tǒng)控制單元是FPGA程序的核心單元,可根據(jù)其內(nèi)部的預(yù)置信息,自動(dòng)向FPGA上除上位機(jī)通訊單元外的其他模塊發(fā)送指令,控制各個(gè)模塊協(xié)調(diào)、有序工作,當(dāng)上位機(jī)與系統(tǒng)連接時(shí),該模塊能夠被上位機(jī)控制,接收上位機(jī)的指令控制采集系統(tǒng)工作。
AD采集單元負(fù)責(zé)控制ADC芯片工作,接收AD采集數(shù)據(jù)和GPS信息,在PRF脈沖到來時(shí)將二者封裝成固定格式轉(zhuǎn)存到SATA存儲(chǔ)器。
PRF生成單元生成采集系統(tǒng)所需的PRF脈沖。
通路選擇單元用于控制FPGA內(nèi)部數(shù)據(jù)流方向,當(dāng)系統(tǒng)進(jìn)行數(shù)據(jù)采集時(shí),將AD采集單元的數(shù)據(jù)包轉(zhuǎn)存到SATA存儲(chǔ)器,當(dāng)系統(tǒng)進(jìn)行數(shù)據(jù)導(dǎo)出時(shí),將SATA存儲(chǔ)器內(nèi)部數(shù)據(jù)傳送到上位機(jī)通信單元。
DSP通訊單元用于實(shí)現(xiàn)FPGA與DSP的通信。EEPROM控制單元,SATA控制單元和FLASH控制單元分別用于控制EEPROM存儲(chǔ)器、SATA存儲(chǔ)器和FLASH存儲(chǔ)器工作。
2.2.1 控制指令傳輸
系統(tǒng)控制指令通過AXI-LITE接口傳輸,F(xiàn)PGA程序中包含以下兩組AXI-LITE接口:
1)master:上位機(jī)通信單元,slave:系統(tǒng)控制單元。
2)master:系統(tǒng)控制單元,slave:SATA控制模塊,AD采集單元,GPS接收模塊,EEPROM控制模塊,PRF脈沖生成模塊,DSP通訊模塊,F(xiàn)LASH控制模塊。表1給出了AXILITE接口的信號(hào)。
表1 AXI-LITE接口信號(hào)Tab.1 Signal of AXI-LITE interface
系統(tǒng)與上位機(jī)連接時(shí),上位機(jī)通信單元作為FPGA處理器內(nèi)部mater,通過第一組AXI-LITE接口控制采集系統(tǒng),包括選擇采集系統(tǒng)與上位機(jī)的連接通路,讀取系統(tǒng)各個(gè)模塊的狀態(tài),導(dǎo)出和清空采集系統(tǒng)的存儲(chǔ)數(shù)據(jù)等。系統(tǒng)脫離上位機(jī)時(shí),系統(tǒng)控制單元作為FPGA處理器內(nèi)部的master,通過第二組AXI-LITE接口控制采集系統(tǒng)進(jìn)行信號(hào)采集和存儲(chǔ)。
FPGA片上的各個(gè)模塊對(duì)應(yīng)不同的地址值,讀寫操作均由master模塊發(fā)起。master模塊傳輸控制指令時(shí),分別通過寫地址通道和寫數(shù)據(jù)通道發(fā)出相應(yīng)寄存器的地址值和控制指令, slave模塊接收到控制指令后發(fā)出寫完成信號(hào)并通過寫響應(yīng)通道傳回master模塊。讀寄存器時(shí),master模塊通過讀地址通道發(fā)出寄存器的地址值,slave模塊接收到讀地址后通過讀數(shù)據(jù)通道返回寄存器值。所有的控制指令均由master模塊發(fā)出。
由以上分析可以看出,采用AXI-LITE標(biāo)準(zhǔn)接口作為控制信號(hào)接口能夠有效將系統(tǒng)各個(gè)模塊連接起來,簡(jiǎn)化模塊間的控制關(guān)系。此外,采用AXI-LITE接口還有利于系統(tǒng)模塊的擴(kuò)展和移植。當(dāng)系統(tǒng)需要移入新的模塊時(shí),只需將模塊接口轉(zhuǎn)化為AXI-LITE標(biāo)準(zhǔn)接口并給模塊分配新的地址即可直接連在系統(tǒng)的AXI總線上。
2.2.2 數(shù)據(jù)流傳輸
模塊間數(shù)據(jù)流的傳輸通過AXI-STREAM接口進(jìn)行,表2給出了AXI-STREAM接口的信號(hào)。
AXI-STREAM接口沒有地址通道,數(shù)據(jù)流源端為master,數(shù)據(jù)流終端為slave,數(shù)據(jù)只能從master到slave單向傳輸,與AXI-LITE接口一樣,一個(gè)master可與多個(gè)slave相連,當(dāng)master和多個(gè)slave相連時(shí)需加入總線仲裁電路。
表2 AXI-STREAM接口信號(hào)Tab.2 Signal of AXI-STREAM interface
數(shù)據(jù)流傳輸時(shí)采用READY和VALID雙向握手機(jī)制,當(dāng)READY和VALID同時(shí)有效時(shí)進(jìn)行一次數(shù)據(jù)傳輸。采用雙向握手機(jī)制能夠有效控制數(shù)據(jù)流傳輸?shù)乃俣取?/p>
綜上所述,采取AXI標(biāo)準(zhǔn)總線作為采集系統(tǒng)FPGA內(nèi)部總線協(xié)議使系統(tǒng)便于設(shè)計(jì),能夠有效解決FPGA程序設(shè)計(jì)過程中遇到的困難。AXI標(biāo)準(zhǔn)協(xié)議信號(hào)簡(jiǎn)單,可以很容易被各個(gè)不同模塊所采用,控制信號(hào)和數(shù)據(jù)流采用不同的AXI標(biāo)準(zhǔn)接口傳輸有利于提高系統(tǒng)的數(shù)據(jù)傳輸效率。AXI總線從技術(shù)上講簡(jiǎn)單、靈活、功能強(qiáng)大,它的廣泛應(yīng)用將把SOC設(shè)計(jì)推向一個(gè)新的臺(tái)階。本文設(shè)計(jì)的采集系統(tǒng)工作穩(wěn)定,已經(jīng)在某微型機(jī)載遙感探測(cè)系統(tǒng)上得到應(yīng)用。
[1] 蔣國(guó)良,權(quán)進(jìn)國(guó),林孝康.AMBA總線新一代標(biāo)準(zhǔn)AXI分析和應(yīng)用 [J].微計(jì)算機(jī)信息,2006(29):46.
JIANG Guo-liang, QUAN Jin-guo,LIN Xiao-kang.analysis and application of new generation AMBA 3 AXI protocol [J].Microcomputer Information,2006(29):46.
[2] ARM Co.AMBA AXI Protocol specification,REV2.0[EB/OL].(2010).http//www.arm.com.
[3] ARM Co.AMBA 4 AXI4-Stream Protocol Specification,REV1.0[EB/OL].(2010).http//www.arm.com.
[4] 馬明建. 數(shù)據(jù)采集與處理技術(shù)[M]. 西安:西安交通大學(xué)出版社,2012.
[5] 田耕,胡彬,徐文波,等.Xilinx ISE Design Suite 10.X FPGA開發(fā)指南[M].北京:人民郵電出版社,2008.
[6] XILINX Co. AXI Reference Guide[EB/OL].(2012). http//www.xilinx.com.
Application of AXI bus interface protocol in mini airborne acquisition device
FAN Qiu-xiang,WU Qiong-zhi,SUN Ning-xiao,JIN Zhao-jian
(School of Information and Electronics, Beijing Institute of Technology, Beijing 100081, China)
This paper introduces AXI Bus Interface Protocol, and points out its high performance, high bandwidth and low-latency characteristic. According to the difficulty in FPGA design in mini airborne acquisition device, this paper puts forward a solution that using AXI bus interface protocol as FPGA control logic architecture. This solution makes the software architecture of the acquisition system highly normative and flexible. It meets high performance demand and achieves good practical effect.
AXI protocol; on-chip bus; acquisition system; FPGA
TN705
A
1674-6236(2014)03-0062-04
2013–06–03 稿件編號(hào):201306015
范秋香(1989—),女,福建莆田人,碩士研究生。研究方向:高性能電路技術(shù)與信號(hào)處理技術(shù)。