在整個傳輸事務過程中,主機首先將接下來 burst 傳輸?shù)目刂菩畔⒁约皵?shù)據(jù)首個字節(jié)的地址傳輸給從機,這個地址被稱為起始地址。
在本次 burst 后續(xù)傳輸期間,從機將根據(jù)控制信息計算后續(xù)數(shù)據(jù)的地址。
控制信息以及起始地址在讀/寫地址通道(AWC/ARC)傳輸。
注意:單次 burst 傳輸中的數(shù)據(jù),其地址不能跨越 4KB 邊界。 關于這點在筆者參考的一個來源這樣表示,目前筆者覺得看上去很有道理:協(xié)議中之所以規(guī)定一個burst不能跨越4K邊界是為了避免一筆burst交易訪問兩個slave (每個slave的地址空間是4K/1K對齊的)4K對齊最大原因是系統(tǒng)中定義一個page大小是4K, 而所謂的4K邊界是指低12bit為0的地址。
地址通道中傳輸?shù)目刂菩畔⒅邪ㄈ椡话l(fā)傳輸相關的信號(AR/AW 均一致,下圖為以 AR 為例):
(1)突發(fā)傳輸長度(burst length)
指一次突發(fā)傳輸中包含的數(shù)據(jù)傳輸(transfer)數(shù)量,在協(xié)議中使用 AxLen 信號控制。
突發(fā)傳輸長度在不同的模式(burst type ,將在后文中討論)下有一些限制,包括:
?對于 WRAP 模式,突發(fā)傳輸長度僅能為2,4,8,16
?在一次突發(fā)傳輸中,地址不能跨越一個 4KB 分區(qū)
?一次突發(fā)傳輸不能在完成所有數(shù)據(jù)傳輸前提前結束(early termination)
協(xié)議中多次強調,通信雙方都不能在傳輸事務的所有 Transfer 完成前提前結束。哪怕發(fā)生錯誤,也得含淚走完整個傳輸事務的流程。
(2)突發(fā)傳輸寬度(burst size)
指傳輸中的數(shù)據(jù)位寬,具體地,是每周期傳輸數(shù)據(jù)的字節(jié)(Byte)數(shù)量,在協(xié)議中使用 AXSIZE 信號控制。
突發(fā)傳輸數(shù)據(jù)寬度不能超過數(shù)據(jù)總線本身的位寬。而當數(shù)據(jù)總線位寬大于突發(fā)傳輸寬度時,將根據(jù)協(xié)議的相關規(guī)定,將數(shù)據(jù)在部分數(shù)據(jù)線上傳輸。
傳輸寬度 = 2 ^ AXSIZE
(3)突發(fā)傳輸類型(AxBURST)
類型共有 3 種,分別為 FIXED,INCR 以及 WRAP。使用 2 位二進制表示。
FIXED 類型中, burst 中所有數(shù)據(jù)都使用起始地址。該模式適合對某個固定地址進行多次數(shù)據(jù)更新,比如讀寫一個 fifo時,讀寫地址就是固定的。
INCR 類型最為常用,后續(xù)數(shù)據(jù)的地址在初始地址的基礎上進行遞增,遞增幅度與傳輸寬度相同。適合對于 RAM 等通過地址映射(mapped memory)的存儲介質進行讀寫操作。
WRAP 類型比較特殊,首先根據(jù)起始地址得到繞回邊界地址(wrap boundary)與最高地址。當前地址小于最高地址時,WRAP 與 INCR類型完全相同,地址遞增。但到遞增后的地址到達最高地址后,地址直接回到繞回邊界地址,再進行遞增,就這樣循環(huán)往復。
-
數(shù)據(jù)
+關注
關注
8文章
7233瀏覽量
90800 -
結構
+關注
關注
1文章
117瀏覽量
21864 -
總線
+關注
關注
10文章
2938瀏覽量
89190 -
AXI
+關注
關注
1文章
132瀏覽量
17041
發(fā)布評論請先 登錄
ARM+FPGA開發(fā):基于AXI總線的GPIO IP創(chuàng)建

使用AXI-Full接口的IP進行DDR的讀寫測試

玩轉Zynq連載37——[ex56] 基于Zynq的AXI HP總線讀寫實例
如何避免AXI_hp總線鎖死?
AXI4協(xié)議的讀寫通道結構
AXI總線的相關資料下載
看看在SpinalHDL中AXI4總線互聯(lián)IP的設計
AXI 總線和引腳的介紹

AXI總線的概念及基本特點是什么
AXI總線學習(AXI3&4)

評論