简介
AMBA总线是一种由ARM公司提出的高性能、低功耗的片上总线标准。它独立于处理器和工艺技术,旨在提供一种通用的、可扩展的、高效的片上通信方法。
AMBA总线包含AHB(Advanced High Performance Bus)和APB(Advanced Peripheral Bus)两种总线类型。
AHB总线是一种高性能的总线,用于连接处理器、存储器、DMA等高速组件。它支持突发传输模式,可以高效地进行大量数据传输。AHB总线的主设备和从设备都可以发起读写操作,但在某一时刻只能有一个主设备使用总线。主设备通过发送地址和数据信号来发起传输,从设备则通过地址映射来响应传输。AHB总线的仲裁器用于解决多个主设备同时发起传输请求的情况,常见的仲裁算法包括轮询仲裁和固定优先级仲裁。
APB总线是一种低速的总线,主要用于连接低带宽的周边外设,如UART、I2C、1284等。它的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB桥。APB总线的接口简单、功耗低,适合于低速设备之间的通信。
此外,AMBA规范还定义了AHB-Lite和APB-Lite等简化版本的总线,以满足不同应用场景的需求。AHB-Lite删除了AHB总线的部分特性,如突发传输和多个从设备等,从而简化了设计和实现。APB-Lite则进一步简化了APB总线的特性,如只支持一个主模块和一个从模块等。
总之,AMBA总线是一种灵活、高效、低功耗的片上总线标准,适用于各种不同的应用场景。它独立于处理器和工艺技术,具有可扩展性和通用性,已经成为嵌入式系统设计的重要基础组件之一。
归纳
- 补充
一开始AMBA 1.0只有ASB和APB,为了节省面积,这时候的总线协定都是采用3态的总线,到后来的AMBA 2.0版本,新增了AHB总线,共定义了3组总线:高性能总线(AdvancedHigh Performance Bus,AHB)、系统总线(AdvancedSystem Bus,ASB)和外设总线(Advanced PeripheralBus,APB)。
典型的基于AMBA总线的系统
重要知识点
- AHB2APB桥
是一种用于连接AHB总线和APB总线的模块,它实现了AHB协议到APB协议的转换。这种转换使得在AHB总线上的主设备可以与APB总线上的从设备进行通信,实现了不同总线之间的互联互通。
- AHB突发传输模式
一种高速数据传输方式,其中主设备通过发送地址和控制信号来发起传输,从设备在接收到地址和控制信号后响应传输。在突发传输模式下,主设备可以在一个传输周期内发送多个数据周期,从而在短时间内传输大量数据。
在AHB总线的突发传输中,传输的长度可以是任意值,传输类型可以是固定突发传输或自适应突发传输。固定突发传输是指每次传输都固定长度,而自适应突发传输则可以根据实际需要动态调整传输长度。
在突发传输中,从设备可以通过响应信号告诉主机自己的状态。例如,从设备可以在接收到地址和控制信号后,将ready信号拉高,表示已经准备好传输数据。当ready信号为高时,表示传输完成,当此信号为低时,表明要在传输过程中插入等待状态来允许从机有足够的时间来提供或者采样数据。
总之,AHB总线的突发传输模式是一种高效的数据传输方式,适用于需要高速传输大量数据的场景。
- 举例分析
S3C2440结构框图
由图可知
AHB总线上挂载了LCD控制器、中断控制器、USB Host控制器、电源管理、NAND控制器、Camera控制器、存储器控制器以及AHB to APB桥和DMA控制器。
APB总线上挂载了UART控制器、I2C控制器、USB Device控制器、I3S控制器SDI/MMC控制器、GPIO、Watchdog/定时器、RTC、ADC、SPI、AC97。