求助:如何用5V的单片机采集3V的I2C芯片数据?

[复制链接]
7932|25
 楼主| zxq1234508 发表于 2007-6-23 16:23 | 显示全部楼层 |阅读模式
现在用了一个光强度的传感器供电电压是3.3V,VIH<3.6V.I2C接口,现在想用AT892051采集其数据,接口上该如何处理?看了一个例子上面是通过两个上拉电阻分别接在了SCL和SDA上,电源接的是3.3V的.这样行吗?
 楼主| zxq1234508 发表于 2007-6-23 17:05 | 显示全部楼层

怎么没有人回答啊

 楼主| zxq1234508 发表于 2007-6-23 17:06 | 显示全部楼层

用这个可以吗?

74lcx16245 5V转3V的芯片,有没有那位用过?
sjl2006 发表于 2007-6-24 16:46 | 显示全部楼层

应该不需要转

直接采就可以了吧。SCL和SDA接3.3V电源。
 楼主| zxq1234508 发表于 2007-6-25 07:59 | 显示全部楼层

直接接可以吗?

现在打算采用3.3V-10K电阻-SCL、SDA的方法,但是这样的话是不是把单片机的I/O口也拉低到了3.3V了?那样的话会不会有电流灌入3.3V电源的输出端呢?
ayb_ice 发表于 2007-6-25 08:28 | 显示全部楼层

用51的P0口,上拉电阻接3.3V即可。。。

 楼主| zxq1234508 发表于 2007-6-25 08:52 | 显示全部楼层

谢谢ayb_ice的建议

但是我现在用的是2051啊,没有P0口,直接用P1口行吗?
gyt 发表于 2007-6-25 09:56 | 显示全部楼层

会有问题

P1口和5V电压有联系,怕弄坏外围芯片
古道热肠 发表于 2007-6-25 10:55 | 显示全部楼层

用专用电平转换芯片是正招

    单片机的P1口是弱上拉5V,做成I2C总线方式使用,它不会变成OC输出模式,所以介绍用10K电阻上拉到3.3V的方法,我觉得不行。有如下几种方法
    1、使用AT89C2051RI,工业级别的2051,将单片机工作电压降低到3.3V,再与  3.3V的器件接口就一到了
    2、使用电平转换芯片,好像有74LVC245,LVC244能用,你得细看PDF
    3、使用OC门电路作缓冲,如7407,将OC输出用电阻上拉到3.3V,切记SCK是单向输出,SDA是双向使用,需用7407的2个门做成双向的。
    4、用CPLD,太大材小用了
   还有什么办法,大家帮忙想想,这个问题做硬件设计的迟早会遇到。流行芯片向低电压方向发展不会变。
mryyh 发表于 2007-6-25 11:32 | 显示全部楼层

楼上方案3,大家看行不行?

 楼主| zxq1234508 发表于 2007-6-25 11:48 | 显示全部楼层

多谢古版和mryyh

按照古版说的用74LVC245应该是可以的,在21IC上查了一下价格3块/片.也多谢mryyh的图,但不知道7407的转换速度能不能满足I2C通信的要求
mryyh 发表于 2007-6-25 14:21 | 显示全部楼层

方案2不一定能用,小心,用lvx4245肯定行

但用245的方案由于数据的双向性,要多用一个IO口资源来控制数据输入输出。
I2C的速度最大为400KHz,7407的速度没有问题。
另外说明:我给的图是9楼方案3的图形化,这种方案在理论上没有问题,但我没有用实际电路验证过,你可以做个试验,将结果发上来。
 楼主| zxq1234508 发表于 2007-6-25 16:52 | 显示全部楼层

现在手头上还没有硬件,在Proteus里仿真一下,看行不行.

古道热肠 发表于 2007-6-26 11:34 | 显示全部楼层

用硬件作试验才可靠

   7407的6脚最好再接1个单片机的IO口线,用3线完成I2C总线通讯。
infree 发表于 2007-6-26 11:58 | 显示全部楼层

方案3好像并没有起到什么作用

MCU的电源和7407的电源还是存在匹配的问题呵
xwj 发表于 2007-6-26 12:17 | 显示全部楼层

直接连接即可

唉,真不知怎么说你们好...
 楼主| zxq1234508 发表于 2007-6-26 12:32 | 显示全部楼层

xwj 用过吗?直接连接是否就可以了?谢谢

李冬发 发表于 2007-6-26 12:42 | 显示全部楼层

mryyh 给出的那个电路,mryyh一定没有实际试过!

车载音响 发表于 2007-6-26 13:11 | 显示全部楼层

看楼主要求得成本了

如果对成本要求比较严格,就接电阻,成本要求不是很严格,就接匹配得IC,LV245等。
我主要做消费电子产品,对成本要求比较高,一般就在口线上串个电阻
mryyh 发表于 2007-6-26 13:12 | 显示全部楼层

回18楼

我在12楼已经声明没有实际试过了。不过U1B和U1C这样连确实不合适。还是用三线吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

90

主题

485

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部