AMBA总线协议AHB、APB、AXI对比分析

2023-11-10

一、AMBA概述
    AMBA (Advanced Microcontroller Bus Architecture) 高级处理器总线架构

    AHB (Advanced High-performance Bus) 高级高性能总线

    ASB (Advanced System Bus) 高级系统总线

    APB (Advanced Peripheral Bus) 高级外围总线

    AXI (Advanced eXtensible Interface) 高级可拓展接口

    这些内容加起来就定义出一套为了高性能SoC而设计的片上通信的标准。

    AHB主要是针对高效率、高频宽及快速系统模块所设计的总线,它可以连接如微处理器、芯片上或芯片外的内存模块和DMA等高效率模块。

    APB主要用在低速且低功率的外围,可针对外围设备作功率消耗及复杂接口的最佳化。APB在AHB和低带宽的外围设备之间提供了通信的桥梁,所以APB是AHB或ASB的二级拓展总线。

    AXI:高速度、高带宽,管道化互联,单向通道,只需要首地址,读写并行,支持乱序,支持非对齐操作,有效支持初始延迟较高的外设,连线非常多。

几种AMBA总线的性能对比分析

总线    AXI    AHB    APB
总线宽度    8, 16, 32, 64, 128, 256, 512, 1024    32, 64, 128, 256    8, 16, 32
地址宽度    32    32    32
通道特性    读写地址通道、读写数据通道均独立    读写地址通道共用读写数据通道    读写地址通道共用读写数据通道
不支持读写并行操作
体系结构    多主/从设备
仲裁机制    多主/从设备
仲裁机制    单主设备(桥)/多从设备
无仲裁
数据协议    支持流水/分裂传输
支持猝发传输
支持乱序访问
字节/半字/字
大小端对齐
非对齐操作    支持流水/分裂传输
支持猝发传输
支持乱序访问
字节/半字/字
大小端对齐
不支持非对齐操作    一次读/写传输占两个时钟周期
不支持突发传输
传输方式    支持读写并行操作    不支持读写并行操作    不支持读写并行操作
时序    同步    同步    同步
互联    多路    多路    无定义

二、AHB总线
AHB的组成
Master:能够发起读写操作,提供地址和控制信号,同一时间只有1个Master会被激活。

Slave:在给定的地址范围内对读写操作作响应,并对Master返回成功、失败或者等待等状态。

Arbiter:负责保证总线上一次只有1个Master在工作。仲裁协议是规定的,但是仲裁算法可以根据应用决定。

Decoder:负责对地址进行解码,并提供片选信号到各Slave。

每个AHB都需要1个仲裁器和1个中央解码器。

AHB基本信号
HADDR:32位系统地址总线

HTRANS:M指示传输状态,NONSEQ、SEQ、IDLE、BUSY

HWRITE:传输方向1-写,0-读

HSIZE:传输单位

HBURST:传输的burst类型

HWDATA:写数据总线,从M写到S

HREADY:S应答M是否读写操作传输完成,1-传输完成,0-需延长传输周期。需要注意的是HREADY作为总线上的信号,它是M和S的输入;同时每个S需要输出自HREADY。所以对于S会有两个HREADY信号,一个来自总线的输入,一个自己给到多路器的输出。

HRESP:S应答当前传输状态,OKAY、ERROR、RETRY、SPLIT。

HRDATA:读数据总线,从S读到M。

AHB基本传输
两个阶段

地址周期(AP),只有一个cycle

数据周期(DP),由HREADY信号决定需要几个cycle

流水线传送

先是地址周期,然后是数据周期

AHB突发传输与AXI突发传输的特点
    AHB协议需要一次突发传输的所有地址,地址与数据锁定对应关系,后一次突发传输必须在前次传输完成才能进行。

    AXI只需要一次突发的首地址,可以连续发送多个突发传输首地址而无需等待前次突发传输完成,并且多个数据可以交错传递,此特征大大提高了总线的利用率。

    AHB总线与AXI总线均适用于高性能、高带宽的SoC系统,但AXI具有更好的灵活性,而且能够读写通道并行发送,互不影响;更重要的是,AXI总线支持乱序传输,能够有效地利用总线的带宽,平衡内部系统。因此SoC系统中,均以AXI总线为主总线,通过桥连接AHB总线与APB总线,这样能够增加SoC系统的灵活性,更加合理地把不同特征IP分配到总线上。

