最近在学习S3C2440分频是有FCLK、HCLK、PCLK分别提供给不同的部件的不同频率,随之涉及了如下AMBA的知识:主要涉及AHB总线和APB总线。
ARM研发的AMBA(Advanced Microcontroller Bus Architecture)提供一种特殊的机制,可将RISC处理器集成在其它IP芯核和外设中,2.0版AMBA标准定义了三组总线:AHB(AMBA高性能总线)、ASB(AMBA系统总线)、和APB(AMBA外设总线)。
APB(Advanced Peripheral Bus),片上外设总线。主要用于慢速片上外设与ARM核的通讯。
AHB(Advanced High performance Bus),高性能总线。主要用于系统高性能、高时钟速率模块间通信。
1、AMBA总线概况
高级微控制器总线体系(AMBA)规范定义了在设计高性能嵌入式微控制器时的一种片上通信标准。
根据AMBA标准定义了三种不同的总线:
- 高级高性能总线(AHB);
- 高级系统总线(ASB);
- 高级外设总线(APB)。
AMBA规范还包含一种测试方法以提供对宏单元进行测试和诊断访问的下部构造。
高级高性能总线(AHB)
AMBA AHB是用于高性能、高时钟频率的系统模块。
AHB担当高性能系统的中枢总线。AHB支持处理器,片上存储器,片外存储器以及低功耗外设宏功能单元之间的有效连接。AHB也通过使用综合和自动测试技术的有效设计流来确保减轻使用负担。
高级系统总线(ASB)
AMBA ASB是用于高性能的系统模块之间的。
AMBA ASB是另外一种系统总线,用在并不要求AHB的高性能特征的地方。ASB也支持处理器,片上存储器,片外存储器以及低功耗外设宏功能单元之间的有效连接。
高级外设总线(APB)
AMBA APB是用于低功耗外设的。
AMBA APB优化了最小功率消耗并且降低了接口复杂度以支持外设功能。APB可以用来连接任意一种版本的系统总线。
2、什么时候使用AMBA AHB/ASB或者APB
完整的AHB/ASB用作:
- 总线主机;
- 片上存储模块;
- 片外存储器接口;
- 带FIFO接口的高带宽外设;
- DMA从机外设。
简单的APB外设接口建议用作:
- 简单的寄存器映射从机设备;
- 时钟不能够全局布通的超低功耗接口;
- 分组窄总线外设应避免挂接到系统总线上。
3、AMBA的典型应用
基于AMBA的微控制器典型地由一个高性能系统中枢总线(AMBA AHB或者AMBA ASB)组成,能够支持外部存储器带宽,包括CPU,片上存储器和其他直接数据存取(DMA)设备。这条总线为上述单元之间大多数的传输提供高带宽接口。在这条高性能总线上也有一个桥接器以连接低带宽的APB。
AMBA APB作为主总线高性能通道的二级总线,提供基本外设宏单元之间的通信接口。这些典型的外设有以下特征:
- 有存储器映射的寄存器接口;
- 没有高带宽接口;
- 通过可编程的控制来访问。