首页 > 应用 > 通信

高级微控制器总线架构简介

Stephen St. Michael 2019-08-08

随着半导体制造业的发展,在相同尺寸的芯片上安装更多逻辑门的能力稳步提高。同一芯片上包含越来越多的元件导致了SoC或芯片上系统的诞生。SoC通常被定义为包括构成计算机的所有必要元件的集成电路。这包括CPU、RAM、非易失性存储器、UART以及系统所需的任何其他外设。在同一芯片上有大量不同的组件,有效地连接和管理这些子系统很快就成为一项挑战。高级微控制器总线架构(AMBA)是解决此问题的一种尝试。rTD电子头条

 rTD电子头条

什么是AMBA?rTD电子头条

 rTD电子头条

AMBA是一个开放标准,概述了如何连接和管理SoC中的不同组件或块。AMBA规范由ARM开发,已成为SoC中接口组件的事实标准。虽然AMBA目前正在进行第5次修订,并随着时间的推移已经有了显著发展,传统的实现被广泛使用并保持相关性。牢记这一点,本文将使用版本2.0作为起点。rTD电子头条

 rTD电子头条

为何选择AMBA?rTD电子头条

 rTD电子头条

开发AMBA规范是为了解决SoC设计中的一些关键问题。其中之一是正确的首次开发,这意味着如果使用正确,AMBA可以从一开始就确保一致的设计,减少昂贵的重新设计。AMBA的另一个关键要求是技术独立性或使设计可重复使用并且与系统组件的细节无关。通过模块化系统设计,AMBA鼓励开发组件库,以便一次完成的工作不需要重复。AMBA的最后一个动机是最小化芯片内和芯片外通信所需的硅量。rTD电子头条

 rTD电子头条

AMBA总线rTD电子头条

 rTD电子头条

在版本2.0中,描述了三种不同的总线,用于促进芯片通信。这些是高级高性能总线(AHB)、高级系统总线(ASB)和高级外设总线(APB)。AHB是系统的主干,专为高性能、高频率组件而设计。这包括处理器、片上存储器和存储器接口等的连接。在不需要某些高性能功能的情况下ASB是AHB的替代方案。APB是一种专为低带宽外设而设计的简化接口,不需要AHB或ASB的高性能。其中包括UART、低频GPIO和定时器等组件。rTD电子头条

 rTD电子头条

高级微控制器总线架构简介rTD电子头条

图1.包含AHB/ASB和APB的AMBA总线(取自AMBA Rev.2.0)rTD电子头条

 rTD电子头条

高级高性能总线rTD电子头条

 rTD电子头条

在修订版2.0中,AHB是AMBA的新成员。它被添加以适应高性能设计。添加的一些新功能是拆分事务、单周期总线主控切换、单时钟边沿操作和更宽的数据总线配置,即64/128位。AHB必须包含主设备和从设备之外的一些组件。这些组件是地址和控制多路复用器、读多路复用器、写多路复用器、解码器和仲裁器。图2显示了连接到AHB上四个从设备的三个主设备。所示信号是地址信号(HADDR)、写数据总线(HWDATA)和读数据总线(HRDATA)。该地址用于从设备选择,写数据总线用于将数据从主设备移动到从设备,读数据总线用于在从设备和主设备之间移动数据。rTD电子头条

 rTD电子头条

高级微控制器总线架构简介rTD电子头条

图2.带有主设备、从设备、多路复用器、仲裁器和解码器的AHB(AMBA Rev.2.0)rTD电子头条

 rTD电子头条

当主设备需要控制总线时,它必须首先向仲裁器发送请求。仲裁器基于优先级方案授予访问权限,该优先级方案确保首先给予具有较高优先级的主控器。AMBA没有定义此优先方案,并且在设计之间会有所不同。许多控制信号用于定义数据传输的方向、宽度和类型。AHB解码器从主设备接收地址信号并将其解码为从设备选择信号。从设备通过HRESP信号响应主设备,主设备和从设备之间的数据传输开始。总共有大约20种不同的AHB信号,每种信号都有一个独特的用途。图3显示了AHB信号旁边的ASB信号,仅供参考。rTD电子头条

 rTD电子头条

高级系统总线rTD电子头条

 rTD电子头条

ASB是AHB的简化版本,可为16位和32位系统提供高性能。除了允许分离事务的某些控制信号之外,AHB上的许多相同信号用于ASB。ASB的操作以请求从仲裁器访问总线的主设备开始。仲裁者授予请求并开始转移。解码器解码总线上的地址并选择从机。从站响应主站并进行数据传输。rTD电子头条

 rTD电子头条

高级微控制器总线架构简介rTD电子头条

高级微控制器总线架构简介rTD电子头条

图3.与ASB信号相比的AHB信号rTD电子头条

 rTD电子头条

高级外设总线rTD电子头条

 rTD电子头条

APB是用于低频系统组件的简化接口。修订版2通过使所有信号转换与时钟的上升沿同步来进一步简化总线。APB由一个称为APB桥的单总线主站组成,它充当AHB / ASB上的从站。因此,桥接器是高性能总线和低频外围设备之间的接口。APB上的外围设备是从属设备。图4列出了APB信号名称。rTD电子头条

 rTD电子头条

高级微控制器总线架构简介rTD电子头条

图4.APB信号rTD电子头条

 rTD电子头条

AMBA系统rTD电子头条

 rTD电子头条

下面的图5显示了一个示例AMBA系统,它运行时有两个AHB主站、一个AHB从站和两个APB从站。注意AHB仲裁器、AHB解码器和APB桥。 rTD电子头条

 rTD电子头条

高级微控制器总线架构简介rTD电子头条

图5.AMBA系统示例rTD电子头条

 rTD电子头条

APB桥接器具有AHB从接口,因此它看起来像是主站的另一个从站。该系统已被简化,一些信号和次要元件(如复位信号和多路复用器)被移除。输出信号离开块的右侧,输入信号进入块的左侧。输入信号也用箭头表示。较粗的线表示较大的数据路径。该系统在大约七个时钟周期的过程中对一个APB从设备执行写操作。AHB是一个流水线总线,具有专用的读写路径,因此读取可能会在此写入过程中发生。rTD电子头条

 rTD电子头条

AXI—展望未来rTD电子头条

 rTD电子头条

最终,AHB达到了性能极限,到2003年ARM已经发布了新一代的AMBA协议。AMBA 3.0版引入了AXI协议。AXI代表高级可扩展接口,提供比AHB更高的性能,通过点对点连接方案实现。AXI互连不是使用系统总线,而是仅使用几个明确定义的接口,允许主站和从站之间的事务处理。rTD电子头条

 rTD电子头条

高级微控制器总线架构简介rTD电子头条

图6.AXI互连(AXI4规范)rTD电子头条

 rTD电子头条

结论rTD电子头条

 rTD电子头条

在本文中,我们介绍了高级微控制器总线架构或AMBA。AMBA是一个开放标准,概述了SoC上的组件如何以快速有效的方式交换数据。AMBA已成为事实上的标准,目前正在进行第5次修订。从修订版2.0开始,我们查看了AHB、ASB和APB以及它们如何从高级别开始工作。虽然很多这些总线协议已被AMBA的未来修订所取代,但它们仍然与传统设计相关,并作为未来学习的基础。无论您是对专业SoC设计感兴趣还是作为业余爱好,AMBA都是您旅途中的关键一步。rTD电子头条