前言:APB 3.0屬於AMBA 3 協議系列,它提供了一個低功耗的接口,並降低了接口的複雜性。APB接口用在低帶寬和不需要高性能總線的外圍設備上。APB是非流水線結構,所有的信號僅與時鐘上升沿相關,這樣就可以簡化APB外圍設備的設計流程,每個傳輸至少耗用兩個週期。
APB可以與AMBA高級高性能總線(AHB-Lite) 和AMBA 高級可擴展接口(AXI)連接。該版本新增了2個信號,一個準備好信號PREADY, 來擴展APB傳輸;一個錯誤信號PSLVERR, 來指示傳輸失敗。
1、Interface
信號 | 來源 | 描述 |
PCLK | 時鐘源 | 時鐘 |
PRESETn | 系統總線 復位 | APB復位信號低有效。該信號一般直接與系統總線復位信號相連 |
PSELx | APB bridge | 選擇信號 |
PENABLE | APB bridge | 使能信號 |
PWRITE | APB bridge | 讀寫方向選擇,高時爲寫,低時爲讀 |
PWDATA | APB bridge | 寫入的數據,最高32位 |
PREADY | Slave | interface 準備好,從器件利用該信號來擴展APB傳輸,主要是增加延時 |
PRDATA | Slave | interface 讀取的數據。最高可達32位 |
PSLVERR | Slave | interface 傳輸失敗 |
2、Status
Status | Description |
IDLE | 這是默認的APB狀態 |
SETUP | 當傳輸被請求時,總線進入SETUP狀態,選擇信號PSELx,被置位。總線僅在SETUP 狀態停留一個時鐘週期,並在下一個時鐘週期進入ACCESS狀態 |
ACCESS |
使能信號PENABLE, 在ACCESS狀態中置位。在傳輸從SETUP狀態到ACCESS狀態轉變的過程中address, write, select和write data信號必須保持不變。從ACCESS狀態退出,由從器件的PREADY 信號控制: • 如果PREADY 爲低,保持ACCESS狀態。 |
3、寫傳輸
寫傳輸分為2種狀態,有等待狀態和無等待狀態。
(1)無等待狀態:地址、寫入數據、寫入信號和選擇信號都在時鐘上升沿後改變。第一個時鐘週期叫做Setup phase。下一個時鐘沿後使能信號PENABLE被置位,表示Access phase就位。地址、數據和控制信號在Access phase期間有效。傳輸在該週期後結束。使能信號PENABLE, 在傳輸結束後清空。選擇信號PSELx同樣被置低,除非緊接着下一傳輸開始。
(2)有等待狀態:通過PREADY 信號擴展到器件的傳輸時間。在Access phase期間,當PENABLE爲高,傳輸可以通過拉低PREADY來擴展傳輸。當PENABLE爲低的時候,PREADY可以爲任何值。確保外圍器件有固定的兩個週期來使PREADY爲高。推薦地址和寫信號在傳輸結束後不要立即更改,保持當前狀態直到下一個傳輸,這樣可以降低功耗。
4、讀傳輸
(1)無等待讀傳輸
(2)有等待寫傳輸
5、錯誤響應