|
本帖最后由 超級狗 于 2013-2-28 00:12 编辑 7 U. h- Y: x/ Y; L
6 F7 }& n0 U3 T2 H' U: CI2C 的雙向架構是由兩個部份所構成,送的部份是一個 Open Collector 或 Open Drain 線路;收的部份則是一個 CMOS Input線路和前述的 Open Collector 或 Open Drain 線路並接在一起。+ ^! J8 s" E: x. i
- z. D8 O1 q) Y' i* S當你不給電時,Open Collector 或 Open Drain 的電晶體(Transistor)Gate 沒有電壓,電晶體有可能處於半開或全開的狀態。
. E; C% E/ ^1 z# l1 A
7 \5 K6 I, w- D& j另一方面 CMOS 線路沒電時,電晶體(Transistor)Gate 沒有電壓,電晶體也是可能處於半開或全開的狀態。
, ? i; w2 v# i; T$ k
% s2 k/ R: U7 |- k如果你的問題是其它 2 個 I2C Device 給電就不會發生,那就應該是漏電把電位(Voltage Level)拉低的。
7 d" U2 \/ E3 ~4 z/ z3 l( y. F- a/ y
, A3 M! }7 h4 N任何 IC 如果沒特別說明不給電時 I/O 腳位是高阻抗(Hi-Z 或 High Impedance)狀態,都有可能會透過 I/O 接腳造成漏電。! s4 k$ c0 t, {6 K1 ~* C
8 t) v- U. F+ C: h
如果你的設計為了省電,會有部份系統斷電(Partial System Power Off)的需求,一般我們的解法是去找一顆有電源隔離(Power Isolation)Buffer 或 Level Translator 把 Bus 兩端的 Device 隔開。: m7 Y$ R5 l' Z% H( C& y* ^
# H7 x# s% U$ `- L: d# K7 Z# `所謂有電源隔離(Power Isolation)的 IC,是這種 IC 會個別吃兩端系統的電源,當任一邊的電源消失時,IC 所有的I/O 接腳都會變成高阻抗(Hi-Z 或 High Impedance)狀態,這樣就可以防止漏電的情況發生。: f4 S. c2 [) w( X" g$ c5 l+ v: m
2 |+ l$ V, l0 q4 m. z詳細您可參照TI I2C Level Translator TXS0102 的 Datasheet!
4 N O$ n/ K. f @3 z l; w# j- ~# i* P9 B6 G) {2 H$ c$ K
http://www.ti.com/lit/ds/symlink/txs0102.pdf
! [9 V, f& P/ e1 v( ^1 h/ G3 S2 L! [/ f8 j% d
{:soso_e176:} & a! q0 _7 g7 [: l! G U
& x% ?* t M- Z6 n1 \
|
|