APB 3

news2024/10/5 20:23:01

一. APB3概述

        APB协议是AMBA总线协议系列的一部分,其接口简单、功耗较低,常用于连接低带宽的高性能外设,每次数据传输至少需要两个时钟周期,且无法同时进行读写操作

        APB作为系统中的从机,可以通过AHB、AHB-Lite、AXI、AXI4-Lite与系统总线相连。可以使用APB协议来访问外围设备的可编程控制寄存器。

        相较于APB2,APB3新增了两个信号——PREADY、PSLVERR。

二. APB3接口信号

信号信号源信号描述
PCLK时钟信号时钟信号,上升沿有效
PRESETn系统总线复位信号,通常与系统总线复位链接,低电平有效
PADDRAPB桥地址总线,最高达32bit
PSELxAPB桥表示从属设备数据传输的选择信号,高电平有效
PENABLEAPB桥使能信号,表示APB传输的第二个及随后的周期,高电平有效
PWRITEAPB桥读写信号,高电平为写,低电平为读
PWDATAAPB桥写入数据,最高达32bit
PRDATA从机接口读取数据,最高达32bit
PREADY从机接口准备信号,从机使用该信号延长APB的数据传输周期,高电平有效
PSLVERR从机接口传输失败指示信号,不强制要求,高电平有效

        APB协议有两个独立的数据总线,一个用于读取数据,另一个用于写数据。总线最高达32位宽。因为总线没有各自的握手信号,所以不可能同时在两个总线上进行数据传输。

三. 操作状态

IDLEAPB默认状态
SETUP

当需要进行数据传输时,对应设备的PSELx信号拉高,总线进入设置状态。

设置状态只会保持一个时钟周期

ACCESS

PSELx信号拉高的下个时钟周期,PENABLE信号拉高,总线进入访问状态。

此时PADDR、PWRITE、PSELx、PWDATA信号必须保持稳定。

若PREADY信号保持为低,外围总线一直保持访问状态;

若PREADY信号为高,下个周期将退出访问状态;

四. 写数据

时序说明:

(1)T0时刻,PSEL信号为低电平,APB总线处于IDLE状态;

(2)T1时刻,PSEL信号拉高,进入SETUP状态,PADDR、PWRITE、PWDATA准备就绪;

(3)T2时刻,PENABLE信号拉高,进入ACCESS状态,但由于此时PREADY信号为低,总线保持在ACCESS状态;

(4)T3时刻,PREADY信号拉高,标志着下个时钟上升沿到来之前,数据传输完成;此时PSLVERR信号为高,标志着该笔写入数据有误;

注:

  • 数据传输完成后,PENABLE信号拉低,PSEL信号根据是否继续传输而定;
  • 当PENABLE信号为低时,PREADY信号可以为任意值;
  • 建议直到下次数据传输前,不更改PADDR和PWRITE信号的值,可以降低功耗;
  • 当PSEL、PENABLE和PREADY均为高电平时,PSLVERR信号才有效;

五. 读数据

        读数据的时序与写数据基本一致,区别仅为PRDATA无需再SETUP阶段准备就绪,不晚于PREADY状态有效即可; 

六. PSLVERR映射

  • AXI-APB

写错误会映射到BRESP[1],读错误会映射到RRESP[1]。

  • AHB-APB

 读写错误均会被映射到HRESP[0]。

APB协议下载地址:Documentation – Arm Developer

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/745410.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RPC分布式网络通信框架(二)—— moduo网络解析

文章目录 一、框架通信原理二、框架初始化框架初始化 三、调用端(客户端)调用端框架调用端主程序 四、提供端(服务器)提供端主程序提供端框架NotifyService方法Run方法muduo库的优点网络代码RpcProvider::OnConnection业务代码Rpc…

go 爬虫速度控制

go 爬虫速度控制 使用go语言用原生net/http写爬虫如何优雅的控制并发和请求速度控制并发限流并发和限流的区别简单说明有了并发控制为什么还要限流 最总代码 使用go语言用原生net/http写爬虫如何优雅的控制并发和请求速度 go程序的执行效率相对python要快的多,且占…

如何在半年内找到理想的数据库内核开发工作?

学习和提升技能:着重学习数据库原理、数据结构、算法和数据库内核开发相关的知识。掌握SQL语言和数据库设计,了解常见的数据库系统和底层技术。参加培训、在线课程或自学,不断提升自己的技术能力。 我这里刚好有嵌入式、单片机、plc的资料需…

三、CAS认证流程

一、相关概念 TGC(Ticket-granting cookie):存放用户身份认证的cookie,在浏览器和CAS server用来明确用户身份的凭证;ST(Service Ticket):CAS服务器通过浏览器分发给客户端服务器的票据,一个特定服务只能有一个唯一的…

微信小程序开发学习之页面导航(声明式导航和编程式导航)

微信小程序之页面导航(声明式导航和编程式导航) 1.0 页面导航1.1. 声明式导航1.1.1. 导航到tabBar页面1.1.2. 导航到非tabBar页面1.1.3. 后退导航 1.2. 编程式导航1.2.1. 导航到tabBar页面1.2.2. 导航到非tabBar页面1.2.3. 后退导航 1.3. 导航传参1.3.1.…

