当前位置:首页 > > ZYNQ
		


简介

通用I/O(GPIO)外设通过MIO模块的54个设备引脚为软件提供了观察和控制功能,它还可以从可编程逻辑访问64个输入(PL)和128个输出通过EMIO接口输出到PL,GPIO分为四个存储区注册该组相关的接口信号。

每个GPIO均独立且动态地编程为输入、输出或中断检测,同时软件也可以使用一条加载指令读取存储体中的所有GPIO值,或将数据写入其中一个单个存储指令使用一个或多个GPIO(在GPIO范围内)。

GPIO控制和状态寄存器被映射到基地址为0xE000_A000的存储器。

特点

GPIO外设的主要功能总结如下:

  • 54个用于设备引脚的GPIO信号(通过MIO多路复用器路由)

    • 输出具有三态能力
  • 通过EMIO接口在PS和PL之间提供192个GPIO信号

    • 64个输入,128个输出(64个真输出和64个输出使能)
  • 每个GPIO的功能都可以在单个或组的基础上动态编程

  • 启用,位或存储体数据写入,输出启用和方向控制

  • 基于单个GPIO的可编程中断

    • 原始和屏蔽中断的状态读取

    • 可选灵敏度:电平敏感(高或低)或边缘敏感(正,负或两个都支持)

框图

GPIO框图

如图所示,GPIO模块分为四个组:

•Bank0:32位存储体控制MIO引脚[31:0]

•Bank1:22位存储体控制MIO引脚[53:32]

注意:Bank1限制为22位,因为MIO共有54个引脚

•Bank2:控制EMIO信号的32位存储体[31:0]

•Bank3:控制EMIO信号的32位存储区[63:32]

GPIO由软件通过一系列内存映射寄存器控制,尽管MIO和EMIO的Bank之间由于它们的功能不同存在细微差异,但每个Bank都是相同的。

注意点

7z007s和7z010 CLG225器件

7z007s单核和7z010双核CLG225器件将可用的MIO引脚减少到MIO一览表中的“MIO表”所示,如下图

因此,在这些设备中,唯一的GPIO可用于MIO的引脚为15:0、39:28、48、49、52和53。其他MIO引脚未连接,不应该使用,所有EMIO信号均可用。

MIO注意事项

GPIO外围模块的存储体0和1通过MIO模块路由至设备引脚,有关MIO操作的完整说明如下图

MIO-EMIO概述

通过slcr.MIO_PIN_xx寄存器可实现对MIO的主要控制,请注意以下几点:

  • 用户必须根据用户系统的字段使用IO_Type,PULLUP,DisableRcvr和Speed选择正确的I/O类型。

  • 用户必须通过多路复用器控制字段L0_SEL,L1_SEL,L2_SEL和L3_SEL。注意,每个I/O引脚都可以单独选择,当MIO引脚用于IOP设备,它不可用作GPIO。

  • TRI_ENABLE应该设置为0,这使GPIO可以控制I/O的三态模式,如果MIO中的TRI_ENABLE设置为1,则无论GPIO如何,输出驱动器都将处于3状态设置。

总结

GPIO是普通IO口,是用于ARM的常用IO,具有普遍意义,相应的设计需要根据手册得到实际的模块。也是我们必须掌握的基础知识点。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