I2C上拉电阻阻值大小由哪些因素来决定?
I2C的上拉电阻阻值在经过了公式计算后,可以得出一个比较精确的数值。一般情况下这个数值会保持在1.5K—4.7K之间,I2C的电源电压和总线电容分别会对阻值的大小产生一定影响。本文将会进一步针对上述两个因素进行实例分析,看上拉阻值的大小究竟是由哪些因素来进行决定的。
在日常的工作运行过程中,如果想要确定电阻阻值,工程师可以通过该公式进行计算:Rmin={Vdd(min)-o.4V}/3mA。在这个公式中,数值Rmax=(T/0.874)*c,T=1us100KHz=0.3us400KHzC是Buscapacitance,Rp最大值由总线最大容限(Cbmax)决定,Rp最小值由Vio与上拉驱动电流(最大取3mA)决定。于是Rpmin=5V/3mA≈1.7K或者2.8V/3mA≈1K。
由上述公式中我们可以看到,数值Rpmax的取值范围可以参考I2C总线规范中文版P33标准模式,100Kbps总线的负载最大容限通常情况下会小于等于400pF。快速模式中,400Kbps总线的负载最大容限小于等于200pF,根据I2C的具体使用情况、PCB走线距离等因素以及标准的向下兼容性,在正常设计中均以快速模式为基础,即总线负载电容小于200pF,也就是传输速度可以上到400Kbps是不成问题的。于是可以得出:数值Rpmax可以进行取值的具体范围是1.8K~7K。由公式1Vio=5V可知,其对应的数值为50pF至200pF之间,根据Rpmin与Rpmax的限制范围,一般取5V,负载容限的环境要求也容易达到。在2.8V系统中,console设计选3.3K,portable/handset等低供耗的设计选4.7K牺牲速度换取电池使用时间。
依据上述的公式推理和计算后可以得出结论,那就是在I2C上拉电阻的取值问题上,其机体的电源电压限制了上拉电阻的最小值,而总线电容则主要限制了上拉电阻的最大值。工程师在进行阻值选取和判断时,可以在进行精确计算的基础上,权衡电源电压和总店电容的额定数值,进而选取最佳数值结果。