|
本帖最后由 超級狗 于 2013-2-28 00:12 编辑
( g& O* }, f) P. S
B$ I( \2 G" {I2C 的雙向架構是由兩個部份所構成,送的部份是一個 Open Collector 或 Open Drain 線路;收的部份則是一個 CMOS Input線路和前述的 Open Collector 或 Open Drain 線路並接在一起。( v: z1 a- W! P
/ |& _ T# G% m1 O當你不給電時,Open Collector 或 Open Drain 的電晶體(Transistor)Gate 沒有電壓,電晶體有可能處於半開或全開的狀態。# J4 B0 J1 u1 L1 a0 Z
1 B( [) b1 t, J6 J. n$ Y
另一方面 CMOS 線路沒電時,電晶體(Transistor)Gate 沒有電壓,電晶體也是可能處於半開或全開的狀態。1 j, y( t6 `" [) x/ } Z( r
j7 f6 A) h' G, A: C
如果你的問題是其它 2 個 I2C Device 給電就不會發生,那就應該是漏電把電位(Voltage Level)拉低的。) w# u) B3 {. [
0 U7 N3 N: L- ~2 B- O( \$ U. t8 U任何 IC 如果沒特別說明不給電時 I/O 腳位是高阻抗(Hi-Z 或 High Impedance)狀態,都有可能會透過 I/O 接腳造成漏電。
- E# _: F4 a' h( U5 r) Z* C8 I# i3 z; J1 T
如果你的設計為了省電,會有部份系統斷電(Partial System Power Off)的需求,一般我們的解法是去找一顆有電源隔離(Power Isolation)Buffer 或 Level Translator 把 Bus 兩端的 Device 隔開。% o, h( E! Q9 F ^! W
/ Q* s. k- K; P8 B8 J7 G$ S所謂有電源隔離(Power Isolation)的 IC,是這種 IC 會個別吃兩端系統的電源,當任一邊的電源消失時,IC 所有的I/O 接腳都會變成高阻抗(Hi-Z 或 High Impedance)狀態,這樣就可以防止漏電的情況發生。
2 O& R: I, j! ]% J
8 o: a, Z7 t3 A: i4 f6 ^! P; J6 M詳細您可參照TI I2C Level Translator TXS0102 的 Datasheet!; Z% e# [& E+ N w/ r8 [6 ^4 _
: A: }: w+ G. `3 e6 G; _http://www.ti.com/lit/ds/symlink/txs0102.pdf
: p! I0 i( `, R3 L, R4 R2 w2 A6 S: S6 m/ \
{:soso_e176:}
. F! S5 d# y# k5 l" k7 G. X' D9 ^. b6 h7 h+ i5 u
|
|