AHB總線協議(二)

下圖是8拍迴環字突發傳輸:地址將在 32 字節邊界處迴環所以地址 0x3C 以後的地址是 0x20。算法

image

下圖是8增量半字突發傳輸,因此地址每次增長 2 個字節而且突發在遞增所以地址連續增長經過了 16 字節邊界。併發


image

下圖是未定義長度的增量突發。異步

兩個半字傳輸在地址 0x20 處開始。半字傳輸地址增長爲 2。 三個字傳輸在地址 0x5C 處開始。字傳輸地址增長爲 4。性能


image


6 、地址譯碼

對於每一個總線上的從機來講使用一箇中央地址譯碼器提供選擇信號, HSELx。選擇信號是高位地址信號的組合譯碼,而且建議使用簡單的譯碼方案以免複雜譯碼邏輯和確保高速操做。
從機只能在 HREADY 信號爲高時採樣地址和控制信號以及 HSELx, HSELx 爲高表示當前傳輸已經完成。在特定的狀況下有可能在 HREADY 爲低時採樣 HSELx,可是被選中的從機將會在當前傳輸完成後變動。
可以分配給單個從機的最小地址空間是 1KB。全部總線主機必須被設計爲不能執行超過 1KB 地址邊界的增量傳輸,所以確保了一個突發毫不會超過地址譯碼的邊界。
編碼

在系統設計中若是有包含一個存儲器映射並未徹底填滿(存儲空間)的狀況時應該設置一個額外的默認從機以在訪問任何不存在的地址空間時提供響應。若是一個非連續或者連續傳輸試圖訪問一個不存在的地址空間時這個默認從機應該提供一個 ERROR 響應。空閒或者忙傳輸訪問不存在的空間(默認從機)應該給出一個零等待狀態的 OKAY 響應。典型默認從機的功能將以做爲中央地址譯碼器的一部分來實現。spa

image

七、從機傳輸響應

在主機發起傳輸後,由從機決定傳輸該如何進行。 AHB 規範中沒有作出總線主機在傳輸已經開始後取消傳輸的規定。
只要從機被訪問那它必須提供一個表示傳輸狀態的響應。 HREADY 信號被用來擴展傳輸而且和響應信號 HRESP[1: 0]相結合,以提供傳輸狀態。
從機可以用許多種方式來完成傳輸。它能:
馬上完成傳輸;
插入一個或者多個等待狀態以容許有時間來完成傳輸;
發出一個錯誤信號來表示傳輸失敗;
延時傳輸的完成,可是容許主機和從機放棄總線,把總線留給其餘傳輸使用。
設計

  • 傳輸完成:
  • HREADY 信號用來擴展一次 AHB 傳輸的數據部分。當 HREADY 信號爲低時表示傳輸將被擴展而當其爲高時表示傳輸完成。3d

    注:每一個從機必須有一個預先肯定的在從機放棄總線以前插入的最大等待狀態數目,以便可以計算訪問總線的延時。建議但不強制規定,從機不要插入多於 16 個等待狀態以阻止任何單個訪問將總線鎖定較長
    的時鐘週期。
    blog

  • 傳輸響應:
  • 典型的從機將會用 HREADY 信號在傳輸中插入適當數量的等待狀態而傳輸在HREADY 爲高時完成而且給出 OKAY 響應,表示傳輸成功完成。
    ERROR 響應被從機用來表示某種形式的錯誤條件和相關的傳輸。典型的是被用做保護錯誤,例如試圖寫一個只讀的存儲空間。
    SPLIT 和 RETRY 響應組合容許從機延長傳輸完成的時間,可是釋放總線給其餘主機使用。這些響應組合一般僅由有高訪問延時的從機請求而且從機可以利用這些響應編碼來確保其餘主機在長時間內不被阻止訪問總線。
    關於SPLIT和RETRY的完整描述參見分塊和重試。
    接口

    當從機須要插入必定數量的等待狀態優於決定將要給出何種響應時從機必須將響應驅動爲 OKAY。


    HRESP[1: 0]的編碼、傳輸響應信號和每一個響應的描述參見下表:

    HRESP[1] HRESP[0] 響應 描述
    0 0 OKAY

    當 HREADY 爲高表示傳輸已經成功完成。 OKAY 響
    應也被用來插入任意一個附加週期,當 HREADY 爲
    低時,優先給出其餘三種響應之一。

    0 1 ERROR

    該響應表示發生了一個錯誤。錯誤條件應該發信號給
    總線主機以便讓主機意識到傳輸失敗。
    一個錯誤條件須要雙週期響應。

    1 0 RETRY

    RETRY(重試)信號表示傳輸並未完成,所以總線
    主機應該重試傳輸。主機應該繼續重試傳輸直到完成
    爲止。
    要求雙週期的 RETRY 響應。

    1 1 SPLIT

    傳輸並未成功完成。總線主機必須在下一次被授予訪
    問總線時重試傳輸。當傳輸可以完成時從機將請求代
    替主機訪問總線。
    要求雙週期的 SPLIT 響應。

  • 雙週期響應

