引脚说明表如下,在这个表中,大致分为了两类,第一类s_axi接口的相关引脚,用于配置挂载到AXI总线,s_axi_*这是一组信号接口,用于进行数据的交互和配置;第二类是和GPIO有关的信号接口,这里的IP中有两组gpio,每组输出三个信号经过一个三态缓存器实现三态输出。为了实现中断功能,这里的ip2intc_irpt是中断的敏感信号。
每一个通道可以通过配置来产生中断,如果AXI GPIO IP核的输入引脚的电平状态发生改变,就可以产生一个中断信号,不管是从高电平变成低电平,还是低电平变成高电平(0到1,或者1到0 称为一个转换) GPIO_T:当GPIO要控制LED时,为输出,其为0.当GPIO要控制KEY时,为输入,其为1. 当引脚的信号发生改变,就会产生中断(如果...
第四步: 添加管脚约束 然后就是添加管脚约束,把GPIO_LED信号连接到LED灯上: zc702的管教约束如下: #GPIO PMOD1set_property PACKAGE_PIN E15 [get_ports {GPIO_LED[7]}]set_property IOSTANDARD LVCMOS25 [get_ports {GPIO_LED[7]}]set_property PACKAGE_PIN D15 [get_ports {GPIO_LED[6]}]set_proper...
23_AXI GPIO按键控制LED实验_程序设计(第三讲)是SDK篇_19~23_Vivado中 AXI GPIO IP核简介与使用的第5集视频,该合集共计5集,视频收藏或关注UP主,及时了解更多相关视频内容。
本次实验使用的硬件设备和环境为:zedboard(zynq7020),vivado2018.3,petalinux2018.3,如果硬件跟我一样的小伙伴可以跟着我的步骤做。加油吧! 一、首先搭建vivado硬件平台 1. 本次用到的IP和连线为(有基础的可以按照我的bd图进行设计): 2. AXI_GPIO的配置(输出两个LED灯) ...
另外,AXI_GPIO这个IP核上的中断使能要使用XGpio_InterruptGlobalEnable和XGpio_InterruptEnable两个函数打开,在中断服务函数中使用XGpio_InterruptClear清除中断状态。 (6)完整代码 #include<stdio.h>#include"xparameters.h"#include"xgpiops.h"#include"xscugic.h"#include"sleep.h"#include"xgpio.h"//区别于“...
使用ZYNQ最大的疑问就是如何把PS和PL结合起来使用。本实验使用两个AXI GPIO的IP核,一个GPIO IP核连接4个LED灯;另一个GPIO IP核用于接收4个按键(拨码开关)的中断,通过该中断来控制相应LED灯的亮灭。 2. Vivado工程的编写 2.1 Block Design工程设计
1)和前面的教程一样,在不熟悉Vitis程序编写的情况下,我们尽量使用Vitis自带例程来修改,选择“xgpio_intr_tapp_example” 2)需要修改部分代码,按键的axi gpio模块叫做axi_gpio_1,在xparameters.h中找到它的device id 3)然后可以修改GPIO和中断号的宏定义如下 ...
gpio_input(3) = GPIO_SW18 AXI INTC: AXI Interrupt Controller (INTC) 核可将来自外设器件的多个中断输入集中到系统处理器的单一中断输出。使用寄存器来检查、启用和确认中断。 此示例的主要目的是将超过 16 个中断连接到 PS。AXI INTC 核可支持我们满足此需求。使用单一 AXI INTC 块的情况下最多可连接 32 ...