基于AMBA总线协议的APB+Bridge设计
AMBA_AHB_APB_AXI协议对比分析

AMBA_AHB_APB_AXI协议对比分析引言:AMBA (Advanced Microcontroller Bus Architecture)是ARM公司提供的一种开放式的总线标准,旨在为SOC(System on Chip)设计提供一个灵活、高性能的总线框架。
AMBA协议家族中包括了AHB(Advanced High-performance Bus)、APB(Advanced Peripheral Bus)和AXI (Advanced eXtensible Interface)三种协议。
本文将对这三种协议进行对比分析,详细介绍其特点、性能和应用场景。
一、AHB协议AHB协议是AMBA协议家族中最早发布的协议之一,用于连接SOC内部的高性能主设备和多个从设备之间的通信。
AHB协议通过总线仲裁、突发传输和分片传输等技术,实现了高带宽和低延迟的数据传输。
其主要特点包括:1.性能:-支持高带宽传输:AHB协议支持高带宽的传输,能够满足高性能SOC 内部各个模块之间的数据传输需求。
- 低延迟传输:AHB协议通过引入Pipeline和Split交易等机制,实现了低延迟的数据传输。
2.特性:-总线仲裁:AHB总线采用非常灵活的总线仲裁机制,可以支持多主设备并发传输。
-突发传输:AHB协议支持突发传输,可以在一次仲裁后连续传输多个数据。
-分片传输:AHB协议支持分片传输,可以将大块数据分片传输,降低总线带宽的占用率。
-低功耗:AHB协议通过支持低功耗技术,降低了整个系统的功耗消耗。
3.应用场景:-SOC内部高性能数据传输:AHB协议主要适用于SOC内部的高性能数据传输,例如CPU和DMA控制器、外设控制器之间的数据传输。
二、APB协议APB协议是AMBA协议家族中最简单的一种协议,用于连接SOC内部的低带宽从设备,例如配置寄存器和控制逻辑等。
APB协议相对于AHB协议具有以下特点:1.性能:-低带宽传输:APB协议支持低带宽的传输,主要用于传输配置和控制信息,而不是大量的数据。
基于AMBA总线协议的APB Bridge设计

设核处理器,就可以提高从公共设计平台创建产品的定制化能力。因此,实现 OCB的标准化是十分必要的。 近年来,许多公司相继制定了一些OCB标准,其中影响较大的有
CoreConnect总线、AMBA(AdvaIlced Microcontroller
Bus
Architecture)总线、
OCP(0pen Cofe Protoc01)总线和Wishbone总线。其中,AMBA总线是ARM
GS32S
further research of embedded SOC.
KeywoI.;ds:AMBA2.0
A-PB Bridgp
Ⅱ
SoC
独创性声明
本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得盛都理工太堂或其他教 育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示谢意。
a
pan of APB.It is between AHB and APB
critical pan to connect AHB and other
on
peripherals.
as
This dissenation is based
the GS32S CPU of Godson.1
the AHB master.A
tO
desi印the
APB Bridge
is put fbn)l,ard,which
c卸meet
Sequential,
N0nsequential,and Back-tO—Back tmnsfer mode. SeC0nd,afterthe comparison and analysis Circuit Hardware Descfiption
stm32的总线AMBA、AHB、APB

stm32的总线AMBA、AHB、APBAMBAAMBA(Advanced Microprocessor Bus Architecture)是ARM公司提出的一种开放性的SoC 总线标准,现在已经广泛的应用于RISC的内核上了。
AMBA定义了一种多总线系统(mulTIlevel busing system),包括系统总线和等级稍低的外设总线。
AMBA支持32位、64位、128位的数据总线,和32位的地址总线,同时支持byte和half-word设计。
它定义了两种总线:AHB(Advanced High-performance Bus)先进的高性能总线,也叫做ASB (Advanced System Bus)。
APB(Advanced peripheral Bus)先进的外设总线AHB和ASB其实是一个东西,是高速总线,主要负责嵌入式处理器、DMA控制器、Memory等等的接口。
APB是低速总线,主要负责外设接口AHB和APB之间是通过Bridge(桥接器)链接的Bus Bridges总所周知,一个系统中的各个模块之间相互通信是通过总线,总线的作用,就是把数据和地址从设备A搬运到设备B上,如果说设备A和设备B具有一致性(原文是under discussion,这里我不知道怎么翻译比较好,暂且翻译为一致性),那么设备A和设备B可以直接挂在同一个总线上,并直接解读总线上的数据。
但是,如果设备A和设备B不具有一致性,那么设备A和设备B就必须挂在两条不同的总线上,这时候我们就需要一个翻译,把设备A上的总线上的数据和地址转换成设备B可以解析的格式,然后放到设备B的总线上,这个翻译就是Bus Bridge,下面这幅图就形象的说明了Bus Bridge在AHB和APB之间的作用。
AHB链接的设备的数据传输速度是比APB设备传输的速度快很多的,也就是说,这里的这个Bus Beidge所起的作用就是缓冲这里可以看到AHB主要是链接在了系统的内核以及存储管理上面的,APB则主要分布给我外设。
stm32的总线AMBA、AHB、APB