僅有 OKAY 響應能夠在單個週期裏給出。 ERROR、 SPLIT 和 RETRY 響應須要至少兩個週期。爲了完成這些響應中的任意一個那麼在倒數第二個(最後一個的前一個)週期從機驅動 HRESP[1: 0]以表示 ERROR、 RETRY 或者 SPLIT 並同時驅動 HREADY 爲低以給傳輸擴展一個額外的週期。在最後一個週期 HREADY 被驅動爲高電平以結束傳輸,同時HRESP[1: 0]保持驅動以表示 ERROR、 RETRY 或者 SPLIT。
若是從機須要兩個以上的週期以提供 ERROR、 SPLIT 或者 RETRY 響應那麼額外的等待狀態可能會在傳輸開始時被插入。在這段時間 HREADY 信號將爲低電平同時響應必須被設爲 OKAY。

須要雙週期響應是由於總線通道的本質特徵。在從機開始發出 ERROR、 SPLIT 或者RETRY 中任何一個響應時接下來傳輸的地址已經廣播到總線上了。雙週期響應容許主機有足夠的時間來取消該地址而且在開始下一次傳輸以前驅動 HTRANS[1: 0]爲空閒傳輸。
對於 SPLIT 和 RETRY 響應接下來的傳輸必須取消由於在當前傳輸完成以前禁止下一次傳輸發生。然而,對於 ERROR 響應,因爲當前傳輸不被重複,因此能夠選擇完成接下來的傳輸。
下圖表示了一次RETRY操做的例子。

主機從地址 A 發起傳輸;
此次傳輸在接收到響應以前主機將地址移動到 A + 4;

從機在地址 A 不能馬上完成傳輸所以從機發出一個 RETRY 響應。該響指示主機在
地址 A 的傳輸沒法完成而且在地址 A + 4 的傳輸被取消而用空閒傳輸替代。

image

下圖表示了一個傳輸中從機請求一個週期來決定將要給出的響應(在HRESP爲OKAY的時間段),以後從機用一個雙週期的ERROR響應結束了傳輸。

image


  • 分塊與重試

分塊和重試響應給從機提供了在沒法馬上給傳輸提供數據時釋放總線的機制。這兩種機制都容許在總線上結束傳輸所以容許更高優先級的主機可以訪問主機。
分塊(SPLIT)和重試(RETRY)的不一樣之處在於仲裁器在發生 SPLIT 和 RETRY 後分配總線的方式:
對 RETRY 而言仲裁器將繼續使用常規優先級方案所以只有擁有更高優先級的主機將獲准訪問總線;
對於 SPLIT 傳輸而言仲裁器將調整優先級方案以便其餘任何主機請求總線即能得到訪問(總線),即便是優先級較低的主機。爲了完成一個 SPLIT 傳輸從機必須通知仲裁器什麼時候數據可用。

