• 注册 / 登录
  • 切换到窄版
  • 查看: 1598|回复: 0

    一文读懂GPIO口的结构之输入

    [复制链接]

    665

    主题

    679

    帖子

    6476

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    6476
    发表于 2023-6-12 17:40:46 | 显示全部楼层 |阅读模式

    路线栈欢迎您!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    引言

    GPIO,即General purpose input output,通用输入输出端口,是可以根据实际使用场景需求来用软件来配置的引脚。GPIO的输入配置需要注意的是,一款芯片的引脚分为其实分为很多域,比如仅为芯片供电的引脚群称为电源域,还有类似复位,地址配置等等称为逻辑域,还有原生支持I2C,SPI等等通讯的称为通讯域,搭建小系统用的引脚称为系统域。本节我们主要讲述不具有特定功能的GPIO域。(本文是所有的GPIO配置类型,但有的芯片GPIO不全都支持,这类GPIO叫裁剪型GPIO,使用芯片时需要查看其Pin List,不能默认都是全功能的GPIO)

    一、GPIO的一般结构

    如图1-1所示为GPIO的一般结构,由七大部分组成:上下拉+推挽MOS+输出数据寄存器+复用功能输出+输入数据寄存器+复用功能输入+模拟输入,其中保护管二极管不是每一个芯片都有。

    1.保护二极管

    比如芯片的引脚电平为0/3.3V,引脚的两个保护二极管可以在一定程度上防止引脚外部过高或过低的电压输入损坏引脚。当引脚电压高于3.3V时,上方二极管导通钳位,防止过高电压进入芯片内部。同理当引脚电压低于GND(负电压)时,下方二极管导通,防止电压过低从芯片内部抽取电流。

    2.施密特触发器

    施密特触发器有两个阈值,高于上面的阈值就输出固定高电平,低于下面的阈值就输出固定低电平,有效去除输入信号的波动效应。

    1.png
    图1-1:GPIO的一般结构

    二、浮空输入模式

    浮空输入模式为数字输入模式,可读取引脚电平,如果引脚悬空,则电平不确定,在浮空输入模式时,施密特触发器会打开,此时输出驱动器被禁止。

    2.png
    图1-2:浮空输入模式路径

    三、上拉输入模式

    上拉输入模式为数字输入模式,可读取引脚电平,此时内部上拉电阻使能激活,IO口被上拉电阻连接到VDD,当引脚悬空时默认高电平。在上拉输入模式时,施密特触发器会打开,此时输出驱动器被禁止。

    3.png
    图1-3:上拉输入模式路径

    四、下拉输入模式

    下拉输入模式为数字输入模式,可读取引脚电平,此时内部下拉电阻使能激活,IO口被下拉电阻连接到GND,当引脚悬空时默认低电平。在下拉输入模式时,施密特触发器会打开,此时输出驱动器被禁止。

    4.png
    图1-4:下拉输入模式路径

    五、模拟输入模式

    当配置为模拟输入时,输出驱动器关闭,施密特触发器关闭,引脚的模拟电平直接输入到芯片内部,一般是输入到ADC模块进行采样,此时一定要注意引脚电平的大小,不然会损坏芯片。所以模拟输入模式主要为片上ADC配置的,注意模拟输入电平和ADC的量程是否匹配。

    5.png
    图1-5:模拟输入模式路径

    六、小结

    在输入模式下可以读取引脚是高电平还是低电平或者电压值,用于读取按键输入,外接模拟电平信号输入,ADC电压采集,配合输出模式可以模拟通信协议(I2C,SPI等等)接收发送数据。

    相关文章:
    GPIO就是芯片上的一根干啥都行的引脚
    一文读懂GPIO口的结构之输出

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|路丝栈 ( 粤ICP备2021053448号 )

    GMT+8, 2024-9-17 03:48 , Processed in 0.089977 second(s), 22 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表