日常記錄(55)AMBA匯流排的AHB介面

2022-09-21 04:09:09 字數 1983 閱讀 7847

文件**於amba2.0中文翻譯。

ahb:高效能,高時鐘頻率的系統匯流排。

主要特點是:突發傳輸、分塊處理等,apb橋和內部儲存器是常見的ahb的從機。

ahb系統中有四個部分:主機、從機、仲裁器、解碼器。

在下面的四個部分中,仲裁器和解碼器的具體連線較為抽象。其中的解碼器,實際仍然要連線位址匯流排。

如下的位址解碼器提供選擇訊號,hselx。

h開頭表示ahb的訊號。

時鐘、復位(低有效)、

位址(32位)、傳輸型別(空閒、忙、不連續、連續)、傳輸方向(寫、讀)、傳輸大小(8、16..1024[8位線寬])

突發型別(4、8、16節拍,增量、回環模式)、保護控制(預取址、保護模式使用者模式,高數快取、普通緩衝)、寫資料線(32位)、匯流排請求(給仲裁器)、鎖定(給仲裁器)

讀資料線(32位)、傳輸就緒線(給主機)、傳輸響應線(返回ok、err、retry、split)、分塊完成請求(部分從機的功能)

從機選擇線(根據位址進行解碼選擇從機)

匯流排授予、主機號()、鎖定順序、

下圖是讀和寫兩種基本傳輸的合集。如果是寫,那資料是要一直保持的(在hready有效或者無效時),讀的話,在hready有效的時候讀就可以了。

連續控制讀寫的過程中,b發出的讀或寫的請求沒有被從機直接響應,主機需要延後乙個週期檢測讀寫的資料結果。

00:空閒,沒有資料傳輸要求,但是主機是需要傳輸過程,因此存在該型別。

01:忙:在突發過程中插入空閒週期。

10:非連續,突發模式的第乙個狀態,或者就是單一傳輸。

11:連續,突發模式的後續狀態。有增量和回環兩種突發型別。

以下是乙個incr(未指定長度的增量突發)的傳輸,傳輸型別始終保持,然後先傳乙個非連續,後面傳了忙,從機就等待,而上次的讀寫操作是有效的(hready為1),這個時刻的位址和控制訊號從機不要。

然後是三個連續。t8處傳遞乙個空閒就行。

是要和16位元組的資料邊界對其的。下圖的4拍、字大小、回環操作,位址從38後續到3c,然後超出了16位元組,回頭從30開始。

同樣的8拍,字操作,到了16位元組邊界,往後回退到開始位置20.

突破了16位元組邊界限制,相同的字操作,4拍,就是往後一種走。

下圖是兩個未定義長度的突發。中間還切換了一下。

注意這裡的還有上面有些的size是word,字(4個位元組),32位,其實最大可以是1024位,就是128位元組了。同時,回環的最大是8拍,也就是最大位址是1kb。而增量傳輸最大也是1kb。

這是由於從機的最小位址空間規定為1kb。主機若大於1kb的突發定址,則有位址解碼過程中越界的可能。

解碼器對位址匯流排的簡單解碼過程。

從機給主機發出retry的資訊,而不是ok或者err,那就需要重新傳送。

下圖從機認為a位址的控制資訊需要重新傳入,而同時a+4位址的控制資訊也傳入了,那a+4的傳輸取消,主機傳送了空閒,取消a+4,然後重新發a。

retry是要求從機持續發出兩個retry的,實現乙個取消。

error同樣是兩個週期,但是後續資料仍然可以繼續傳輸。第乙個okey的hready是失效的狀態。

和匯流排仲裁,多個主機對單個從機的操作有關。同樣需要兩個週期的split響應,暫停當前的a+4控制過程,需要主機傳送空閒狀態,並在t5時刻進入新主機驅動的過程。

主機t2時刻傳送請求,在t4時刻得到授權,但是從機沒有準備好,然後在t5時刻等到從機準備好(t5時刻仲裁器是沒有傳送主機標號的),在t6時刻傳送控制訊號,此時仲裁器給了當前正在使用的主機標號到匯流排上。

後續正常通訊

仲裁器授權過程是仲裁器執行的操作,獲得兩個請求後,在t6時刻變更了授權,又對應了hready無效,需要等到t7,然後a+12的控制訊號仍然被發出去了,並又在t9時刻讀寫了a+12,t9時刻的控制和位址應該是第二個主機的。

對「AMBA 匯流排」的理解

amba advanced microcontroller bus architecture 先進的微控制器匯流排架構 amba是一種片上匯流排。以arm的為例,進行說明 arm研發的amba advanced microcontroller bus architecture 提供一 種特殊的機制,...

日常學習的記錄

1.table裡td強制不換行 table td 2.數字資訊加逗號 方法一 方法二 string 123456789 replace d d g,1,方法三 123456789 tolocalestring en us 3.利用邊框的背景設定背景,可自適應螢幕 border image 學習部落格...

對S3C2440片上匯流排 AMBA 的一點理解

最近一直在深入的了解s3c2440的amba匯流排,進展緩慢,大部分時間花在了 開題上,只能擠出一點時間來搞嵌入式。用了一年的鑰匙串壞了,掛鉤斷了,買了乙個新的鑰匙串。下午在換鑰匙串時,一些小鑰匙由於孔太小而鑰匙環太粗,無法掛上去 指甲剪也也因為孔太小掛不上去 較大的鑰匙倒是沒有問題。只把把這些小鑰...