SPLIT 傳輸增長了仲裁器和從機的複雜性,可是卻有能夠徹底釋放總線給其餘主機使用的優勢,可是 RETRY(響應)的狀況就只容許較高優先級的主機使用總線。
總線主機應該以一樣的方式來對待 SPLIT 和 RETRY(響應)。主機應該繼續請求總線並嘗試傳輸直到傳輸成功完成或者遇到 ERROR 響應時終止。

  • 數據總線

爲了避免使用三態驅動而又容許執行AHB系統因此要求分開讀和寫數據總線。最小的數據寬度規定爲 32 位,可是總線寬度卻能夠增長,參見關於AHB數據總線的位寬這一節中的描述。
HWDATA[31: 0]
寫數據總線在寫傳輸期間由總線主機驅動。若是傳輸是擴展的那麼總線主機必須保持數據有效直到傳輸完成,由 HREADY 爲高表示。

全部傳輸必須對齊到和傳輸大小相等的地址邊界。例如,字傳輸必須對齊到字地址邊界(也就是 A[1: 0] = 00),半字傳輸必須對齊到半字地址邊界(也就是 A[0] = 0)。
對於寬度小於總線寬度的傳輸,例如一個在 32 位總線上的 16 位傳輸,那麼總線主機僅須要驅動相應的字節通道。從機必須負責從正確的字節通道選擇寫數據。 下面兩個表中分別表示了小端系統和大端系統中哪一個字節通道有效。若是有要求,這些信息能夠在更寬的總線應用中擴展。傳輸大小小於數據總線寬度的突發傳輸將在每拍突發中有不一樣有效字節通道。
有效字節通道取決於系統的端結構,可是 AHB 並不指定要求的端結構。所以,總線上全部主機和從機的端結構相同這點很重要。
HRDATA[31: 0]
讀數據總線在讀傳輸期間由合適的從機驅動。若是從機經過拉低 HREADY 擴展讀傳輸那麼從機只須要在傳輸的最後一個週期提供有效數據,由 HREADY 爲高表示。
對於寬度小於總線寬度的傳輸從機僅須要在有效的字節通道提供有效數據,以下兩個表所示。總線主機負責從正確的字節通道中選擇數據。
當傳輸以 OKAY 響應完成時從機僅需提供有效數據。 SPLIT、 RETRY 和 ERROR 響應不須要提供有效的讀數據。

image

爲了使系統正確運行事實上全部模塊都是相同端結構的而且任何數據通路或者橋接器也是相同端結構的。
不支持動態端結構,由於在大多數嵌入式系統中,這將致使明顯的硅晶片較高,也就是多餘的。
對於模塊設計者而言建議只有應用場合很是寬泛的模塊才應該被設計爲雙端結構的,經過一個配置引腳或者內部控制位來選擇端結構。對於更多的特定用途的模塊,固定端結構爲大端或者小端將產生體積更小、功耗更低、性能更高的接口

七、仲裁

仲裁機制用來確保任意時刻只有一個主機可以訪問總線。仲裁器的功能是檢測許多不一樣的使用總線的請求和決定當前請求總線的主機中哪個的優先級最高。仲裁器也接收來自從機須要完成 SPLIT 傳輸的請求。
任何沒有能力執行 SPLIT 傳輸的從機不須要了解仲裁的過程,除非它們須要檢測由於總線全部權改變而致使突發傳輸不能完成的狀況。

