AHB-APB总线协议

文章目录

  • AHB-APB总线协议
  • 一、AHB-APB总线介绍
  • 二、AHB总线设备
    • 1、AHB主设备(master)
    • 2、AHB从设备(slave)
    • 3、AHB仲裁器(arbiter)
    • 4、AHB译码器(decoder)
    • 5、AHB2APB桥(bridge)
  • 三、基本AHB信号及传输过程
    • 1、AHB接口信号
    • 2、APB接口信号
    • 3、AHB 仲裁器信号
    • 4、地址译码
    • 5、传输过程
  • 附:总线协议实现(AHB_Lite)

一、AHB-APB总线介绍

AHB(Advanced High-performance Bus)高速总线,接高速master,APB(Advanced Peripheral Bus)外设总线,用来接低速slave,一个master可以有多个slave,AHB和APB之间通过一个AHB2APB桥转接。AHB总线强大之处在于它可以将微控制器(CPU)、高带宽的片上RAM、高带宽的外部存储器接口、DMA总线控制器,以及各种AHB接口的控制器等连接起来构成一个独立的完整SOC系统。

二、AHB总线设备

AHB主要有四个模块:主设备AHB master、从设备AHB slave、仲裁器arbiter、译码器decoder
AHB与APB通过AHB2APB桥进行信号传输,AHB总线互联如下图

1、AHB主设备(master)

初始化一次读/写操作
在同一时刻只能允许一个主设备使用总线
可接多个外设如DMA、DSP、CPU、片上RAM等

2、AHB从设备(slave)

响应一次读/写操作
通过地址映射来选择使用哪一个从设备,且仅有选中的从设备响应地址/控制信号
接外部存储器控制器、APB桥、UART接口

3、AHB仲裁器(arbiter)

允许某一个主设备控制总线

4、AHB译码器(decoder)

通过地址译码来决定选择哪一个从设备

5、AHB2APB桥(bridge)

可以锁存所有地址、数据、控制信号
通过二级译码来产生APB从设备选择信号

三、基本AHB信号及传输过程

1、AHB接口信号

AHB接口如下图:

HCLK:总线时钟
HRESETn:总线复位,低电平有效
HADDR[31:0]:32位系统地址总线
HWDATA[31:0]:写数据总线,从主设备到从设备
HRDATA[31:0]:读数据总线,从从设备到主设备
HTRANS[1:0]:指出当前传输类型
HSIZE[2:0]:指出传输大小
HBURST[2:0]:指出传输burst类型
HRESP[1:0]:从设备发给主设备的总线传输状态
HREADY:为1从设备指出传输结束,为0从设备需延长传输周期
HSELx:选择从设备

2、APB接口信号

3、AHB 仲裁器信号

4、地址译码

·由地址译码器来提供选择信号
·且一个从设备应至少占用1kb存储空间
·在从设备中需要一个额外的缺省从设备来映射其他的存储地址
地址译码框图如下:

5、传输过程

传输类型由HTRANS信号指出,分四种类型:
IDLE、BUSY、NONSEQ、SEQ

IDLE:主设备占用总线,但没进行传输,两次burst传输中间主设备可发IDLE
BUSY:主设备占用总线,但在burst传输过程中还没有准备好下一次传输,一次burst传输中间主设备可发BUSY
NOSEQ:表明一次单个数据的传输或一次burst传输的第一个数据,地址和控制信号与上一次传输无关
SEQ:表面burst传输下来的数据,地址和上一次传输地址相关

AHB在传输过程中分两个传输阶段,第一个阶段为地址周期(AD),第二个阶段为数据周期(DP)。地址周期只有一个有效周期,数据周期由HBURST信号决定需要几个有效周期。传输过程中先传输有效地址周期,后传输有效数据周期。AHB协议后一次突发传输必须在前次传输完成才能进行。

附:总线协议实现(AHB_Lite)

这里放一个笔者实现的AHB_Lite总线协议,设计实现请参考文档:AHB_Lite总线协议及实现
链接: https://blog.csdn.net/yueqiu693/article/details/119849052.

AHB-APB总线协议相关推荐

  1. AMBA总线---APB总线协议

    APB(Advanced Peripheral Bus)是AMBA总线体系的一部分.相较于AMBA总线体系中的其他总线,APB总线具有低功耗,低复杂度的特征.APB总线主要应用于对性能要求不太高的低带 ...

  2. AMBA总线协议 之 APB总线协议

    AMBA总线协议概念: AMBA(Advanced Microcontroller Bus Architecture) 总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,具有 ...

  3. AMBA APB总线协议(APB4)

    一.APB总线介绍 APB总线是ARM公司早期推出的一款用于设备通信的分时独占总线,目前主要用于慢速外设的寄存器配置总线.APB总线结构简单.接口信号少,可以带来更低的资源和功耗,在目前主流SoC设计 ...

  4. AMBA总线协议(一)——一文看懂APB总线协议

    0.AMBA总线概括 AMBA AHB 总线协议介绍请点击以下链接: AMBA总线协议(二)一文看懂AMBA2 AHB2与AMBA3 AHB-Lite总线协议的区别 AMBA总线协议(三)--一文看懂 ...

  5. 数字IC设计入门篇:APB总线协议学习心得

    声明:本文章是本人学习AMBA  APB协议的一些个人理解,仅用于学习交流之用.本人学习APB协议时参考的是ARM公司官方的APB协议技术规范文档(编号:IHI0024D).受限于本人的知识水平,本文 ...

  6. AMBA总线—APB总线协议详解

    文章目录 一.APB总线介绍 1.1.什么是APB总线 1.2.典型的基于 AMBA 总线的系统架构 1.3.APB信号列表(重点) 二.APB总线传输(时序) 2.1.APB 状态机 2.2.写操作 ...

  7. (6)APB总线协议——(官方文档阅读APB3.0)

    第一章:简介 1.1APB3介绍 低速总线协议 时钟上升沿采样,每次数据传输需要两个时钟周期 可与AHB/AXI接口连接 第二章:数据传输 2.1写传输 2.1.1无等待状态 分析: 写传输从地址.写 ...

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

    一.AMBA概述 AMBA (Advanced Microcontroller Bus Architecture) 高级处理器总线架构 AHB (Advanced High-performance B ...

  9. AMBA总线协议的学习-AHB,ASB,APB三种总线以及AXI接口

    一.AMBA概述 AMBA (Advanced Microcontroller Bus Architecture) 高级处理器总线架构 AHB (Advanced High-performance B ...

  10. AMBA总线协议(三)——一文看懂AHB总线所有协议总结(AHB2 AHB-Lite AHB5 )

    AMBA AHB 总线协议介绍请点击以下链接: AMBA总线协议(一)--一文看懂APB总线协议 AMBA总线协议(二)一文看懂AMBA2 AHB2与AMBA3 AHB-Lite总线协议的区别 AMB ...

最新文章

  1. SPI 的主模式和从模式
  2. Eclipse里Java项目设置Java编辑器版本的位置
  3. 发了篇paper,双非二本的她直博浙大
  4. 亲身经历之微信支付沙箱环境扫码支付遇到的那些坑
  5. OpenCV辅助对象(help objects)(4)_Exception
  6. linux 内核定时器精度_高精度时钟工作机制简介
  7. Pandas Period
  8. sqlserver openrowset mysql_sqlserver连接mysql
  9. 2.6 相对和绝对路径 2.7 cd命令 2.8 创建和删除目录mkdir/rmdir 2.9 rm命令
  10. java day62【 响应数据和结果视图 、 SpringMVC 实现文件上传 、 SpringMVC 中的异常处理 、 SpringMVC 中的拦截器 】...
  11. vijos1053 用spfa判断是否存在负环
  12. 马克维茨组合matlab,马克维茨投资组合模型的matlab计算.pdf
  13. 计算机专业就业方向与前景以及你所要具备的技能(本科生)
  14. DEV gridview数据筛选
  15. 计算机中浮点数的表示,浮点数在计算机中的表示
  16. RTD2785T RTD2785R 2K eDP屏驱动芯片介绍
  17. 程序员是怎么安排电脑桌面的
  18. 程导微编MikroElektronika.Compilers.and.Software.Tools.2017.09 11CD
  19. 联通无线猫3G转换WiFi是不是鸡肋?
  20. 硬盘测试工具 CrystalDiskMark和Crystaldiskinfo

热门文章

  1. 纯shell实现文本替换
  2. java基于微信小程序的培训机构报名作业管理系统 uniapp 小程序
  3. 一起自学SLAM算法:8.1 Gmapping算法
  4. libcef-JavaScript与C++通信-原理与实现-文档原文
  5. 无约束优化:线搜索最速下降
  6. cf1239C (接热水)
  7. 计算机程序中的堆和栈的区别,内存中的堆与栈(stack)和栈的区别
  8. Parameter 0 of method linkDiscoverers in org.springframework.hateoas.config.HateoasConfiguration
  9. 如何知道当前路由从哪个路由跳过来?(vue)
  10. Android自带人脸识别