一步一步来搭建一下AXI GPIO

创建ZYNQ 后先来看下各个接口的含义
1.M_AXI_GP0_ACKL和M_AXI_GP0

ZYNQ的PS部分是有一个GP接口,32 Bit 的AXI master接口,默认是打开的,如果双击绿框可以看到是打开的

M_AXI_GP0 就是AXI的主机接口,M_AXI_GP0_ACKL是主机接口的时钟。
2.FCLK_CLK0

这个信号在上图中可以看到,PS-PL有4路时钟,点击绿框跳转到PS-PL时钟设置界面。

FCLK_CLK0 就是PS-PL时钟信号。
3.FCLK_RESET0_N
PS-PL 处理时钟还有4路复位信号

4.FIXED IO
固定的IO,这里说的是ZYNQ PS最小系统就有的IO。比如说MIO,DDR,PS复位,PS时钟等。这些是固定都有的
只要有PS系统这几个就跑不了。

到这里基本的信号了解完毕。
二.AXI GPIO
先上一个AXI GPIO IP

从接口,时钟,复位 和GPIO。GPIO说的是引脚

可以设置引脚的个数和方向,输入输出和高组态。
2.1 连接

如果尝试的吧AXI GPIO 从接口和ZYNQ的主接口连接的时候,ViVado会提示无法连接。

AXI 接口的互联是需要一个叫做Interconnect的结构,也是一个IP核。很好,我们就创建出来,然后按照主从配对连接。

接下来就是把复位连接在一起,就接到PS-PL的复位信号上,时钟都接到PS-PL时钟上来。
整个系统就连接完成了,这个时候我们去校验链接会提示加入system reset的IP.
这里我们不考虑同步复位的问题。直接忽略问题。
然后进行地址分配,AXI是地址到地址的通讯。

注意0x4120_0000这个地址。
然后进行常规操作

然后进行综合,IO引脚分配。完事后导入到SDK。
导入官方的例程。

找到初始化GPIO的地方,看到这个地址很熟悉。

OK,到这里就完成了。



















