问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

单片机IO灌入5V电压导致其他IO电压测量异常问题及解决方案

创作时间:
作者:
@小白创作中心

单片机IO灌入5V电压导致其他IO电压测量异常问题及解决方案

引用
CSDN
1.
https://blog.csdn.net/qlexcel/article/details/141054816

最近在使用GD32F103RCT6单片机进行项目开发时,遇到了一个有趣的问题。项目中使用了3个485收发器,这些收发器直接连接到单片机的IO口上。由于485收发器是5V供电的,这就引发了一个5V电平和3.3V电平兼容性的问题。

最初,项目只使用了PA10和PC11这两个串口,它们是兼容5V的。从手册中可以看出,这两个IO口的最大允许输入电压为5.5V。

但是,当尝试将5V信号输入到PA3时,问题就出现了。PA3的最大允许输入电压仅为4V,输入5V会导致异常。具体表现为:当PA3配置为串口接收,PC1配置为ADC采集外部模拟信号时(GPIO模式配置如下):

/* connect port to USARTx_Rx */
gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_3);
/* config the GPIO as analog mode */
gpio_init(GPIOC, GPIO_MODE_AIN, GPIO_OSPEED_50MHZ, GPIO_PIN_1);

运行程序后,用万用表测量发现PC1竟然能测量到3.9V的电压,这显然是不正常的,因为单片机的供电电压只有3.3V。经过排查,发现这是由于向不兼容5V电平的IO口灌入了超过4V的电压所致。

为了解决这个问题,可以采取以下几种方法:

  1. 使用电平转换芯片将5V信号转换为3.3V后再输入到单片机。
  2. 使用二极管和电阻的组合,将输入电压钳位在4V以下。
  3. 使用稳压二极管进行电压钳位。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号