欢迎各位朋友关注“郝旭帅电子设计团队”公众号,本公众号会定时更新相关技术类资料、软件等等,感兴趣的朋友可以浏览一下本公众号的其他“模块”,希望各位朋友都能在本公众号获得一些自己想要的“东西”。
本篇主要是AMBA协议简介及应用场景
AMBA(Advanced Microcontroller Bus Architecture,高级微控制器总线架构)是由ARM公司推出的一种开放的、用于片上系统的总线标准。它已经成为连接和管理片上系统中功能模块(如CPU、DMA、内存控制器、外设等)的事实上的行业标准。
简单来说,AMBA定义了一套“交通规则”,让芯片内部不同的IP核(知识产权核)能够高效、可靠地互相通信。
AMBA协议家族的主要成员
AMBA协议经过多年发展,已经形成了一个庞大的协议家族,以适应不同的性能和功耗需求。以下是几个最核心和常见的协议:
1. APB - Advanced Peripheral Bus
定位:低成本、低功耗、低带宽的外设总线。
特点:
非流水线、接口简单。
所有信号在时钟上升沿触发,易于静态时序分析。
一次只支持一个主设备(通常是系统总线,如AXI或AHB的桥接器)。
主要用于连接低速外设,如UART、I²C、GPIO、定时器等。
版本:APB2, APB3, APB4, APB5。新版本增加了如PREADY(准备信号)和PSLVERR(从设备错误信号)等功能,提高了鲁棒性。
2. AHB - Advanced High-performance Bus
定位:高性能、高时钟频率的系统总线。
特点:
流水线操作,提高了性能。
支持多个主设备,通过仲裁器来决定总线使用权。
支持突发传输,可一次性传输多个数据。
单时钟沿操作,总线宽度通常为32/64/128位。
主要用于连接高带宽需求的模块,如CPU、DMA控制器、片上内存(SRAM)和高带宽内存控制器(如SDRAM控制器)。
版本:AHB-Lite(简化版,只支持单个主设备)、AHB5(完整版,支持多个主设备)。
3. AXI - Advanced eXtensible Interface
定位:高性能、高频率、高带宽的互联协议,是AMBA 3.0及以后版本的核心。
特点:
写地址通道(AW)
写数据通道(W)
写响应通道(B)
读地址通道(AR)
读数据通道(R)
通道架构:这是AXI最核心的特点。它将读地址、读数据、写地址、写数据、写响应分成了五个独立的通道。这些通道可以并行操作,极大地提高了数据传输的效率和灵活性。
支持乱序传输:通过ID标识符,不同交易可以乱序完成,提高了总线利用率。
支持非对齐传输。
基于握手机制:每个通道都使用VALID/READY信号进行握手,使得时序非常稳健。
版本与变种:
AXI4: 标准版本,针对高性能内存映射需求。
AXI4-Lite: AXI的简化版,用于像APB一样连接简单、低吞吐量的外设,不支持突发传输。
AXI4-Stream: 用于高速流数据传输,去掉了地址通道,主要用于从主设备到从设备的单向大数据流,如视频处理、网络数据包传输、DMA等。
4. ACE and ACE-Lite - AXI Coherency Extensions
定位: 在AXI基础上扩展,用于支持多核处理器之间的缓存一致性。
特点:
ACE: 为全一致性设计,支持多个能够拥有缓存的主设备(如多核CPU)之间自动保持缓存数据同步。
ACE-Lite: 为I/O一致性设计,支持那些不拥有缓存,但需要感知系统缓存一致性的主设备(如DMA、GPU),确保它们能访问到最新的数据。
5. CHI - Coherent Hub Interface
定位: AMBA 5.0引入的下一代高性能、高可扩展性的片间一致性互联协议。
特点:
专为大规模多核、多簇(Cluster)的复杂SoC设计。
采用基于数据包(Packet-Based) 的传输方式,而非AXI/ACE的通道方式,更适合复杂的网络-on-Chip(NoC)拓扑结构。
提供了比ACE更强的可扩展性、功耗效率和性能。
典型SoC中的AMBA架构
一个典型的SoC通常会混合使用这些协议,形成一个层次化的总线结构:
顶层: 高性能主设备(如CPU、GPU)通过AXI/CHI总线连接到高性能互联矩阵或NoC。
中间层: 互联矩阵连接高速内存(如DDR控制器)和其他主设备(如DMA)。
底层: 通过一个桥接器(如AXI-to-APB Bridge),将高性能总线转换为简单的APB总线,用于连接所有低速外设。
总结
| 协议 | 全称 | 主要特点 | 应用场景 |
|---|---|---|---|
| APB | Advanced Peripheral Bus | 简单、低功耗、非流水线 | 低速外设(UART, I2C, GPIO) |
| AHB | Advanced High-performance Bus | 高性能、流水线、多主设备 | 系统内模块互连、片上内存 |
| AXI | Advanced eXtensible Interface | 高性能、通道分离、乱序传输 | 高性能处理器、高带宽内存、DMA |
| ACE | AXI Coherency Extensions | 在AXI基础上增加缓存一致性 | 多核CPU集群 |
| CHI | Coherent Hub Interface | 基于数据包、高可扩展性的一致性协议 | 大规模多核服务器SoC、大型NoC |
AMBA协议的成功在于其模块化、可扩展和开放的特性,它使得来自不同厂商的IP核能够无缝地集成到一个复杂的SoC中,极大地加速了芯片的设计流程。对于任何从事数字IC设计、验证或FPGA开发的工程师来说,深入理解AMBA协议都是至关重要的。
本篇内容中有部分资源来源于网络,如有侵权,请联系作者。
1131
