0.AMBA总线概括

AMBA AHB 总线协议介绍请点击以下链接:

  1. AMBA总线协议(二)一文看懂AMBA2 AHB2与AMBA3 AHB-Lite总线协议的区别
  2. AMBA总线协议(三)——一文看懂AHB总线所有协议总结(AHB2 & AHB-Lite & AHB5 )
  3. AMBA总线协议(四)——Multi-Layer AHB System (多层AHB总线架构)

AMBA(Advanced Microcontroller Bus Architecture) 总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,具有高速度低功耗等特点。

系统芯片中各个模块之间需要有接口来连接;
总线作为子系统之间共享的通信链路;

其优点:低成本,方便易用
缺点:容易有性能瓶颈
AMBA总线的发展历史:

AMBA 1.0 : ASB, APB
AMBA 2.0 : AHB, ASB, APB
AMBA 3.0 : AMBA Advanced eXiensibele Interface (AXI)
AMBA 4.0 : ...

AMBA总线体系包括以下三种总线:

  1. AHB:Advanced High-performance Bus,用于高性能、高时钟工作频率模块。
  2. ASB:Advanced System Bus,用于高性能系统模块。
  3. APB:Advanced Peripheral Bus,用于慢速外设模块。

下面给出一个典型的AMBA系统:

以一个SOC系统架构设计为例:

从AHB/ASB总线到APB总线需要通过 桥接器(Bridge) 进行互联。

1.APB总线介绍

应用于慢速外设,如UART、键盘等,不需要AHB总线体系中的Arbiter与Decoder。
Arbiter为仲裁器,决定哪个Master工作。Decoder为译码器,决定Master与哪个Slave进行数据传输。

1.1 接口主要信号
可以看出,APB总线接口主要有 系统信号,地址信号,方向信号,数据信号,传输阶段控制信号

2.APB总线传输介绍(时序部分)

2.1 状态机


从状态机看,APB对每一笔数据的传送,均需花 2 个周期的时间,且 APB 的数据传递不适用在有流水线架构的模块设计

2.2 写操作

下图表示APB基本的写操作

  1. 在 T1 时,有限状态机进入预设的 IDLE 状态
  2. 在 T2 时,数据地址、读写控制信号和写入的数据会在频率正沿触发时,开始作写的数据传递准备,这个周期也就是刚才所提及SETUP状态。译码电路在此状态会根据数据地址去译码出所要写入APB Slave,此时所对应到 S 的 PSEL 信号将由 0 变 1;
  3. 在 T3 时,有限状态机会进入 ENABLE 状态,PENABLE 信号在此状态会被设成 1;
  4. 在 T4 频率正沿触发时,PENABLE 信号将由 1 变 0,而 PSEL 信号在若没有其它数据的写入动作时,也将由 1 变 0。为了减少功率的消耗,APB 的数据地址和读写控制信号在下一笔数据传递前,将不会作任何改变。

2.3 读操作

由图中可发现除了写信号是倒过来有效外,APB 读操作时序图和写操作时序图非常相似,在这里我们就不再作详细的解释。
要特别注意的是,在 T3 后,也就是在进入 ENABLE 周期后,APB 从必须要将 M 所要读取的数据准备好,以便 M 可以在 ENABLE 周期末被 T4 正时钟沿触发时正确的将数据读取。

3.APB到AHB的接口

3.1读操作


在频率很高的情况下,在ENABLE CYCLE中可能数据不能够直接映射到AHB总线,需要在APB桥中在T4的时候打一下锁住,并在T5的时候才被AHB主采样。虽然需要多一个等待周期(一共2个,HREADY反压两拍),但是由于频率提升了因此总的性能也提升了。
  T1:在 AHB 总线开始传送;
  T2:地址被 APB 总线采样。如果该传送是针对外设的话,这个地址就会被译码成选择信号发往外设。T2就是 AHB 的SETUP CYCLE。
  T3:APB 的 ENALBE CYCLE,PENABLE 拉高,数据被读出。
  T4:读出的数据直接映射到 AHB 总线上,在上升沿被 AHB 主采样。

3.2 写操作


APB总线上的单块数据写操作不需要等待周期。APB桥的责任是对地址和数据进行采样,并在写操作的过程中保持它们的值。
  T1:AHB 开始作数据地址和读写控制信号的传递(HADDR 和 HWRITE)
  T2:APB bridge 栓取住 AHB 送来的数据地址及读写控制信号,同时进入到 APB 有限状态机的 ENABLE状态
  T3~:其后的读和写动作跟之前所介绍的 APB 读写动作一模一样,在这里我们不再加以详述。
下图是突发写传输时序图:

虽然第一个传输可以零状态等待状态玩抽,但之后到外设总线的传输将为每个传输的执行要求一个等待状态。
APB桥中需要有 2 个地址寄存器,当处理一个数据块写操作时,可以寄存下一个数据块的地址。

3.3 背靠背操作

下图给出了背靠背传输的时序,分别写,读,写,读