如下給出對每一個仲裁信號的簡短描述:
HBUSREQx 被總線主機用來請求訪問總線的總線請求信號。每一個總線主機都有本身的鏈接到仲裁器的 HBUSREQx 信號而且任何一個系統中均可以有高達 16 個獨立的總線主機
HLOCKx 由主機在請求總線的同時時斷言的鎖定信號。這提示仲裁器主機正在執行一系列不可分割的傳輸而且一旦鎖定傳輸的第一個傳輸已經開始仲裁器不能授予任何其餘主機訪問總線。 HLOCKx 必須在涉及到的地址被尋址到以前至少斷言一個週期,以防止仲裁器改變授予信號。
HGRANTx 授予信號由仲裁器產生而且表示相關主機是當前請求總線的主機中優先級最高的主機,(優先)考慮鎖定傳輸和 SPLIT 傳輸。
主機在 HGRANTx 爲高時獲取地址總線的全部權而且在HCLK 的上升沿 HREADY 爲高電平。
HMASTER[3: 0] 仲裁器使用 HMASTER[3: 0]信號表示哪個主機當前被授予總線而且該信號可被用來控制中央地址和控制多路選擇器。有 SPLIT 傳輸能力的從機也能夠請求主機的序號以便它們可以提示仲裁器哪一個主機可以完成一個 SPLIT 傳輸。
HMASTLOCK 仲裁器經過斷言 HMASTLOCK 信號指示當前傳輸是一個鎖定序列的一部分,該信號和地址以及控制信號有相同的時序。
HSPLIT[15: 0] 這 16 位有完整分塊能力的總線被有分塊(SPLIT)能力的從機用來指示哪一個總線主機可以完成一個 SPLIT 傳輸。仲裁器須要這些信息以便於授予主機訪問總線完成傳輸。

下列小節提供更多的信息:
請求總線訪問;
授予總線訪問;
突發提早終止;
鎖定傳輸。

7.1請求總線訪問

總線主機使用 HBUSREQx 信號來請求訪問總線而且能夠在任何週期請求總線。仲裁器將在時鐘的上升沿採樣(主機的)請求而後使用內部優先級算法來決定哪一個主機將會下一個得到訪問總線。
若是主機請求鎖定訪問(總線),那麼主機也必須斷言 HLOCKx 信號來提示仲裁器其它主機不該該被授予總線。
當一個主機被授予總線而且正在執行一個固定長度的突發,那麼就沒有必要繼續請求總線以便完成傳輸。仲裁器監視突發的進程而且使用 HBURST[2: 0]信號來決定主機請求了多少個輸入。若是主機但願在當前正在進行的傳輸以後執行另外一個突發那麼主機須要在突發中從新斷言請求信號。
若是主機在一次突發當中失去對總線的訪問那麼它必須從新斷言 HBUSREQx 請求線以從新獲取訪問總線。
對未定長度的突發主機應該繼續斷言請求直到已經開始最後一次傳輸。在未定長度的突發結束時仲裁器不能預知什麼時候改變仲裁。
對於主機而言有可能當它未申請總線時卻被授予總線。這可能在沒有主機請求總線而且仲裁器將訪問(總線)授予一個默認的主機時發生。所以,若是一個主機並沒請求訪問總線那麼它驅動傳輸類型 HTRANS 來表示空閒傳輸顯得很重要。

7.2授予總線訪問

仲裁器經過斷言適當的 HGRANTx 信號來表示請求總線的主機中哪一個是當前優先級最高的。當前傳輸完成後,由 HREADY 爲高時所表示,那麼主機將被授予(總線)而且仲裁器將改變 HMASTER[3: 0]信號來表示總線主機序號。
下圖表示了當全部傳輸都爲零等待狀態而且HREADY信號爲高時的處理過程。

image

下圖表示了在總線移交時等待狀態的影響。

image

數據總線的全部權延時在地址總線的全部權以後。一次傳輸不管什麼時候完成(由HREADY爲高時所表示)而後佔有地址總線的主機才能使用數據總線而且將繼續佔有數據總線直到傳輸完成。 下圖表示當在兩個總線主機之間移交總線時數據總線的全部權是如何轉移的。

image

下圖表示一個仲裁器如何能在一次突發傳輸結束時移交總線的例子。

仲裁器在倒數第二個(最後一個以前的)地址被採樣時改變 HGRANTx 信號。新的HGRANTx 信息將在突發的最後一個地址被採樣的同時被採樣。

image

下圖表示了HGRANTx和HMASTER信號是如何在系統中使用的。

image

