跳转到主要内容

I2C上拉电阻解析

<p>&nbsp;I2C的上拉电阻可以是1.5K,2.2K,4.7K, 电阻的大小对时序有一定影响,对信号的上升时间和下降时间也有影响,一般接1.5K或2.2K</p>

<p>I2C上拉电阻确定有一个计算公式:</p>

<p>Rmin={Vdd(min)-o.4V}/3mA</p>

<p>Rmax=(T/0.874) *c, T=1us 100KHz, T=0.3us 400KHz</p>

<p>C是Bus capacitance</p>

<p>Rp最大值由总线最大容限(Cbmax)决定,Rp最小值由Vio与上拉驱动电流(最大取3mA)决定;</p>

<p>于是 Rpmin=5V/3mA≈1.7K(@Vio=5V)或者2.8V/3mA≈1K(@Vio=2.8V)</p>

<p>Rpmax的取值:参考周公的I2C总线规范中文版P33图39与P35图44</p>

<p>总的来说:电源电压限制了上拉电阻的最小值 ; 负载电容(总线电容)限制了上拉电阻的最大值</p>

<p>补充:在I2c总线可以串连300欧姆电阻RS可以用于防止SDA和SCL线的高电压毛刺</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; :I2c从设备的数量受总线电容,&lt;=400pF的限制</p>

<p>做过I2C碰到过各种问题,多半是上拉电阻或者控制器时钟的问题。没上拉电阻或者上拉电阻过大,都会导致不稳定而出现寻址不到的问题。控制器时钟主频的话,主频667M八分频就可以。</p>