如果写操作之后跟随着读操作,那么需要 3 个等待周期来完成读操作。通常的情况下,不会有读操作之后紧跟着写操作的发生,因为两者之间 CPU 会进行指令读取。

AMBA总线协议(一)——一文看懂APB总线协议相关推荐

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

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

  2. can总线rollingcounter_一文看懂CAN总线

    前言 CAN总线的应用在现在看来越来越广泛,我厂设备从最初的ARM9与ARM7平台.期间升级过度到CortexA8与Cortex M3平台,再到现在的Cortex M4平台,围绕CAN进行了一系列产品 ...

  3. 一文看懂EtherCAT总线控制

    大家好,我是华山自控编程的朱老师.今天给大家介绍一种前沿的运动控制技术--EtherCAT总线控制.作为近年来非常受欢迎的一种运动控制方式, 那么EtherCAT总线控制究竟有哪些优势呢?我主要列举以 ...

  4. 一文看懂嵌入式总线技术,ISA总线最流行?

    http://www.21ic.com/app/rf/201702/702829.htm [导读] 总线基础总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,按照 ...

  5. 如何看懂串口通讯协议_一文看懂PLC的通讯方式——AB系统(一)

    写在前面 一直以来,PLC跟其他设备的通讯方式都是自动化工程师入门学习的难点和要点.说它难,因为这里面牵扯到了数据通讯的一些知识,大多数从事PLC工作的人员都是从电气.电子.自动化.机电等相关专业出身 ...

  6. 一文看懂计算机网络五层协议+各层网络协议大全

    目录 一.通用五层协议体系 5. 应用层 4. 运输层 3. 网络层 2. 数据链路层 1. 物理层 二.各层之间的传递过程 三.TCP/IP体系结构 四.网络协议大全(各种属于哪一层) 五.举例:R ...

  7. 《SOC芯片研究框架》深度科普,发展趋势、技术特点、产业链一文看懂

    片上系统SoC(System on Chip),即在一块芯片上集成一整个信息处理系统,简单来说 SoC芯片是在中央处理器CPU的基础上扩展音视频功能和专用接口的超大规模集成电路,是智能设备的" ...

  8. 【燃】是时候展现真正的实力了!一文看懂2022华为开发者大赛技术亮点

    摘要:2022华为开发者大赛备赛攻略,超详细的开发技术要点介绍来了. 本文分享自华为云社区<[燃]是时候展现真正的实力了!一文看懂2022华为开发者大赛技术亮点>,作者:华为云社区精选 . ...

  9. 怎么看电脑系统是win几_一文看懂arm架构和x86架构有什么区别

    一文看懂arm架构和x86架构有什么区别 本文主要介绍的是arm架构和x86架构的区别,首先介绍了ARM架构图,其次介绍了x86架构图,最后从性能.扩展能力.操作系统的兼容性.软件开发的方便性及可使用 ...

最新文章

  1. 400 多行代码!超详细 Rasa 中文聊天机器人开发指南 | 原力计划
  2. ine.strip().split()
  3. 图片上传时即时生成多个缩略图
  4. 发送邮件时,如何附带上中文等价名信息
  5. php架在底部页面,页脚始终保持在页面底部的网页布局方法
  6. 滑动窗口法LeetCode
  7. mysql视频第一课_MYSQL 第一课
  8. ModuleNotFoundError: No module named ‘exceptions‘
  9. 安卓程序代写 网上程序代写[原]Android开发技巧--ListView
  10. 一个Android健身APP源码(类似KEEP、FEEL、轻+、减约、薄荷等)
  11. sas主板服务器安装系统,自带SAS存储 华硕P6T WS PRO工作站主板
  12. excel表格内怎么换行的教程
  13. jQuery用DOM遍历实现商城结算系统
  14. 【7gyy】cdma无线通讯上使用的技术
  15. planetarium - 在你的网站上构建交互式宇宙星球动画
  16. greenplum安装方法详解
  17. react脚手架创建项目报错,ReactDOM.render is no longer supported in React 18.
  18. SAP维护币种间汇率前的币种间的汇况比例维护实例
  19. 将字母转换为数字A-Z转换为1-26
  20. 快递地址写错了怎么办?快宝地址清洗(PHP示例)

热门文章

  1. FANUC机器人启动方式RSR和PNS的区别
  2. 加入立人图书馆的十本必读书
  3. 文字游戏编程作业-----王明哲
  4. BZOJ4716 假摔
  5. Github标星超级牛,免费又好用的Redis客户端工具!
  6. WPS文字给字体添加纹理效果快速改变输入文字的颜色
  7. 计算机应用数字多媒体,多媒体技术基础计算机应用专业系列教材 主讲:薛文涛【精品-ppt】.ppt...
  8. 香港免费空间和美国免费空间需要实名认证吗?
  9. Windows mobile PPC 下利用 tmail.exe 发送短信、彩信、邮件
  10. 一表在手网页无忧, 万能填表数据文件一份