• 32位单片机GPIO端口电路结构以及输出模式


    还是拿华大32位单片机来说明,其实大家普遍都是一个样子结构

    上文器件解析:

    1、保护二极管:防止I/O引脚外部过高、过低的电压输入,防止不正常电压引入芯片导致芯片烧毁。具体可以看之前的文章有做详细说明

    2、开关:开关为TTL肖特基触发器,将模拟信号转化为0和1的数字信号,但当GPIO作为ADC采集电压通道时,此时信号不再经过触发器进行TTL电平转换。

    3、P-MOS、N-MOS:单元电路使得GPIO具有“推挽输出”和“开漏输出”的功能
     

    4种输入模式

    32具有浮空输入、上拉输入、下拉输入和模拟输入4种输入模式。

    浮空输入模式,I/O端口的电平信号由外部输入决定,电平状态不确定,浮空输入通常用于配置USART的RX引脚,如下图所示:

    上拉输入模式,I/O端口电平状态保持在高电平,当输入低电平时,电平状态变为低电平,最终进入输入数据寄存器,如下图所示:

    下拉输入模式,I电平状态保持在低电平,当输入高电平时,电平状态白变成高电平,最终进入输入数据寄存器,如下图所示:

    模拟输入模式,I/O端口的模拟信号(电压信号,而非电平信号)直接模拟输入到片上外设模块,比如ADC模块等。模拟输入通常应用于ADC模拟输入,或者低功耗下省电等情景,如下图所示:

     

     

    4种输出模式

    开漏输出模式,通过配置置位/复位寄存器或者输出数据寄存器的值,控制N-MOS管,输出到I/O端口。开漏输出只可以输出强低电平,高电平得靠外部电阻拉高,

    推挽输出模式,通过配置置位/复位寄存器或者输出数据寄存器的值,控制P-MOS管和N-MOS管,输出到I/O端口。推挽输出可以输出强高、低电平,如下图所示: 

     

     复用功能开漏输出模式、复用功能推挽输出模式的原理和开漏输出模式、推挽输出模式原理基本一致,只不过利用片上外设模块的复用功能输出来决定的(通信接口(SPI,UART,I 2 C,USB,CAN,LCD等)、定时器、调试接口等复用)。复用功能开漏输出通常用于TX1、MOSI、MISO等引脚的配置,复用功能推挽输出通常用于I2C的SCL、SDA。

    注意:知道所有GPIO功能后,对于应用场景我们就要自己学会判断什么时候用什么模式,值得说明的是,对于低功耗场景,进入休眠时候我们可以将IO配置成模拟输入,避免电流泄露

     

  • 相关阅读:
    时间空间复杂度分析--选择排序算法
    SpringMVC工作流程
    手把手基于YOLOv5定制实现FacePose之《YOLO结构解读、YOLO数据格式转换、YOLO过程修改》
    分词器与词表
    k8s 挂载阿里云 oss
    JDBC学习笔记
    一文精通HashMap灵魂七问,你学还是不学
    时空数据挖掘二(城市计算)
    win10同时安装mysql8.0
    ICPC+CCPC写题日记~
  • 原文地址:https://blog.csdn.net/qq_38295600/article/details/125907491