三、APB总线
    主要应用在低带宽的外设上,如UART、 I2C,它的架构不像AHB总线是多主设备的架构,APB总线的唯一主设备是APB桥(与AXI或APB相连),因此不需要仲裁一些Request/grant信号。APB的协议也十分简单,甚至不是流水的操作,固定两个时钟周期完成一次读或写的操作。其特性包括:两个时钟周期传输,无需等待周期和回应信号,控制逻辑简单,只有四个控制信号。APB上的传输可用如图所示的状态图来说明。

1、系统初始化为IDLE状态,此时没有传输操作,也没有选中任何从模块。

2、当有传输要进行时,PSELx=1,,PENABLE=0,系统进入SETUP状态,并只会在SETUP状态停留一个周期。当PCLK的下一个上升沿到来时,系统进入ENABLE状态。

3、系统进入ENABLE状态时,维持之前在SETUP状态的PADDR、PSEL、PWRITE不变,并将PENABLE置为1。传输也只会在ENABLE状态维持一个周期,在经过SETUP与ENABLE状态之后就已完成。之后如果没有传输要进行,就进入IDLE状态等待;如果有连续的传输,则进入SETUP状态。


原文:https://blog.csdn.net/ivy_reny/article/details/56274412 
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AMBA总线协议AHB、APB、AXI对比分析 的相关文章

  • ARM SoC漫谈

    作者 xff1a 重走此间路 链接 xff1a https zhuanlan zhihu com p 24878742 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权 xff0c 非商业转载请注明出处 芯片厂商向客户介
  • zynq7000 linux axi-gpio驱动:重置axi-gpio驱动方法

    linux gpio 从内核空间导出到用户空间 petalinux 在制作 Linux 系统时 xff0c 会自动的将 gpio 从内核空间导出到用户空间 xff0c 在用户空间下可以通过 sysfs 方式控制 gpio xff1b 用户空
  • ARM SoC漫谈

    作者 xff1a 重走此间路 链接 xff1a https zhuanlan zhihu com p 24878742 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权 xff0c 非商业转载请注明出处 芯片厂商向客户介
  • R-Car H3系列SOC芯片与R-Car M3 R8A77961JBP0BA区别

    RENESAS推出的 xff1a R Car H3 系列 SOC 芯片 R8A77951JA00BA xff03 YJ1 xff0c R Car M3 系列 SOC 芯片 R8A77960JA60BG xff03 YJ5 在内核上 xff1
  • DE1-SoC——关于QuartusII rbf文件的生成

    文章目录 1 什么是rbf文件 xff1f 2 关于rbf文件的两种配置方式3 两种配置方式所用到的rbf文件存在差异 xff1a 4 开启quartus生成rbf选项5 命令的方式来得到两种不同的rbf文件 xff08 通过写一个脚本文件
  • AHB-APB总线协议

    AHB APB总线协议 文章目录 AHB APB总线协议一 AHB APB总线介绍二 AHB总线设备1 AHB主设备 xff08 master xff09 2 AHB从设备 xff08 slave xff09 3 AHB仲裁器 xff08
  • AHB-APB_Lite总线协议及Verilog实现

    AHB APB Lite总线协议及Verilog实现 文章目录 AHB APB Lite总线协议及Verilog实现一 AHB Lite协议介绍二 系统框架介绍三 代码设计四 仿真测试 一 AHB Lite协议介绍 AHB xff08 Ad
  • AXI STREAM ,AXIS总线的理解

    全兼容ZEDBOARD 开发板子 SYSCLK TAOBAO COM 1 xff0c VALID和READY 是所有AXI总线必须有的 xff0c VALID是MASTER告诉SLAVE数据已经展现在了总线上了 xff0c 你可以取走了 x
  • 在EBAZ4205 zynq7010上运行AXI_DMA中断回环测试

    在EBAZ4205 zynq7010上运行AXI DMA loop interrupt 整体的布局图 这是上面的一张接口图 下面对每个模块附上截图 AXI DMA的输出mm2s introut s2mm introut接到PS系统的中断触发
  • AXI接口协议详解-AXI总线、接口、协议

    转自 xff1a https cloud tencent com developer article 1695010 AXI接口协议详解 AXI总线 接口 协议 AXI 总线 上面介绍了AMBA总线中的两种 xff0c 下面看下我们的主角
  • 【整理】嵌入式SoC中各种片内资源

    原文地址 http www crifan com summary embedded soc chip internal resource or functions 整理 嵌入式SoC中各种片内资源 2013 年 12 月 18 日 上午 1
  • GlitchFree的时钟切换技术(glitchless clock mux GLCM)

    0 下文给出了两种glitchFree的电路 第一种电路图包含了DFT的相关控制 且是3级上升沿的寄存器打拍 知乎NingHeChuan给出的是两级寄存器分别使用下沿和上沿触发的寄存器打拍 需要分析两种做法的优劣 1 项目中实际使用的 参考
  • CMOS到触发器(一)

    1 MOS晶体管结构与工作原理简述 我们或多或少知道 晶体管在数字电路中的主要作用就是一个电子开关 通过电压或者电流 控制这个 开关 开还是关 晶体管大概有两种分类 一种是双极性晶体管 BJT bipolar junction transi
  • AXI总线学习小结

    1 AXI总线结构 AXI总线由5个通道构成 通道名称 通道功能 数据流向 read address 读地址通道 主机 gt 从机 read data 读数据通道 包括数据通道和读响应通道 从机 gt 主机 write address 写地
  • SoC的开发

    怎么做SoC SoC是干啥的 SoC就是将CPU GPU Uart I2C WiFi Etherne等硬件IP连起来 做到一个芯片上 主要工作有 1 用verilog将这些IP core连起来 在verilog仿真器上进行验证 也要写一些C
  • SIEM的内容

    20200920 昨天看到了与SIEM相关的内容 但是除了一篇文章给我讲解了他们部分的SOC架构与方案 这个算是SIEM的升级版吧 其他的文章都没有给我非常好的反馈 这里来记录一下 文章列表 1 Security Correlation T
  • Cache的基本原理以及简单操作

    对于没有接触过底层技术的朋友来说 或许从未听说过cache 毕竟cache的存在对程序员来说是透明的 在接触cache之前 先为你准备段code分析 int arr 10 128 for i 0 i lt 10 i for j 0 j lt
  • Difference between RTL and Behavioral verilog

    原文链接 https electronics stackexchange com questions 63682 difference between rtl and behavioral verilog Answer 1 ehaviora
  • 数字SOC设计之低功耗设计入门(六)——门级电路低功耗设计优化

    三 门级电路低功耗设计优化 1 门级电路的功耗优化综述 门级电路的功耗优化 Gate Level Power Optimization 简称GLPO 是从已经映射的门级网表开始 对设计进行功耗的优化以满足功耗的约束 同时设计保持其性能 即满
  • AHB VIP Example 的tb_ahb_svt_uvm_basic_ral_sys中关于slave和master接口连接的问题

    AHB 的tb ahb svt uvm basic ral sys中关于slave和master接口连接的问题 这里代码不完整太多没有截完 一 原始使用方法 hdl interconnect中文件的DUT的部分内容是 DUT外面还做了封装

