|
本帖最后由 超級狗 于 2013-2-28 00:12 编辑
( Z @1 i5 n) W6 I
" f, v' v* r% \+ QI2C 的雙向架構是由兩個部份所構成,送的部份是一個 Open Collector 或 Open Drain 線路;收的部份則是一個 CMOS Input線路和前述的 Open Collector 或 Open Drain 線路並接在一起。
8 B+ _- x( V$ A+ ~* R$ K1 g( E! ^
' d; y, H% C9 D! \( `當你不給電時,Open Collector 或 Open Drain 的電晶體(Transistor)Gate 沒有電壓,電晶體有可能處於半開或全開的狀態。
/ j4 s3 v# D2 M; P$ _( c
; m" k" j2 e& u& l另一方面 CMOS 線路沒電時,電晶體(Transistor)Gate 沒有電壓,電晶體也是可能處於半開或全開的狀態。) K. }, o/ i: [) `' ]. N
( l) ^' D' Z) R2 y* ~/ E- S如果你的問題是其它 2 個 I2C Device 給電就不會發生,那就應該是漏電把電位(Voltage Level)拉低的。
4 ]6 ]- g7 @1 }$ q1 Y* c; g
; Q, f9 M# B# S' R; X8 q任何 IC 如果沒特別說明不給電時 I/O 腳位是高阻抗(Hi-Z 或 High Impedance)狀態,都有可能會透過 I/O 接腳造成漏電。
2 c8 g, U1 Y+ l" |7 s. V) \* E8 s9 A0 y# y/ i
如果你的設計為了省電,會有部份系統斷電(Partial System Power Off)的需求,一般我們的解法是去找一顆有電源隔離(Power Isolation)Buffer 或 Level Translator 把 Bus 兩端的 Device 隔開。% e( }7 x9 c/ r5 S" S. _8 D& b
5 A, R+ e9 v( O
所謂有電源隔離(Power Isolation)的 IC,是這種 IC 會個別吃兩端系統的電源,當任一邊的電源消失時,IC 所有的I/O 接腳都會變成高阻抗(Hi-Z 或 High Impedance)狀態,這樣就可以防止漏電的情況發生。
% ?9 v$ S/ U7 a1 @/ Z H) B w" f/ \) X2 Y7 w
詳細您可參照TI I2C Level Translator TXS0102 的 Datasheet!
9 ]! `- y& N H' k; N* H6 n# }0 J' b/ {/ v1 T' N3 v, N
http://www.ti.com/lit/ds/symlink/txs0102.pdf
7 W) e8 \( g( }
/ c5 P) c5 H1 u3 I0 d% R" B{:soso_e176:} 8 [4 `* {2 c; x7 ?, b( i l" v
6 ^2 \7 I2 L! P. |( p |
|