上拉下拉再理解

在看STM32手册时碰到了弱上拉,弱下拉的概念,在内部弱上拉/下拉时为了带负载建议在外接上拉或上拉电阻,不是很明白这样的原因。网上查阅相关资料,在这里记录下自己的理解。

显然弱上拉/下拉是相对于强上拉/下拉而言的,为了清楚什么是弱上拉/下拉,先要问什么是强上拉/下拉。我们都知道上拉/下拉的目的是使输出电平为确认的高电平/低电平。那么最高的高电平和最低的低电平是多少?毫无疑问,是芯片的供电电源的正电源和负电源。

强上拉/下拉指的是输出高电平接近Vcc,输出低电平等于或接近Vss,即通过小电阻接至电源,如下图所示:

上拉下拉再理解

 所以强上拉/下拉也可以理解为小电阻上拉/下拉。

那么弱下拉就显然如下图所示:

上拉下拉再理解

弱下拉通过电阻接至地,此时输出低电平会大于0。弱下拉的缺点是在带大负载时会出现低电平识别问题。因为Vo=Iload*R1,当负载过大时,无法输出低电平。如下所示:

上拉下拉再理解

 对于器件2而言其输入是R1和R2的的分压,如果R1阻值不合适,器件1的输出低电平电压可能超过器件2的低电平标准最大值,无法识别。

当然对上拉也一样。所谓强就是上拉下拉电阻小,在弱拉场合常需要外接上拉或下拉电阻。这时可能我们不禁问,那为什么还弱拉,直接强拉不就好了吗?答案是强拉肯定也有缺点呀,那就是电阻小,功耗大呀,所以不能一味的追求某项指标的好,应因地制宜,合适的才是最好的!

在STM32的应用中,除了必须用开漏模式的场合,一般习惯使用推挽输出模式。推挽输出模式一般应用在输出电平为0V和3.3V且需要高速切换的场合。开漏输出具有线与功能,一般应用在I2C、SMBUS通信等需要“线与”功能的总线电路中。