ZYNQ 之PS 和PL 互联技术之AXI

1. ZYNQ 概述

2.  AXI 概述

AXI (Advanced eXtensible Interface)是xilinx 从6系列fpga开始引入的一个接口协议,主要描述了主设备和从设备之间的数据传输方式。主设备和从设备之间通过握手信号建立连接。当从设备准备好接收数据时,会发出ready信号。当主设备的数据准备好时,会发出和维持VALID信号,表示数据有效。数据只有在valid 和ready信号都有效的时候才开始传输。  

    在zynq中,支持AXI-LITE,AXI4 和AXI Stream 三种总线。

AXI4-lite :

  具有轻量级,结构简单的特点,适合小批量数据、简单控制场合。不支持批量传输,读写时一次只能读写一个字(32bit)。主要用于访问一些低速外设和外设的控制。

AXI4:和AXI4-lite差不多,只是增加了一项功能就是批量传输,可以连续对一片地址进行一次性读写。也就是说具有数据读写的burst功能。

AXI4-Stream : 这是一种连续流接口,不需要地址线(很像FIFO,一直读或一直写就行)。对于这种没有地址必须有一个转换装置,列如AXI-DMA模块来实现内存映射到流的转换接口。

在zynq芯片内部,使用硬件实现了AXI总线协议,包括9个物理接口,分别为AXI-GP0 ~ AXI-GP3, AXI-HP0 ~ AXI-HP3, AXI-ACP接口。

AXI-ACP接口是ARM多核架构下定义的一种接口,用来管理DMA之类的不带缓存的AXI 外设,PS端是slave 接口。

AXI-HP接口,是高性能、带宽的AXI3.0标准接口,共有4个,PL模块作为主设备连接,主要用于PL访问PS上的存储器(DDR和on-chip RAM)

AXI-GP接口,是通用的AXI接口,共4个,包括2个32位主设备和2个32位从设备接口。

GP接口为32位低性能接口,理论带宽600MB/s; HP和ACP接口为64位高性能接口,理论带宽1200MB/s 。高性能接口不能做成主机接口是因为高性能接口不需要ARM CPU来负责数据搬移,真正的搬运工是位于PL中的DMA控制器。

下面为几个常用的AXI接口IP 功能介绍:

AXI -DMA:实现从PS内存到PL高速传输高速通道 AXI-HP <---> AXI Stream的转换

AXI-FIFO-MM2S:实现从PS内存到PL通用传输通道AXI-GP <---> AXI Stream的转换

AXI-Datamover :实现从PS内存到PL 高速传输高速通道AXI -HP<-->AXI Stream的转换,只不过这次是完全由PL控制,PS是完全被动的。

AXI-VDMA:实现从PS内存到PL高速传输高速通道AXI-HP <-->AXI Stream的转换,只不多是专门针对视频、图像等二维数据的。

AXI -CDMA:这个是有PL完成的,将数据从内存的一个位置搬移到另一个位置,无需CPU 来插手。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章