【AMD Xilinx】ZUBoard(3):通过AXI GPIO接收PL端的按键输入

本文介绍了使用AMDXilinx的ZUBoard通过AXIGPIO接收PL端按键输入,详细步骤包括Vivado工程中的AXIGPIO配置、I/O规划以及ARM代码的编写,展示了如何实现在按键按下时LED控制的逻辑。

一、本项目实现的功能

继续上一篇的工程,这次增加一个PL端的按键输入,实现按键与LED的联动

二、Vivado工程

1. 添加AXI GPIO

还是上次的框图,我们关注PB3
在这里插入图片描述

2. 配置AXI GPIO

配置成输入,位数为1位
在这里插入图片描述

3. 根据原理图查找对应管脚

搜索按键SW3,可以查到对应的管脚为A8。
从原理图可以看出,SW3有上拉电阻,没按的时候为1,按下后才为0

在这里插入图片描述
在这里插入图片描述

4. I/O Planning

主菜单,Layout-> I/O Planning,把管脚配成A8
在这里插入图片描述

5.XDC

检查一下是否一致

set_property IOSTANDARD LVCMOS18 [get_ports {
   
   pl_pb*}]
set_property PACKAGE_PIN A8 [get_ports pl_pb_tri_i ]; # HD_GPIO_PB1 

三、ARM代码

1. 地址空间

PB1对应的地址为0x00A0020000
在这里插入图片描述

对应的C代码的宏定义在xparameters.h里面
在这里插入图片描述

2. 函数说明

读取GPIO的值
u32 XGpio_DiscreteRead(XGpio * InstancePtr, unsigned Channel)

3. 实际的C代码实现

注意这个程序只是为了演示了如何读取PL的IO,实际应用中检测按键需要在软件上做消抖处理,不然很容易误触发。

#include <stdio.h>
#include "platform.h"
#include "xil_printf.h"

#include "sleep.h"
#include "xgpio.h"

//RGB三色灯的颜色值,有红绿黄3种单色,还有紫色、黄色、青色、白色4种组合色。总共可以显示7种颜色
#define LED 0x07
#define LED_RED 0x01
内容概要:本文研究了一种基于遗传算法(GA)与粒子群优化算法(PSO)融合的无人机三维路径规划方法,旨在解决复杂环境中无人机避障与路径优化的问题。通过构建三维空间环境模型,提出一种结合GA全局搜索能力强与PSO收敛速度快优势的混合优化策略,并利用Matlab平台完成算法仿真与路径可视化。研究不仅实现了无人机在存在多个障碍物场景下的安全、高效飞行路径规划,还对GA与PSO两种算法在路径长度、计算耗时、收敛稳定性等方面进行了对比分析,评估其性能差异,为实际应用中算法选型提供依据。; 适合人群:具备一定算法设计基础和Matlab编程能力的科研人员、自动化与人工智能方向的研究生,以及从事无人机导航、智能控制等相关领域的工程技术人员。; 使用场景及目标:①应用于城市密集建筑区、山地森林等复杂地形中的无人机自主巡检与应急救援任务;②为智能交通、地理测绘、灾害监测等需要自主路径决策的无人系统提供算法支持与仿真验证;③通过对比不同智能优化算法的表现,辅助研究人员在特定应用场景下选择最优路径规划方案。; 阅读建议:建议读者结合提供的Matlab代码进行仿真实验,调整种群规模、迭代次数、障碍物分布等参数,深入理解算法运行机制与性能表现,并可进一步拓展至动态环境更新、多无人机协同避障等更复杂的研究方向。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值