【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验

文章目录

  • 7. PL 按键中断实验
    • 工程建立
    • 下载调试

7. PL 按键中断实验

  • 前面的定时器中断实验的中断属于PS 内部的中断
  • 本实验中断来自 PL PS 最大可以 接收16 个来自 PL 的中断信号,都是上升沿或高电平触发
  • 本实验用按键中断来控制 LED
    【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第1张图片

工程建立

  • 本实验所用的 Vivado 工程只需要在“ ps_axi_led ”这个工程上添加用于按键输入的 AXI GPIO 就可以
    【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第2张图片
  • 新的工程名为“ ps_axi_key
    【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第3张图片
  • 添加一个 AXI GPIO
  • 配置 GPIO 参数,都为输入,宽度为 1 ,使能中断
  • 使用自动连接
  • 再把端口名称改为 keys
  • 配置 ZYNQ 处理器的中断,勾选 IRQ_F2P
  • 连接 ip2intc_irpt 到 IRQ_F2Q
  • 修改 xdc 约束文件
  • 保存 设计,编译生成 bit 文件
    【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第4张图片

【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第5张图片
【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第6张图片
【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第7张图片
【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第8张图片
【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第9张图片
【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第10张图片

下载调试

  • 运行 SDK ,由于是从其他工程复制而来 SDK 下有很多我 们不需要的文件,全部删除,然后关闭 SDK 重新运行
    【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第11张图片
  • 新建一个 APP
    【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第12张图片
  • 设置 Project name 为“ key_test
    【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第13张图片
  • 程序编写的情况下,我们尽量使用 SDK 自带例程来修改
    【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第14张图片
  • 选择“ xgpio_intr_tapp_example
    【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第15张图片
  • 导入例程以后有未定义的错误,我们需要修改部分代码
    【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第16张图片
  • 修改 GPIO 和中断号的宏定义
    【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第17张图片
  • 修改测试延时时间,让我们有足够的时间去按按键
    【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第18张图片
  • 打开串口终端,运行程序
    【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第19张图片
  • 如果一直不按按键,串口显示“ No button pressed …””,如果按下 PL KEY1 按键 显示“ Successfully ran Gpio Interrupt Tapp Example”
    【FPGA】Xilinx_ZYNQ7Z020——7. PL 按键中断实验_第20张图片

你可能感兴趣的:(FPGA)