分享

AMBA总线介绍

 Kinetis 2013-09-24

AMBA 2.0规范包括四个部分:AHBASBAPBTest MethodologyAHB的相互连接采用了传统的带有主模块和从模块的共享总线,接口与互连功能分离,这对芯片上模块之间的互连具有重要意义。AMBA已不仅是一种总线,更是一种带有接口模块的互连体系。

AHB

AHB=Advanced High Performance Bus,译作高级高性能总线。如同USBUniversal Serial Bus)一样,也是一种总线接口。

特性:

  突发连续传输

  分步传输

  单周期内主控制器处理

  单时钟边沿操作

  非三态操作

  支持64位,128位总线

AHB主要用于高性能模块(CPU高速RAMNand Flash DMADSP)之间的连接,如图一所示。

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

AHB主控制器:主控制器可以通过地址和控制信息,可以进行初始化,读,写操作。在同一时间,总线上只能有一个主控制器。

AHB从设备:从设备通常是指在其地址空间内,响应主控制器发出的读写控制操作的被动设备。通过操作的成功与否反馈给其主控制器,完成数据的传输控制。

AHB仲裁器:仲裁器根据用户的配置,确保在总线上同一时间只有一个主控制器拥有总线控制权限。AHB总线上只能有一个仲裁器。

AHB译码器:译码器解析在总线上传输的地址和控制信息。AHB总线上只能有一个译码器。

任一时间周期只有一个Master可以接入总线,对其指定Slave进行读写操作。总线统一规划slave的地址,译码器根据地址选择哪slavemaster进行数据通信。授权访问机制通过多路选择器实现:Arbiter将获得授权的master序号传输给地址和写数据多路,以选择哪个master接入总线;地址译码器根据master需要访问的地址选择master,并为写数据多路提供控制信号以选通相应的slave

AHB总线通过DMADSP,允许在总线上存在一个或多个主控制器。虽然APB总线上可以挂接慢速外设,但是也允许在AHB上挂接一些慢速外设作为从设备,不过它们通常还是挂接在APB总线上。

针对Soc设计中IP复用问题提出了一种新的解决办法。传统的方法是将特定功能模块的非标准接口标准化为AHB/从设备接口。本文提出了一种新的基于ARMSoc通用平台设计寄存器总线标准接口,这种设计使整个系统的结构清晰,增强系统的通用性与系统中功能模块的可移植性。

ASB

ASB总线主要用于高性能系统模块。ASB是可用于AHB不需要的高性能特性的芯片设计上可选的系统总线。ASB也支持高性能处理器,片上内存,片外内存提供接口和慢速外设。ASB总线是位于APB总线架构之上的用于高性能的总线协议,它有如下特点:

  突发连续传输

  单管道数据传输

  多总线主控制器

ASB总线通过DMADSP,允许在总线上存在一个或多个主控制器。虽然APB总线上可以挂接慢速外设,但是也允许在ASB上挂接一些慢速外设作为从设备,不过它们通常还是挂接在APB总线上。

APB

APB总线接口协议是AMBA协议层次结构中的一部分,它是高度优化的连接低功耗外设的精简接口。APB看起来是一个本地的二级总线接口协议,用作AHBASB总线协议的从设备接口。APB桥是从控制器模块用来保证不同总线数据的有效传输和不同总线上控制信号的转发处理。APB应该用于连接低带宽,且不需求高性能数据传输的外设。最新的APB总线协议规定了所有的信号传递都发生在时钟的上升沿。这样设计有以下优势:

  易于实现高频率操作

  performance is independent of the mark-space ratio of the clock

  通过单时钟操作简化静态时序

  no special considerations are required for automatic test insertion

  许多ASIC库在上升沿寄存器有更好的选择

  简化整合的时钟模拟器

上述的优势也说明APB总线可以更好的链接最新的AHB总线接口。

APB总线协议包含一个APB桥,它用来将AHBASB总线上的控制信号转化为APB从设备控制器上可用信号。APB总线上所有的外设都是从设备,这些从设备有以下特点:

  接收有效的地址和控制访问

  当APB上的外设处于非活动状态时,可以将这些外设处于0功耗状态

  译码器可以通过选通信号,提供输出时序(非锁定接口)

  访问时可执行数据写入

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

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

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

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

转换

大多数挂在总线上的模块(包括处理器)只是单一属性的功能模块:主模块或者从模块。主模块是向从模块发出读写操作的模块,如CPUDSP等;从模块是接受命令并做出反应的模块,如片上的RAMAHB/APB 桥等。另外,还有一些模块同时具有两种属性,例如直接存储器存取(DMA)在被编程时是从模块,

但在系统读传输数据时必须是主模块。如果总线上存在多个主模块,就需要仲裁器来决定如何控制各种主模块对总线的访问。虽然仲裁规范是AMBA总线规范中的一部分,但具体使用的算法由RTL设计工程师决定,其中两个最常用的算法是固定优先级算法和循环制算法。AHB总线上最多可以有16个主模块和任意多个从模块,如果主模块数目大于16,则需再加一层结构(具体参阅ARM公司推出的Multi-layer AHB规范)APB 桥既是APB总线上唯一的主模块,也是AHB系统总线上的从模块。其主要功能是锁存来自AHB系统总线的地址、数据和控制信号,并提供二级译码以产生APB外围设备的选择信号,从而实现AHB协议到APB协议的转换。

特性总结

AHB特性:

高性能,数据传输,多总线主控制器,突发连续传输,分 步传输

ASB特性:

高性能,数据传输,多总线主控制器,突发连续传输

APB特性:

低功耗,寻址控制,支持简单接口协议,支持多种外设

APB通过桥接高带宽、高性能总线,提供基本的微控制器二级总线,通常该总线上的外设有以下特点:

支持映射寄存器接口

对带宽没有很高的要求

通过编程实现对外设进行控制

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多