介绍

关于APB

APB协议是一种低开销接口,针对最小功耗和降低接口复杂性进行了优化。APB不是流水线总线,而是一种简单的同步协议。每次传输至少需要两个周期才能完成。
APB总线设计用于访问外围设备的可编程控制寄存器。APB外设通常使用APB桥连接到主存储器系统。例如,从AXI到APB的桥可用于将多个APB外设连接到AXI存储系统。APB传输由APB桥发起。APB桥也可以称为发起者(Requester)。外围接口响应请求。APB外设也可以称为响应者(Completer)。

信号描述

本章介绍APB总线的接口信号。APB接口上的某些信号具有固定宽度,有些信号可以采用多种宽度。当宽度不固定时,使用属性来描述。如果属性值为零,则表示接口上不存在信号。

接口信号

APB接口信号

其中部分信号为APB4或APB5最新版本支持的信号,但是实际使用中我们并不需要使用所有的feature,最终用到的接口信号根据你的需求选择相应的APB版本和信号即可。

地址总线

APB接口有一个地址总线PADDR,用于读取和写入传输。PADDR表示字节地址,PADDR允许地址非对齐传输,但结果是不可预测的,响应者可能会使用未对齐的地址产生错误响应信号。

数据总线

APB协议有两条独立的数据总线,用于读数据的PRDATA和用于写数据的PWDATA。总线宽度可以是 8 位、16 位或 32 位。读和写数据总线必须具有相同的宽度。数据传输不能同时发生,因为读数据和写数据总线没有自己的握手信号。