搞两个探头夹一下,测试通信波形,然后再对比程序检查,半个小时都不要的事情 |
按楼主的意思是取掉其它两组的电阻,在STANDBY状态下,IIC电压还是低的。那就去查程序吧。 |
如果你所謂的去掉 2 組不供電的 I2C 是把 33R 電阻拿掉,但其它 2 個不給電的 Device 還是有其它接腳和 MCU 或其它有電的 IC 相連,這樣還是有可能有漏電的危險。 漏電造成 IC 不完全或是不正常的工作! $ ^1 b7 U# z4 I* Q2 u) j. V J: x 其實你只要用電錶量其它 2 顆不供電的 IC 上的電源或 I/O 接腳,只要能量到一些類似 0.3V、0.6V 這種微弱的電壓,那就表示有漏電的狀況發生了! & t+ z: g8 U- ^! ^5 ?7 z 漏得嚴重的還可能會量到超過 1V。 |
本帖最后由 超級狗 于 2013-2-28 00:12 编辑 I2C 的雙向架構是由兩個部份所構成,送的部份是一個 Open Collector 或 Open Drain 線路;收的部份則是一個 CMOS Input線路和前述的 Open Collector 或 Open Drain 線路並接在一起。& l/ ~: m0 r( J' x2 J 當你不給電時,Open Collector 或 Open Drain 的電晶體(Transistor)Gate 沒有電壓,電晶體有可能處於半開或全開的狀態。) h- {0 h) u- G 另一方面 CMOS 線路沒電時,電晶體(Transistor)Gate 沒有電壓,電晶體也是可能處於半開或全開的狀態。- e/ H3 B) S* `8 }4 U" b 6 U9 f- b% w2 W1 w5 d0 u9 [ 如果你的問題是其它 2 個 I2C Device 給電就不會發生,那就應該是漏電把電位(Voltage Level)拉低的。/ i2 i- b0 t; o' E 任何 IC 如果沒特別說明不給電時 I/O 腳位是高阻抗(Hi-Z 或 High Impedance)狀態,都有可能會透過 I/O 接腳造成漏電。 如果你的設計為了省電,會有部份系統斷電(Partial System Power Off)的需求,一般我們的解法是去找一顆有電源隔離(Power Isolation)Buffer 或 Level Translator 把 Bus 兩端的 Device 隔開。 所謂有電源隔離(Power Isolation)的 IC,是這種 IC 會個別吃兩端系統的電源,當任一邊的電源消失時,IC 所有的I/O 接腳都會變成高阻抗(Hi-Z 或 High Impedance)狀態,這樣就可以防止漏電的情況發生。! @( ^' ~' d9 g& o Q6 U/ Z 3 l7 L0 m- z z0 w4 O v! s 詳細您可參照TI I2C Level Translator TXS0102 的 Datasheet! D" J' k; O7 S, Y- [5 X http://www.ti.com/lit/ds/symlink/txs0102.pdf ' x5 F( @! I) y% D {:soso_e176:} A& {; ~$ `8 s7 K7 r3 ` |
可能发原理图上来,大家参考一下,也可以拆掉不同的组,很容易搞掂 |
另外两组IIC 的IC 有没有供电?如果没有供电,会将电压下拉。 |
明显的被软件当作IO在操作 |
查一下另两组接口的资料。仔细看看。曾碰到过类似的问题。最后是更新了另外一组的代码就搞掂了。那一组的IIC在不上电或没复位的状态下是低的。 |
除非有芯片被击穿,否则不会被拉低。你说的是I2C在通讯的时候,直流电压测量是1.16V吧,说明有信号和时钟在走,这是对的,用示波器一看就知道什么回事了。 |
关于我们|手机版|EDA365 ( 粤ICP备18020198号 )
GMT+8, 2024-11-24 07:56 , Processed in 0.063369 second(s), 37 queries , Gzip On.
地址:深圳市南山区科技生态园2栋A座805 电话:19926409050