AMBA协议——APB协议
简介
AMBA(Advanced Microcontroller Bus Architecture) 总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,具有高速度低功耗等特点。
系统芯片中各个模块之间需要有接口来连接;
总线作为子系统之间共享的通信链路;
其优点:低成本,方便易用
缺点:容易有性能瓶颈
一、APB协议
APB2 :AMBA 2 APB
APB3 :AMBA 3 APB,比 APB2 多两个信号(PREADY , PSLVERR)
APB4 :AMBA 4 APB,比 APB3 多两个信号(PPROT , PSTRB )
(可参考原文链接:https://blog.csdn.net/qq_43244515/article/details/124968189)
APB(Advanced Peripheral Bus),高级外设总线。APB总线协议是ARM公司提出的AMBA总线结构之一,是一种片上总线结构。从AHB/ASB总线到APB总线需要通过 桥接器(Bridge) 进行互联。
APB主要用于低带宽的周边外设之间的连接,例如UART、IIC等,它的总线架构不像AHB支持多个主模块,在APB里面没有仲裁器,APB 桥是唯一的主模块。其特点:
(1)低带宽;高性能;
(2)非流水作业,至少需要两个时钟周期传输,且数据均在时钟上升沿变化;
(3)无需等待周期和回应信号;
(4)控制逻辑简单,只有四个控制信号,且APB上的传输可采用状态机表示。
二、APB总线介绍
应用于慢速外设,如UART、键盘等,不需要AHB总线体系中的Arbiter与Decoder。
Arbiter为仲裁器,决定哪个Master工作。Decoder为译码器,决定Master与哪个Slave进行数据传输。
2.1 接口主要信号
(下图为APB3接口,即为APB2+PREADY信号+PSLVERR信号)
2.2 APB总线传输介绍(时序部分)
2.2.1状态机
从状态机看,APB对每一笔数据的传送,均需花 2 个周期的时间,且 APB 的数据传递不适用在有流水线架构的模块设计中。
2.2.2 APB2 写操作
下图表示APB基本的写操作
在 T1 时,有限状态机进入预设的 IDLE 状态;
在 T2 时,数据地址、读写控制信号和写入的数据会在频率正沿触发时,开始作写的数据传递准备,这个周期也就是刚才所提及SETUP状态。译码电路在此状态会根据数据地址去译码出所要写入APB Slave,此时所对应到 S 的 PSEL 信号将由 0 变 1;
在 T3 时,有限状态机会进入 ENABLE 状态,PENABLE 信号在此状态会被设成 1;
在 T4 频率正沿触发时,PENABLE 信号将由 1 变 0,而 PSEL 信号在若没有其它数据的写入动作时,也将由 1 变 0。为了减少功率的消耗,APB 的数据地址和读写控制信号在下一笔数据传递前,将不会作任何改变。
2.2.3 APB2 读操作
由图中可发现除了写信号是倒过来有效外,APB 读操作时序图和写操作时序图非常相似,在这里我们就不再作详细的解释。
要特别注意的是,在 T3 后,也就是在进入 ENABLE 周期后,APB 从必须要将 M 所要读取的数据准备好,以便 M 可以在 ENABLE 周期末被 T4 正时钟沿触发时正确的将数据读取。
2.2.5 APB3 写操作
- 在T0~T1阶段,所有总线处于IDLE状态。
- 在T1~T2阶段,第一个时钟周期,处在Setup phase状态。T1时刻,PADDR、PWRITE、PWDATA变化,PSEL拉高,即Master把这些数据发送到总线上。
- 在T2~T3阶段,第二个时钟周期,处在Access phase状态。T2时刻,这个时候对应的Slave接收到Master发送过来的地址和写控制命令,此时Slave得知Master要准备发数据过来了,做好准备。
- T3时刻,采到 PENABLE 为高电平,但是 PREADY 为低电平,表示Master数据还没准备好。
- T5时刻,采到 PENABLE & PREADY 为高电平,表示Master在这一时刻之前一次写操作已经完成,Master回到IDLE状态,而Slave把数据取走。
2.2.5 APB3 读操作
- 在T0~T1阶段,所有总线处于IDLE状态。
- 在T1~T2阶段,第一个时钟周期,处在Setup phase状态。T1时刻,PADDR、PWRITE、PWDATA变化,PSEL拉高,即Master把这些数据发送到总线上。
- 在T2~T3阶段,第二个时钟周期,处在Access phase状态。T2时刻,这个时候对应的Slave接收到Master发送过来的地址和读控制命令,此时Slave得知自己要将这个地址反馈给Master了。
- T3时刻,采到 PENABLE 为高电平,但是 PREADY 为低电平,表示Slave数据还没准备好。
- T5时刻,采到 PENABLE & PREADY 为高电平,表示Master这一时刻之前一次读操作已经完成,Master回到IDLE状态。
2.2.5 APB4 读写操作
三、APB总线介绍
3.1 Function descripton
apb桥实现了将上游的数据转换成AMBA 3 APB协议发送出去,并接收读到的数据。
3.2 Interface description
- 系统工作时钟50Mhz,异步复位。
- 采用 APB3 协议标准,无需错误指示。
- cmd_i,56bit;[55:48]:r/w;[48:32]:paddr;[31:0]:pwdata。
参考文献:
https://blog.csdn.net/qq_43244515/article/details/124968189
https://blog.csdn.net/vivid117/article/details/107511746
AMBA协议——APB协议相关推荐
- AMBA协议—APB协议2.0/3.0
1.APB 2.0 1.1APB 2信号列表 这里需要区分Master和Slave的区别,Master是总机,Slave是从机,一个总机下可以有n个从机,所有的数据传输都是master来控制的,sla ...
- 05【Verilog实战】AMBA 3 APB接口设计(附源码RTL/TB)
官方手册:点击下载 脚 本:makefile 工 具:vcs & verdi 写在前面 这个专栏的内容记录的是个人学习过程,博文中贴出来的代码是调试前的代码,方便bug重现. 调试后的程序 ...
- AMBA协议介绍(1)——APB协议
系列文章目录 AMBA协议介绍(1)--APB协议 AMBA协议介绍(2)--AHB协议 AMBA协议介绍(3)--AXI协议 目录 AMBA协议介绍 AMBA协议介绍(1)--APB协议 前言 一. ...
- AMBA总线---APB总线协议
APB(Advanced Peripheral Bus)是AMBA总线体系的一部分.相较于AMBA总线体系中的其他总线,APB总线具有低功耗,低复杂度的特征.APB总线主要应用于对性能要求不太高的低带 ...
- 【读书笔记】AMBA 2 AHB、AMBA 3 AHB(AHB_Lite)和AMBA 5 AHB协议比较
1.牛客算是一个Verilog宝藏刷题网站了,网站提供在线仿真环境,不用自己找题(点击直达),<刷题记录>专栏,持续打卡中- 2.官方手册:AMBA系列官方协议规范文档,点击下载 更详细的 ...
- [AMBA]AHB总线协议简介
AHB总线协议简介 一.简介 AHB 总线规范是AMBA总线规范的一部分,AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-perfor ...
- APB协议及APB_Slave设计
一.APB协议 原文: 翻译: APB协议是一个低成本的接口,经过了优化,降低了功耗和接口复杂性.APB接口是简单,同步,无流水线的协议.每次传输花费至少两个周期完成. APB接口设计是为了访问外围设 ...
- APB协议UVM验证环境的搭建
APB协议UVM验证环境的搭建 一.编译文件 只需编译这两个文件即可 apb_pkg.sv 里面包含了"apb.svh",即编译apb_pkg.sv这个文件的同时,也会编译所需要的 ...
- 浅析AMBA规范以及AMBA 5 AHB接口和AMBA 3 APB接口
官方文档: ARM® AMBA® 5 AHB Protocol.pdf AMBA™ 3 APB Protocol.pdf Multi-layer AHB.pdf 一.AMBA简介 1.AMBA (Ad ...
最新文章
- 你在过度测试你的软件吗?
- 网络编程(原始套接字)
- IDC 和浪潮联合发布了《2020-2021 中国人工智能计算力发展评估报告 》
- 为什么不懂技术的人可以做产品经理?
- sock 文件方式控制宿主机_docker的容器可视化工具portainer
- 90. php 命名空间
- 穿越迷宫的函数c语言,数据结构课外实践题库(26页)-原创力文档
- 国内外知名PT站点最全汇总,含各站内截图及站点链接【转载】
- CTF题库实验吧 py的交易
- 微服务架构开发实战:什么是微服务的熔断机制和熔断的意义
- Micron:DDR2 SDRAM与SODIMM
- SpringBoot2学习笔记
- Java对Excel表格的操作
- 深入剖析优惠券核心架构设计
- CGB2105-Day03
- 硅谷归来,七大感触——You Only Live Once
- 前嗅ForeSpider教程:采集360问答
- 技术 | 关于整流电路总结
- (二)快速图像风格转换
- Lightroom Classic 12.0下载安装教程LRc12.0一键下载安装
热门文章
- 【历史上的今天】8 月 13 日:甲骨文起诉谷歌;微软发布 IE3
- HTTP里的MIME 什么是MIME?
- 【森林SOU】BT搜索神器
- 汇编课设(电子钢琴:源代码)
- 校招季到来,你可能需要这一份求职作战计划!
- 一文读懂澳洲医疗:白菜价的药物怎么领?
- MySQL拼接函数使用介绍
- 用vmware player 16 虚拟机共享网络
- ARMv7-A,ARMv7-R和ARMv7-M之间有什么区别?
- python从excel读彩票数据统计分析,用matplotlib.pyplot做可视图在程序窗口显示,并可动态切换Canvas的可视图,窗口里还添加了菜单和Button按钮工具栏,按钮换图