注:由於使用了中央多路選擇器,每一個主機能夠馬上輸出它但願執行的地址而不須要等到被授予總線。HGRANTx 信號是僅被主機用來決定它什麼時候擁有總線並所以須要考慮什麼時候讓地址被合適的從機採樣。HMASTER 總線的延時版本被用來控制寫數據多路選擇器。

7.3 突發提早終止

一般仲裁器在突發傳輸結束以前不會將總線移交給一個新的主機。可是,若是仲裁器決定突發必須被提早終止以防止過長的總線訪問時間那麼它可能會在一個突發完成以前將(總線)授予轉移給另一個總線主機。
若是主機在突發傳輸中間失去了對總線的全部權那麼它必須從新斷言總線(請求)以完成突發。主機必須確保 HBURST 和 HTRANS 信號都被更新以反映主機再也不執行一個完整的 四、 8 或者 16 拍的突發。
例如,若是一個主機僅能完成一個 8 拍突發的 3 個傳輸,那麼當它從新得到總線時必須使用一個合法的突發編碼來完成剩下的 5 個傳輸。主機可使用任何合法組合,所以不管是5 拍未定長度的突發或者是 4 拍固定長度的突發而後跟上一個單拍未定長度的突發都是能夠接受的。

7.4 鎖定傳輸

仲裁器必須監視來自各個主機的 HLOCKx 信號以肯定什麼時候主機但願執行一個鎖定連續傳輸。以後仲裁器負責確保沒有其餘總線主機被授予總線直到鎖定傳輸完成。
在一個連續鎖定傳輸以後仲裁器將老是爲一個附加傳輸保持總線主機被授予(總線)以確保鎖定序列的最後一個傳輸成功完成而且沒有接收到 SPLIT 或者 RETRY 響應。所以建議但不規定,主機在任何鎖定連續傳輸以後插入一個空閒傳輸以提供給仲裁器在着手另一個突發傳輸以前改變(總線授予)的機會。
仲裁器也負責斷言 HMASTLOCK 信號, HMASTLOCK 信號和地址以及控制信號有相同的時序。該信號指示每一個從機當前傳輸是鎖定的所以必須在其餘主機被授予總線以前被處理掉。

7.5默認總線主機

每一個系統必須包含一個默認總線主機,若是全部其餘主機不能使用總線時該主機被授予總線。當被授予總線時,默認主機必須只能執行空閒(IDLE)傳輸。
若是沒有請求總線那麼仲裁器能夠授予默認主機(訪問總線)或者訪問總線延時較低的主機將所以受益而被授予總線。
授予默認主機訪問總線也爲確保在總線上沒有新的傳輸開始提供了一個有用的機制而且也是預先進入低功耗操做模式的有用步驟。
若是其餘全部主機都在等待 SPLIT 傳輸完成時默認主機必須被授予總線。

7.6 分塊傳輸

分塊傳輸經過根據從機的響應操做來分離(或者分塊)主機操做以給從機提供地址和合適的數據,提升了總線的整體使用率。
當傳輸產生時若是從機認爲傳輸的執行將佔據大量的時鐘週期那麼從機可以決定發出一個 SPLIT 響應。該信號提示仲裁器嘗試此次傳輸的主機不該該被授予訪問總線,直到從機表示它準備好了完成傳輸時。所以仲裁器負責監視響應信號而且在內部屏蔽已是 SPLIT傳輸主機的任何請求。
在傳輸的地址相位期間仲裁器在 HMASTER[3: 0]產生一個標記,或者總線主機序號,以表示正在執行傳輸的主機。任何一個發出 SPLIT 響應的從機必須表示它有能力完成這個傳輸,而且經過記錄 HMASTER[3: 0]信號上的主機序號來實現。以後,當從機可以完成傳輸時,它就根據主機序號在從從機到主機的 HSPLITx[15: 0]信號上斷言適當的位。而後仲裁器使用這個信息來解除來自主機請求信號的屏蔽而且主機將被及時授予訪問總線以重試傳輸。仲裁器在每一個時鐘週期採樣 HSPLITx 總線所以從機只須要斷言適當的位一個週期以便仲裁器可以識別。
若是系統中有多個具備 SPLIT 能力的從機那麼每一個從機的 HSPLITx 總線能夠邏輯或在一塊兒以提供給仲裁器單個 HSPLIT 總線。
大多數系統中並無用到最大 16 個總線主機的能力所以仲裁器僅要求一個位數和總線主機數量同樣的 HSPLIT 總線。可是,建議全部有 SPLIT 能力的從機被設計成支持高達 16個主機。

