AMBA之APB
介绍关于APBAPB协议是一种低开销接口,针对最小功耗和降低接口复杂性进行了优化。APB不是流水线总线,而是一种简单的同步协议。每次传输至少需要两个周期才能完成。APB总线设计用于访问外围设备的可编程控制寄存器。APB外设通常使用APB桥连接到主存储器系统。例如,从AXI到APB的桥可用于将多个APB外设连接到AXI存储系统。APB传输由APB桥发起。APB桥也可以称为发起者(Requester)。外围接口响应请求。APB外设也可以称为响应者(Completer)。
信号描述本章介绍APB总线的接口信号。APB接口上的某些信号具有固定宽度,有些信号可以采用多种宽度。当宽度不固定时,使用属性来描述。如果属性值为零,则表示接口上不存在信号。
接口信号
其中部分信号为APB4或APB5最新版本支持的信号,但是实际使用中我们并不需要使用所有的feature,最终用到的接口信号根据你的需求选择相应的APB版本和信号即可。
地址总线APB接口有一个地址总线PADDR,用于读取和写入传输。PADDR表示字节地址,PADDR允许地址非对齐传输,但结果是不可预测的,响应者可能会使用未对齐的地址产生错误响 ...
My AMBA
话题的展开博主目前从事的工作主要是SoC/NoC(Network on Chip)相关,而工作的主要内容则是和各种各样的总线打交道,目前工业上比较常见也是我工作上最多使用的就是AMBA的APB、AHB和AXI了,但是我从未系统的对AMBA总线进行学习,学习道路上也是断断续续,偶尔遇到问题也需要考虑很久,最终还是得查阅文档或者上网进行确认。因此,这里我想好好的重新学习一下AMBA总线,无论是之前接触的APB、AHB和AXI还有未来会接触到的ACE和CHI等。在接下来的时间里,我将会忘记我的曾经所学,从一张白纸开始学习官网文档,一行一行的写代码。
学习计划目前我的学习计划也是分为两大部分,第一部分则是官网文档的学习,第二部分则是自己动手写代码,学习的过程一定要动手写代码这样才能更深入的学习协议,当然代码我会以虚拟项目的形式展开,只有实际的项目学习起来才不会枯燥无味。
学习路线APB总线(23.08.02~)APB作为AMBA最入门的协议常用于一些接口外设或IP的MMIO配置接口,因此此处的虚拟项目则以各种外设接口展开,参考资料可以参考电赛芯原杯的DSP,可以看到芯原的SOC有7个APB的外 ...
TinyRSIC-V介绍
What is risc-v and how we learn risc-v?
TinyRSIC-V环境搭建
How to bulid a Tiny-Rsicv Linux learning environment.
ESXI内安装虚拟机(二)
How to install virtual system(Example Ubuntu 22.04) in Esxi.
Git的使用教程
A brief introduction of git and how to use this tool.
AMBA AXI Specification Introduction
Introduction of AMBA AXI protocol specification.
SD2.0控制器
Introduction of SD2.0 specification and implenment of a SD countroller.
虚拟化系统ESXi安装(一)
ESXI virtual system introduction and install.
从零开始硬件加速(一)
从零开始硬件加速,软件安装