对于 i2c 通信,上拉电阻或下拉电阻连接到 i2c 总线。
这些上拉和下拉电阻的用途是什么?如何确定需要连接哪个电阻是上拉电阻还是下拉电阻???
对于 i2c 通信,上拉电阻或下拉电阻连接到 i2c 总线。
这些上拉和下拉电阻的用途是什么?如何确定需要连接哪个电阻是上拉电阻还是下拉电阻???
我想你的意思是电阻。
下拉和上拉电阻用于在例如线路上没有信号时使引脚保持稳定状态。
你可以想象总是说 00000 或 11111。
如果您不使用下拉/上拉电阻器,您的输入可能会因环境噪声等原因而切换。
电阻器的值非常高,因此线路上的所有其他信号都不会受到电阻器的影响
通常,当近场和远场干扰的影响加剧时,例如当引脚具有高输入阻抗并处于悬空状态时,需要一个下拉电阻器将引脚带到定义的电压。为了在引脚上读取 0,必须在这些条件下将其拉至 0,因为如果它悬空,您将读取任意值。输入和 0 电位位置之间的电阻越低,噪声幅度就越低,以使其符合正确读取数字 0 的噪声容限。
如果没有下拉电阻,如果输入阻抗在兆欧范围内,则输入通常为高阻态。高阻态意味着引脚没有被拉高或拉低,并且输入阻抗足够高,可以看到足够高的电压噪声,以至于状态不适合定义的逻辑电平的裕度。
感应电流幅值为:
V s是噪声幅度,V R是感应电压,即负载电阻上的电压,V c是耦合电容器上的电压。X c是耦合电容的容抗,R 是负载的电阻。
在典型情况下,寄生电容在皮法量级,这意味着容抗非常大。V R相对于 10 pF 的 R 在 60Hz 和 1V 噪声源的图显示如下:
并联下拉电阻会降低负载的 R,使得并联电阻小于较小电阻的电阻(下拉电阻),因此 100Ω 下拉电阻和 2MΩ 原始负载的电阻 <100Ω,产生 380nV噪声而不是从 1V 噪声源获得的 7.54mV 噪声。100MΩ 的 Arduino 输入阻抗为 0.3528V。
当你增加 R 时,V R总是渐近地趋向于 V s,你可以从 V s的等式中看出:
下拉电阻的引入降低了电抗和辐射耦合的影响。
开关打开:管脚拉到0,不掉电。开关闭合,引脚为 5V,V/R2 电流正确,下拉功率损耗
开关打开:引脚被拉到非常接近 5V,4.9999... 并且电流非常接近 R4。功率损耗远小于下拉。开关闭合:引脚拉到0v,因为0电阻和R4并联为0,所以所有的压降都超过了R3。R3 上的功率损耗。
此处,由于引脚为高阻态,其阻抗与电路中的寄生容抗相当,因此输入端的电压可以在远高于零的范围内波动。它也可以作为天线,当对地阻抗较高时,感应电压会很高。
在下拉方案中,对地阻抗很低,这意味着寄生电容和电路之间的电位分配使得引脚上的电压可以忽略不计。类似地,通过辐射产生的感应电压要小得多,因为感应出更多的电流,而且感应功率主要消耗在下拉电阻上。