实例解析:I2C上拉电阻最大值的真相
上拉电阻在工业领域及通信领域都具有中断GPIO控制和I2C信号的功能,在系统稳定性和输出电平稳定性方面有着不可替代的作用。本文就由小编为大家解析I2C上拉电阻最大值的真相。
I2C总线的设计一般都会采用OC或者OD门,如果内部的芯片中没有设置上拉电阻,那么就必须要在外部接一个上拉来保证高电平的输出,从而增加这一系统的稳定性。一般情况下I/O端驱动能力会保持在2mA-4mA左右的量级范围内,而OC或者OD门的导通电压一般为0.4V左右,手机中加在上拉电阻上的电压一般都是2.8V。在该设定下,I2C上拉电阻的最小值不能低于800R。当电压为5V时,上拉最小值不能低于1.5K。
在这种情况下想要中断和GPIO信号本身,是不需要增加多余的驱动设备的,只需要保持一个高电平就可以了。此时,上拉电阻可以选取大一点的阻值以减小功耗,但须注意一个问题,那就是这个阻值不能太大,经验值一般在4.7-100K之间,否则会和PCB走线,器件等负载电容影响信号上升时间。
由于目前大多数的I2C接口都采用了OD机制,所以工程师在实际操作的过程中,需要另外加一个上拉电阻才能维持输出高电平,上拉电阻的最小值须符合之前所提到的要求。
那么,I2C上拉电阻最大值都与哪些因素有关呢?
通常情况下,I2C总线的传输速率分为标准模式和快速模式(在快速模式的情况下,I2C总线传输速率为400Kbit/s),总线负载的最大容限分别是400pF和200pF。根据I2C总线协议的要求,I2C上拉电阻最大值是被总线电容所限制。下图是上拉电阻的取值数据图,图中的Rs指的是I2C设备串联在I2C总线上的电阻,它可以有效的防止SDA和SCL高电压毛刺波产生。
图为上拉电阻取值数据
由上图的曲线走势可以看出,上拉电阻的最小值由上拉电源决定,最大值由总线电容决定。
结语
通过对I2C上拉电阻的实例分析,我们可以看出,上拉电阻在I2C总线中可以起到维持输出电平稳定、保护芯片的作用。而上拉电阻的最大阻值则是由总线的电容所决定的,工程师在进行上拉选取时,需要依据总线电容和上拉电源的电压来判断。