General Purpose Input Output (通用输入/输出)简称为GPIO,中文意思为通用IO口,很多简单控制开关的设备只需要开关两种状态就可以来了,用传统的串口显得复杂,所以嵌入式微处理器通常用IO口即可。
本文主要介绍Zynq的GPIO基本原理和相关寄存器配置。
1.GPxCON寄存器
GPxCON为控制寄存器, GPxCON寄存器每一位对应一个引脚。当某位设置为0 时,相应的位为输出引脚,当设置为1时,为输入引脚。
2.GPxDAT寄存器
GPxDAT用于储存引脚值,当被设置为输入时,读此寄存器可以知道是高电平还是低电平,当被设置为输出时,写此寄存器可以令此引脚输出 高电平或是低电平。
3.GPIO位操作
ARM上没有位运算的变量,可以控制移位寄存器和逻辑运算来实现GPIO位操作。
4.zynq XC7Z010 gpio寄存器
XC7Z010由4个bank组成,bank0有32个引脚,bank1有22个GPIO引脚,共54个GPIO引脚直接通过MIO直接连到PS上,每个引脚通过寄存器设置确定引脚状态,直接通过SDK软件进行编程即可。
上图为GPIO系统图
bank2和bank3通过emio接口扩展到PL上去,其中每个BANK都有32个引脚,通过EMIO扩展的GPIO连接到PL上去可以在PL上进行逻辑设计,进行特定功能的IP内核定制。
本文主要介绍Zynq的GPIO基本原理和相关寄存器配置。
1.GPxCON寄存器
GPxCON为控制寄存器, GPxCON寄存器每一位对应一个引脚。当某位设置为0 时,相应的位为输出引脚,当设置为1时,为输入引脚。
2.GPxDAT寄存器
GPxDAT用于储存引脚值,当被设置为输入时,读此寄存器可以知道是高电平还是低电平,当被设置为输出时,写此寄存器可以令此引脚输出 高电平或是低电平。
3.GPIO位操作
ARM上没有位运算的变量,可以控制移位寄存器和逻辑运算来实现GPIO位操作。
4.zynq XC7Z010 gpio寄存器
XC7Z010由4个bank组成,bank0有32个引脚,bank1有22个GPIO引脚,共54个GPIO引脚直接通过MIO直接连到PS上,每个引脚通过寄存器设置确定引脚状态,直接通过SDK软件进行编程即可。
![](https://i-blog.csdnimg.cn/blog_migrate/e30ae5e76589bde1e45954362b49d32b.jpeg)
上图为GPIO系统图
bank2和bank3通过emio接口扩展到PL上去,其中每个BANK都有32个引脚,通过EMIO扩展的GPIO连接到PL上去可以在PL上进行逻辑设计,进行特定功能的IP内核定制。
![](https://i-blog.csdnimg.cn/blog_migrate/6c24fc2da95a279779010b90763119d9.jpeg)