打印
[MCU]

i2c主从分开供电,且一方断电后电平无法拉高的问题

[复制链接]
3574|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cgha|  楼主 | 2014-6-10 15:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
从机5V,主机3.3V,SDA 和SCL直接连接,上拉电阻为4.7K。通信没有问题。但是问题是当5V端断电,3.3V端还是有电的情况下,电平被拉低到1.8V,是个中间电平,导致主机I2C工作不正常。请问有什么办法可以解决?

相关帖子

沙发
lanmp| | 2014-6-10 16:52 | 只看该作者
上拉电阻拉到3.3了?断了电还要通信么?

使用特权

评论回复
板凳
ayb_ice| | 2014-6-10 17:02 | 只看该作者
从机都关闭了,还通信啥嘛

使用特权

评论回复
地板
cgha|  楼主 | 2014-6-10 17:41 | 只看该作者
我的意思是断了电之后主机这边I2C硬件就不正常了,仿真的话是5V断电后主机死循环在发送start信号。
上拉倒3.3V

使用特权

评论回复
5
lanmp| | 2014-6-10 22:18 | 只看该作者
估计从机也有上拉

使用特权

评论回复
6
ayb_ice| | 2014-6-11 08:55 | 只看该作者
断电后重新初始化IIC应该就可以了

使用特权

评论回复
7
jjjyufan| | 2014-6-11 09:02 | 只看该作者

使用特权

评论回复
8
cgha|  楼主 | 2014-6-11 11:12 | 只看该作者
看来只有采用每次读写的时候初始化,读写完成后回到普通IO。
因为从机断电后I2C的IO口为低阻态,jjjyufan的图应该也是没用的,会被拉低。
还好我当时加了一个同步中断信号,从机有数据会拉低这个信号,主机才会去读写。

使用特权

评论回复
9
bob.xue| | 2014-6-11 13:11 | 只看该作者
串个电阻

使用特权

评论回复
10
yewuyi| | 2014-6-11 14:30 | 只看该作者
5V端断电时,5V端的SCL/SDA应当是呈现高阻态,你现在出现它拉低对方电压的问题,说明你的电路有问题

使用特权

评论回复
11
MK60| | 2014-6-14 11:23 | 只看该作者
不带隔离很简单:


上图中的三极管如用场效应管代替,可以省掉47K电阻和5819(大部分场效管都内置这个反向保护二极管)。


要隔离比较麻烦:


上图中的三极管如用场效应管代替,可以省掉两个47K电阻(两个5819不能省)。



使用特权

评论回复
12
原野之狼| | 2014-6-15 09:27 | 只看该作者
断电之后对端未必呈现高阻态,所以还是得隔离一下。
不解的是,为什么要设计成这样?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

561

主题

719

帖子

0

粉丝