在 AXI 數據傳輸過程中,主要涉及到
?窄位寬數據傳輸(Narrow Transfer)
?非對齊傳輸(Unaligned Transfer)
?混合大小端傳輸(mix-endianness)等問題。
(1)窄位寬數據傳輸
當本次傳輸中數據位寬小于通道本身的數據位寬時,稱為窄位寬數據傳輸,或者直接翻譯成窄傳輸。
在窄位寬寫傳輸中,主機需要告知從機數據通道中哪些bit(原文寫的是字節,應該是寫錯了)是有效的,需要使用到寫數據通道中的 WSTRB 信號。WSTRB信號中的單個 bit 置起,表示對應位置上的字節有效,對應關系為:
WSTRB[n] 對應 WDATA[8n+7:8n],也就是:當 WSTRB[n] 為 1 時,WDATA[8n+7:8n]有效。
WSTRB 信號比特位寬等于數據通道位寬的字節數量,比如 32bit 位寬的數據通道,對應 WSTRB 信號位寬為 4bit。
根據該圖可直觀的看出WSTRB信號的作用。上圖的窄位寬傳輸有以下特點:
?burst 傳輸長度為 5
?burst 傳輸位寬為 8bit
?起始地址為 0x0
?數據總線位寬為 32bit
?突發類型為 INCR
引用部分可幫助理解窄位寬傳輸的情況:
個人理解該設計的意義在于,當主機是因為從機或者其他客觀條件限制,需要進行窄傳輸時,可以一次性將數據放置于數據總線上,只需在每次傳輸期間改變 WSTRB信號即可。
以上圖為例,主機將 D[31:0] 防置于總線,在接下來的四個周期中,僅需對 WSTRB 進行移位,即可依次完成 4 個字節的傳輸。
該結構有利于 memory 類型的從機進行寫入處理,這里設想一種實現方式,結合下圖講解,在 64bit 位寬的總線上進行 32bit位寬傳輸,起始地址為 0x4 。此時假設存儲介質位寬與總線位寬一致,為 64 bit。
在 transfer 1st 中,從機獲取整個總線上的 64bit 數據存儲至存儲介質中,比如 DDR,并利用 wstrb 作為 mask信號屏蔽無效的低 32 bit(比如 DDR 的 DQM 信號)。
這時候存儲介質的寫入地址為 0x0,但實際只從地址 0x4 開始寫入了 32bit 數據。在后續的 transfer 繼續按以上模式工作。
-
數據傳輸
+關注
關注
9文章
2001瀏覽量
65617 -
總線
+關注
關注
10文章
2941瀏覽量
89303 -
數據結構
+關注
關注
3文章
573瀏覽量
40579 -
AXI
+關注
關注
1文章
134瀏覽量
17075
發布評論請先 登錄
RFID系統的數據傳輸編碼分析

求助 ,關于STM32的USB數據傳輸問題
汽車行駛記錄儀的數據傳輸設計
AXI-stream數據傳輸過程
DMA進行數據傳輸和CPU進行數據傳輸的疑問
基于dMAX和EMIF接口的數據傳輸

評論