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上,逻辑更简单一些。

  • 相关阅读:
    codeforces C. No to Palindromes!
    codeforces D. Pashmak and Parmida's problem
    codeforces C. Little Pony and Expected Maximum
    codeforces D. Count Good Substrings
    codeforces C. Jzzhu and Chocolate
    codeforces C. DZY Loves Sequences
    codeforces D. Multiplication Table
    codeforces C. Painting Fence
    hdu 5067 Harry And Dig Machine
    POJ 1159 Palindrome
  • 原文地址:https://www.cnblogs.com/-9-8/p/4514668.html
Copyright © 2011-2022 走看看