AMBA总结

  • 格式:docx
  • 大小:152.76 KB
  • 文档页数:7

AMBA(Advanced Microcontroller Bus Architecture),即高级微控制器总线体系。

目前,AMBA总线标准一共有四套版本,各个版本的协议都沿用至今。

1)第一套AMBA 1.0总线。

2)第二套AMBA 2.0总线。

3)第三套AMBA 3.0 AXI总线。

4)第四套AMBA4.0总线。

➢AMBA1.0只包含ASB总线和APB总线,这时候的总线协议都是三态总线,但是三态总线要设计者花很多的精力去注意时钟。

➢AMBA2.0总线新增了AHB总线,并且采用了分享型的互连结构,增加了新的特性。

➢为了顺应快速发展的SoC技术,ARM公司推出了具有更强灵活性的AMBA3.0 AXI总线。

➢2010年ARM公司发布了SoC片上总线标准的新版本AMBA4.0总线,由AXI4、AXI4-Lite、AXI4-Stream三种标准构成。

AMBA4.0规范是多家企业共同为行业而设定的,包括业界领先的OEM厂商、半导体及EDA供应商等。

AMBA4.0规范的特殊设计将使嵌入式系统达到过去只有台式电脑、笔记本电脑和网络设备才能达到的水准。

1AMBA 2.0版本标准2.0版AMBA标准定义了三种不同的总线:●AHB(Advanced High-performance Bus)高级高性能总线;●ASB(Advanced System Bus)高级系统总线;●APB(Advanced Peripheral Bus)高级外设总线。

典型的基于AMBA总线的系统框图如图:大多数挂在总线上的模块(包括处理器)只是单一属性的功能模块:主模块或者从模块。

主模块是向从模块发出读写操作的模块,如CPU,DSP等;从模块是接受命令并做出反应的模块,如片上的RAM,AHB/APB 桥等。

另外,还有一些模块同时具有两种属性,例如直接存储器存取(DMA)在被编程时是从模块,但在系统读传输数据时必须是主模块。

如果总线上存在多个主模块,就需要仲裁器来决定如何控制各种主模块对总线的访问。

虽然仲裁规范是AMBA总线规范中的一部分,但具体使用的算法由RTL 设计工程师决定,其中两个最常用的算法是固定优先级算法和循环制算法。

AHB总线上最多可以有16个主模块和任意多个从模块,如果主模块数目大于16,则需再加一层结构(具体参阅ARM公司推出的Multi-layer AHB规范)。

APB 桥既是APB总线上唯一的主模块,也是AHB系统总线上的从模块。

其主要功能是锁存来自AHB系统总线的地址、数据和控制信号,并提供二级译码以产生 APB外围设备的选择信号,从而实现AHB协议到APB协议的转换。

ASB总线与AHB总线都是系统总线,区别在于ASB总线并没有AHB总线的高效传送特性。

当系统不需要AHB总线的高性能的时候,设计者可以选择ASB总线。

但是对于目前的应用来说,只考虑AHB总线。

1.1AHB 简介AHB主要用于高性能模块(如CPU、DMA和DSP等)、高时钟频率的系统模块之间的连接。

作为SoC的片上系统总线,它包括以下一些特性:●单个时钟边沿操作;●非三态的实现方式;●支持突发传输;●支持分段传输;●支持多个主控制器;●可配置32位~128位总线宽度;●支持字节、半字节和字的传输。

AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB 总线上的传输都由主模块发出,由从模块负责回应。

基础结构则由仲裁器(arbiter)、主模块到从模块的多路器、从模块到主模块的多路器、译码器(decoder)、虚拟从模块(dummy Slave)、虚拟主模块(dummy Master)所组成。

其互连结构如图1所示。

1.1.1基于AMBA AHB的典型微控制器AMBA AHB的典型微控制器一个高性能系统中枢总线组成,支持外部存储器带宽,包括CPU,片上存储器和其他直接数据存取(DMA)设备,加上一个桥接器连接到较窄的挂接着较低带宽外设的APB总线。

1.1.2AMBA AHB总线互联使用一个中央多路选择器互联方案。

所有总线主机设备输出地址和控制信号来指示它们想执行的传输同时仲裁器决定哪一个主机能够将它的地址和控制信号连通到所有的从机。

译码器来控制读数据和响应多路信号选择器,多路信号选择器选中来自传输中所包含从机的适当信号。

1.1.3AMBA AHB操作概括在一次AMBA AHB传输开始之前总线主机必须被授予访问总线。

这个过程开始于总线主机向仲裁器断言一个请求信号。

仲裁器指示主机何时能够被授予使用总线。

被授权的总线主机通过驱动地址和控制信号来发起一次AMBA AHB传输。

这些信号提供关于地址、方向和传输宽度的信息,以及表示传输类型是否为一次突发传输的部分。

允许有两种不同类型的突发传输:●增量突发,在地址边界处不回环;●回环突发,在特定的地址边界上回环。

