Introduction to AMBA Bus System.pdf
文本预览下载声明
Introduction to AMBA Bus System
工研院 / 系統晶片技術中心工程師 吳欣龍
1. 前言
本篇文章主要是介紹 ARM Limited.公司所推出的 AMBA 協定(Advanced Micro-controller
Bus Architecture)。AMBA協定目前是 open 且 free的,讀者可從 ARM的網站()
下載完整的 Specification。
這篇文章並沒有打算說明完整的 AMBA協定內容,詳細的 Spec.還是請讀者閱讀 ARM所
提供的文件。原本的 AMBA協定包含了四大部分: AHB, ASB, APB, Test Methodology,限於
篇幅的關係,我們挑選較重要的 AHB, APB加以基本的介紹,並探討 AHB的一些重要的特
性。
2. AMBA 概述
AMBA協定的目地是為了要推出 on-chip bus的規範,一開始AMBA 1.0只有ASB與APB,
為了節省面積,所以這時候的 bus協定都是 tristate的 bus,而到後來 2.0的 AHB為了能更方
便設計者(trisate bus要花更多精力去注意 timing),因此改用 bus改用 multiplexor的架構,並
增加了新的特性。
一個以 AMBA架構的 SOC,一般來說包含了 high-performance的 system bus - AHB與
low-power的 peripheral bus - APB。 System bus是負責連接例如 ARM之類的 embedded
processor與 DMA controller,on-chip memory 和其他 interface,或其他需要 high bandwidth
的元件。而 peripheral bus則是用來連接系統的周邊元件,其 protocol相對AHB來講較為簡單,
與 AHB之間則透過 Bridge相連,期望能減少 system bus的 loading。一個典型的 AMBA架構
如圖 2.1:
圖 2.1
3. AHB簡介
ARM當初訂定 AHB (Advanced High-Performance Bus)主要是想讓它能夠用來當作 SOC的
on-chip system bus,它的一些特性包括:
single-clock edge operation
non-tristate implementation
burst transfers
split transaction
multiple bus master
以下我們將簡單的介紹 AHB的協定及這些特性。
3.1 Overview
AHB System是由Master,Slave,Infrastructure三部分所組成。整個AHB bus上的傳輸(transfer)
都是由 master所發出,由 slave 負責回應。而 infrastructure則由 arbiter ,master to slave
multiplexor,slave to master multiplexor,decoder,dummy slave,dummy master所組成。
AHB 之所以會需要 arbiter,是因為它支援 multiple master,因此需要 arbiter來仲裁。而
decoder則是負責位址的解碼,從 multiple slave中選擇要回應 transfer的 slave。而兩個
multiplexor則是負責 bus的 routing(為了不使用 tristate bus),將 bus上的訊號在 master和 slave
中傳送,圖 3.1說明了 multiplexor與 master/slave連結的情形。
Master
A
Master
B
Slave 1
Slave2
Slave 3
Slave to Master Multiplexor
Master
A
Master
B
Slave 1
Slave2
Slave 3
Master to Slaver Multiplexor
圖 3.1
基本上 bus上傳輸的訊號,可以分成 clock,arbitration,address,control signal,write data,
read data,response signal七種。除了 clock與 arbitration訊號之外,其餘的訊號皆會經過
multiplexor。會經過 master to slave multiplexor的訊號有 address, control signal, write data,而
會經過 slave to
显示全部