文章目录

  • 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协议详解相关推荐

  1. HTTP 2.0 协议详解

    HTTP 2.0 协议详解 一.HTTP 2.0:改进传输性能 HTTP 2.0 的主要目标是改进传输性能,实现低延迟和高吞吐量.从另一方面看,HTTP 的高层协议语义并不会因为这次版本升级而受影响. ...

  2. SOME/IP协议详解「2.0·服务化通信概述」

    SOME/IP协议详解「2.0·服务化通信概述」 点击返回雪云飞星的SOME/IP协议详解「总目录」 SOME/IP协议详解「2.0·服务化通信概述」 1 SOME/IP服务的组成 2 Method| ...

  3. MQTT协议详解及v5.0实践——实践类

    本文主要包含了以下内容: 1)MQTT协议演进历史及协议特点,总结和分析MQTT协议族的优缺点,分析和总结了为什么相比于其他协议,MQTT适合IoT,业内支持现状等. 2)阿里云IoT MQTT3和5 ...

  4. USB协议详解第0讲(系列博文介绍)

    目录 1.课程目标 2.简单介绍 3.课程大纲 1.课程目标 USB协议详解旨在为大家通俗理解USB通讯协议,我会带着大家一步一步理解USB通讯中的各种概念及通讯方式,并且会借助于USB Protoc ...

  5. HTTP协议详解(真的很经典)

    转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...

  6. Http 协议详解笔记

    HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1.0的第 ...

  7. Http协议 详解(转载)

    http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx 引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分 ...

  8. ARP协议详解之ARP动态与静态条目的生命周期

    ARP协议详解之ARP动态与静态条目的生命周期 ARP动态条目的生命周期 动态条目随时间推移自动添加和删除. q  每个动态ARP缓存条目默认的生命周期是两分钟.当超过两分钟,该条目会被删掉.所以,生 ...

  9. ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御

    ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3  ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...

最新文章

  1. python读数据-python数据读写
  2. txt文件分解为固定条数的文件
  3. oracle更改字段名顺序的方法
  4. Sql2008的行列转换之行转列
  5. opengl加载显示3D模型IFC类型文件
  6. CTime,Systemtime的比较还有转换成日期格式。
  7. MySQL修改字符集步骤(字段插入中文提示错误时解决办法)
  8. CSharp 如何OCR离线识别文本
  9. java数组的扩容,将两个数组合并成一个数组
  10. HTTP请求属性说明
  11. Android:制作Update.zip升级包 【转】
  12. 下轮“双一流”将有高校下车?教育部最新说法来了!
  13. 中原银行AI面试记录
  14. 优秀的测试工程师应该具备哪些素质
  15. 华为服务器怎么查看系统日志,云服务器怎么查看系统日志
  16. 你用过的每款APP都具有这一特点,但你却不知道……
  17. 开发8年的老Android才知道,赶紧收藏备战金三银四!
  18. 移动的帝国:日本移动互联网兴衰启示录
  19. 传奇微端配置不更新怎么办?
  20. 成功解决第nnnnnn次couldn't communicate with the NVIDIA driver后的方案总结

热门文章

  1. ubuntu14.04安装搜狗拼音输入法和卸载以及异常问题解决
  2. 黑龙江工业机器人夹爪_工业夹爪运用的意义
  3. HashMap的三种遍历方式
  4. 华为云服务器安装win10系统,云服务器 安装win10
  5. 洛谷 P3353【在你窗外闪耀的星星】
  6. 星星的故事、是陪你走在人海里、却不会让你走丢。
  7. 基于surf的特征点匹配C语言源码
  8. 怎样用计算机添加标题,如何在excel图表中添加标题 如何更改Excel图表中标题的字体...
  9. Java高级语言特性
  10. 信创电子档案管理系统软件单机版v3.0功能