专栏首页根究FPGAAMBA之AHB总线学习笔记

AMBA之AHB总线学习笔记

AHB同是由ARM提出的总线规范,全称为Advanced High Performance Bus,高级高性能总线(高性能、高速时钟),主要用于高速模块(如CPU、DMA、DSP)之间的连接,作为SoC的片上系统总线,它包括以下特性:

(1)、单个时钟边沿操作

(2)、非三态的实现方式

(3)、支持突发传输

(4)、支持分段传输

(5)、支持多个总线主机master(最多16个)

(6)、可配置32~128为总线宽度

(7)、支持字节、半字和字的传输

典型的应用如ARM核与内部高速RAM、NAND FLASH、DMA、Bridge的连接,相比于APB,AHB增加了地址周期和数据周期。AHB总线系统包括主设备Master、从设备Slave、内部仲裁器、译码器和地址/数据多路控制器构成,如下图所示:

AHP系统特性为

1、主设备发起一次读/写操作,某一时刻只允许一个主设备使用总线。

2、从设备响应一次读写操作,通过地址映射选择使用哪一个从设备。

3、任意时刻仅允许一个主设备控制总线 4、译码器通过地址译码决定选择使用哪一个从设备。

仲裁机制:

仲裁机制保证了任意时刻只有一个master可以接入总线,arbiter决定哪个发出接入请求的master可以接入总线,这通过优先级算法实现,AHB规范并没有给出优先级算法,设计者需要根据具体的系统要求定义。

一般情况下arbiter不会中断一个burst传输,将总线接入权让给其他master。未定义长度的burst是可以打断的,这需要看优先级算法是如何让规定的,如果一笔burst被打断,master再度获得接入权限时,会传递剩余的部分。如一笔长度为INCR8的传输在传输3beat后打断,master再次获得接入权限后,会传输剩余的5beat,剩余部分可以由一个SINGLE和一个INCR4组成,或者一个INCR(次数不限的递增burst传输)。

地址译码器:

地址译码器用于为总线上每个slave提供选择信号HSELx,选择信号是通过组合逻辑对地址译码产生的,片选(chipselect)相应的slave,使slave采样地址和控制信号。每个slave最小的地址空间是为1K,所有的master的burst传输上限也是1KB,如此设计保证不会出现地址越界问题。

基本信号描述:

HADDR[31:0]:32位系统地址总线

HTRANS[1:0]:指示tranfer类型,NONSEQ、SEQ、IDLE、BUSY

HWRITE:1写0读

HSIZE[2:0]:传输单位,指示每一transfer的大小,

HBURST[2:0]:传输的burst类型

HWDATA:写数据总线,从master’写到slave

HREADY:Slave应答Master读写操作是否完成,1:传输完成,0:延长传输周期。

HRDATA:读数据总线,将数据从slave读到Master。

HPROT[3:0]:由master发出,作为保护控制信号,一般不用

HBUSREQx:由master发出,给仲裁器的获取总线使用权的请求信号。

HRESP[1:0]应答信号

00:OKAY

01:ERROR

10:RETRY 传输未完成,请求主设备重新开始一个传输,arbiter会继续使用通常的优先级

11:SPLIT 传输未完成,请求主设备分离一次传输,arbiter会调整优先级方案以便其他请求总线的主设备可以访问总线。

AHB仲裁信号:

8种类型的传输模式:HBURST[2:0]用于决定选择哪种传输模式,对应的传输模式类型如下图所示:

需要注意的是:

1、 AHB的所有操作,都要求给出的地址是对齐的

2、 对于同一burst来说,每次数据的宽度都是一样的

本来还想写一点传输时序分析,有点晚了,大家可以参考网上的诸多资料,十分有趣,以后有时间再写,还想写一点DDR3与HDMI的小问题的,留作以后更新的动力吧!

Night~

- END -

