<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > arm片上總線:AHB and APB

          arm片上總線:AHB and APB

          作者: 時間:2016-11-09 來源:網絡 收藏
          隨著深亞微米工藝技術日益成熟,集成電路芯片的規(guī)模越來越大。數(shù)字IC從基于時序驅動的設計方法,發(fā)展到基于IP復用的設計方法,并在SOC設計中得到了廣泛應用。在基于IP復用的SoC(System on Chip的縮寫,稱為系統(tǒng)級芯片,也有稱片上系統(tǒng))設計中,片上總線設計是最關鍵的問題。為此,業(yè)界出現(xiàn)了很多片上總線標準。其中,由ARM公司推出的AMBA片上總
          線受到了廣大IP開發(fā)商和SoC系統(tǒng)集成者的青睞,已成為一種流行的工業(yè)標準片上結構。AMBA規(guī)范主要包括了AHB(Advanced High performance Bus)系統(tǒng)總線和APB(Advanced Peripheral Bus)外圍總線。

          AHB=Advanced High Performance Bus,譯作高級高性能總線。如同USB(Universal Serial Bus)一樣,也是一種總線接口。
          AHB主要用于高性能模塊(如CPU、DMA和DSP等)之間的連接,作為SoC的片上系統(tǒng)總線,它包括以下一些特性:單個時鐘邊沿操作;非三態(tài)的實現(xiàn)方式;支持突發(fā)傳輸;支持分段傳輸;支持多個主控制器;可配置32位~128位總線寬度;支持字節(jié)、半字和字的傳輸。AHB 系統(tǒng)由主模塊、從模塊和基礎結構(Infrastructure)3部分組成,整個AHB總線上的傳輸都由主模塊發(fā)出,由從模塊負責回應?;A結構則由仲裁器(arbiter)、主模塊到從模塊的多路器、從模塊到主模塊的多路器、譯碼器(decoder)、虛擬從模塊(dummy Slave)、虛擬主模塊(dummy Master)所組成。其互連結構如圖1所示。針對Soc設計中IP復用問題提出了一種新的解決辦法。傳統(tǒng)的方法是將特定功能模塊的非標準接口標準化為AHB主/從設備接口。本文提出了一種新的基于ARM的Soc通用平臺設計寄存器總線標準接口,這種設計使整個系統(tǒng)的結構清晰,增強系統(tǒng)的通用性與系統(tǒng)中功能模塊的可移植性。

          APB
          APB主要用于低帶寬的周邊外設之間的連接,例如UART、1284等,它的總線架構不像AHB支持多個主模塊,在APB里面唯一的主模塊就是APB 橋。其特性包括:兩個時鐘周期傳輸;無需等待周期和回應信號;控制邏輯簡單,只有四個控制信號。
          1)系統(tǒng)初始化為IDLE狀態(tài),此時沒有傳輸操作,也沒有選中任何從模塊。2)當有傳輸要進行時,PSELx=1,PENABLE=0,系統(tǒng)進入SETUP狀態(tài),并只會在SETUP 狀態(tài)停留一個周期。當PCLK的下一個上升沿時到來時,系統(tǒng)進入ENABLE 狀態(tài)。
          3)系統(tǒng)進入ENABLE狀態(tài)時,維持之前在SETUP 狀態(tài)的PADDR、PSEL、PWRITE不變,并將PENABLE置為1。傳輸也只會在ENABLE狀態(tài)維持一個周期,在經過SETUP與ENABLE狀態(tài)之后就已完成。之后如果沒有傳輸要進行,就進入IDLE狀態(tài)等待;如果有連續(xù)的傳輸,則進入SETUP狀態(tài)。

          比如S3C2440的block:


          關鍵詞: arm片上總線AHBAP

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();