【博文连载】AMBA总线介绍
先进的微控制器总线体系结构AMBA规范定义了三种总线:
(1)AHB(Advanced High-performance Bus):用于连接高性能系统模块。它支持突发数据传输方式及单个数据传输方式,所有时序参考同一个时钟沿;
(2)ASB(Advanced System Bus):用于连接高性能系统模块,它支持突发数据传输模式;
(3)APB(Advance Peripheral Bus):是一个简单接口支持低性能的外围接口。
一个典型的基于AMBA 的微控制器同时集成AHB(或ASB )和APB 接口,如图2 所示。ASB总线是旧版的系统的总线,而新版的AHB 总线增强了对性能、综合及时序验证的支持。APB 总线通常用作的局部的第二总线,作为AHB 或ASB 上的单个从属模块。
图28 AMBA总线结构图
根据AMBA 的规范,连接AHB/ASP 和APB 的APB 桥的唯一功能是提供更简单的接口。任何由低性能外围设备产生的延迟会由连接高性能(AHB/ASP)总线的桥反映出来。桥本身仿佛是一个简单APB总线的主设备,它访问与之相连的从设备,并且通过高性能总线上控制信号的子集控制它们。下面给出AHB、ASP 和APB 的主要特征。
AHB
AHB是先进的系统总线。它主要的目的就是连接高性能、高吞吐率的设备,例如CPU、DMA 和DSP。它的主要特性:
● 高性能新一代总线;
● 多控制器;
● 分段传输;
● 单周期总线控制权移交;
● 没有三态实现方式;
● 32~128位总线宽;
● 包含一种访问保护机制,用来区别特权访问和无特权访问模式,或指令和数据提取等;
● 突发传输模式最大为16节;
● 访问空间限制在32 位;
● 提供为较慢设备使用而扼制数据流的机制;
● 支持仲裁、R E Q、G N T 和L O C K;
● 支持字节、半字和字传输。
AHB 总线和ASB 总线有下列不同的特点:
● AHB 总线支持分开处理。有很长响应延迟的从机在准备传输的数据时让出总线从事其它传送操作;
● 使用单一时钟沿控制所有操作,有利于综合和设计验证(通过使用静态时序分析和其他相似工具);
● 使用中心多路器总线方案而不是三态驱动的双向总线;
● 支持更宽的64位或128位数据总线配置。
ASP
ASP是通用系统总线,是一种微处理器和系统外设的高性能互连,主要特征如下:
● 多控制器;
● 突发数据传输方式;
● 流水线传送;
● 32-128位总线宽度;
● 包含一种访问保护机制,用来区别特权访问和无特权访问模式,或指令和数据提取等;
● 双向数据总线;
● 提供为较慢设备使用而扼制数据流的机制;
● 仲裁支持REQ 、GNT 和LOCK。
APB
APB是外围互联总线,重点是最小功耗和易于使用,主要特征如下:
● 低性能、低功率外围总线;
● 单控制器;
● 非常简单,只有4 个控制信号(加上时钟和复位);
● 32位地址空间;
● 多达32位数据总线;
● 分开读和写数据总线。
AMBA 是一种基本的SoC 总线,它分成三种总线。根据需要,系统设计者必须选择对接三种总线中的哪一种。一个高性能设备可能选择AHB 或ASP 总线,这将给IP 核集成者带来困难,因为两种总线都试图访问同一类型的设备。还没有明确的办法将设备与AHB 和ASP 总线集成。APB 桥似乎不但不会提供任何好处,而且会限制连接在上面的高性能总线。所有三种总线都包含一个地址状态和一个或多个数据状态。