本章目录:

  • 前言
  • 一. 引入
  • 二. APB总览
    • 1. APB信号
    • 2. APB的读写时序图
      • 2.1 APB写操作的时序图
      • 2.2 APB读操作的时序图
  • 三. 地址映射关系
  • 四.实现方式
  • 五. 数据流向
  • 六. Apb到ahb的接口(读数据)
  • 声明
  • 下期预告:

前言

文章更新原则如下:当日微信公众号首发===>最早次日博客更新(取决于作者时间)

如果大家想看到第一手的文章请关注 微信公众号 “IC二舅” ,回复关键字有学习资料获取,并且可以一起进群讨论学习!!!

一. 引入

APB(Advanced Peripheral Bus) 作为高级外设总线是AMBA协议之一,也是最基本的总线协议。按照ARM官方定义,APB是一种低成本的接口协议,可以实现低功耗以及精简的接口设计,降低接口设计的复杂度。

APB协议不支持流水线设计,它主要应用在低带宽设计需求的接口中,高性能带宽需求可以使用AXI总线。APB协议的实现与时钟沿对齐,以简化外设接口的设计。每次传输至少需要消耗两个时钟周期。

在SOC设计中,APB一般作为IP的配置接口,其中包括低速外设如I2C,UART等,可以方便的实现CPU对外设IP的寄存器配置。系统中一般会实现一个AXI2APB或者AHB2APB的转换桥将APB口挂载在系统上。这里不讨论AXI,以AHB2APB为例:

二. APB总览

APB一般情况下只是一个Slave,如上图所示。APB中最重要的就是需要掌握以下几点:

  • a. APB有哪些信号?
  • b. APB的读写时序图?
  • c. AHB2APB的地址映射关系是什么?

1. APB信号


PCLK和PRESETn表示的是 Global 变量,不论在AHB还是APB中都有的,以下几个信号是APB的信号:

2. APB的读写时序图

2.1 APB写操作的时序图


完成一次传输需要两个Cycle,一是SETUP cycle,另一个是ENABLE cycle。首先PSEL信号拉高,此时的PENABLE拉低,此时数据已经开始写,但没完成!!!之后第二个周期,PENABLE拉高,完成一次传输。

2.2 APB读操作的时序图


读操作和写操作比较类似,可以参照写操作!!!

三. 地址映射关系


逐层传递,解码,储存,通过 两级Mapping(映射)的过程 完成地址映射!!!

四.实现方式

如何实现传输2个ahb的pipeline到两个时钟周期的timing呢?

答:apb通过实现状态机来实现该功能的。

五. 数据流向


APB Slave:左侧的输入信号是来自bridge的,输出只有一个,那就是读出来的数据送给AHB。

六. Apb到ahb的接口(读数据)


图中的小1表示地址线传输(从AHB向APB),此时PSEL拉高,PENABLE拉低,完成第一个周期,后来PENABLE拉高,完成第二个周期,此时的数据已完成 读取。

声明

本人所有系列的文章,仅供学习,不可商用,如有侵权,请告知,立删!!!

本人主要是记录学习过程,以供自己回头复习,再就是提供给后人参考,不喜勿喷!!!

如果觉得对你有用的话,记得点赞+收藏+评论!!!

全网各平台同名===> “IC二舅”

====================================================================

下期预告:

AMBA总线 之 AHB ,敬请期待!!!

