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