原创 基础知识:AMBA、AHB、APB总线简介

2010-9-4 11:31 1882 8 9 分类: MCU/ 嵌入式

AMBA简介


随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用。在基于IP复用的SoC设计中,片上总线设计是最关键的问题。为此,业界出现了很多片上总线标准。其中,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构。AMBA规范主要包括了AHB(Advanced High performance Bus)系统总线和APB(Advanced Peripheral Bus)外围总线。 

AMBA片上总线

       AMBA 2.0规范包括四个部分:AHB、ASB、APB和Test Methodology。AHB的相互连接采用了传统的带有主模块和从模块的共享总线,接口与互连功能分离,这对芯片上模块之间的互连具有重要意义。AMBA已不仅是一种总线,更是一种带有接口模块的互连体系。下面将简要介绍比较重要的AHB和APB总线。


基于AMBA的片上系统

       一个典型的基于AMBA总线的系统框图如图3所示。
       大多数挂在总线上的模块(包括处理器)只是单一属性的功能模块:主模块或者从模块。主模块是向从模块发出读写操作的模块,如CPU,DSP等;从模块是接受命令并做出反应的模块,如片上的RAM,AHB/APB 桥等。另外,还有一些模块同时具有两种属性,例如直接存储器存取(DMA)在被编程时是从模块,但在系统读传输数据时必须是主模块。如果总线上存在多个主模块,就需要仲裁器来决定如何控制各种主模块对总线的访问。虽然仲裁规范是AMBA总线规范中的一部分,但具体使用的算法由RTL设计工程师决定,其中两个最常用的算法是固定优先级算法和循环制算法。AHB总线上最多可以有16个主模块和任意多个从模块,如果主模块数目大于16,则需再加一层结构(具体参阅ARM公司推出的Multi-layer AHB规范)。APB 桥既是APB总线上唯一的主模块,也是AHB系统总线上的从模块。其主要功能是锁存来自AHB系统总线的地址、数据和控制信号,并提供二级译码以产生APB外围设备的选择信号,从而实现AHB协议到APB协议的转换。


AHB简介

       AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位~128位总线宽度;支持字节、半字节和字的传输。AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的多路器、从模块到主模块的多路器、译码器(decoder)、虚拟从模块(dummy Slave)、虚拟主模块(dummy Master)所组成。其互连结构如图1所示。





APB简介

       APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。其特性包括:两个时钟周期传输;无需等待周期和回应信号;控制逻辑简单,只有四个控制信号。APB上的传输可以用如图2所示的状态图来说明。



       1)系统初始化为IDLE状态,此时没有传输操作,也没有选中任何从模块。

       2)当有传输要进行时,PSELx=1,PENABLE=0,系统进入SETUP状态,并只会在SETUP 状态停留一个周期。当PCLK的下一个上升沿时到来时,系统进入ENABLE 状态。

       3)系统进入ENABLE状态时,维持之前在SETUP 状态的PADDR、PSEL、PWRITE不变,并将PENABLE置为1。传输也只会在ENABLE状态维持一个周期,在经过SETUP与ENABLE状态之后就已完成。之后如果没有传输要进行,就进入IDLE状态等待;如果有连续的传输,则进入SETUP状态。


来源:http://blog.chinaunix.net/u2/60314/showart_576112.html

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

1989tie_959541171 2010-10-15 09:44

以前遇见,不知何意, 谢谢楼主解析!!
相关推荐阅读
用户1583963 2012-09-17 10:20
心得:画PCB制图心得
1.公司或个人的logo不要忘记; 2.电源和地尽量做到短;(PS:注意地与电源最好在走线的过程中注意贴着走,减小两者之间的面积,减小两者的干扰) 3.引出各测试管脚,方便后面对信号进行观...
用户1583963 2011-08-12 16:36
板级:PCB敷铜经验交流
所谓覆铜,就是将PCB上闲置的空间作为基准面,然后用固体铜填充,这些铜区又称为灌铜。敷铜的意义在于,减小地线阻抗,提高抗干扰能力;降低压降,提高电源效率;还有,与地线相连,减小环路面积。如果PCB的...
用户1583963 2011-08-11 15:05
基础知识:Altium 快捷键
1. PCB设计快捷键(单次按键) 单次按键是指按下该键并放开。 1-01 * 在PCB电气层之间切换(小键盘上的*)。在交互布线的过程中,按此键则换层并自动添加过孔。这很常用。 1-02 Tab键...
用户1583963 2011-06-28 14:47
基础知识:三极管放大电路分析
三极管是电流放大器件,有三个极,分别叫做集电极C,基极B,发射极E。分成NPN和PNP两种。我们仅以NPN三极管的共发射极放大电路为例来说明一下三极管放大电路的基本原理。 下面的分析仅对于NP...
用户1583963 2011-06-28 11:36
板级:整流电路分析
电力网供给用户的是交流电,而各种无线电装置需要用直流电。整流,就是把交流电变为直流电的过程。利用具有单向导电特性的器件,可以把方向和大小交变的电流变换为直流电。下面介绍利用晶体二极管组成的各种整流电路...
用户1583963 2011-06-28 11:13
基础知识:交流电与直流电区别
把一节电池的头(正极)对着另一节的尾(负极)装在手电筒中,手电筒就亮了:如果倒过来,头对头或尾对尾,手电筒就不亮。这是因为电池所产生的电流总是朝一个方向流动,所以叫做直流电。通过输电线或电缆送入家...
EE直播间
更多
我要评论
1
8
关闭 站长推荐上一条 /3 下一条