AMBA总线协议学习笔记——APB

AMBA总线协议学习笔记——APB

背景

APB2协议主要定义了基本的总线接口,没有握手协议,只有基本的读写传输。

APB3增加了PREADY,PSLVERR信号。PREADY用于表示APB传输的完成,可以实现slave的等待功能。PSLVERR用以指示slave的错误状态。

APB4增加了PPROT,PSTRB。PPROT信号实现安全和非安全的数据传输,可实现系统在不同安全属性的控制传输,保证系统的安全性。PSTRB信号用于实现部分数据的写操作,可以指示一笔传输中的一部分数据有效。

APB5增加了WAKEUP,USER,PAIRTY等信号。wake-up用于实现低功耗的控制,通过控制时钟只在传输的时候开启,减少动态功耗的消耗。user则增加了基本信号之后的用户自定义信号。parity主要针对安全系统设计中的保护功能。(APB5只是提一下,还没用过,不是很懂)
在这里插入图片描述

常用接口信号介绍

  1. PCLK:时钟,所有APB信号都是上升沿触发
  2. PRESETn:复位,低电平有效,通常直接与系统总线的复位信号相连(reset)
  3. PADDR:地址(读写共用),位宽一般设为32 bit或64 bit
  4. PSELx:有多个slave的情况下对其进行选择
  5. PENABLE:指示 APB 传输的第二个和后续周期。PENABLE在写操作周期结束后,会同PSEL一同拉低,除非又需要立即跟随下一次传输。
  6. PWRITE:高电平表示写,低电平表示读
  7. PWDATA:PWRITE为1时有效,表示写数据,可以是8,16 或32 bits wide.
  8. PRDATA:PWRITE为0时有效,表示读数据,可以是8,16 或32 bits wide.
    为了省电,地址信号和写信号、读信号在一次传输过后不会改变,直到下一次传输发生。
    PWDATA将在PENABLE的下个周期被驱动,PRDATA将在PENABLE的下个周期被采样。
  9. APB3中增加了PREADY ,使读写操作也由原来的基础传输多了有等待的传输。当PSEL和PENABLE都为高的时候,slave 把 PREADY拉低了,说明slave没有准备好,需要等待一段时间。
  10. APB3中还增加了PSLVERR,实现slave反馈给master error response的功能,使读写操作也由原来的基础传输多了有错误标志的传输。
    读取和写入事务都可能发生错误,使用pslverr来指示APB传输上的错误情况。当psel,penable和pready均为高电平时,仅在APB传输的最后一个周期内才认为pslverr有效,其他时间不考虑pslverr。
    若pslverr信号置高则表示此次传输失败,但并不表示此次写寄存器失败,寄存器的值还是可能跟新。如果是多数据,也并不意味着 rdata 全是0
  11. PPROT:通过控制总线上的访问权限来提供安全保护。共3bit,分别表示:
    在这里插入图片描述
    简言之,0位指示是普通还是特权,1位指示是安全还是非安全,2指示是数据还是指令。

PS
当任何一个PSEL, PENABLE或者PREADY为低时,可以将PSLVERR拉低,这是推荐,并不是强制要求。APB外围设备不要求必须支持PSLVERR引脚,当不使用该引脚时,应被置低。
13. PSTRB,写选通信号,可以使写数据总线上的数据片段化,即指示数据总线上那几个字节数据有效,使写数据总线上的稀疏数据传输成为可能。
由于数据位最大为32bit,即4个字节。因此PSTRB位宽为4位,每一位对应一个字节,设置为1时,指示该字节数据有效。需注意,在读操作中,PSTRB所有位必须设置为低电平
当置为高电平时,写选通脉冲指示写数据总线的相应字节通道包含有效信息。
写数据总线的每八位有一个写选通脉冲,因此 PSTRB [n] 对应于PWDATA [(8n + 7) : ( 8n)]
在这里插入图片描述

参考

[1]: AMBA总线协议的总结 - APB

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: AMBA(Advanced Microcontroller Bus Architecture)总线协议是由ARM(Advanced RISC Machines)公司开发的一种用于芯片之间通信的总线标准。AMBA总线协议官方文档是官方发布的关于AMBA总线协议的技术指南和规范文档。 AMBA总线协议官方文档详细介绍了AMBA总线的结构、信号定义、通信协议以及时序要求等重要内容。这个文档是设计人员在开发使用AMBA总线协议的芯片时的重要参考资料。 在AMBA总线协议官方文档中,首先介绍了AMBA总线的结构。AMBA总线由多个不同层次的总线构成,包括AMBA高级系统总线(AXI)、AMBA高级可选总线(AHB)和AMBA简化总线APB)。文档会详细描述各个总线之间的关系以及其功能特点。 其次,AMBA总线协议官方文档会具体列出每个信号的定义和用途。这些信号包括地址线、数据线、控制线等,用于在芯片之间传递指令、数据和控制信息。了解这些信号的定义和使用方法对于正确实现AMBA总线协议至关重要。 此外,AMBA总线协议官方文档还会详细讲解通信协议和时序要求。通信协议包括读写操作的具体要求、数据传输的流程等。时序要求则指定了每个信号在通信过程中的稳定时间和延迟要求,保证数据的正确传输。 总之,AMBA总线协议官方文档是学习和理解AMBA总线协议的重要指南。对于设计人员来说,仔细研读该文档能够确保正确实现AMBA总线协议,提高芯片的可靠性和性能。 ### 回答2: AMBA(Advanced Microcontroller Bus Architecture)总线协议是由ARM公司开发的一套用于芯片系统总线架构的开放式标准,旨在解决嵌入式系统中芯片之间的通信问题。AMBA总线协议官方文档提供了关于AMBA协议的详细说明和规范,帮助开发者在设计和实现AMBA总线协议的芯片系统时遵循标准。 AMBA总线协议官方文档主要包含以下内容: 1. AMBA总线架构:文档详细介绍了AMBA总线的整体架构,包括主控制器、从设备、总线信号、时序等方面的设计。 2. AMBA总线信号和时序:文档提供了AMBA总线中各个信号和时序的定义和要求,包括时钟信号、复位信号、读写信号、传输确认信号等等。 3. AMBA协议协同工作规范:文档说明了AMBA协议中各个组件之间的协同工作原则和要求,如主设备和从设备之间的通信规范、传输数据的规范等。 4. AMBA总线接口规范:文档详细定义了AMBA总线接口的相关规范,包括数据接收和发送的规范、错误处理机制的规范等。 5. AMBA总线配置和调试:文档提供了AMBA总线配置和调试的相关指导,包括如何设置总线的地址映射、访问权限、中断系统等。 总之,AMBA总线协议官方文档是开发者在设计和实现支持AMBA总线协议的芯片系统时必备的参考资料。文档提供了明确的规范和指导,帮助开发者按照标准化的方式进行设计和开发,确保系统之间的通信和协同工作的正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值