随机推荐

  • SpringBoot整合Nacos实现动态配置数据源

    1 Nacos介绍 是不是还有好多小伙伴不知道 nacos 是啥 nacos 是阿里巴巴的一个开源项目 官网给它的定义是 一个更易于构建云原生应用的动态服务发现 配置管理和服务管理平台 SpringBoot SpringCloud项目部署运
  • crowhuman和object365比赛里的json、odgt、txt数据解析

    crowhuman annotation val odgt标签解析 import cv2 import json data ID 273278 600e5000db6370fb gtboxes fbox 67 60 333 810 tag
  • 统计字符串中各类字符的个数

    题目 输入一行字符 分别统计出其中英文字母 数字 空格和其他字符的个数 输入 一行字符 输出 统计每种字符的个数值 样例输入 aklsjflj123 sadf918u324 asdf91u32oasdf 123 样例输出 23 16 2 4
  • ZYNQ 使用AXI_BRAM实现PS与PL 数据交互数据交互

    一 BRAM IP核介绍 总线是一组传输通道 是各种逻辑器件构成的传输数据的通道 接口是一种连接标准 又常被称为物理接口 协议是数据传输的规则 PS与PL连接方式主要是通过AXI总线进行的 ZYNQ上的总线协议有AXI4 AXI4 Lite
  • 拼多多服务器请求失败在手机上如何修复,拼多多登录不了怎么办?怎么解决?...

    其实很多人不知道 其实是可以在拼多多开店的 不仅可以拼团购物 也可以开店卖自己想卖的商品 不过拼多多平台服务器经常不太稳定 大家时常会碰见拼多多后台打不开 账号登录不了等情况 今天疯狂易购网小编就为大家介绍解决办法 一 拼多多后台打不开怎么
  • qt程序使用tcp连接,客户端退出后,再次重连服务器,一直出现close_wait状态,且无法再连接上

    百度了tcp的各个状态 看到了 CLOSE WAIT状态的原因与解决方法 转载留自己看 编程小生的专栏 CSDN博客 close wait 里面说的close wait的现象 主要原因是某种情况下对方关闭了socket链接 但是我方忙与读或
  • 深度学习实现缺陷检测

    深度学习实现缺陷检测 在工业生产过程中 缺陷检测是一个重要的环节 传统的缺陷检测方法通常依赖于人工提取特征和设计分类器 这种方式需要大量的人力和时间 并且对于复杂的缺陷类型可能不够有效 而深度学习技术通过利用神经网络自动学习特征和进行分类
  • Authing 正式发布应用集成网关 - Authing Gateway

    2023 年 2月 Authing 推出了身份领域的 PaaS化应用集成网关 Authing Gateway Authing Gateway 提供将原有应用快速集成到 Authing 身份云产品的能力 在扩充身份认证方式的同时 提高资源的安
  • 【OSGI】Error osgi xx Invalid value for DynamicImport-Package dynamic.import.pack

    1 背景 git下载项目 siddhi test suite 然后运行里面的测试类报错 Error osgi siddhi test suite Invalid value for DynamicImport Package dynamic
  • 计算机组成原理——存储器(一)

    存储器 一 一 存储器概述 二 存储器的分级结构 三 主存储器的技术指标 四 存储器与CPU的联系 地址总线 CPU与存储器的联系 编址方式 1 按字编址 M N 方式 2 按字节编址 五 SRAM存储器 cache 1 存储元基本结构 2
  • vue-element-admin 后台管理系统

    文章目录 前言 一 vue element admin 是什么 二 使用步骤 下载和部署 浏览模板项目代码 官网 启动 三 技术提炼 1 vue全家桶都有什么 2 vuex 什么时候用文件 什么时候直接写vue页面 导航守卫 3 组件之间的
  • 机器学习期末考试

    机器学习期末考试 一 机器学习链接 1 机器学习期末复习试卷 zhouyan2000的博客 CSDN博客 机器学习期末考试 2 机器学习笔试题 4条消息 机器学习笔试题目 北冥有小鱼 CSDN博客 机器学习题目 3 机器学习面试题 4 一天
  • 【Kubernetes理论篇】Kubernetes核心组件及资源介绍

    文章目录 一 Kubernetes架构 二 Kubernetes核心组件 三 Kubernetes核心资源 四 拓展 1 Service和Ingress的区别是什么 2 Replicaset和Deployment的区别是什么 3 Deplo
  • Flink 错误:找不到参数 evidence$ 的隐式值:TypeInformation 大数据

    Flink 是一个流处理和批处理框架 被广泛应用于大数据领域 在使用 Flink 进行开发时 有时会遇到各种各样的错误和异常 本文将详细介绍一种常见的错误情况 即在 Flink 中遇到的 No implicits found for par
  • Pycharm最新版如何设置自动换行

    1 代码编辑区自动换行 对所有文件有效 1 File gt Settings gt Editor gt General 2 找到Soft Wraps 勾选Soft wrap files 3 在输入框中添加 py 如下图所示 2 在图示位置点
  • 使用python和pyqt5轻松上手人脸识别系统(含代码)

    使用python和pyqt5轻松上手人脸识别系统 含代码 一 环境配置 1 1 python环境配置 1 1 1 安装 anaconda 1 1 2 安装pycharm 1 1 3 配置pip源 1 2 mysql数据库安装 1 3 相关依
  • Windows下,Eclipse的Android NDK(r8e) 配置

    一 关于NDK Android NDK全称 Native Development Kit 即本地开发包 1 NDK是一系列工具的集合 NDK提供了一系列的工具 这些工具对开发者的帮助是巨大的 它们能帮助开发者快速开发C 或C 的动态库 并能
  • windows怎么部署项目到云服务器

    要将项目部署到云服务器 可以按照以下步骤进行操作 1 在云服务提供商上创建一个云服务器实例 并确保已经将其配置和启动 2 在本地开发环境中将项目打包成可执行文件或者jar包 并确保项目能够正确运行 3 使用远程连接工具 如SSH RDP等
  • ctfshow萌新web17

    c传参过滤掉php 思路 include文件包含 利用日志文件包含 访问日志文件 c var log nginx access log 发现日志文件记录了user agent头 于是在该头中插入一句话木马 再访问日志文件 看日
  • AMBA总线协议AHB、APB、AXI对比分析

    一 AMBA概述 AMBA Advanced Microcontroller Bus Architecture 高级处理器总线架构 AHB Advanced High performance Bus 高级高性能总线 ASB Advanced