最近在某视频上看到了一个博主因为IO口电流倒灌导致ADC参考基准电压不准,致使ADC采样数据不准。抱着什么是IO电流倒灌的疑问,学习了一些文章,防止以后踩坑。并在下面做一下对IO口电流倒灌的总结。
目录
# 一、什么是IO电流倒灌
# 二、电流倒灌的危害
# 三、防护电流倒灌的方法
一、什么是IO电流倒灌
电流通过IO口保护二极管倒灌到单片机VDD,单片机的每个IO口都会有一对保护二极管,当IO口外部电压大于VDD+一个二极管压降时,保护二极管就会打开,电流就会倒灌到VDD。
这种倒灌现象主要出现在不同电源供电的系统上,例如两个单片机串口通信,一个是5V供电的51单片机,另一个是3.3V供电的STM32单片机。正常通信或者STM32断电时。电流会从51单片机TX引脚向STM32单片机RX引脚倒灌,再从RX端的保护二极管倒灌到STM32单片机的VDD端,致使系统运行混乱。当51单片机断电时,电流会从STM32的TX引脚向51单片机RX引脚倒灌,并通过RX端保护二级管倒灌到51单片机的VDD,使系统不能完全断电,可能会无法下载程序,因为51单片机下载程序需要重新上电。
二、电流倒灌的危害
1、导致系统混乱,例如ADC采样不准,系统变慢。当ADC采样没有提供单独的电压准时,当系统供电电压变化时,就会导致基准变化,使采样的数据不准。
2、可能会导致系统无法断电,无法下载程序(例如51单片机)。即使系统供电断开了,但是倒灌的电流持续为系统供电,使系统无法完全断电。
3、严重可能会烧坏单片机。当倒灌的电流过大时,导致系统供电电压逐渐增大,当系统电压大于单片机电源端最大承受电压时,单片机就会烧坏。
三、防止电流倒灌的方法
方法:在单片机系统供电电源端加稳压二极管。在串口通信端口加保护器件,Tx端串联一个限流电阻,在RX端串联一个二极管。系统供电端加稳压二极管的作用是当出现电流倒罐时,系统端的电压升高时,通过稳压二极管向地端泄放过高的电压,使系统工作在稳定的电压范围。TX端串联限流电阻的作用是当出现电流倒灌时,限制倒灌的电流。RX端串联反向二极管的作用是将电压通过二极管的反向截止隔离开,避免出现电流倒灌。虽然加这些保护期间可以避免电流倒灌,但是一定程度会影响串口通信速率。若是不追求高速通信,可以加这些保护器件。