AXI4 Memory Map 接口協(xié)議:架構(gòu)、機制與應(yīng)用(上)
AXI4(Advanced eXtensible Interface 4)是 ARM 公司推出的 AMBA(Advanced Microcontroller Bus Architecture)總線家族中的重要成員,其中 AXI4 Memory Map 作為面向存儲器映射通信的標準接口,廣泛應(yīng)用于高性能片上系統(tǒng)(SoC)設(shè)計。它通過定義一套完整的信號交互規(guī)則和傳輸機制,實現(xiàn)了主設(shè)備(如處理器、DMA 控制器)與從設(shè)備(如存儲器、外設(shè))之間的高效數(shù)據(jù)傳輸,為復(fù)雜異構(gòu)系統(tǒng)提供了統(tǒng)一的通信標準。
一、AXI4 Memory Map 的核心特性
AXI4 Memory Map 接口的設(shè)計圍繞高性能、高靈活性和可擴展性展開,具有以下關(guān)鍵特性:
1. 多通道分離架構(gòu)
AXI4 采用地址、讀數(shù)據(jù)、寫數(shù)據(jù)、寫響應(yīng)和控制信號的分離通道設(shè)計,這種架構(gòu)允許地址傳輸與數(shù)據(jù)傳輸并行進行,顯著提高了總線利用率。例如,主設(shè)備在發(fā)送一個地址的同時,可以接收上一次傳輸?shù)臄?shù)據(jù),實現(xiàn)流水線式操作。各通道獨立運作,通過通道間的握手信號協(xié)調(diào)傳輸節(jié)奏,避免了傳統(tǒng)共享總線的帶寬瓶頸。
2. 支持突發(fā)傳輸
突發(fā)傳輸(Burst Transfer)是 AXI4 提升傳輸效率的核心機制。主設(shè)備在發(fā)起傳輸時,只需發(fā)送起始地址和突發(fā)長度,從設(shè)備便會自動按連續(xù)地址完成后續(xù)數(shù)據(jù)傳輸。AXI4 支持固定長度突發(fā)(Fixed Burst)、遞增突發(fā)(Incrementing Burst)和換行突發(fā)(Wrap Burst)三種模式,突發(fā)長度可配置為 1 至 256 個數(shù)據(jù)項,滿足不同場景下的批量數(shù)據(jù)傳輸需求,尤其適合存儲器訪問和高速外設(shè)通信。
3. 靈活的數(shù)據(jù)寬度
AXI4 支持 32 位至 1024 位的可變數(shù)據(jù)寬度,主從設(shè)備可根據(jù)自身數(shù)據(jù)處理能力配置不同寬度,通過寬度轉(zhuǎn)換電路實現(xiàn)跨寬度通信。這種靈活性使得接口能夠適應(yīng)從低速外設(shè)到高性能存儲器的各種設(shè)備,例如處理器可通過 32 位數(shù)據(jù)通道與 128 位寬度的 DDR 控制器通信,無需額外的硬件適配邏輯。
4. 亂序傳輸支持
AXI4 允許主設(shè)備發(fā)起多個未完成的傳輸事務(wù),從設(shè)備可根據(jù)自身處理能力調(diào)整響應(yīng)順序,通過 ID 信號標識不同事務(wù)的關(guān)聯(lián)性。亂序傳輸機制特別適用于多端口存儲器或并行處理外設(shè),能夠最大限度利用從設(shè)備的內(nèi)部帶寬,減少因等待單個事務(wù)完成而造成的延遲。
5. 低功耗與 QoS 支持
接口內(nèi)置時鐘門控(Clock Gating)信號,允許從設(shè)備在空閑時關(guān)閉部分時鐘域以降低功耗。同時,通過 QoS(Quality of Service)信號,主設(shè)備可對傳輸事務(wù)設(shè)置優(yōu)先級,確保關(guān)鍵數(shù)據(jù)(如實時控制信號)優(yōu)先傳輸,增強了系統(tǒng)的可靠性和實時性。
二、AXI4 Memory Map 的協(xié)議結(jié)構(gòu)
AXI4 Memory Map 接口通過一組標準化的信號和通道定義,實現(xiàn)主從設(shè)備間的有序通信。其協(xié)議結(jié)構(gòu)可分為以下核心部分:
1. 信號組成
AXI4 的信號按功能分為五大通道,各通道包含方向信號和握手信號:
地址寫通道(AW):主設(shè)備發(fā)送寫操作的起始地址、突發(fā)長度、數(shù)據(jù)寬度等控制信息,主要信號包括 AWADDR(地址)、AWLEN(突發(fā)長度)、AWSIZE(數(shù)據(jù)寬度)、AWBURST(突發(fā)類型)及 AWVALID/AWREADY(握手信號)。
寫數(shù)據(jù)通道(W):主設(shè)備傳輸寫數(shù)據(jù)及字節(jié)選通信號,包括 WDATA(數(shù)據(jù))、WSTRB(字節(jié)掩碼)、WLAST(突發(fā)結(jié)束標志)及 WVALID/WREADY(握手信號)。
寫響應(yīng)通道(B):從設(shè)備返回寫操作的狀態(tài)信息,包含 BRESP(響應(yīng)狀態(tài),如成功、錯誤)、BID(事務(wù)標識)及 BVALID/BREADY(握手信號)。
地址讀通道(AR):與 AW 通道類似,用于主設(shè)備發(fā)送讀操作的控制信息,信號包括 ARADDR、ARLEN、ARSIZE 等。
讀數(shù)據(jù)通道(R):從設(shè)備返回讀數(shù)據(jù)及響應(yīng)狀態(tài),包含 RDATA、RRESP、RID、RLAST 及 RVALID/RREADY(握手信號)。
這些信號通過共享時鐘(ACLK)和復(fù)位信號(ARESETn)實現(xiàn)同步,所有信號的變化均在時鐘上升沿生效,確保時序一致性。
2. 事務(wù)類型定義
AXI4 定義了多種事務(wù)類型以適應(yīng)不同操作需求:
正常訪問(Normal Access):適用于大多數(shù)存儲器和外設(shè)訪問,支持緩存和緩沖操作。
特權(quán)訪問(Privileged Access):用于處理器內(nèi)核的特權(quán)模式操作,受存儲器保護單元(MPU)管控。
安全訪問(Secure Access):結(jié)合 TrustZone 技術(shù),實現(xiàn)安全與非安全域的數(shù)據(jù)隔離。
原子操作(Atomic Access):支持讀 - 修改 - 寫的原子事務(wù),如遞增、遞減和比較交換,避免多主設(shè)備訪問沖突。
事務(wù)類型通過地址通道的屬性信號(如 AWPROT、ARPROT)標識,從設(shè)備根據(jù)這些屬性執(zhí)行相應(yīng)的訪問控制和權(quán)限檢查。