EDA365电子工程师网

标题: IIC电平为什么会被拉低? [打印本页]

作者: licvin    时间: 2013-2-27 09:02
标题: IIC电平为什么会被拉低?
我现在在调试一板子,3组IIC共用一组硬件IIC,接有3.3V上拉(standby后依然有电),在standby状态下,只要触摸IC的IIC在通讯,另两组IIC的IC均不供电,但这种条件下,IIC的电平被拉低至1.14V,导致触摸按键无作用。
作者: 386019920    时间: 2013-2-27 09:17
应该是上拉电阻的阻值大了,换个小的试试……
作者: licvin    时间: 2013-2-27 09:19
386019920 发表于 2013-2-27 09:17
6 ^& m8 g1 i1 D8 `应该是上拉电阻的阻值大了,换个小的试试……

6 ^, f) d* @( N; G; ~上拉电阻本来是10K的,我换了个4.7K的上拉,依然不行
作者: 386019920    时间: 2013-2-27 09:45
licvin 发表于 2013-2-27 09:19
0 c3 o" B  D! M+ n" O上拉电阻本来是10K的,我换了个4.7K的上拉,依然不行
" Z) u* Z7 ]% {& i0 z5 n4 k
IIC的电平被拉低至多少?
作者: licvin    时间: 2013-2-27 10:01
386019920 发表于 2013-2-27 09:45 ; k, a1 y: o9 R6 @
IIC的电平被拉低至多少?
# x7 \% C/ h4 G# x
上拉电阻接1K,电压被拉低至1.16V。
作者: part99    时间: 2013-2-27 10:09
除非有芯片被击穿,否则不会被拉低。你说的是I2C在通讯的时候,直流电压测量是1.16V吧,说明有信号和时钟在走,这是对的,用示波器一看就知道什么回事了。
作者: reval    时间: 2013-2-27 10:23
查一下另两组接口的资料。仔细看看。曾碰到过类似的问题。最后是更新了另外一组的代码就搞掂了。那一组的IIC在不上电或没复位的状态下是低的。
作者: licvin    时间: 2013-2-27 14:25
reval 发表于 2013-2-27 10:23
! l- R4 W* L! m& r: D查一下另两组接口的资料。仔细看看。曾碰到过类似的问题。最后是更新了另外一组的代码就搞掂了。那一组的II ...
! ~7 ~/ u5 y% H2 x) e
我也这么认为,所以有跟软件工程师沟通过,但他们说另两组在不通讯的时候,是设置为1的。用示波器测试过波形,CLK,DATA波形都是正常的,就是电平有3.3V变为1.14V。
作者: dqhzxc    时间: 2013-2-27 14:43
明显的被软件当作IO在操作
作者: linfire    时间: 2013-2-27 16:11
另外两组IIC 的IC 有没有供电?如果没有供电,会将电压下拉。
作者: reval    时间: 2013-2-27 16:18
可能发原理图上来,大家参考一下,也可以拆掉不同的组,很容易搞掂
作者: licvin    时间: 2013-2-27 17:51
reval 发表于 2013-2-27 16:18
4 Q3 m* _! s" `% ^% _可能发原理图上来,大家参考一下,也可以拆掉不同的组,很容易搞掂
- V# D8 A) v- ~7 I
去掉另外两组IIC,依然无法正常通讯,所以我在想,是不是需要三组IIC同时通讯,才可以正常运行?!按理说,各组IIC是互不影响的。在standby下,只有触摸IIC WT5700正常供电。

QQ截图20130227175358.jpg (39.29 KB, 下载次数: 0)

QQ截图20130227175358.jpg

作者: 超級狗    时间: 2013-2-27 23:54
本帖最后由 超級狗 于 2013-2-28 00:12 编辑   A3 P8 l; y: p
  j- G; C; y* f