分塊傳輸順序
SPLIT 傳輸的基本步驟以下:
一、 主機以和其餘傳輸同樣的方式發起傳輸併發出地址和控制信息;
二、 若是從機可以馬上提供數據那麼它能夠立刻提供數據。若是從機確認獲取數據可能會佔據較多的週期那麼它給出一個 SPLIT 傳輸響應;
每次傳輸中仲裁器廣播一個序號或者標記,表示哪一個主機正在使用總線。從機必須記錄該序號,以便用來在以後的一段時間從新發起傳輸;
三、 仲裁器授予其餘主機使用總線而且 SPLIT 響應的動做容許主機移交總線。若是全部其餘主機也接收到一個 SPLIT 響應那麼默認主機將被授予總線;
四、 當從機準備完成傳輸那麼它斷言 HSPLITx 總線中的適當位給仲裁器以指示哪一個主機應該被從新授予訪問總線;
五、 仲裁器每一個時鐘週期監視 HSPLITx 信號,而且當 HSPLITx 中的任何一位被斷言仲裁器將恢復對應主機的優先級;
六、 最後仲裁器將授予(SPLIT 的)主機總線,所以主機能從新嘗試傳輸。若是一個優先級更高的主機正在使用總線的話這可能不會馬上發生;
七、 當傳輸終於開始後從機以一個 OKAY 傳輸響應來結束(傳輸)。
多重分塊傳輸
總線協議只容許每一個總線主機有一個未完成的處理。若是任何主機模塊可以處理多於一個未完成的處理那麼它須要爲可以處理的每一個未完成處理設置一個額外的請求和授予信號。
在協議級上一個信號模塊能夠表現爲許多不一樣總線主機,每一個主機只能有一個未完成的處理。
然而,可能一個有 SPLIT 能力的從機會接收比它能併發處理的(傳輸)還要多的傳輸請求。若是這種狀況發生那麼從機能夠不用記錄對應傳輸的地址和控制信息而僅須要記錄主機序號就發出 SPLIT 響應。以後從機能夠經過斷言 HSPLITx 總線中適當的位給以前被給出SPLIT 響應的全部主機來表示它能處理另一個傳輸,可是從機沒有記錄地址和控制信息。
以後仲裁器可以從新授予這些主機訪問總線而且它們將重試傳輸,給出從機要求的地址和控制信息。這表示一個主機能夠在它最終完成它要求的傳輸以前被屢次授予總線。
預防死鎖
SPLIT 和 RETRY 傳輸響應都必須在使用中注意預防總線死鎖。單個傳輸決不會鎖定AHB,由於每一個從機必須被設計成能在預先肯定的週期數內完成傳輸。可是,若是多個不一樣主機試圖訪問同一個從機,從機發出 SPLIT 或者 RETRY 響應以表示從機不能處理,那麼就有可能發生死鎖

