上下拉电阻:作用、选择与应用详解
上下拉电阻:作用、选择与应用详解
上下拉电阻是电子电路设计中的重要元件,它们在确保电路稳定性和可靠性方面发挥着关键作用。本文将详细介绍上下拉电阻的基本原理、选择方法以及在I2C总线等具体应用场景中的使用要点。
上拉电阻的作用
- 当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。
- OC门电路必须加上拉电阻,才能使用。
- 为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。
- 在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。
- 芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。
- 提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。
- 长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。
上拉电阻阻值的选择原则
- 从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。
- 从确保足够的驱动电流考虑应当足够小;电阻小,电流大。
- 对于高速电路,过大的上拉电阻可能边沿变平缓。综合考虑以上三点,通常在1k到10k之间选取。对下拉电阻也有类似道理。
上拉电阻和下拉电阻的选择因素
- 驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡。
- 下级电路的驱动需求。同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。
- 高低电平的设定。不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平。以上拉电阻为例,当输出低电平时,开关管导通,上拉电阻和开关管导通电阻分压值应确保在零电平门槛之下。
- 频率特性。以上拉电阻为例,上拉电阻和开关管漏源级之间的电容和下级电路之间的输入电容会形成RC延迟,电阻越大,延迟越大。上拉电阻的设定应考虑电路在这方面的需求。
I2C总线中的上拉电阻应用
I2C为什么要上拉电阻
- 单片机内部有上拉电阻,有些上拉能力够了,可以不加上拉电阻,有些不够,那就必须在外部加上拉电阻。
- 也有人回答是为了保护,如下:
“其实各个I2C接口工作时只检测高、低电平,管你有没有什么上拉电阻呢!但问题是,你要是直接接电源的来实现高的话,一旦器件拉低时岂不危险?所以,这个上 拉电阻有保护作用。如果你确信直接接电源没问题(比如有短路保护等,呵呵),也可以试一试,问题的关键是主器件要能正确的拉低或置高,从器件要能明确地区 分高、低就可以了,这是问题的关键,当然,还有时序问题,不能混乱!”
根据I2C总线规范,总线空闲时两根线都必须为高。由于I2C接口采用Open Drain机制,器件本身只能输出低电平,无法主动输出高电平,只能通过外部上拉电阻RP将信号线拉至高电平。因此I2C总线上的上拉电阻是必须的!
I2C 总线空闲的时候,两条信号线应该维持高电平。否则,上拉电阻上会有耗电。特别是在上电过程中,IO线上电平也应保持在高电平状态。也就是说:当 Master的I2C使用的是IO软件模拟时,一定要保证该两个IO上电默认均为输入(或高阻)或者输出高电平,切不可默认为输出低电平。IO默认为输入低时,可以通过外部上拉电阻将I2C信号线拉至高电平。
I2C上拉电阻大小问题
I2C的上拉电阻可以是1.5K,2.2K,4.7K, 电阻的大小对时序有一定影响,对信号的上升时间和下降时间也有影响,一般接1.5K或2.2K。
I2C上拉电阻确定有一个计算公式:
Rmin={Vdd(min)-o.4V}/3mA
Rmax=(T/0.874) *c, T=1us 100KHz, T=0.3us 400KHz
C是Bus capacitance
Rp最大值由总线最大容限(Cbmax)决定,Rp最小值由Vio与上拉驱动电流 (最大取3mA) 决定;
于是 Rpmin=5V/3mA≈1.7K(@Vio=5V)或者2.8V/3mA≈1K(@Vio=2.8V)
标准模式,100Kbps 总线的负载最大容限<=400pF;快速模式,400Kbps 总线的负载最大容限<=200pF,根据具体使用情况、 目前的器件制造工艺、PCB的走线距离等因素以及标准的向下兼容性,设计中以快速模式为基础,即总线负载电容<200pF,也就是传输速度可以上到 400Kbps是不成问题的。于是Rpmax可以取的范围是1.8K7K @ Vio=5V对应50pF200pF
根据Rpmin与Rpmax的限制范围,一般取5.1K @ Vio=5V , 负载容限的环境要求也容易达到。在2.8V系统中,console设计选3.3K,portable/handset等低供耗的设计选4.7K牺牲速度换取电池使用时间
总的来说:电源电压限制了上拉电阻的最小值 ; 负载电容(总线电容)限制了上拉电阻的最大值
I2C上拉电阻电源问题
在部中分应用中,还存在主从设备以及上拉电阻电源不一致的情况,比如Camera模组。在很多设计方案中,Camera模组不工作时,并不是进入Power Down模式,而是直接关闭模组供电VDDS。此时,处理器与模组相互连接的所有信号线都应该进入高阻态,否则就会有电流漏入模组;而对于此时的I2C控制信号线来说,由于上拉电阻的存在,必须关断上拉电阻电源VDDP。如果上拉电阻使用的是系统电源VDDM(VDDP=VDDM),无法关闭,就会有漏电 流进入模组;因此这种情况下,应该使用VDDS作为上拉电阻电源(VDDP=VDDS),这样上拉电阻电源与Slave电源即可同时关闭,切断了漏电路径。
另外需要注意的是,在上述应用实例中选择的IO,应该选取上电默认为输入(或高阻)才行。
总结
上拉电阻在电子电路设计中扮演着至关重要的角色,其作用包括防止输入端悬空、增强驱动能力、提供电流通道等。正确选择上拉电阻的阻值需要综合考虑功耗、驱动能力、频率特性等因素。在I2C总线等具体应用场景中,上拉电阻的使用更是直接影响着系统的稳定性和可靠性。
本文原文来自CSDN博客