特权同学

玩转Zynq连载2——Zynq PS的GPIO外设

0
阅读(2096)

玩转Zynq连载2——Zynq PS的GPIO外设

更多资料共享

链接:https://share.weiyun.com/5s6bA0s

1.jpg

1概述

Zynq的GPIO外设控制最多54个MIO引脚,也可以通过EMIO接口连接到PL(最多支持64个输入引脚或128个输出引脚)。GPIO外设可以分为4个Bank。

GPIO外设的主要特性如下:

● 54个GPIO信号通过MIO引脚引出。

● 192个GPIO信号通过EMIO接口连接到PL引脚引出(64个输入引脚;128个输出引脚,其中64个实际输出引脚和64个输出使能引脚)。

●每个GPIO都可以独立编程为输入、输出或中断接口。

● 使能信号、位或bank为单位的数据写入操作、方向控制信号。

● 每个GPIO都有可编程的中断控制

GPIO的功能框图如下所示。

2.jpg

GPIO外设分为4个Bank。

● Bank0由32位的MIO引脚pin[31:0]组成。

● Bank1由22位的MIO引脚pin[53:32]组成。

● Bank2由32位EMIO信号EMIO[31:0]组成。

● Bank3由32位EMIO信号EMIO[63:32]组成。

2 GPIO内部结构

GPIO内部结构如图所示。

3.jpg

GPIO可以被配置为输入或输出信号。DATA_RO寄存器能够反馈当前GPIO的输入(OE信号为低)或输出(OE信号为高)状态值。通过MASK_DATA寄存器的设置,可以实现对一个bank中特定一个或多个GPIO的控制。

其它几个主要寄存器的功能如下。

● DATA寄存器。当GPIO配置为输出时,该寄存器用于配置GPIO的输出电平值。该寄存器一次性写入所有32个GPIO的输出值;读取该寄存器时,返回的是写入的电平状态,并不一定是实际的电平状态。

● MASK_DATA_LSW寄存器。该寄存器用于屏蔽不需要更新的DATA寄存器的低16位。

● MASK_DATA_MSW寄存器。该寄存器用于屏蔽不需要更新的DATA寄存器的高16位。

● DIRM寄存器。方向控制寄存器。该寄存器用于控制GPIO的输入输出方向。高电平表示输出,低电平表示输入。

● OEN寄存器。输出使能。当GPIO配置为输出引脚,该寄存器有效。高电平表示输出使能,低电平表示输出关闭。

更多资料共享

链接:https://share.weiyun.com/5s6bA0s


Baidu
map