分塊傳輸
從機能夠發出 SPLIT 傳輸響應,經過確保從機可以承受系統中每一個主機(最多 16 個)的單個請求來預防死鎖。從機並不須要存儲每一個主機的地址和控制信息,它只須要簡單的記錄傳輸請求已經被處理和 SPLIT 響應已經發出的事實便可。最後全部主機將處在低優先級而後從機能夠有次序的來處理這些請求,指示仲裁器正在服務於哪一個請求,於是確保了全部請求最終都被服務。
當從機有許多未完成的請求時它可能以任何順序(隨機的)來選擇處理這些請求,儘管從機須要注意鎖定傳輸必須在任何其餘傳輸繼續以前完成。
從機使用 SPLIT 響應而不用鎖存地址和控制信息顯得很是合法(合適)。從機僅須要記錄特定主機作出的傳輸嘗試而且稍後的時間段從機經過指示本身已經準備好完成傳輸就能獲取地址和控制信息。主機將被授予總線並將從新廣播傳輸,容許從機鎖存地址和控制信息而且馬上應答數據,或者發出另一個 SPLIT 響應若是還須要額外的一些週期的話。
理想狀況下從機不該該有多於它能支持的未完成傳輸,可是要求支持這種機制以防止總線死鎖。
重試傳輸
發出 SPLIT 響應的從機必須一次只能被一個主機訪問。在總線協議中並無強制而在系統體系結構中應該確保這一點。大多數狀況下發出 RETRY 響應的從機必須是一次只能被一個主機訪問的外設,所以這會在一些更高級協議中獲得確保。
硬件保護和多主機訪問 RETRY(響應)的從機相違背並非協議中的要求,可是可能會在下文描述的設計中獲得執行。僅有的總線級要求是從機必須在預先肯定的時鐘週期內驅動 HREADY 爲高。
若是要求硬件保護那麼這能夠被 RETRY(響應)的從機本身執行。當一個從機發出一個 RETRY 信號後它可以採樣主機序號。在這以後和傳輸最終完成以前 RETRY 的從機能夠檢查作出的每次傳輸嘗試以確保主機序號是相同的。若是從機發現主機號不一致那麼它能夠選擇下列的行動方式:
一個錯誤響應;
一個信號給仲裁器;
一個系統級中斷;

一個徹底的系統復位。

7.7分塊傳輸的總線移交

協議要求主機在接收到一個SPLIT或者RETRY響應後馬上執行一個空閒傳輸以容許總線轉移給另一個主機。 圖 3.20表示了發生一個分塊(SPLIT)傳輸的順序事件。

image

須要注意如下的要點:
傳輸的地址在時間 T1 以後出如今總線上。在時鐘沿 T2 和 T3 後從機返回兩個週期的 SPLIT 響應;
在第一個響應週期的末尾,也就是 T3,主機可以檢測到傳輸將會被分塊所以(主機)改變接下來的傳輸控制信號以表示一個空閒傳輸; 一樣也在時間 T3 處仲裁器採樣響應信號並肯定傳輸已經被分塊。以後仲裁器能夠調整仲裁優先權而且在接下來的週期改變授予信號,這樣新的主機可以在時間 T4後被授予地址總線;
新主機能夠保證馬上訪問(總線)由於空閒傳輸老是在一個週期內完成。

復位
復位信號, HRESETn,是 AMBA AHB 規範中惟一的低有效信號而且是全部總線設備的主要復位源。復位能夠異步方式斷言,可是卻在 HCLK 的上升沿被同步地撤消斷言。
在復位期間全部主機必須確保地址和控制信號在有效電平而且 HTRANS[1: 0]信號表示空閒。
關於AHB數據總線的位寬
一種能提升總線帶寬而不用提升操做頻率的方法是使片上總線的數據通道更寬。金屬層的增長和大容量片上存儲模塊(例如嵌入式 DRAM)的使用都是更寬片上總線使用的推進因素。
指定一個固定寬度的總線將意味着在大多數場合下總線寬度在應用中並非最佳的。所以容許可變總線寬度的途徑已經被採納,可是必須確保模塊在設計中高移植性。
協議容許 AHB 數據總線能夠是 八、 1六、 3二、 6四、 12八、 25六、 512 或者 1024 位寬。然而,建議使用中最低的總線寬度爲 32 位而且預計最大 256 位寬的總線將適合幾乎全部應用。

對讀和寫傳輸而言接收模塊都必須從總線上正確的字節通道選擇數據。並不要求將數據複製到全部字節通道上。

相關文章
相關標籤/搜索