stm32的总线AMBA、AHB、APBAMBAAMBA(Advanced Microprocessor Bus Architecture)是ARM公司提出的一种开放性的SoC总线标准,现在已经广泛的应用于RISC的内核上了。
AMBA定义了一种多总线系统(multilevel busing system),包括系统总线和等级稍低的外设总线。
AMBA支持32位、64位、128位的数据总线,和32位的地址总线,同时支持byte和half-word设计。
它定义了两种总线:AHB(Advanced High-performance Bus)先进的高性能总线,也叫做ASB(Advanced System Bus)。
APB(Advanced peripheral Bus)先进的外设总线AHB和ASB其实是一个东西,是高速总线,主要负责嵌入式处理器、DMA控制器、Memory等等的接口。
APB是低速总线,主要负责外设接口AHB和APB之间是通过Bridge(桥接器)链接的Bus Bridges总所周知,一个系统中的各个模块之间相互通信是通过总线,总线的作用,就是把数据和地址从设备A搬运到设备B上,如果说设备A和设备B具有一致性(原文是under discussion,这里我不知道怎么翻译比较好,暂且翻译为一致性),那么设备A和设备B可以直接挂在同一个总线上,并直接解读总线上的数据。
但是,如果设备A和设备B不具有一致性,那么设备A和设备B 就必须挂在两条不同的总线上,这时候我们就需要一个“翻译”,把设备A上的总线上的数据和地址转换成设备B可以解析的格式,然后放到设备B的总线上,这个“翻译”就是“Bus Bridge”,下面这幅图就形象的说明了Bus Bridge在AHB和APB之间的作用。
AHB链接的设备的数据传输速度是比APB设备传输的速度快很多的,也就是说,这里的这个Bus Beidge所起的作用就是“缓冲”这里可以看到AHB主要是链接在了系统的内核以及存储管理上面的,APB则主要分布给我外设。
AMBA_3_APB协议规范

AMBA_3_APB协议规范AMBA(高级微处理器总线)是一种用于系统级互连的开放标准协议,它由ARM公司开发,被广泛应用于嵌入式系统中。
AMBA_3_APB(高级微处理器总线第3代-高性能总线)是AMBA协议的一部分,它定义了一种高性能、低功耗的片内总线协议,用于连接处理器和外设。
1.信号:AMBA_3_APB协议规范定义了一系列信号,包括时钟信号、复位信号、总线控制信号、数据传输信号等。
时钟信号主要包括时钟线以及时钟使能信号,用于控制数据传输的时序。
复位信号用于重置外设以及总线控制器的状态。
总线控制信号用于控制总线的访问权限以及传输模式等。
数据传输信号用于在总线上传输数据。
2.传输:AMBA_3_APB协议规范定义了四种传输类型,分别是单个传输、设置传输、清除传输以及数据传输。
单个传输用于传输单个数据项,例如读取外设的寄存器值。
设置传输用于设置外设的寄存器值,例如写入配置信息。
清除传输用于清除外设的寄存器值,例如重置外设。
数据传输用于传输大量数据,例如读取或写入外设的缓冲区。
3.协议:AMBA_3_APB协议规范定义了一套协议,包括方法、地址空间、读写传输、保持传输、错误传输以及确认传输。
方法用于指示执行的操作类型,包括读、写等。
地址空间用于指定外设的寄存器地址。
读写传输用于实现读取或写入寄存器的操作。
保持传输用于在外设的寄存器繁忙时保持总线传输。
错误传输用于指示总线传输过程中的错误信息。
确认传输用于确认总线传输的完成。
4.时序:AMBA_3_APB协议规范定义了一套时序要求,包括时钟周期、数据有效性以及总线传输的顺序。
时钟周期用于控制数据传输的时序,包括时钟上升沿和下降沿的作用周期。
数据有效性用于指示数据在总线上的有效时间段,以及数据的采样时间。
总线传输的顺序用于指示多个传输之间的先后顺序,以及传输的优先级。
总结起来,AMBA_3_APB协议规范是一种用于连接处理器和外设的高性能、低功耗的片内总线协议。
AMBA_3_APB协议规范