本文分享自微信公众号 - 根究FPGA(gh_08b5d93f8fa5),作者:叫什么好呢啊

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • AMBA之APB总线学习笔记

    APB、AHB、AXI AMBA(Advanced Micro-controller Bus Architecture)用于芯片内各个部件的互联,包含三种类型总...

    根究FPGA
  • AMBA (Advanced Microcontroller Bus Architecture) 高级微控制器总线架构

    AMBA (Advanced Microcontroller Bus Architecture) 高级微控制器总线架构

    FPGA开源工作室
  • 带你认识一下 ARM Cortex-M 阵营

    笔者接触嵌入式领域软件开发已近五年,几乎用的都是 ARM Cortex M 内核系列的微控制器。在这五年期间,感谢 C 语言编译器的存在,让我不用接触汇编即可进...

    wenzid
  • AXI协议详解-AMBA总线协议AHB、APB、AXI对比分析

    在基于IP复用的SoC设计中,片上总线设计是最关键的问题。为此,业界出现了很多片上总线标准。其中,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC...

    碎碎思
  • AMBA、AHB、APB、AXI总线介绍及对比

    AMBA (Advanced Microcontroller Bus Architecture) 高级微处理器总线架构

    数字芯片社区
  • AMBA-APB总线介绍

    高级外设总线 (APB) 是高级微控制器总线架构 (AMBA) 协议系列的一部分。它定义了一个低成本接口,该接口针对最低功耗和降低的接口复杂性进行了优化。

    FPGA开源工作室
  • 【STM32H7教程】第3章 STM32H7整体把控

    学习一款新的芯片,需要优先了解一下它的整体功能设计。需要的资料主要是来自官网和数据手册,比如我们V7开发板使用的STM32H743XIH6,直接在官方地址:链接...

    armfly
  • AMBA AHB面试题连载(二)

    在一个Burst 传输中的任何一拍,slave返回非OKAY响应之后Bursts 传输可以提前终止,或者仲裁器将HGRANT给其他master。但是请注意,除非...

    AsicWonder
  • AMBA AHB面试题连载(七)

    以四拍传输大小为4字节的wrapping burst传输为例(共传输16字节)。如果传输的起始地址是0x30,则burst传输的四次地址为0x30、0x34、0...

    AsicWonder
  • 总线

    总线是CPU与存储器和设备通信的机制,是计算机各部分之间传送数据、地址和控制信息的公共通道。 按照相对于CPU的位置来划分,总线可分为片内总线和片外总线。片内总...

    233333
  • apollo系列之apollo2 mcu开发(基础篇)之1.2-apollo2 mcu core

    查看本文全部文章请点击:apollo系列之apollo2 mcu开发(基础篇)之1.2-apollo2 mcu core

    心跳包
  • apollo系列之apollo2 mcu开发(基础篇)之1.2-apollo2 mcu core

    查看本文全部文章请点击:apollo系列之apollo2 mcu开发(基础篇)之1.2-apollo2 mcu core

    心跳包
  • Xilinx FPGA AXI4总线(一)介绍【AXI4】【AXI4-Lite】【AXI-Stream】

    (3)自定义一个 AXI-Lite 的 IP 作为从机设备 Slave,并将其挂载到 AXI Interconnect 上,由 ZYNQ 的 PS 侧作为主机来...

    FPGA探索者
  • 【集创赛】基于arm处理器的SOC设计【1】

    【前言】这两年连续参加过两年的“全国大学生集成电路创新创业大赛”(简称“集创赛”),今年的初赛预选结果前几天刚刚公布,果不其然,不出所料,顺利晋级。

    数字积木
  • FPGA系统性学习笔记连载_Day4 Xilinx ZYNQ7000系列 PS、PL、AXI 、启动流程基本概念篇

    本系列为FPGA系统性学习学员学习笔记整理分享,如有学习或者购买开发板意向,可加交流群联系群主。

    FPGA技术江湖
  • 【集创赛】arm杯国奖作品推荐--技术文档!

    “基于 ARM Cortex-M3 处理器与 FPGA 的实时人脸检测 SOC”的概述请看《基于 ARM Cortex-M3 处理器与 FPGA 的实时人脸检测...

    数字积木
  • AXI协议

    AXI(Advanced eXtensible Interface)是一种总协议,该协议是ARM公司提出的AMBA(Advanced Microcontrol...

    瓜大三哥
  • AHB学习笔记1.AHB概述2.AHB信号3.AHB传输4.控制信号

    1.AHB概述 AHB总线是一种专为高性能同步传输设计的总线,层次高于APB总线,支持以下特性: 突发传输 拆分事务 主设备单时钟周期传输 单时钟沿操作 非三态...

    月见樽
  • FPGA Xilinx Zynq 系列(二十一)Zynq 片上系统概述之接口

    今天给大侠带来FPGA Xilinx Zynq 系列第二十一篇,Zynq 片上系统概述之接口等相关内容,本篇内容目录简介如下:

    FPGA技术江湖

扫码关注云+社区

领取腾讯云代金券