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的功能框图如下所示。 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内部结构如图所示。 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配置为输出引脚,该寄存器有效。高电平表示输出使能,低电平表示输出关闭。
|