在看集成电路手册的时候,对于I/O端口,有些器件手册会说该端口可内置上拉/下拉电阻,一般情况下,这些内置的上拉/下拉电阻被称为“弱上拉”或“弱下拉”。而对于实际电路中,芯片端口外接的上拉/下拉电阻常称为“强上拉”或“强下拉”。(当然,这是一般的情况,并不是芯片内部的上拉/下拉电阻都是弱上拉,外接的上拉/下拉电阻都是强下拉。具体)。 那么,这里所说的“强”和“弱”指的到底是什么“强”?什么“弱”?
1、“强”输出
“强1”指的是输出电平的高电平等于或接近于VCC,“强0”指的是输出的低电平等于或接近于GND。如下图。可以很直观的看出什么是“强”和“弱”。
2、“弱0”、“强1”输出
很明显,这是下拉电阻的接法,当输出低电平时,由于下拉电阻的存在,低电平是高于GND的,而当输出高电平时,输出电平可以达到VCC。
3、“弱0”对于低电平识别的影响
如下图,对于器件2的输入来说,其输入电压是R1和R2的分压。如果R1阻值不合适,那么器件1输出的低电平电压值可能会超过器件2的最大低电平,那么就会导致逻辑电平判断错误。
4、“弱1”“强0”输出
由于上拉电阻的存在,输出高电平达不到“VCC”所以输出1时候就“弱”,而输出低电平等于GND,是“强0”
5、“弱1”对于低电平识别的影响
如下图,对于器件2的输入来说,其输入电压是R1和R2的分压。如果R1阻值不合适,那么器件1输出的高电平电压值可能会低于器件2的最小高电平,那么就会导致逻辑电平判断错误。
6、为什么器件内部的上拉/下拉电阻一般是“弱上拉”或“弱下拉”
这是为了便于用户通过外接上拉/下拉电阻变成强上拉/强下拉。比如内部上拉电阻是50K,那么再外接一个10K的上拉电阻,那么这个端口的总上拉电阻阻值就会小于10K,变“强”了。
关于这一点,论坛网友drjloveyou讲得很好,大家可以去看看。
弱下拉与强下拉,弱上拉和强上拉