AXI(Advanced eXtensible Interface)总线是基于IP(Intellectual Property)的互联标准,是一种高性能、低功耗、可扩展的处理器外设接口。在FPGA(Field Programmable Gate Array)中,AXI总线主要用于分层拓扑结构下的外设与FPGA内部逻辑之间的通信,把IP核作为外设与FPGA内部硬件之间连接起来。
PS(Processing System)是指Zynq-7000系列SoC(System on Chip)中的ARM Cortex-A9处理器。在Zynq-7000中,PS通过AXI总线与PL(Programmable Logic)进行通信,这个AXI总线的PS接口称为PS-PL接口,简称PSpl。
PSpl是一个高性能、支持多主多从、互联灵活、扩展性强的总线。它支持不同地址、不同数据宽度、不同时钟等参数的IP核互联;可以实现多个硬件协处理器共享同一个内存,达到并行处理的效果;支持DMA(Direct Memory Access)传输,实现IP核之间的数据传输;支持中断、嵌套中断,可以实现IP核之间的事件通知;支持cache一致性协议,防止IP核之间因为数据脏读造成的错误。
PSpl包含两个主要的接口:AXI Master和AXI Slave。
AXI Master主要用于处理器向外设写入或读取数据。它包括地址总线、数据总线和控制总线。地址总线包含物理地址和地址类型信息。数据总线用于传输处理器的读数据或写数据。控制总线包含高优先级请求、空闲、传输完成等信息。
AXI Slave则用于外设向处理器写入或读取数据。它与AXI Master的区别在于,AXI Slave的物理地址不是由处理器提供,而是由外设传入。因此,AXI Slave只需要包含数据和控制总线即可。
在Zynq-7000系列SoC中,通过VDMA(Video Direct Memory Access)模块的使用,可以实现对PL中IP核的数据读取和存储,从而协助实现多种图像传输、处理等功能。使用VDMA模块进行操作时,需要在PS中访问VDMA寄存器,以初始化VDMA并设置其工作模式、DMA单元等属性。具体使用方法可以通过参考VDMA模块相关的资料来进一步了解。