读传输
T2 APB总线采集到地址
T3 PSEL片选
T4 产生读取数据
读传输突发。所有读传输都需要一个等待状态。
HREADY为高时采样地址(因为只有HREADY为高时地址才会发生变化)
在非常高的时钟频率系统中,可能需要桥接器在使能周期结束时寄存读取数据,然后桥接器在下一周期中将其驱动回AHB总线主控器。尽管这将需要外围总线读取传输的额外等待状态,但它允许AHB以更高的时钟频率运行,从而导致系统性能的整体改善。
写传输
向APB的单次写入传输可以在零等待状态下发生。桥接器负责对传输的地址和数据进行采样,然后在APB上的写传输期间保持这些值。
T2 AHB发送采样地址(需寄存一拍)
T3 AHB发送数据;AHB发送下一拍地址(需寄存两拍)
T4 APB发送地址和数据,PSEL片选;AHB HREADY拉低;
T5 APB PENABLE片选; AHB HREADY拉高;AHB发送下一拍地址(需寄存两拍)
。。。
虽然第一次传输可以在零等待状态下完成,但到外围总线的后续传输将需要对执行的每个传输执行单个等待状态。
桥接器必须包含两个地址寄存器,以便在当前传输在外围总线上继续时,桥接器可以采样下一次传输的地址。
背对背传输
也即写后读
如果读取传输紧接着写入,则需要3个等待状态才能完成读取。事实上,在基于处理器的设计中,写后读并不经常发生,因为处理器将在两次传输之间执行指令提取,并且指令存储器不太可能驻留在APB上。
三态数据总线实现
建议使用单独的读写数据总线实现AMBA APB,这允许使用多路复用总线或or总线方案来互连APB上的各种从设备。如果使用三态总线,则读和写数据总线可以组合成单个总线,因为读数据和写数据从不同时发生。
如果使用三态缓冲器实现数据总线,则无需特别考虑。如果数据总线在读取传输的设置周期中处于三态,并且每当总线处于空闲状态时,则在数据的不同驱动器之间总是发生整个时钟周期的转换。对于写入传输的突发,由于桥接器将在每次传输的设置周期中驱动数据,因此不存在周转,但这是完全可以接受的,因为桥接器是用于写入传输的数据总线的唯一驱动器,因此不需要周转期。
Source
AMBA 2.0