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