玩轉Zynq連載4——AXI總線協議介紹2 更多資料共享 鏈接:https://share.weiyun.com/5s6bA0s 2 信號描述2.1 全局信號表2-1 全局信號 | | | | | 全局時鐘信號。所有的信號都在全局時鐘的上升沿采樣。 | | | |
2.2 寫地址通道信號表2-2 寫地址通道信號 | | | | | | | | 寫地址。寫地址總線為突發寫傳輸的第一個有效數據傳輸提供地址。相關控制信號決定了后續傳輸的有效數據相對于第一個地址的關系。 | | | | | | 突發位寬。突發位寬提供突發傳輸中每個有效數據的位寬。 | | | | | | | | | | | | | | | 寫地址有效。這個信號指示此時傳輸的是有效的寫地址和控制信息:1 = 地址和控制信息是有效的;0 = 地址和控制信息無效。地址和控制信息保持穩定直到地址響應信號AWREADY為高電平。 | | | 寫地址準備好。這個信號指示從機已經準備好接收地址和相關的控制信號:1 = 從機準備好;0 = 從機未準備好。 |
注:對于一般的應用,AWBURST、AWLOCK、AWCACHE和AWPROT通常賦一個特定的值,即設定為固定的工作模式即可。 2.3 寫數據通道信號表2-3 寫數據通道信號 | | | | | 寫ID。這個信號是寫數據傳輸的唯一表示。WID值必須與寫傳輸的AWID值匹配。 | | | 寫數據。寫數據總線可以是8、16、32、64、128、256、512或1024bits帶寬。 | | | 寫數據有效字節數。這個信號指明寫數據的每個字節數據是否寫入到最終的地址中。在寫數據總線中每8bit有一個WSTRB位相對應,指示該信號寫入的數據字節是否更新到最終的寫地址中。 | | | 最后一個數據寫入指示信號。這個信號高電平時,表明一次突發寫傳輸的最后一個數據正在傳輸。 | | | 寫有效信號。這個信號指明寫數據有效:1 = 寫數據有效;0 =寫數據無效。 | | | 寫準備好。這個信號指明從機可以接收寫數據:1 = 從機準備好;0 = 從機未準備好。 |
2.4 寫響應通道信號表2-4 寫響應通道信號 | | | | | 響應ID。這是寫響應的唯一標識。BID值必須與寫傳輸的AWID值匹配。 | | | 寫響應。這個信號表明寫傳輸的狀態。可用的狀態是OKAY,EXOKAY,SLVERR,和DECERR。 | | | 寫響應有效信號。這個信號表明寫響應是有效的:1 = 寫響應有效;0 = 寫響應無效。 | | | 響應準備好。這個信號表明主機可以接收響應信息。1 = 主機是準備好的;0 = 主機未準備好。 |
2.5 讀地址通道信號表2-5 讀地址通道信號 | | | | | | | | 讀地址。讀地址總線提供一個突發讀傳輸的初始地址。只提供了突發讀傳輸的起始地址,其余讀數據的地址通過控制信號可以計算出來。 | | | | | | | | | | | | | | | | | | | | | 寫地址有效。這個信號為高電平時,寫地址和控制信息有效,并將保持穩定,直到地址響應信號ARREADY拉高。1 = 地址和控制信息有效;0 = 地址和控制信息無效。 | | | 寫地址準備好。這個信號表明從機準備好接收地址和相關的控制信號:1 = 從機準備好;0 = 從機未準備好。 |
2.6 讀數據通道信號表2-6 讀數據通道信號 | | | | | 讀ID標簽。這個信號是讀數據的唯一標識。RID值是由從機產生的,必須與讀地址通道傳輸的ARID值相匹配。 | | | 讀數據。讀數據總線可以是8、16、32、64、128、256、512或1024bits帶寬。 | | | 讀響應。這個信號表明讀傳輸的狀態。可用的反饋狀態是OKAY,EXOKAY,SLVERR和DECERR。 | | | 最后一個讀數據有效標志位。這個信號表明一次突發讀傳輸的最后一個數據正在傳輸。 | | | 讀有效信號。這個信號表明讀數據有效,1 = 讀數據有效;0 = 讀數據無效。 | | | 讀數據準備好。這個信號表明主機可以接收從機送出的讀數據:1 = 主機是準備好的;0 = 主機未準備好。 |
3 握手過程 全部5個通道使用同樣的VALID和READY握手機制來實現數據和控制信息的傳輸。這個雙向的流控制機制使主機和從機能控制數據和控制信息的傳輸速度。發送端產生VALID信號指示數據或控制信息有效,接收端產生READY信號表明它可以或已經接收數據或控制信息。只有在VALID和READY信號都為高電平的時候才能進行有效的傳輸。 如圖所示,這是一個握手的實例。發送端送出數據或控制信息(INFORMATION),并將VALID信號拉高。來自發送端的數據或控制信息保持穩定直到接收端將READY信號拉高,指明接收端已經接收數據或控制信息。箭頭表明了傳輸實際發生的時機。
必須注意,若發送端要發起一次傳輸,不允許VALID信號一直等待READY變為高電平才執行拉高操作。正確的操作應該是,將VALID拉高,一直保持高電平直到READY拉高,完成一個完整的握手操作。 如圖所示,接收端在VALID信號拉高之后,才將READY信號拉高,表示發送端發出的數據或控制信息被接收。這意味著,接收端若在VALID信號拉高之前就已經將READY拉高表示準備好,那么只需要1個時鐘周期就可以完成一次數據或控制信息的有效傳輸。箭頭表明傳輸發生的時機。
接收端送出的READY信號在VALID拉高之后才拉高,在這個握手機制中是允許的。如果READY為高電平,在VALID拉高之前將READY拉低也是允許的。如圖所示,在這個實例中,VALID和READY信號同一個時鐘周期拉高了,那么這正好是一次有效的數據或控制信息的傳輸。 更多資料共享 鏈接:https://share.weiyun.com/5s6bA0s |