【手撕AHB-APB Bridge】~ AMBA总线 之 APB相关推荐

  1. AMBA总线协议APB、AHB——学习笔记

    文章目录 前言 一.总线介绍 1.基本概念 2.典型AMBA系统 二.APB3(Advanced Peripheral Bus) 1.定义 2.信号 3.版本信息 4.信号传输时序图 4.1 状态机 ...

  2. 数字IC设计----AMBA总线协议(来自英文原版)

    第一章  AMBA总线介绍 1.AMBA总线协议总览 AMBA(Advanced Microcontroller Bus Architecture)总线协议是一种面向高性能嵌入式微控制器设计的片上联接 ...

  3. APB总线详解及手撕代码

    本文的参考资料为官方文档AMBA™3 APB Protocol specification 文档下载地址: https://pan.baidu.com/s/1Vsj4RdyCLan6jE-quAsEu ...

  4. AMBA总线协议AHB、APB

    一.什么是AMBA总线 AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-performance Bus).ASB (Advanced ...

  5. 深度解读AMBA、AHB、APB、AXI总线

    什么是AMBA? 现如今,集成电路芯片的规模越来越大.数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SoC设计中得到了广泛应用.在基于IP复用的SoC设计中,片上总线设计是最关键 ...

  6. AMBA总线协议(包含AHB与APB)

    文章目录 一.AMBA总线概述 二. AHB协议 2.1 AHB组成 2.2 AHB基本信号 2.3 AHB传输 2.3.1 AHB一次无需等待状态的简单传输 2.3.2 AHB需要两个等待周期的简单 ...

  7. AMBA、AHB、APB、AXI总线介绍和对比

    一.引出 研究STM32H7的总线系统,对AXI.AHB.APB.ASB有点兴趣,于是去简单了解了一下,总结如下: 说到AXI.AHB.APB.ASB就得先说AMBA(Advanced Microco ...

  8. AMBA、AHB、APB、AXI总线

    AMBA.AHB.APB总线 * AMBA (Advanced Microcontroller Bus Architecture) 高级微处理器总线架构 * AHB (Advanced High-pe ...

  9. AMBA总线概述——AHB、APB、AXI

    参考:https://blog.csdn.net/burningCky/article/details/109630018 https://blog.csdn.net/bleauchat/articl ...

最新文章

  1. 不要动态修改 DOM 里面的 id 属性
  2. Python__random库基本介绍
  3. 【Python基础】学习Python 一定要吃透这 5 个内置函数
  4. linux 核间通讯rpmsg架构分析
  5. 音视频技术在云会议场景的拓展和未来
  6. python继承属性_Python中的属性继承问题
  7. 联想微型计算机电脑黑屏怎么做系统,联想电脑黑屏怎么办,5种方法轻松排除黑屏故障...
  8. 罗小黑用flash做的_中影星美好看罗小黑战记正式定档!
  9. StringBuilder对象的常用方法 c#1614651638
  10. mysql不使用swapp的原因_SolidWorks不能使用的原因
  11. 每日英语:Do Bicycle Helmet Laws Really Make Riders Safer?
  12. 深度学习实践指南(二)—— 符号编程
  13. “红孩儿”成中科院博士!做CTO身价过亿!
  14. python extension_Python extension.Extension方法代碼示例
  15. 5福最多多少钱_2018支付宝集5福攻略介绍 一天内集齐不是没可能
  16. mysql 表锁 MDL锁 行锁
  17. list object has no attribute ZScan_书香家庭NO.31 | 成长路上飘书香
  18. 一个简单的用户登录界面
  19. ubuntu 20.04添加ubuntukylin源安装 应用的办法
  20. 【Introduction to Artificial Intelligence and Data Analytics】(TBC)

热门文章

  1. 深圳Linux运维培训:Linux文件时间
  2. unity使用摇杆控制物体移动
  3. js px转rem,简单版,注意不能修改ui框架的px
  4. 深圳有哪些学计算机的学校,深圳计算机专业学校
  5. 移相全桥的控制模型的建立和仿真
  6. 基于matlab人眼虹膜检测,基于matlab虹膜识别源程序
  7. crontab定时运行bash脚本,重启zeppelin
  8. python_获取网络(大华)摄像头画面,并存储为图片和视频
  9. 企业内部岗位晋升简历PPT模板
  10. 易航网址引导系统 - 一款极其优雅的网址引导系统+内置16套主题和防墙防举报插件