AMBA總線陣營的強大超乎多數(shù)人的想象。AMBA總線是一個在SoC領(lǐng)域使用的事實上的標準。AMBA總線的最大優(yōu)點是開放的架構(gòu),和因此帶來的免費。開放的總線標準使AMBA總線迅速普及,而且更易吸收整個半導體界的成果。
AMBA總線標準提供的AXI,AHB,ASB,APB和ATB總線,不僅使用在ARM處理器系統(tǒng)中,MIPS和PowerPC處理器也開始使用AMBA總線。在接下來的文章中我們重點為大家介紹AHB, AXI總線協(xié)議。
內(nèi)容概括
這次為大家講述的內(nèi)容包括:
AHB介紹
總線互聯(lián)
AHB信號描述
基本傳輸
0****1
AHB介紹
AMBA是為提高性能綜合設(shè)計的要求而產(chǎn)生的新一代AMBA總線它是支持總線主機和提供高帶寬的高性能總線。AHB實現(xiàn)了高性能,高時鐘頻率系統(tǒng)的以下特征要求:突發(fā)傳輸;分塊處理;單周期總線主機移交;單時鐘沿操作;非三態(tài)執(zhí)行;
AHB 的設(shè)計可能包含一個或者多個主機,一個典型的系統(tǒng)將至少包含處理器和測試接口。然而,將直接數(shù)據(jù)存取(DMA)或者數(shù)字信號處理器(DSP)包含作總線主機也很普遍。
典型的 AMBA AHB 系統(tǒng)設(shè)計包含以下的成分:
AHB 主機 :總線主機能夠通過提供地址和控制信息發(fā)起讀寫操作。任何時候只允許一個總線主機處于有效狀態(tài)并能使用總線。
AHB 從機 :總線從機在給定的地址空間范圍內(nèi)響應(yīng)讀寫操作。總線從機將成功、失敗或者等待數(shù)據(jù)傳輸?shù)男盘柗祷亟o有效的主機。
AHB 仲裁器 :總線仲裁器確保每次只有一個總線主機被允許發(fā)起數(shù)據(jù)傳輸。即使仲裁協(xié)議已經(jīng)固定,任何一種仲裁算法,比如最高優(yōu)先級或者公平訪問都能夠根據(jù)應(yīng)用要求而得到執(zhí)行。AHB 必須只包含一個伸裁器,盡管在單總線主機系統(tǒng)中這顯得并不重要。
AHB 譯碼器: AHB 譯碼器用來對每次傳輸進行地址譯碼并且在傳輸中包含一個從機選擇信號。所有 AHB 執(zhí)行都必須僅要求有一個中央譯碼器。
02
總線互聯(lián)
AHB總線協(xié)議設(shè)計使用一個中央多路選擇器互聯(lián)方案。使用該方案所有總線主機設(shè)備輸出地址和控制信號來指示它們想執(zhí)行的傳輸,同時仲裁器決定哪一個主機能夠?qū)⑺牡刂泛涂刂菩盘栠B通到所有的從機。當然也需要—個譯碼器來控制讀數(shù)據(jù)和響應(yīng)多路信號選擇器,多路信號選擇器選中米自傳輸中所包含從機的適當信號。圖 1表示了實現(xiàn)包含三個主機和四個從機的AHB設(shè)計的結(jié)構(gòu)要求。
圖1 多路選擇器互聯(lián)
0****3
AHB信號描述
名稱 | 來源 | 描述 |
---|---|---|
HCLK總線時鐘 | 時鐘源 | 時鐘為所有總線傳輸提供時基。所有信號時序都和HCLK的上升沿相關(guān)。 |
HRESETn復位 | 復位控制器 | 總線復位信號,低電平有效,用來復位系統(tǒng)和總線。這是唯一低電平有效的信號。 |
HADDR[31:0]地址總線 | 主機 | 32位地址總線 |
HTRANS[1:0]傳輸類型 | 主機 | 表示當前傳輸?shù)念愋停梢允沁B續(xù),不連續(xù),空閑和忙 |
HWRITE傳輸方向 | 主機 | 該信號為高表示一個寫傳輸,為低表示一個讀傳輸 |
HSIZE[2:0]傳輸大小 | 主機 | 表示傳輸?shù)拇笮。槐硎?…7,分別對應(yīng)8bits(byte), 16bits(halfword),32bits(word),64bits, 128bits,256bits, 512bits,1024bits |
HBURST[2:0]突發(fā)類型 | 主機 | 表示傳輸是否組成了突發(fā)的一部分。支持4個,8個,16個節(jié)拍的突發(fā)傳輸,突發(fā)傳輸可以使增量或回環(huán)。 |
HPROT[3:0]保護控制 | 主機 | 提供總線訪問的附加信息,主要是給那些希望執(zhí)行某種保護級別的模塊使用的。這個信號指示當前傳輸是否為預取指令或者數(shù)據(jù)傳輸,同時也表示傳輸是保護模式訪問還是用戶模式訪問。對帶存儲器管理單元的總線主機而言這些信號也用來指示當前傳輸是高速緩存的(cache)還是緩沖的(buffer)。 |
HWDATA[31:0]寫總線數(shù)據(jù) | 主機 | 寫數(shù)據(jù)總線用來在寫操作期間從主機到總線從機傳輸數(shù)據(jù)。建議最小的數(shù)據(jù)總線寬度為 32 位。在要求高帶寬運行時擴展(數(shù)據(jù)總線)還是很容易的。 |
HSELx從機選擇 | 譯碼器 | 每個 AHB 從機都有自己獨立的從機選擇信號并且用該信號來表示當前傳輸是否是打算送給選中的從機。該信號是地址總線的簡單組合譯碼。 |
HRDATA[31:0]讀數(shù)據(jù)總線 | 從機 | 讀數(shù)據(jù)總線用來在讀操作期間從總線從機向總線主機傳輸數(shù)據(jù)。建議最小的數(shù)據(jù)總線寬度為 32 位。在要求高帶寬運行時擴展(數(shù)據(jù)總線)還是很容易的。 |
HREDAY傳輸完成 | 從機 | 當 HREADY 為高時表示總線上的傳輸已經(jīng)完成。在擴展傳輸時該信號可能會被拉低。注意:總線上的從機要求 HREADY 作為輸入輸出信號。 |
HRESP[1:0]傳輸響應(yīng) | 從機 | 傳輸響應(yīng)給傳輸狀態(tài)提供了附加信息。提供四種不同的響應(yīng):OKEY、 ERROR、 RETRY 和 SPLIT。 |
0****4
基本傳輸
一筆傳輸由如下兩部分組成:
地址階段 :一個周期
數(shù)據(jù)階段 :一個或多個周期,由HBURST信號決定需要幾個有效周期,可以由HREADY發(fā)出請求延長一個周期。
01
沒有等待狀態(tài)的single transfer
-
第一個周期的上升沿,主機將地址信息和控制信息發(fā)送到總線上;
-
第二個周期的上升沿,從機采樣地址和控制信號,并將HREADY拉高;如果是寫操作,主機會在第二個周期的上升沿過后傳輸要寫入的數(shù)據(jù);如果是讀操作,從機會在HREADY信號拉高后將讀取的數(shù)據(jù)寫入總線;
-
第三個周期的上升沿,如果是寫操作,主機獲取HREADY高信號,表明從機已成功接收數(shù)據(jù),操作成功;如果是讀操作,主機獲取HREADY高信號,表明此時的讀數(shù)據(jù)有效并且接收下來,操作成功。需要注意,HREADY信號在數(shù)據(jù)有效期間必須為高,并且延續(xù)到第三個周期的上升沿之后,確保主機的正確采樣。
02
slave插入等待狀態(tài)的single transfer
從機可以及時處理主機請求,但也可能存在從機太慢不能立即處理的情況。這時需要讓主機稍微等一等,需要從機插入一些等待的狀態(tài)。如下圖所示,HREADY信號在第二和第三周期拉低,意在告訴主機,從機不能立即處理,需要主機等待2個周期。在這里需要注意2點:
如果是寫操作,主機要在等待期間保持寫數(shù)據(jù)不變,直到本次傳輸完成;如果是讀操作,從機不需要一開始就給出數(shù)據(jù),僅當HREADY拉高后才給出有效數(shù)據(jù)。
03
多個single transfer的pipeline操作
擴展數(shù)據(jù)周期的一個負效應(yīng)是必需延長相應(yīng)的下一筆傳輸?shù)牡刂分芷凇和C為零等待傳輸,B加入了一個等待周期,因此相應(yīng)的C地址周期要進行擴展。
- 第一個周期,主機發(fā)起一個操作A,并驅(qū)動地址和控制信號;
- 第二個周期,從機收到了來自總線的請求,將HREADY信號拉高;
- 第二個周期上升沿后,主機發(fā)現(xiàn)有操作B需要執(zhí)行,并且檢查到上一周期的HREADY為高,則發(fā)起第二個操作B;
- 第三個周期,主機獲取HREADY信號為高,表示操作A已經(jīng)完成;
- 第三個周期上升沿后,主機發(fā)現(xiàn)有操作C需要執(zhí)行,并且檢查到上一周期的HREADY為高,則發(fā)起第三個操作C;
- 第三個周期上升沿后,從機由于繁忙插入了一個等待狀態(tài),將HREADY拉低;
- 第四個周期,主機獲取HREADY信號為低,知道從機希望等待,于是主機保持和上一拍一樣的信號;
- 第四個周期,從機處理完了事務(wù),將HREADY信號拉高,表示可以繼續(xù)處理;
- 第五個周期,主機獲取HREADY信號為高,知道從機已經(jīng)可以處理B操作;
- 第五個周期上升沿后,B操作完成;
- 第六個周期上升沿后,C操作完成。
需要注意幾點:
HREADY在一定程度上表示了從機的pipeline能力,在AHB中是2個pipe,也就是總線上最多存在2個未處理完的transfer。只有當總線上未完成的transfer少于2個時,主機才能發(fā)起操作。
-
半導體
+關(guān)注
關(guān)注
334文章
27063瀏覽量
216490 -
soc
+關(guān)注
關(guān)注
38文章
4124瀏覽量
217966 -
總線
+關(guān)注
關(guān)注
10文章
2869瀏覽量
87995 -
AMBA
+關(guān)注
關(guān)注
0文章
68瀏覽量
14953
發(fā)布評論請先 登錄
相關(guān)推薦
評論