关于单片机的那些“假”OD门陷阱,什么样的IO口具备5V容忍能力

一、单片机I/O口输出类型

除了传统51单片机之外,一般的MCU都有较强的IO功能,可以设置为几种常见的配置方式:推挽输出、OD输出、浮空输入、上下拉输入等。有时候,我们需要把IO设置为OD输出方式,写“O”时由下拉管主动把电压拉低,写“1”时由外部上拉至特定的电压水平。OD门可用于实现信号的相与,或者直接驱动较高电压等级的电路。

二、关于“假”OD门

然而,为了实现对IO口的保护,MCU厂家一般都会为每一个IO口对地VSS和电源VDD都并接反向二极管,可作为ESD保护。这样一来,所谓的OD门输出模式,其实是“假”的OD门。如下图


以STM32F103ZET6为例说明,如上图,当IO设置为OD门时,只有下拉管MOS工作。向输出寄存器写0,MOS管导通,输出低电平;向输出寄存器写1,MOS管截止,输出为高阻。在图中我们可以看到,管脚的末端被两个反向二极管并接到VSS和VDD或者VDD_FT(5V容忍VDD)。就是说,外部对IO引脚的上拉电压无法超过VDD或者5V(忽略二极管压降),它们并不是严格意义上的OD门。


如上图,用STM32(供电3.3V)的IO口PB9驱动一个三极管,用12V驱动一个负载,PB9设置为OD输出方式,根据OD门的特性,好像这个电路是可以工作。由以上的分析得知,这个电路是有问题的,当往PB9输出寄存器写1时,IO口的电压被上拉至5V(或5+0.7V),三极管还是导通,无法完成关断操作。


又如上图,这个电路却可以正常工作。首先,驱动负载的电压变成了5V,查阅STM32的数据表得知,PB9这个引脚具有5V容忍能力,看下图图I/O Level一栏有“FT”标记的IO口,都具有5V容忍能力。当这样的IO口设置为OD门时,是可以驱动5V水平的电路的。


因此,为了增加芯片的兼容性,实现了对5V逻辑电平的容忍,意思是可以正常识别5V的逻辑电平信号而不至于因为逻辑电平电压高于自身的3.3V标准而损坏芯片,容忍就是正常识别不损坏的意思,一般而言能够容忍5V的话都会写有“FT”两个字。注意的是,并不是所有的I/O都是能容忍5V的。

来源:网络整理,如侵权请联删

了解更多
举报
评论 0