zoukankan      html  css  js  c++  java
  • APB总线

    APB(Advance Peripheral Bus)是AMBA总线的一部分,从1998年第一版至今共有3个版本。

    AMBA 2 APB Specfication:定义最基本的信号interface, 读写transfer, APB bridge, APB slave.

    AMBA 3 APB:增加定义信号PREADY, PSLVERR来完成对wait state和Error reporting的功能。

    AMBA 4 APB:增加定义信号PPROT, PSTRB来支持secure, supervisor和sparse data transfer的功能。

    APB主要用在低速的IP接口上,协议简单,时钟clock也比较低,power较小。

    APB总线中的信号:

    PSELx:由APB bridge产生的信号,针对每一个peripheral bus slave,表示一个slave 是被选中的,有transfer需要传输。

    PENABLE:在一个transfer的second and subsequent cycles有效。

    PSTRB:只能在写操作中用来指示byte lanes,在读操作中全为1。

    PREADY:由slave产生,来extend an APB transfer,结束前一时钟有效,表示下一时钟transfer结束。

    PSLVERR:APB transfer的最后一个cycle有效,当PSEL, PENABLE, PREADY同时有效时,不需要该引脚时,tie0

    当需要bridge时,PSLVERR可以与AXI总线中的BRESP[1],AHB总线中的HRESP[0]连接一起。

    PPROT:分别表示Normal or privileged, Secure or non_secure, Data or Instruction。

    在APB总线中分别有PWDATA和PRDATA,但这并不表示它支持同时读写,

    因为他没有分别的读写握手信号,在读写过程中,addr/enable/sel也不可变的,两组数据信号,可能只是为了简化逻辑。

    write transfer:T1时刻,建立阶段(Setup)。在PCLK上升沿采样PADDR,PWDATA,PWRITE,PSEL信号。

                          T2时刻,通信阶段(Access)。采样PENABLE,PREDAY信号。

                          T3时刻,transfer结束。所以一个APB的transfer最少需要两个时钟。

    APB的write操作也需要两个cycle,可能是考虑与读操作的一致性,

    这样在AHB2APB 和APB2APB bridge上,逻辑更简单一些。

  • 相关阅读:
    分布式一致性模型
    ubuntu18.04 基于Hadoop3.1.2集群的Hbase2.0.6集群搭建
    ubuntu18.04 flink-1.9.0 Standalone集群搭建
    Idea 打印GC
    goroutine简介
    MESI缓存一致性协议
    Spark RDD 算子总结
    SparkStreaming 笔记
    Spark 内存管理
    Highcharts(数据分析图)
  • 原文地址:https://www.cnblogs.com/-9-8/p/4514668.html
Copyright © 2011-2022 走看看