查看: 816|回复: 0

[经验] 关于先进的微控制器总线架构介绍

[复制链接]
  • TA的每日心情
    开心
    2019-11-4 13:48
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2020-9-29 09:00:41 | 显示全部楼层 |阅读模式
    分享到:
    本文将介绍高级微控制器总线体系结构(AMBA),这是SoC设计的开放标准。
    随着半导体制造的发展,在相同尺寸的芯片上装配更多逻辑门的能力稳步提高。能够在同一芯片上包含越来越多的组件导致SoC或芯片上系统的诞生。
    SoC通常定义为包括构成计算机的所有必要元素的集成电路。这包括CPU,RAM,非易失性存储器,UART和系统所需的任何其他外围设备。在同一芯片上集成了众多不同的组件,因此有效地连接和管理这些子系统很快成为一个挑战。
    高级微控制器总线体系结构(AMBA)是解决此问题的一种尝试。

    什么是AMBA?

    AMBA是一种开放标准,概述了如何连接和管理SoC中的不同组件或模块。AMBA规范是由ARM开发的,已成为连接SoC中组件的事实上的标准。虽然AMBA目前其5 次修订,并随着时间的推移显著的演变,传统的实现被广泛使用并保留相关。请记住,本文将以Revision 2.0为起点,并在以后的文章中以这些思想为基础。

    为什么选择AMBA?
    开发AMBA规范是为了解决SoC设计中的一些关键问题。其中之一就是正确的首次开发,这意味着如果使用得当,AMBA可以从一开始就确保设计的一致性,从而减少昂贵的重新设计。AMBA的另一个关键要求是技术独立性或使设计可重复使用且与系统组件的具体情况无关。通过模块化系统设计,AMBA鼓励开发组件库,这样就不必重复完成的工作。AMBA的最终动机是将片上和片外通信所需的硅最小化。

    AMBA总线
    在修订版2.0中,描述了三种不同的总线,以促进片上通信。它们是高级高性能总线(AHB),高级系统总线(ASB)和高级外围设备总线(APB)。AHB是系统的骨干,专门为高性能,高频组件而设计。其中包括处理器,片上存储器以及存储器接口之间的连接。
    ASB是不需要某些高性能功能的AHB的替代产品。APB是简化的接口,设计用于不需要AHB或ASB高性能的低带宽外围设备。这些组件包括UART,低频GPIO和计时器等组件。


    图1.  包括AHB / ASB和APB的AMBA总线(摘自AMBA版本2.0)
    先进的高性能总线AHB是版本2.0中AMBA的新增功能。添加它是为了适应高性能设计。添加的一些新功能包括拆分事务,单周期总线主控切换,单时钟沿操作以及更宽的数据总线配置(即64/128位)。
    AHB必须包含主机和从机之外的许多组件。这些组件是地址和控制多路复用器,读取多路复用器,写入多路复用器,解码器和仲裁器。图2显示了三个主机连接到AHB上的四个从机。显示的信号是地址信号(HADDR),写数据总线(HWDATA)和读数据总线(HRDATA)。该地址用于从机选择,写数据总线用于将数据从主机移动到从机,而读数据总线用于在从机和主机之间移动数据。


    图2.  具有主机,从机,多路复用器,仲裁器和解码器的AHB(AMBA版本2.0)
    当主机需要控制总线时,它必须首先向仲裁器发送请求。
    仲裁器基于优先级分配方案授予访问权限,该方案确保优先级较高的主设备获得优先访问权。AMBA没有定义此优先级排序方案,并且在不同设计之间会有所不同。许多控制信号用于定义数据传输的方向,宽度和类型。AHB解码器从主机接收地址信号,并将其解码为从机选择信号。从机通过HRESP信号响应主机,主机和从机之间的数据传输开始。
    总共大约有20种不同的AHB信号,每种信号都有其独特的用途。图3显示了AHB信号和ASB信号,以供参考。

    先进的系统总线
    ASB是AHB的简化版本,可为16位和32位系统提供高性能。除了允许拆分交易的某些控制信号外,AHB上的许多相同信号还用于ASB。
    ASB的操作从主机请求仲裁者访问总线开始。仲裁程序同意该请求,然后开始传输。解码器对放置在总线上的地址进行解码,并选择一个从机。从站将响应发回主站,然后进行数据传输。


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


    图4.  APB信号
    AMBA系统
    下面的图5显示了一个示例AMBA系统,该系统运行有两个AHB主设备,一个AHB从设备和两个APB从设备。还要注意AHB仲裁器,AHB解码器和APB桥。


    图5.  AMBA系统示例。点击放大
    APB桥具有AHB从接口,因此它看起来像主控板的另一个从接口。该系统已简化,其中删除了一些信号和较小的元素(例如复位信号和多路复用器)。输出信号离开块的右侧,输入信号进入块的左侧。输入信号也用箭头表示。粗线表示较大的数据路径。
    该系统正在大约七个时钟周期内对APB从机之一进行写操作。AHB是一条流水线总线,具有专用的读取和写入路径,因此在此写入过程中可能会发生读取。有关更准确的时序信息,请参阅AMBA标准修订版2.0。

    AXI-展望未来
    最终,AHB达到了性能极限,到2003年,ARM发布了新一代的AMBA协议。AMBA 3.0版引入了AXI协议。AXI代表高级可扩展接口,并且比AHB通过点对点连接方案实现的性能更高。AXI互连代替系统总线,仅允许使用几个定义明确的接口在主机和从机之间进行事务。
    在下一篇AMBA文章中,我们将介绍AXI3和AXI4以及它们如何用于接口SoC组件。


    图6.  AXI互连(AXI4规范)
    结论
    在本文中,我们介绍了高级微控制器总线体系结构或AMBA。AMBA是一个开放标准,概述了SoC上的组件如何快速有效地交换数据。
    AMBA已成为事实上的标准,目前正在对其进行第五次修订。从2.0版开始,我们从较高的角度考察了AHB,ASB和APB以及它们的工作方式。尽管这些总线协议中的许多已被AMBA的未来版本所取代,但它们仍与旧版设计相关,并作为将来学习的基础。

    无论您是对SoC设计的专业兴趣还是业余爱好,AMBA都是您旅途中至关重要的一步。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-10-18 20:19 , Processed in 0.126568 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.