AMBA协议(二) APB协议
APB(Advanced Peripheral Bus),从扩展名可以看出,其主要是用作访问外设(如UART,I2C,SPI等)的一类总线,功能也比较简单,一次只能发一笔读命令或者一笔写命令,不能burst传输。APB2.0的读写时序如下:
APB2.0写时序
APB2.0读写混合时序
每一笔读写命令均在两个cycle内完成,PSEL拉高是第一拍,PENABLE拉高是第二拍,如果没有后续操作,下一个cycle,PSEL和PENABLE均要拉低。master和slave之间不存在握手环节,即master不关注操作是否已经被slave执行。挂在总线上的slave IP必须满足这样的要求:
1、对于写操作,检测到PSEL拉高或者PENABLE拉高后需要把写数据和写地址采集下来,并且保证所有被采集下来的命令都会被执行;
2、对于读操作,在检测到PSEL拉高后必须将读地址采集下来,并在下一个cycle返回读数据,中间不能有延迟。
所有使用APB2.0的IP都必须满足以上两点要求,否则无法使用此协议。
除此之外还存在一个问题,即master无法得知此笔操作是否被slave正确执行了,例如你向slave的一个只读寄存器发了一笔写命令,很显然,这个操作是不会被slave执行的,但是master如果不通过一些其它操作是无法知晓这件事情的(怎样可以知晓呢,大家可以自己想一下)。
为了解决上述问题,APB3.0协议应运而生。
其实解决上述问题很简单,APB3.0里增加了两个信号PREADY和PSLVERR。
其中PREADY用于和master进行握手,即如果slave能及时接收并处理master的命令,则PREADY拉高同时执行命令即可,否则可以通过拉低PREADY信号告知master,自己目前还无法处理这笔命令,master看到PREADY为低后就得到了这一信息,相应地,其会一直保持总线上的命令信息不变且一直有效,直到slave能够接收并处理此命令为止。
除此之外slave还可以通过PSLVERR信号告知此笔命令是否被正确执行了,如果没有被正确执行,则拉高PSLVERR告知master有错误发生。
APB3.0协议下的读写时序如下:
APB3.0读写时序
上图中包含了两笔读命令RC0(read command 0)、RC1以及一笔写命令WC0,其中RC0和WC0均通过PREADY信号延迟了一拍,两笔命令均被执行成功;RC1没有延迟,但是slave返回了PSLVERR,来表明这笔读命令有错误发生。
可以看出虽然只增加了两个信号,但是协议的灵活性得到了大大的提升。
而且APB3.0可以向下兼容APB2.0,只需要将PREADY和PSLVERR信号分别tie为1和0即可。
AMBA协议(二) APB协议相关推荐
- AMBA协议介绍(1)——APB协议
系列文章目录 AMBA协议介绍(1)--APB协议 AMBA协议介绍(2)--AHB协议 AMBA协议介绍(3)--AXI协议 目录 AMBA协议介绍 AMBA协议介绍(1)--APB协议 前言 一. ...
- AMBA协议——APB协议
简介 AMBA(Advanced Microcontroller Bus Architecture) 总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,具有高速度低功耗等特点 ...
- AMBA协议之AXI协议——中文翻译
AMBA协议之AXI协议--中文翻译 本规范的编写是为了帮助那些想要熟悉高级微控制器总线架构(AMBA)和设计与AXI协议兼容的系统和模块的硬件和软件工程师. 文章目录 AMBA协议之AXI协议--中 ...
- APB协议及APB_Slave设计
一.APB协议 原文: 翻译: APB协议是一个低成本的接口,经过了优化,降低了功耗和接口复杂性.APB接口是简单,同步,无流水线的协议.每次传输花费至少两个周期完成. APB接口设计是为了访问外围设 ...
- AMBA总线—AHB总线协议详解
文章目录 一.AMBA总线介绍 1.1.AMBA发展史 1.2.典型的AMBA系统 二.AHB总线(宏观构造) 2.1.AHB总线组成 2.2.AHB总线组成互连 2.3.AHB操作概述 2.4.AH ...
- APB协议UVM验证环境的搭建
APB协议UVM验证环境的搭建 一.编译文件 只需编译这两个文件即可 apb_pkg.sv 里面包含了"apb.svh",即编译apb_pkg.sv这个文件的同时,也会编译所需要的 ...
- 存储基础知识二 主要协议SCSI、FC、iSCSI
一.SCSI SCSI是小型计算机系统接口(Small Computer System Interface)的简称,于1979首次提出,是为小型机研制的一种接口技术,现在已完全普及到了小型机,高低端服 ...
- 一篇文章带你熟悉 TCP/IP 协议(网络协议篇二)
涤生_Woo 2017年11月11日阅读 15544 关注 一篇文章带你熟悉 TCP/IP 协议(网络协议篇二) 同样的,本文篇幅也比较长,先来一张思维导图,带大家过一遍. 一图看完本文 一. 计算机 ...
- HTTP协议 (二) 基本认证
HTTP协议 (二) 基本认证 http协议是无状态的, 浏览器和web服务器之间可以通过cookie来身份识别. 桌面应用程序(比如新浪桌面客户端, skydrive客户端)跟Web服务器之间是如何 ...
- 实验十二 HTTP 协议分析实验
实验十二 HTTP 协议分析实验 1.HTTP 协议简介 HTTP是超文本传输协议 (Hyper Text Transfer Protocol)的缩写,用于WWW 服务. (1)HTTP的工作原理 H ...
最新文章
- usaco Healthy Holsteins
- 直播APP常用动画效果
- 使用JavaScript在文本框中的Enter键上触发按钮单击
- [SCOI 2010]传送带
- Java开发人员的十大戒律
- HashMap 中的一个“坑”!
- div+css 单行或者多行超出文本,数字,字母长度自动省略
- 机器学习-吴恩达-笔记-8-支持向量机
- 【完全开源】博客园客户端UWP版(上篇)
- NOIP模拟赛20161016R1
- Android屏幕尺寸详解
- java队列和栈 共同_java 栈和队列的模拟--java
- CentOS 5 全功能WWW服务器搭建全教程 V3.0 【转】
- ACTION_DATE_CHANGED不响应
- 【转】Foobar 2000设置replay gain
- 08蚂蚁-互联网安全架构——1.XSS攻击,SQL注入攻击,Http请求防盗链,CSRF请求攻击,忘记密码暴力破解,上传文件漏洞
- 基于一定微信生态的小程序是否反之又形成了微信互联网?
- Minecraft空岛服开服
- AMD公司2020财年第三季度收益电话会议
- 不看你就亏了,最新最全的腾讯,阿里、百度、美团等大厂都在用的Redis实战