问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

APB总线总结

创作时间:
作者:
@小白创作中心

APB总线总结

引用
1
来源
1.
https://www.cnblogs.com/HiDark/p/18412864

APB(Advanced Peripheral Bus)总线是ARM公司提出的一种低功耗、低带宽的外围设备总线,主要用于连接低速外设。本文将详细介绍APB总线的信号列表、传输方式、写掩码、读传输、错误响应、保护机制支持以及操作状态等内容。

一、简介

APB提供了一个低功耗的接口,并降低了接口的复杂性。APB接口用在低带宽和不需要高性能总线的外围设备上。APB是非流水线结构,所有的信号仅与时钟上升沿相关,这样就可以简化APB外围设备的设计流程,每个传输至少耗用两个周期。

二、信号列表

信号名
来源
描述
PCLK
时钟源
时钟
PRESETn
系统
复位,低有效
PADDR
APB桥
地址总线,最大32位
PSELx
APB桥
选择
PENABLE
APB桥
使能,该信号指示APB的第二个周期及以后的阶段
PWRITE
APB桥
读写方向,高为写,低为读
PWDATA
APB桥
写数据,最高32位
PSTRB
APB桥
写掩码,PSTRB[n]对应PWDATA[(8n + 7):(8n)]。读传输不必
PPROT
APB桥
保护类型。有normal,privileged,secure三种保护类型
PREADY
从机
准备。从设备利用该信号进行拓展APB传输
PRDATA
从机
读数据,最高32位
PSLVERR
从机
传输失败

三、传输

3.1 写传输

写传输有两种,一种等待模式,一种非等待模式

3.1.1 非等待模式

T1时刻为设置阶段。选择信号
PSEL
置位,意味着
PADDR

PWRITE

PWDATA
有效。

T2时刻为访问阶段。当
PENABLE
被置位后,表示传输进行中。
PREADY
标志传输完成。在传输完成前,
PADDR

PWDATA
以及其他控制信号必须保持稳定。

传输结束后,如果没有紧接着对该外设的下次传输,则
PENABLE
拉低,
PSEL
也拉低。

3.1.2 等待模式

等待模式展示了从设备如何利用
PREADY
信号延长传输。在访问阶段,当
PENABLE
为高电平时,可以通过驱动 PREADY 为低电平来延长传输。以下信号在附加循环中保持不变:
PADDR
PWRITE
PSEL
PWDATA
PENABLE


PENABLE
低电平时,
PREADY
可以取任何值。这确保了固定两周期访问的外设可以将 PREADY 连接到高电平。Note:建议在传输后不要立即更改地址和写入信号,而是保持稳定直到发生另一次访问。这降低了功耗。

3.2 写掩码

高有效,一位对应一个字节

3.3 读传输

读也分两种,等待模式和非等待模式。

3.3.1 非等待模式

类似写传输。从设备必须在读取传输结束之前提供数据。

3.3.2 等待模式

类似写传输,
以下信号在附加循环中保持不变:
PADDR
PWRITE
PSEL
PENABLE
(比写传输少了一个
WDATA
)。

3.4 错误响应

可以使用
PSLVERR
来指示 APB 传输的错误情况。读取和写入事务都可能发生错误情况。
PSLVERR
仅在 APB 传输的最后一个周期内有效,此时
PSEL

PENABLE

PREADY
均为高电平。 建议(但不是必须)在未采样时将
PSLVERR
驱动为低电平。即当
PSEL

PENABLE

PREADY
中的任何一个为低时。收到错误的事务可能会也可能不会改变外围设备的状态。这是特定于外设的,两者都可以接受。

当写事务收到错误时,这并不意味着外设内的寄存器尚未更新。收到错误的读取事务可能会返回无效数据,对于读取错误,外设不需要将数据总线驱动为全0。

APB 外设不需要支持 PSLVERR 引脚。如果外设不包括该引脚,则APB桥的相应输入被连接到低电平。

3.4.1 写错误

3.4.2 读错误

3.4.3 PSLVERR映射

当不同协议桥接时,
从AXI到APB: PSLVERR -> RRESP读/BRESP写
从AHB到APB: PSLVERR -> HRESP

3.5 保护机制支持

为了支持复杂的系统设计,系统中的互连和其他设备通常需要针对非法传输的保护机制。APB由
PPROT[2:0]
支持。

PPROT
保护
描述
备注
PPROT[0]
normal或privileged
privileged等级更高
低为normal,高为privileged
PPROT[1]
secure或non-secure
提供需求更大的保护等级区分度
低为secure,高为non-secure
PPROT[2]
data或instruction
指示类型,但仅作为提示,不一定准确
低为data,高为non-instruction

提示:PPROT的主要用途是作为安全和非安全传输的指示。使用PPROT[2]和PPROT[0]的不同解释是可以自定义的。

四、操作状态

状态机通过以下状态运行:

  1. IDLE :APB 的初始状态。
  2. SETUP :当需要传输时,总线进入 SETUP 状态,此时相应的选择信号
    PSELx
    被置位。总线只在一个时钟周期内保持在 SETUP 状态,并且总是在时钟的下一个上升沿移动到 ACCESS 状态。
  3. ACCESS :使能信号
    PENABLE
    在 ACCESS 状态下有效。地址、写、选择和写数据信号在从 SETUP 到 ACCESS 状态的转换期间必须保持稳定。退出 ACCESS 状态由从机的
    PREADY
    信号控制:
  • 如果
    PREADY
    被从设备保持为低电平,则外围总线保持在ACCESS状态。
  • 如果
    PREADY
    被从设备驱动为高电平,则退出 ACCESS 状态,如果不需要更多传输,则总线返回 IDLE 状态。或者,如果另一个传输紧随其后,则总线直接移动到 SETUP 状态。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号