Ref: https://www.cnblogs.com/xianyuIC/p/17279209.html
Introduction
APB是最简单的AMBA总线,功耗很低,它多用于低速外围设备和访问寄存器。相比AHB和AXI,有几个很不一样的点:
- 最快只能背靠背(back to back)传输,至少2个周期传输一个数据,PSEL起来然后PENABLE起来。
(背靠背传输,即连续传输,这笔传输传完,紧挨着下一个Cycle就可以开始下一笔传输) - 不能Pipeline传输、Burst传输、Outstanding传输,数据有效时,其地址必然是当前数据的对应地址。
(pipeline传输,即流水式传输,指当前传输的结束Cycle可以是下一笔传输的起始Cycle,起到无缝衔接)
(burst传输,即只需指定起始地址和突发长度,即可自动对后面连续地址进行操作,无需提供连续地址)
(outstanding传输,即不需要等待读写数据完成,即可继续提供下一笔传输的命令和地址) - 不能读写同时传输,因为其读写地址是共用的。(AHB也不能读写同时传输)
- 不能仲裁,因为是单主多从协议。典型的APB协议包括唯一的APB桥作为Master,而所有的APB模块都是APB slave。
Interface
APB4.0相比APB3.0,多了pstrob和pprot两个信号:
Pslverr:
APB Transfer
APB Write without wait
T1时,写传输开始于地址PADDR、写数据PWDATA、写信号PWRITE、选择信号PSEL,寄存在PCLK上升沿。这称为写传输的起始阶段。
T2时,使能信号PENABLE和准备信号PREADY寄存在PCLK上升沿。
PENABLE表示传输的访问阶段的开始。
PREADY表示Slave可以在PCLK的下一个上升边完成传输。
地址PADDR、写数据PWDATA和控制信号都保持有效,直到传输在访问阶段的T3完成结束。
使能信号PENABLE在传输结束时被撤销;选择信号PSEL也被撤销,除非在此传输之后立即有另一个传输到同一Slave。
Burst Write
Write with wait
Read without wait
Burst Read
Read with wait
Back to back
传输序列以一个写操作开始,之后跟随着一个读操作,然后是一个写操作,之后是一个读操作
事实上,在基于处理器的设计中,一个写传输后跟随着一个读传输并不经常发生,因为处理器将在两个传输之间执行指令预取,并且指令存储器不太可能挂接在APB总线上。
FSM Design
标签:总线,PENABLE,介绍,传输,地址,信号,APB,wait From: https://www.cnblogs.com/fukq/p/18291272