I2C簡介:
I2C匯流排為串行同步通訊匯流排,可以進行多裝置通訊
。由飛利浦半導體(現已被恩智浦半導體收購)開發的雙向兩線匯流排,用來進行IC晶片之間的通訊。匯流排佔用資源少,只需要兩根線:一條資料線(SDA)和一條序列時鐘線(SCL)。
標準模式下最高可達 100 kbit/s,在快速模式下最高可達 400 kbit/s,在快速模式 Plus 下最高可達 1 Mbit/s (Fm+),或在高速模式下高達 3。4 Mbit/s。 超快速模式是一種單向模式,資料傳輸速度高達 5 Mbit/s。
以下內容主要討論在標準模式和快速模式下I2C硬體設計的注意事項。
資料訊號線(SDA)和時鐘訊號線(SCL):
SDA 和 SCL 都是雙向線路,透過電流源或上拉電阻連線到正電源電壓。 當匯流排空閒時,兩條線路都是高電平。 連線到匯流排的裝置的輸出級必須具有漏極開路或集電極開路才能執行線與功能。
文章:UM10204 作者:NXP
I2C主要引數講解:
一、
低電平輸出電流(IoL)
,訊號被拉低時需要的驅動電流。
二、
匯流排容性負載(Cb)
,每條訊號線的容性負載主要由導線、導線連線點、IC管腳的對地寄生電容構成。
在總線上連線了大量I2C裝置時需要重點考慮這個引數
三、
匯流排訊號上升時間(Tr)
,顧名思義為SDA訊號/SCL訊號上升所需要的時間,主要時間來源於供電電壓對上拉電阻(Rp)和容性負載(Cb)構成的RC電路進行充電所消耗的時間。具體定義方式如下圖。
引數範圍表格:
引數
Standard-mode
Fast-mode
unit
min
max
min
max
IoL
3
-
3
-
mA
Cb
-
400
-
400
pF
Tr
-
1000
-
300
ns
I2C上拉電阻計算公式:
Rp(max) = Tr/(0。8473*Cb)
Rp(min) = (Vdd - Vol(max))/IoL
以下為原文內容:
一句話總結:在確定的I2C工作模式下,上拉電阻值(Rp)由總線上的容性負載(Cb)和電源供電電壓(Vdd)決定。在確定了Rp取值範圍後,儘量選取較大的Rp,以減小整體功耗。
參考文獻:
I2C-bus specification and user manual (NAME: UM10204 BY:NXP)