APB3.0协议详解
文章目录
- 1.协议详解
- 1.1协议发展
- 1.2master与slave区别
- 2.APB3.0端口列表
- 3.读写时序
- 1.写数据无等待
- 2.写数据有等待
- 3.读数据无等待
- 4.读数据有等待
1.协议详解
APB接口用在低带宽和不需要高性能总线的外围设备上。 APB是非流水线结构,所有的信号仅与时钟上升沿相关,这样就可以简化APB外围设备的设计流程,每个传输至少耗用两个周期。APB可以与AMBA高级高性能总线(AHB-Lite) 和AMBA 高级可扩展接口 (AXI)连接;
APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。其特性包括:两个时钟周期传输;无需等待周期和回应信号;控制逻辑简单,只有四个控制信号。
1.1协议发展
协议已经从APB2.0发展到现在的APB4.0。具体区别如下;
APB2.0 :该版本协议定义基本的接口信号(具体可见端口信号章节,删除APB3.0有的接口就行);
APB3.0:增加信号PREADY用以指示slave准备好数据,增加信号PSLAVERR代表传输错误;
APB4.0:增加信号PROT保护类型,增加信号PSTRB来支持byte级的访问;
需要注意的是高版本是向下兼容低版本的;如APB4.0里面是拥有APB3.0里所有的特点的;
1.2master与slave区别
对于apb中master与slave之间的关系;可以这么理解,apb作为一捆线(端口列表里面就是一根根线),连接master与slave,如下图;
中间两个箭头就是APB的内容;master主动发起一次操作,slave配合master完成一次传输,还是可以认为slave作为内存,master来这边取东西;
2.APB3.0端口列表
信号名 | 来源 | 作用说明 |
---|---|---|
pclk | 时钟源 | 系统时钟,上升沿触发 |
presetn | 复位源 | 复位信号,低有效复位 |
paddr | master | 读写地址 |
psel | master | 选择信号,只有在该位为高的slave才会进行读写 |
penable | master | 读操作下,指示master可接受数据;写操作下,指示写数据有效 |
pwrite | master | 读写信号,高为写,低为读 |
pwdata | master | 写数据 |
pready(apb3.0加的) | slave | slave是否已经发送读数据到master,或获取到master的写数据; |
prdata | slave | slave读数据 |
pslverr(apb3.0加的) | slave | 错误信号,代表了发生了故障,如地址错误等 |
一般来说apb信号都是以p开头的一组信号;
3.读写时序
1.写数据无等待
解释如下:
在第2拍master将写地址(paddr),写指示信号(pwrite),写数据(pwdata)等信号发送给slave,第3拍slave返回pready信号,代表已经将写数据存下;
2.写数据有等待
解释如下;
第一拍于无等待的一致,在第二拍由于slave没有做好接受写数据的准备,所以将pready置底,此时master需要保持总线信号(paddr/pwdata/psel/pwrite/penable)待到slave给出pready,slave成功接收数据,后方可释放总线;
3.读数据无等待
第2拍master给出指示,第3拍slave将数据返回到总线,并给出pready代表读数据已经返回,总线可以进行下一次传输;
4.读数据有等待
同无等待操作;
中间插入等待时序,master需保持相关信号不变,等到slave侧成功返回数据已经pready信号后方可释放总线;
slaverr、pstrb、pprot信号一般是不用的,这里就不提了;多说几句,psel信号的存在是因为在系统中可能存在许多外设拥有相同的apb总线,此时我们的master侧为了能确保apb的读写操作只发送给特定的一个外设,所以加入了这个信号;
APB3.0协议详解相关推荐
- HTTP 2.0 协议详解
HTTP 2.0 协议详解 一.HTTP 2.0:改进传输性能 HTTP 2.0 的主要目标是改进传输性能,实现低延迟和高吞吐量.从另一方面看,HTTP 的高层协议语义并不会因为这次版本升级而受影响. ...
- SOME/IP协议详解「2.0·服务化通信概述」
SOME/IP协议详解「2.0·服务化通信概述」 点击返回雪云飞星的SOME/IP协议详解「总目录」 SOME/IP协议详解「2.0·服务化通信概述」 1 SOME/IP服务的组成 2 Method| ...
- MQTT协议详解及v5.0实践——实践类
本文主要包含了以下内容: 1)MQTT协议演进历史及协议特点,总结和分析MQTT协议族的优缺点,分析和总结了为什么相比于其他协议,MQTT适合IoT,业内支持现状等. 2)阿里云IoT MQTT3和5 ...
- USB协议详解第0讲(系列博文介绍)
目录 1.课程目标 2.简单介绍 3.课程大纲 1.课程目标 USB协议详解旨在为大家通俗理解USB通讯协议,我会带着大家一步一步理解USB通讯中的各种概念及通讯方式,并且会借助于USB Protoc ...
- HTTP协议详解(真的很经典)
转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...
- Http 协议详解笔记
HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1.0的第 ...
- Http协议 详解(转载)
http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx 引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分 ...
- ARP协议详解之ARP动态与静态条目的生命周期
ARP协议详解之ARP动态与静态条目的生命周期 ARP动态条目的生命周期 动态条目随时间推移自动添加和删除. q 每个动态ARP缓存条目默认的生命周期是两分钟.当超过两分钟,该条目会被删掉.所以,生 ...
- ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御
ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3 ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...
最新文章
- python读数据-python数据读写
- txt文件分解为固定条数的文件
- oracle更改字段名顺序的方法
- Sql2008的行列转换之行转列
- opengl加载显示3D模型IFC类型文件
- CTime,Systemtime的比较还有转换成日期格式。
- MySQL修改字符集步骤(字段插入中文提示错误时解决办法)
- CSharp 如何OCR离线识别文本
- java数组的扩容,将两个数组合并成一个数组
- HTTP请求属性说明
- Android:制作Update.zip升级包 【转】
- 下轮“双一流”将有高校下车?教育部最新说法来了!
- 中原银行AI面试记录
- 优秀的测试工程师应该具备哪些素质
- 华为服务器怎么查看系统日志,云服务器怎么查看系统日志
- 你用过的每款APP都具有这一特点,但你却不知道……
- 开发8年的老Android才知道,赶紧收藏备战金三银四!
- 移动的帝国:日本移动互联网兴衰启示录
- 传奇微端配置不更新怎么办?
- 成功解决第nnnnnn次couldn't communicate with the NVIDIA driver后的方案总结