写数据总线用来将数据从主机传输到从机上,而读数据总线用来将数据从从机传输到主机上。

每次传输包含:●一个地址和控制周期;●一个或多个数据周期。

地址不长期有效所以所有从机必须在这个时段(传输地址时)采样地址。

然而,通过HREADY信号可以延长数据。

当该信号为低时导致在传输中插入等待状态同时允许从机有额外的时间提供或者采样数据。

在传输中从机通过使用响应信号来表示状态,HRESP[1:0]:OKAY OKAY响应用来表示传输进展正常并且当HREADY变高时表示传输成功完成。

ERROR ERROR响应表示发生了一个传输错误并且传输失败。

RETRY和SPLIT RETRY和SPLIT两个传输响应都表示传输不能立刻完成,但是总线主机应该继续尝试传输。

在常规操作中主机被允许在仲裁器授予另一个主机访问总线之前完成一个特定突发的所有传输。

然而,为了避免过多的仲裁延时可能允许仲裁器打断一个突发并且这种情况下主机必须(申请)重新仲裁总线以完成剩下的突发传输。

AHB担当高性能系统的中枢总线。

AHB支持处理器,片上存储器,片外存储器以及低功耗外设宏功能单元之间的有效连接。

AHB也通过使用综合和自动测试技术的有效设计流来确保减轻使用负担。

1.2APB 简介AMBA APB 应该被用作任何低带宽和不需要通道总线接口的高性能的外设接口。

APB 是AMBA 总线体系中的一部分并且优化了最小功率消耗和降低了接口复杂度。

AMBA APB 表现为一个局部二级总线,封装为AHB 或者ASB 的一个外设。

APB 在AHB 和ASB 信号的基础上直接为系统总线提供了低功耗的延伸。

APB 桥作为一个从模块处理总线握手并且从局部外设总线的角度控制信号的时序更新。

通过从系统总线起始点定义APB 接口,可以有效的利用系统诊断和测试方法的好处。

最新版本的 APB 规定所有信号的传输只和时钟的上升沿相关。

这个改进确保了 APB 能够很容易地被集成到任何设计流中,并包含以下优点:●易于实现较高频率的操作;●性能和时钟的脉冲间隔比(占空比)无关;●通过使用单时钟沿来简化静态时序分析;●对自动测试插入无需考虑特殊情况;●许多专用集成电路(ASIC)库对上升沿寄存器可以优先选择;典型的AMBA APB 工具包含单个APB 桥,需要它来将AHB 或者ASB 传输转变成适合于APB 从设备的形式。

APB 桥提供所有地址、数据和控制信号的锁存,也提供一个二级译码以产生APB 外设的从机选择信号。

所有APB 模块均是APB 从机。

APB 从机包含以下接口规格:●整个访问中地址和控制信号有效(不分通道);●当无外设总线活动时接口功耗为零(外设总线不使用时为静态);●通过选通脉冲时序译码产生时序(无时钟接口);●整个访问过程中写数据有效(允许无毛刺透明锁存工具)。

它的总线架构不像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状态。

1.3ASB 简介ASB 是第一代AMBA 系统总线。

ASB 位于当前的APB 之上并且实现高性能系统的以下要求:●突发传输;●通道传输操作;●多总线主机。

典型的AMBA ASB 系统包括一个或者多个总线主机。

例如,至少有处理器和测试接口。

然而,将直接数据存取(DMA)或者数字信号处理器(DSP)包含作总线主机也很普通。

外部存储器接口,APB 桥和任何内部存储器是最常见的ASB 从机。

然而,低带宽的外设通常都连接到APB 上。

AMBA ASB 系统设计典型的包括以下成分:ASB 主机总线主机能够通过提供地址和控制信息发起读写操作。

任何时候只允许一个总线主机处于有效状态并能使用总线。

ASB 从机总线从机在给定的地址空间范围内响应读写操作。

总线从机将成功、失败或者等待数据传输的信号返回给有效的主机。

ASB 译码器总线译码器将传输地址译码并且选择合适的从机。

总线译码器也确保总线在没有总线传输时也保持运作。

所有ASB 工具都必须要求仅有一个中央译码器。

ASB 仲裁器总线仲裁器确保每次只有一个总线主机被允许发起数据传输。

即使仲裁协1.4为系统选择合适的总线在决定系统应该使用哪种总线之前,应该考虑下面的因素:●系统总线的选择;●系统总线和外设总线;●什么时候使用AMBA AHB/ASB 或者APB。

1.5什么时候使用AMBA AHB/ASB或者APB完整的AHB/ASB 用作:●总线主机;●片上存储模块;●片外存储器接口;●带FIFO 接口的高带宽外设;●DMA 从机外设。

简单的APB 外设接口建议用作:●简单的寄存器映射从机设备;●时钟不能够全局布通的超低功耗接口;●分组窄总线外设应避免挂接到系统总线上。