不是所以io外设都可以通过EMIO扩展引脚,GPIO是可以的。 每一个GPIO都是动态可编程的,每一个GPIO都可作为输入,输出,或中断,软件可以通过一个LOAD指令来读取gpio在引脚上的值,也可以通过一个独立的store指令把数据写到器件的引脚上面去(输出)。 GPIO 基地址(base address)0XE000_A000。 软件通过 一组 存储映射寄存...
GPIO 外设一般用于控制一些简单的外设,如LED 和蜂鸣器,此时 GPIO 用作输出;也可以用于观测一些简单外设的状态,如按键,此时 GPIO 用作输入。 下图是GPIO 的框图,从中我们可以看到 GPIO 分为 4 个 Bank,其中 Bank0和 Bank1 连接到 MIO;而 Bank2 和 Bank3 连接到 EMIO。 除Bank1 之外的 Bank 都具有 32bit...
XGpioPs_SetOutputEnablePin(&xgpio, LED2, 1); 再后面就在while(1)中循环点灯,用XGpioPs_WritePin函数输出高低电平。 这是纯PS点流水灯。 3. PS通过EMIO点亮PL端LED 通过EMIO点PL端LED,在配置zynq ip核时,基本步骤差不多,包括去到PL资源等,唯一不同的是,在GPIO里,勾上EMIO并且分配宽度是4(因为我的小...
最后vivado中连接如下图: 与EMIO类似需要将顶层三个GPIO管脚要绑定到芯片对应管脚上。 软件部分如下: 这里实现的功能与EMIO方式中功能相同,当时IP方式中为PL部分实现的GPIO,所以调用的函数与前面两种GPIO实现函数不同,注意包含的GPIO头文件,前两种是#include "xgpiops.h",而这最后一种为#include "xgpio.h"。 ...
本文介绍在zynq中三种实现GPIO的方式,分别为MIO、EMIO和IP方式。 MIO和EMIO方式是使用PS部分的GPIO模块来实现GPIO功能的,支持54个MIO(可输出三态)、64个输入和128个输出(64个输出和64个输出使能)EMIO 而IP方式是在PL部分实现 GPIO功能,PS部分通过M_AXI_GP接口来控制该GPIO IP模块;另外EMIO模块虽然使用PS部分GPIO...
zynq的GPIO,分为两种,MIO(multiuse I/O)和EMIO(extendable multiuse I/O)。 ZYNQ的GPIO由4个BANK组成,其体系结构如图1所示。其中Bank0有32个GPIO引脚,Bank1有22个引脚,共54个GPIO引脚直接通过MIO连接到PS上,每个引脚可以通过寄存器的设置来确定该引脚为输入、输出或者中断,因为54个MIO引脚直接连接在PS上,像其他...
可用的 I/O 包括标准通信接口和通用输入 / 输出 (General Purpose Input/Output,GPIO),GPIO 可以用做各种用途,包括简单的按钮、开关和 LED。 在ZYNQ7000系列PS中除了上面提到的MIO和EMIO之外,还包括AXI_GPIO。 这三者关系如下: 其中MIO和EMIO是直接挂在PS上的GPIO。而AXI_GPIO是通过AXI总线挂在PS上的GPIO上。
//EMIO引脚从54开始算起 #define EMIO_KEY1 54 #define EMIO_KEY2 55 #define EMIO_LED1 56 #define EMIO_LED2 57 XGpioPs_Config * ConfigPtr; XGpioPs Gpio; /* The driver instance for GPIO Device. */ int main(){ u32 key_value1,key_value2; ...
一、GPIO原理 1.GPIO介绍 程序员通过软件代码可以独立和动态地对每个 GPIO 进行控制,使其作为输入、输出或中断。 (1)通过一个加载指令,软件可以读取一个 GPIO 组内所有 GPIO 的值。 (2)通过一个保存指令,将数据写到一个 GPIO 组内的一个或多个 GPIO 。(3)在 Z