被zynq的GPIO唬住,告诉你zynq的3种GPIO

时间:2025-09-09  作者:Diven  阅读:0

学了zynq一段时间,一上来的时候就被zynq的GPIO唬住了,实在没搞清楚zynq的GPIO怎么回事,一会这样,一会那样,最后才慢慢发现zynq至少有3种GPIO可以调用。难怪我觉得每篇介绍GPIO的博客说的有一些不一样呢。

被zynq的GPIO唬住,告诉你zynq的3种GPIO

我们先看有哪三种GPIO:MIO、EMIO、AXI_GPIO。其中MIO和EMIO是直接挂在PS上的GPIO。而AXI_GPIO是通过AXI总线挂在PS上的GPIO上。

我们先看一下MIO和EMIO:下图EMIO和MIO的结构。其中MIO分布在BANK0,BANK1,而EMIO则分布在BANK2、BANK3。注意一下几项:

首先、MIO在zynq上的管脚是固定的,而EMIO,是通过PL部分扩展的,所以使用EMIO时候需要在约束文件中分配管脚,所以设计EMIO的程序时,

需要生成PL部分的bit文件,烧写到FPGA中。

其次、由下图可以看出MIO共占54bit,而EMIO占64bit。其中MIO占用IO号为0-53。而EMIO占用IO号为54-117。

再者、无论是EMIO还是MIO都属于PS上的IO,直接由PS操作。在调用头文件,只调用#include “xgpiops.h”即可,而在调用AXI_GPIO时,则需要#include “xgpio.h”。

最后、在设计好bd文件后、系统会自动在路径:。.standalone_bsp_0ps7_cortexa9_0include生成 xparameters.h 文件。我们可以在

xparameters.h文件中查看我们在bd设计时添加的外设ID。例如我们添加了EMIO,可以查到到该IO的地址和ID号。

#define XPAR_PS7_GPIO_0_DEVICE_ID 0

#define XPAR_PS7_GPIO_0_BASEADDR 0xE000A000

#define XPAR_PS7_GPIO_0_HIGHADDR 0xE000AFFF

再举例添加了两个AXI_GPIO,例化为BTNS_4BIT和SW_4BIT

#define XPAR_XGPIO_NUM_INSTANCES 2

#define XPAR_BTNS_4BIT_BASEADDR 0x41210000

#define XPAR_BTNS_4BIT_HIGHADDR 0x4121FFFF

#define XPAR_BTNS_4BIT_DEVICE_ID 0

#define XPAR_BTNS_4BIT_INTERRUPT_PRESENT 0

#define XPAR_BTNS_4BIT_IS_DUAL 0

#define XPAR_SW_4BIT_BASEADDR 0x41200000

#define XPAR_SW_4BIT_HIGHADDR 0x4120FFFF

#define XPAR_SW_4BIT_DEVICE_ID 1

#define XPAR_SW_4BIT_INTERRUPT_PRESENT 0

#define XPAR_SW_4BIT_IS_DUAL 0

再来看一下,AXI_GPIO相当于GPIO的IP核,我们调用时是占用相应AXI总线地址空间,如下图,占用地址为0x41200000和0x41210000

猜您喜欢

随着电子设备的普及和复杂性的增加,DC转换器控制芯片在各种应用中发挥着很重要的作用。负责在不同电压之间高效、安全地转换,为设备提供所需的能量。在市场上,一些品牌...
2024-11-21 00:00:00

概述随着FPGA芯片密度的增加,串行PROM已不能适应高密度的FPGA的配置。大容量的并行PROM所要求的寻址方式又不能直接与FPGA接口,这时可以采用XC9...
2020-07-23 16:58:00


MEMS加速度计通过微结构内发生的电容、电阻或电荷(压电)变化来检测机械加速度,现已成为仅次于压力传感器,应用量排名第二的MEMS器件。MEMS加速度计一直以来...
2023-12-08 09:07:00

多向开关是现代电气设备中常见的开关类型,其主要功能是控制电路的通断。不同类型的多向开关在结构和使用上存在一些显著区别。多向开关的种类包括单极多向开关、双极多向开...
2018-12-19 00:00:00

螺尾销轴是重要的机械连接元件,应用于各类机械设备中。主要作用是固定和连接两个或多个部件,确保设备的稳定性和安全性。通过螺尾设计,销轴可以在安装时提供更好的抓握力...
2009-05-10 00:00:00

2010-09-14 00:00:00


现代电子电路设计中,电流采样电阻的使用非常普遍。不仅能帮助工程师监测电路中的电流变化,还能有效提高电路的安全性和稳定性。为了确保电流采样的准确性,合理计算电流采...
2025-04-15 21:30:35

贴片电阻上的01x并不是一个标准的阻值表示方法,通常表示该电阻的阻值为100Ω,也就是10的二次方Ω。贴片电阻上,通常使用三位数字码来表示阻值。前两位数字是有效...
2024-11-29 10:26:03