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

时间:2025-08-02  作者: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

猜您喜欢

独石电容是电容器的,应用于电子电路中。具有很多独特的特点,吸引了众多厂商关注。本文将从多个方面深入探讨独石电容的特性及其未来应用前景。体积小巧独石电容的体积非常...
2025-03-22 12:01:06

现代电子电路中,保护电路免受过压和瞬态电压的影响是非常重要的。为此,工程师们常常使用TVS管(瞬态电压抑制器)和稳压二极管(齐纳二极管)。虽然这两种器件都可以用...
2025-03-31 08:00:34

贴片电阻体积小巧,在电路板上十分常见。区分封装尺寸,对于电子爱好者和专业工程师都很重要。其实,掌握诀窍后,辨别非常简单。贴片电阻的封装通常用四位数字表示,例如0...
2024-11-29 10:26:04

贴片电阻立碑,指的是在回流焊过程中,电阻一端翘起,脱离焊盘,如同立起的一块碑石。这种现象会导致电路开路,影响产品功能,甚至造成安全隐患。立碑产生的主要原因是两侧...
2024-11-29 10:25:57

电力系统中,电流互感器(CT)是用于测量电流的重要设备。电流互感器能够将高电流转换为低电流,以便于测量和保护设备的安全。在电流互感器的应用中,输出采样电阻的计算...
2025-04-16 18:00:09

贴片电阻上的432标识并非直接表示阻值,而是采用一种数字编码方式。其中,前两位数字43代表有效数字,最后一位数字2代表10的幂次方。具体来说,432表示的阻值计...
2024-11-29 10:26:30

贴片电阻尺寸通常用四位数字表示,例如0402、0603、0805、1206等。这四位数字并非直接对应毫米尺寸,而是代表英制尺寸,需要进行换算。具体来说,前两位数...
2024-11-29 10:26:22

贴片电阻上的数字18B代表其阻值大小。 这是一种用三位数字和字母组合表示阻值的编码方式。其中前两位数字18代表有效数字,第三位字母B代表乘数因子。字母B对应的是...
2024-11-29 10:26:39

量块作为精密测量工具,应用于制造业和质量控制中,其主要优势体现在以下几个方面。量块具有极高的精度和稳定性,能够提供可靠的测量基准。这使得在进行尺寸校准和检测时,...
2013-04-24 00:00:00

高压瓷片电容器是重要的电子元件。应用于各种电路中。本文将介绍高压瓷片电容器的特点和应用。希望对你了解有所帮助。高压瓷片电容器的定义高压瓷片电容器是用陶瓷材料制成...
2025-03-23 23:01:39