I2C 的雙向架構是由兩個部份所構成,送的部份是一個 Open Collector 或 Open Drain 線路;收的部份則是一個 CMOS Input線路和前述的 Open Collector 或 Open Drain 線路並接在一起。
0 J1 E' G6 l; e+ z0 a2 n1 t
# h$ z7 }. t0 q6 T1 W$ d當你不給電時,Open Collector 或 Open Drain 的電晶體(Transistor)Gate 沒有電壓,電晶體有可能處於半開或全開的狀態。. N- z" q2 s+ ~% L0 D
# u! ~1 ^  @5 u' D1 [% |0 I
另一方面 CMOS 線路沒電時,電晶體(Transistor)Gate 沒有電壓,電晶體也是可能處於半開或全開的狀態。
7 G( a/ j7 E2 ]- m# n. x9 }8 J, v8 U0 F2 v, Z
如果你的問題是其它 2 個 I2C Device 給電就不會發生,那就應該是漏電把電位(Voltage Level)拉低的。
" S" M0 r' A- p' L2 I2 f! Y
  ^( k& z) K7 G2 y, I* |1 N任何 IC 如果沒特別說明不給電時 I/O 腳位是高阻抗(Hi-Z 或 High Impedance)狀態,都有可能會透過 I/O 接腳造成漏電。
- c4 u& X$ S! t
7 ]5 Z- \7 D$ U! q如果你的設計為了省電,會有部份系統斷電(Partial System Power Off)的需求,一般我們的解法是去找一顆有電源隔離(Power Isolation)Buffer 或 Level Translator 把 Bus 兩端的 Device 隔開。
; i4 N  q+ N  r! a+ C1 |! X( l9 ^  G
2 {1 b4 F5 n* g" i* f7 ^所謂有電源隔離(Power Isolation)的 IC,是這種 IC 會個別吃兩端系統的電源,當任一邊的電源消失時,IC 所有的I/O 接腳都會變成高阻抗(Hi-Z 或 High Impedance)狀態,這樣就可以防止漏電的情況發生。
( m0 [2 f1 y" k$ Y6 l8 X% r& ~3 l! U& g' n
詳細您可參照TI I2C Level Translator TXS0102 的 Datasheet!
* i) [# p" ]# a3 `4 U2 [) K* J6 K: N5 a: x! `& Q6 J8 k
http://www.ti.com/lit/ds/symlink/txs0102.pdf
: ]) D1 |" m$ E, G. e9 j, R9 R: b2 l7 c
{:soso_e176:} & C2 j- N3 Z% u0 W# p# T* y: t
) n; N6 w/ M+ I+ n

作者: 超級狗    时间: 2013-2-28 00:10
如果你所謂的去掉 2 組不供電的 I2C 是把 33R 電阻拿掉,但其它 2 個不給電的 Device 還是有其它接腳和 MCU 或其它有電的 IC 相連,這樣還是有可能有漏電的危險。
8 ]2 M1 G) H( m, J! X* s( q+ m$ h7 F* i8 C! h# i$ A9 G$ B
漏電造成 IC 不完全或是不正常的工作!% Q; l% R7 d* n: j1 L% ?/ x* ~
% \1 [8 @' t( L( H0 I5 n3 D
其實你只要用電錶量其它 2 顆不供電的 IC 上的電源或 I/O 接腳,只要能量到一些類似 0.3V、0.6V 這種微弱的電壓,那就表示有漏電的狀況發生了!
6 _. L  L$ R7 g
  H2 d- H& C  ?漏得嚴重的還可能會量到超過 1V。
" R  @3 [  Y8 x+ b2 y) G# _9 ?: y* D: r$ _+ q6 [/ H, j5 n, t

作者: reval    时间: 2013-2-28 07:15
按楼主的意思是取掉其它两组的电阻,在STANDBY状态下,IIC电压还是低的。那就去查程序吧。
作者: luo7678094    时间: 2013-2-28 13:03
搞两个探头夹一下,测试通信波形,然后再对比程序检查,半个小时都不要的事情




欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2