天天看點

I2C總線上拉電阻的選擇

1、I2C接口的輸出端是漏極開路或集電極開路,是以必須在接口外接上拉。

2、上拉電阻的範圍很寬,但也需要跟據功耗、信号上升時間等具體确定。

和速度應該沒關系。主要是I2C是oc,是以需要。和驅動的從機個數(雖然從機個數不是由電阻決 定的)有一定關系

不能說和速度沒關系, 從機數量多的話, 由于經常在CMOS 內建電路裡面源和基底是相連的, 而漏和基底存在寄生電容, 是以源和漏之間是有寄生電容的, 過大的上拉電阻會引起延時,導緻邊緣的上升下降速度變慢

上拉電阻的取值何I2C總線的頻率有關,工作在standard -mode時,其典型值為10K

在FAST mode時,為減少時鐘上升時間,滿足上升時間的要求,一般為1K

philips的IIC協定中pullup-res的典型值是5.1K@ VIO=5V(其實用5K一樣,5.1K比較好買便宜),但手機系統一般VIO=2.8V,是以在參考設計中,通常此阻值用4.7K,雖然于驅動力上比協 議标準不如,但考慮到leakage current,用3.3K的漏電流比較大,綜合考慮用4.7K,況且此阻值也是正常值

I2C的上拉電阻可以是1.5K,2.2K,4.7K, 電阻的大小對時序有一定影響,對信号的上升時間和下降時間也有影響,一般接1.5K或2.2K

總之,不同平台的官方試驗和我的取值相似,傾向與用4。7K @ 2.8V VIO

Rp最大值由總線最大容限(Cbmax)決定,Rp最小值由Vio與上拉驅動電流(最大取 3mA)決定;

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

Rpmax的取值:參考周公的I2C總線規範中文版P33圖39與P35圖44

标準模式,100Kbps總線的負載最大容限<=400pF;快速模式,400Kbps總線的負載最大容限<=200pF,根據具體使用情 況、目前的器件制造技術、PCB的走線距離等因素以及标準的向下相容性,設計中以快速模式為基礎,即總線負載電容<200pF,也就是傳輸速度可以 上到400Kbps是不成問題的。于是Rpmax可以取的範圍是1.8K~7K @ Vio=5V對應50pF~200pF

根據Rpmin與Rpmax的限制範圍,一般取5.1K @ Vio=5V , 負載容限的環境要求也容易達到。在2.8V系統中,console設計選3.3K,portable/handset等低供耗的設計選4.7K犧牲速度換 取電池使用時間。有些IDH竟然用到10K或以上,将大大影響其抗噪性能,對于PCB的制造以及闆層堆疊的結構的幹擾将加大資料的誤判

I2C上拉電阻确定有一個計算公式:

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

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

C是Bus capacitance

關于iic的上拉電阻,個人最好的方式就是看參考設計,如果走線長了或好總線上有好幾個晶片,就把電 阻改小一些。如果參考設計沒有就在1.5K~5k左右裡面選一個就是了。但實際的時候我們沒有去測量總線的電容問題,隻能在選件/走線時候給與些許的關 注

繼續閱讀