AMBA 3 APB 协议规范关于该规范该规范使用于AMBA 3 APB 协议,引用自AMBA 3 (不适用AMBA 2 或更早版本)使用范围该规范用来帮助硬件或软件工程师设计使用APB协议的系统或模块使用该规范该规范按照以下章节进行组织:Chapter 1 简介Chapter 2 传输Chapter 3 操作状态Chapter 4 信号描述目录第一章简介 (2)1.1 关于AMBA 3 APB (2)1.2 AMBA 3 APB 协议规范v1.0修改 (2)第二章传输 (3)2.1 写传输 (3)2.1.1 无等待状态 (3)2.1.2 有等待状态 (3)2.2 读传输 (4)2.2.1 无等待状态 (4)2.2.2 有等待状态 (4)2.3 错误响应 (5)2.3.1 写传输 (5)2.3.2 写传输 (6)2.3.3 PSLVERR映射 (6)第三章操作状态 (7)3.1 操作状态 (7)第四章信号描述 (8)4.1 AMBA 3 APB 信号 (8)1.1 关于AMBA 3 APBAPB属于AMBA 3 协议系列,它提供了一个低功耗的接口,并降低了接口的复杂性。
APB接口用在低带宽和不需要高性能总线的外围设备上。
APB是非流水线结构,所有的信号仅与时钟上升沿相关,这样就可以简化APB 外围设备的设计流程,每个传输至少耗用两个周期。
APB可以与AMBA高级高性能总线(AHB-Lite) 和AMBA 高级可扩展接口(AXI)连接。
1.2 AMBA 3 APB 协议规范v1.0修改该版本包括:• 一个准备好信号PREADY, 来扩展APB传输• 一个错误信号PSLVERR, 来指示传输失败2.1 写传输写传输包括两种类型:• 无等待状态• 有等待状态2.1.1 无等待状态图2-1 显示了一个基本的无等待状态的写传输。
图2-1 无等待的写传输地址、写入数据、写入信号和选择信号都在时钟上升沿后改变。
AMBA AHB APB 概述

AHB Decoder
• AHB系统中有一个核心地址译码器,它提供HSELx信号到各 个AHB Slave; • Decoder本身只负责位地址译码,为纯组合逻辑电路; • Slave只有在HSELx和HREADY都为High才采样地址/控制信号; • AHB地址线有32条,为简化译码器译码时间,AHB Spec.规 定每个Slave的最小地址空间为1KB,因此译码器最多只需 要对22条地址线进行译码。
HWRITE & HSIZE[2:0]
• Transfer Direction、Transfer Size由Master发出: – HWRITE为HIGH,Master在data phase将数据通过write data bus(HWDATA[31:0])发往Slave – HWRITE为LOW,Slave在data phase将数据通过read data bus (HRDATA[31:0])发往Master
允许某个主设备控制总线 发起一个请求给仲 裁器
驱动地址和控 制信号
仅选中的从设备响应地 址/控制信号
拉高HREADY信号,总线 传输完成
AHB Transfer
• Basic transfer – Address phase
• 传输address和control signal
– Data phase
• 传输write/read data和response signal
• 传输在data phase时若一个clock cycle无法完成传 输,Slave可通过拉低HREADY信号延长传输,传输 结束时状态由Slave HRESP信号反映。
Master sample the data
Master release address and control
AMBA_AHB_APB_AXI协议对比分析..

9
HREADY:S应答M是否读写操作传输完成: 1-传输完 成, 0-需延长传输周期。需要注意的是,HREADY 做 为总线上的信号,它是M和S 的输入;同时每个S 需 要输出自己的HREADY。所以对于S 会有两个 HREADY 信号,一个来自总线的输入,一个自己给到 多路器的输出。 HRESP:S应答当前传输状态,OKAY、ERROR、 RETRY、SPLIT HRDATA:读数据总线,从S读到M
3
一个典型的基于AMBA 总线的SOC 系统架构
这种SOC架构以AHB为主干,挂上CPU,片上内 存,和其它DMA设备。
4
AHB 主要是针对高效率、高频宽及快速系统模块所设 计的总线,它可以连接如微处理器、芯片上或芯片外 的内存模块和DMA等高效率模块 AMBA 中的APB 主要用在低速且低功率的外围,可 针对外围设备作功率消耗及复杂接口的最佳化 APB在AHB和低带宽的外围设备之间提供了通信的桥 梁,所以APB是AHB或者ASB的二级扩展总线
19
APB/AHB/AXI对比
APB 低功耗 AHB 高速度 AXI 高速度,高带宽 管道化互联 单向通道 只需首地址 读写并行 支持乱序 支持非对齐操作 有效支持初始延迟 较高的外设
20
连线非常多
AHB总线互连
7
允许某个主设备控制总线 发起一个请求给仲 裁器
驱动地址和控 制信号
仅选中的从设备响应地 址/控制信号
拉高HREADY信号,总线 传输完成
8
AHB基本信号
HADDR:32位系统地址总线 HTRANS: M指示传输状态,NONSEQ、SEQ、IDLE、 BUSY HWRITE:传输方向:1-写,0-读 HSIZE:传输单位 HBURST:传输的burst类型 HWDATA:写数据总线,从M写到S