XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO

一步一步来搭建一下AXI GPIO
XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第1张图片
创建ZYNQ 后先来看下各个接口的含义
1.M_AXI_GP0_ACKL和M_AXI_GP0
XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第2张图片

ZYNQ的PS部分是有一个GP接口,32 Bit 的AXI master接口,默认是打开的,如果双击绿框可以看到是打开的
XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第3张图片

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

2.FCLK_CLK0
XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第4张图片

这个信号在上图中可以看到,PS-PL有4路时钟,点击绿框跳转到PS-PL时钟设置界面。
XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第5张图片
FCLK_CLK0 就是PS-PL时钟信号。

3.FCLK_RESET0_NXILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第6张图片

PS-PL 处理时钟还有4路复位信号
XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第7张图片

4.FIXED IO
固定的IO,这里说的是ZYNQ PS最小系统就有的IO。比如说MIO,DDR,PS复位,PS时钟等。这些是固定都有的
只要有PS系统这几个就跑不了。
XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第8张图片
到这里基本的信号了解完毕。

二.AXI GPIO

先上一个AXI GPIO IP
XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第9张图片
从接口,时钟,复位 和GPIO。GPIO说的是引脚
XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第10张图片
可以设置引脚的个数和方向,输入输出和高组态。

2.1 连接
XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第11张图片
如果尝试的吧AXI GPIO 从接口和ZYNQ的主接口连接的时候,ViVado会提示无法连接。
XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第12张图片
AXI 接口的互联是需要一个叫做Interconnect的结构,也是一个IP核。很好,我们就创建出来,然后按照主从配对连接。

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

注意0x4120_0000这个地址。

然后进行常规操作
XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第15张图片

然后进行综合,IO引脚分配。完事后导入到SDK。
导入官方的例程。
XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第16张图片
找到初始化GPIO的地方,看到这个地址很熟悉。
XILINX ZYNQ 7000 AXI总线 (三) AXI GPIO_第17张图片

       OK,到这里就完成了。

你可能感兴趣的:(zynq,单片机,嵌入式硬件)