AMBA總線協議AHB、APB


一、什么是AMBA總線

AMBA總線規范是ARM公司提出的總線規范,被大多數SoC設計采用,它規定了AHB (Advanced High-performance Bus)、ASB (Advanced System Bus)、APB (Advanced Peripheral Bus)。AHB用於高性能、高時鍾頻率的系統結構,典型的應用如ARM核與系統內部的高速RAM、NAND FLASH、DMA、Bridge的連接。APB用於連接外部設備,對性能要求不高,而考慮低功耗問題。ASB是AHB的一種替代方案。

二、AHB

 AHB總線的強大之處在於它可以將微控制器(CPU)、高帶寬的片上RAM、高帶寬的外部存儲器接口、DMA總線master、各種擁有AHB接口的控制器等等連接起來構成一個獨立的完整的SOC系統,不僅如此,還可以通過AHB-APB橋來連接APB總線系統。AHB可以成為一個完整獨立的SOC芯片的骨架。
下圖是一個典型的AHB系統總線的結構示意圖

 

三、APB

 主要應用在低帶寬的外設上,如UART、 I2C,它的架構不像AHB總線是多主設備的架構,APB總線的唯一主設備是APB橋(與AXI或APB相連),因此不需要仲裁一些Request/grant信號。APB的協議也十分簡單,甚至不是流水的操作,固定兩個時鍾周期完成一次讀或寫的操作。其特性包括:兩個時鍾周期傳輸,無需等待周期和回應信號,控制邏輯簡單,只有四個控制信號。APB上的傳輸可用如圖所示的狀態圖來說明。

1、系統初始化為IDLE狀態,此時沒有傳輸操作,也沒有選中任何從模塊。

2、當有傳輸要進行時,PSELx=1,,PENABLE=0,系統進入SETUP狀態,並只會在SETUP狀態停留一個周期。當PCLK的下一個上升沿到來時,系統進入ENABLE狀態。

3、系統進入ENABLE狀態時,維持之前在SETUP狀態的PADDR、PSEL、PWRITE不變,並將PENABLE置為1。傳輸也只會在ENABLE狀態維持一個周期,在經過SETUP與ENABLE狀態之后就已完成。之后如果沒有傳輸要進行,就進入IDLE狀態等待;如果有連續的傳輸,則進入SETUP狀態。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM