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. android开发之Parcelable使用详解
  2. linux c/c++ 原子操作库 atomic atomic_flag 简介
  3. UA OPTI501 电磁波5 电磁场的基本物理量:电磁场的源与电磁场的强度
  4. TObject简要说明-对象的创建流程
  5. Coolite(二)服务器端Alert,Confirm,Prompt
  6. 一些Cloud for Customer的客户需求
  7. 设计模式的Java 8 Lambda表达式-策略设计模式
  8. 放大缩小保证div对齐_NFS Write IO 不对齐深度分析
  9. 【算法分析与设计】浅析算法复杂度
  10. VMware16虚拟机怎么共享文件夹?
  11. 利用vw做rem适配(纯css)
  12. 学生签到系统c代码_手把手教你做一个Java web学生信息、选课、签到考勤、成绩管理系统附带完整源码及视频开发教程...
  13. android反编译干嘛,安卓反编译流程大解析 看完你就懂了!
  14. 你的性格是什么颜色的?乐嘉《性格色彩学》测试题
  15. 数字转换汉语中人民币的大写
  16. HDU_4585_Shaolin
  17. 3D 机器视觉应用并采用 DLP 技术的精确点云生成
  18. 如何通过调整,附加组件和移动应用程序来增强您的SABnzbd体验
  19. win764位loadrunner安装问题:提示:少了Microsoft Visual c++2005 sp1运行时组件,安装时会提示命令行选项语法错误,键入“命令/?”可获取帮肋信息,无法正常安装;
  20. 吴恩达授课,斯坦福CS230深度学习课程资源开放

热门文章

  1. Linux 如何添加一个 Swap 文件
  2. 3、Qt5 主窗口点击按钮 弹出另一个自定义窗口
  3. windows下ssh server搭建方法
  4. 7-36 大炮打蚊子(15 分)
  5. ENVI系列--安装扩展工具的两种方法
  6. LINUX IIO子系统分析之六 iio device的驱动开发流程说明
  7. @PostMapping和@GetMapping使用详解
  8. 计算机应用基础商娟叶,探究混合式学习在中职计算机基础教学中的设计与应用...
  9. polsarpro滤波后没有bmp文件_win10系统右键新建菜单中没有bmp如何解决
  10. 基于达梦V8使用dexpdp和dimpdp进行逻辑备份和恢复的使用