APB协议

协议版本:AMBA APB Protocol Version Specification2.0
官方协议网站:https://developer.arm.com/docs

1. 介绍 Introduction

APB(Advance Peripheral Bus)是AMBA(Advanced Microcontroller Bus Architecture)协议的一部分,其规定了一个低功耗、低复杂度的接口;APB协议不支持流水线操作,可与低带宽外设连接;信号转换发生在时钟上升沿,每次传输消耗至少两个周期。

  • Advanced Peripheral Bus(APB, 先进外设总线)
  • 低功耗,接口简单,
  • 非流水线
  • 每次传输至少两个周期
  • 主要用于低速、功耗低的外设

2. 信号描述 Signal Descriotions

在这里插入图片描述

SignalSourceDescription
PCLKClock Source时钟信号,上升沿
PRESETnSystem bus equivalent复位信号,低电平有效
PADDRAPB Bridge地址总线,最高32bits
PSELxAPB BridgeSlave选择信号
PEANBLEAPB Bridge使能信号,表明进入传输的第二阶段或下一阶段传输
PWRITEAPB Bridge读写标志,读(0),写(1)
PWDATAAPB Bridge写数据,当PWRITE为HIGH时被外设驱动,最高32bits
PRDATASlave interface读数据,最高32bits
PREADYSlave interface传输完成标志
PSLVERRSlave interface传输失败标志
PPROTAPB BridgeProtection type, 该信号指明事务保护等级是norma、privileged或secure;事务是数据传输还是指令传输
PSTRBAPB BridgeWrite strobes,指示在写入传输期间要更新哪些字节通道

APB具有两个独立数据总线,一个是读数据、一个是写数据;总线可达32bit位宽;因为二者不具有独立的握手信号,两数据总线上的数据传输不能在同一时刻发生。


3. 传输 Transfers

3.1 写操作

3.1.1 无等待 With no wait states

在这里插入图片描述

  • T1时刻,PADDR、PWRITE、PSEL、PWDATA在上升沿PCLK被驱动,该阶段被称为写传输的Setup phase
  • T2时刻,在PCLK上升沿,使能PENABLE和PREADY
  • 当PENABLE信号被置位时,表明Accesss phase开始
  • 当PREADY被置位时,表明Slave可进行下一个上升沿的传输
  • 直到T3时刻,Access phase阶段结束,PADDR、PWDATA和控制信号都保持不变
  • PENABLE信号在传输结束后置0;
  • 对于PSEL信号,除非该处传输后立即在相同外设传输,否则置0

3.1.2 有等待 with wait states

在Access phase阶段,当PENABLE信号为HIGH时,Slave可将PREADY置LOW来延长传输。
当PREADY为LOW时,以下信号需保持不变:PADDR、PWRITE、PSEL、PENABLE、PWDATA、PSTRB、PPROT。

在这里插入图片描述

3.2 Write strobes

PSTRB,在写数据总线上传输稀疏数据;每个PSTRB对应一个字节写数据;当置HIGH时,表明所对应的字节存在有效数据。RSTRB[n]对应PWDATA[(8n+7):(8n)]。读操作时,PSTRB全部置LOW
在这里插入图片描述

3.3 写操作

3.3.1 无等待 with no wait states

在这里插入图片描述

3.3.2 有等待 with wait states

PREADY为LOW,PADDR、PWRITE、PSEL、PENABLE和PPROT保持不变
在这里插入图片描述

3.4 Error response

  • PSLVERR,APB传输错误条件,在读、写操作中都可产生
  • PSLVERR只在APB传输中最后的cycle(Access phase, PSEL=1,PENABLE=1,PREADY=1)中有效
  • 建议在未对PSLVER LOW进行采样时, 即当PSEL、PENABLE或PREADY中的任何一个为LOW时,将其驱动。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.5 Protection unit support

PPROT[2:0]信号提供针对非法transaction的保护
有三级
在这里插入图片描述

4. 操作状态

在这里插入图片描述
IDLE:APB的默认状态
SETUP:当总线需要传输时,移至该状态,该状态仅保持一个周期
ACCESS:PEABLE信号置位,address、write、select、write data信号在SETUP到ACCESS转换阶段保持不变

从ACCESS退出由PREADY控制
如果PREADY保持LOW,就保持ACCESS状态
如果PREADY置HIGH,就立即转换到IDLE状态;如果还有传输就直接转换到SETUP状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值