手把手教你用 NebulaGraph AI 全家桶跑图算法

前段时间 NebulaGraph 3.5.0 发布,whitewum 吴老师建议我把前段时间 NebulaGraph 社区里开启的新项目 ng_ai 公开给大家。 所以,就有了这个系列文章,本文是该系列的开篇之作。 ng_ai 是什么 ng_ai 的全名是:Nebulagraph AI Sui…

安装RabbitMQ 详细步骤

我这里是在Linux系统里面安装的按照步骤即可 1. 安装Socat🍉 在线安装依赖环境: yum install gcc yum install socat yum install openssl yum install openssl-devel2. 安装Erlang🍉 去官网下载一下安装包,将安装包拉到Linux系…

苹果APP安装包ipa如何安装在手机上

苹果APP的安装比安卓复杂且困难,很多人不知道如何将ipa文件安装到手机上。以下是几种苹果APP安装在iOS设备的方式,供大家参考。 一、上架App Store 这是最正规的方式。虽然审核过程复杂、时间较长,且审核条件较为苛刻,但借助第三…

【UE C++】蓝图调用C++函数

目录 一、蓝图调用其继承的C类的函数 二、蓝图调用全局C函数 一、蓝图调用其继承的C类的函数 首先新建一个C类 父类选择“Actor” 这里命名为“MyActorFromC”,然后点击创建类,等待编译完成。 在头文件中申明函数 UFUNCTION(BlueprintCallable, Categ…

list分段截取方法

对list 分段截取方法是一个常见的操作,通常用于对list数据批量操作,常见的场景有返回分页展示数据,对大数据进行分批次插入数据库等 package com.hmdp.dto;import org.apache.commons.collections4.ListUtils; import org.springframework.u…

Golang学习——string和slice切片

Golang学习——string和slice切片 string整数存储字符存储Unicode存储变长编码规则字符串类型变量的结构字符串变量的修改方式 slice通过make的方式定义变量new底层数组slice扩容规则1.预估扩容后的容量newCap2.newCap个元素需多大内存3.匹配到合适的内存规格练习 string 整数…

如何进行高效的日程管理?

在日程安排逐渐增多的现代职场中,如果想要高效完成工作事项,就必须做好每天的日常管理。但是有不少上班族表示自己在做日程管理时往往感到力不从心,很难做到真正有效的管理自己的日程安排,那么问如何进行高效的日程管理呢&#xf…

利用Python数据挖掘技术深入理解股票回撤的本质

股票回撤是投资者关注的一个重要指标,也是进行风险评估和投资决策的必要依据。通过利用Python数据挖掘技术深入理解股票回撤的本质,可以更加准确地评估风险和制定投资策略。 一、什么是股票回撤 股票回撤是指股票价格在上涨过程中出现暂时的下跌&#…

2023开放式蓝牙耳机推荐,开放式耳机如何选购?十五款开放式耳机一文看到底!

最近发现网上很多小伙伴在挑选开放式蓝牙耳机,也看到很多开放式耳机的评测文章,五花八门,各式各样,导致很多小伙伴想挑选一款好用的开放式耳机,却又怕踩雷! 那么问题来了!怎样选择一款合适的开…

代码随想录二刷 day48 |动态规划之 198打家劫舍 213打家劫舍II 337打家劫舍III

day48 198.打家劫舍1.确定dp数组(dp table)以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp数组 213.打家劫舍II情况一:考虑不包含首尾元素情况二:考虑包含首元素,不包含尾元素情况三&…

在培训班里学技术,真的有用吗?

在培训班里学技术,真的有用吗? 😇博主简介:我是一名正在攻读研究生学位的人工智能专业学生,我可以为计算机、人工智能相关本科生和研究生提供排忧解惑的服务。如果您有任何问题或困惑,欢迎随时来交流哦&…

打印机从0到入门

一.连接 1.USB连接方式 2.网络打印服务器连接方式 使用打印服务器可以将不能联网的打印机设置为同一网段下的主机均可使用,有的打印服务器也可跨网段连接。 二.共享 不同终端处于同个网络下,主机网络通信通过WIFI连接(打印机连接的主机通…

2023最新 Navicat 16.2.3 安装和试用教程详解

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

四个按键控制led的四种变化(按键控制led)(附源码)

文章目录 一、实验任务二、系统框图三、代码实现四、引脚分配五、总结 一、实验任务 使用开发板上的四个按键控制四个LED灯。按下不同的按键时,四个LED灯显示不同效果。本实验是在EP4CE6F17C8开发板上实现,仿真请用modelsim Altera 二、系统框图 三、代…

23 分页控件

文章目录 界面设置初始化主对话框子页面初始化 页面1枚举窗口页面2枚举进程全部代码 界面设置 ui 设置 >创建CTablCtrl > 创建页控件(子窗口),style设置成为chlid 添加类 页面中加入listCtrl 控件 添加变量 分别添加初始化函数 初始化…