ZedBoard之GPIO详解

本文详细介绍了ZedBoard的GPIO(通用输入/输出)功能,包括MIO和EMIO的区别及其引脚分配。GPIO中断相关的寄存器如INT_MASK、INT_STAT等的用途被阐述,以及非中断相关的DATA、MASK_DATA和DIRM寄存器的作用。内容还提到了GPIO配置和使用的一些建议,如通过SLCR寄存器配置引脚为GPIO功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不可缺少的资料:官方UG585手册
GPIO简介
1. GPIO: General-Purpose Input/Output Ports. 通用I/O口。
2. MIO就是ARM自己的手脚,完全由自己支配;MIO是PS的IO接口,54个引脚。这些引脚可以用在GPIO/SPI/UART/TIMER/USB/Ethernet等功能上,每个引脚都有多个功能。(类似于MCU的引脚复用)。
EMIO是扩展MIO,功能主要是将MIO上放不下,而又想使用的IO接口连接到PL上,再从PL的引脚连接到芯片外面。EMIO则是FPGA的手脚,如果不做任何处理,ARM说什么对他们根本不起作用

MIO(multiuse I/O)引脚在bank0和bank1上,EMIO(extendable multiuse I/O)在bank2和bank3上。MIO共32+22=54个引脚,EMIO共32+32=64个引脚,引出的引脚都是按bank2到bank3顺序排列的,也就是说53个MIO之后,我们引出的这eg.8个EMIO,分别是54~61号引脚。
GPIO框图:
这里写图片描述

中断相关寄存器
所有GPIO共享一个中断(#52,bank1),必须在软件上检查INT_MASK和INT_STAT的值判断是哪个GPIO引发了中断。
1. INT_MASK(0xE000A20C):中断屏蔽寄存器,只读,读取该寄存器的值可以显示哪些位被屏蔽和没有屏蔽(即使能)。
2. INT_ENT(0xE000A210–): 中断使能寄存器(4个bank,4个寄存器)。写1,对应的引脚中断功能开启,即使能。
3. INT_DIS(0xE000A214—):屏蔽寄存器(4个bank,4个寄存器)。写1,对应的引脚中断屏蔽。
4. INT_STAT(0xE000A18–):中断状态寄存器(4个bank,4个寄存器)。每一位代表对应的引脚上是否发生中断事件,中断发生时,该引脚的中断标志位为1。如果对该位写1,清除该引脚的中断标志,写0无操作。
5. INT_TYPE(0xE000A21C–):中断类型寄存器(4个bank,4个寄存器)。写1代表边沿触发中断,写0代表电平触发中断。
6. INT_POLARITY(0xE000A220–): 中断极性寄存器,控制中断的触发条件(4个bank,4个寄存器)。写1代表高电平或者上升沿触发,写0代表低电平或者下降沿触发。
7. INT_ANY(0xE000A224–): 中断边沿触发类型设置寄存器(4个bank,4个寄存器)。写1代表上升沿和下降沿

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值