打印

请教各位大神,我在长距离使用I2C遇到的问题!

[复制链接]
2194|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
经常补钙|  楼主 | 2011-8-19 18:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人在使用SHT11这块测量温湿度器件的时候,将其通过10M的传输线进行传输。其实SHT11也不是标准的I2C器件,但是很类似。在单片机发送数据给SHT11后等待ACK,却发现SHT11无法将电平拉低,导致单片机无法读取数据。但是很奇怪的现象出现了:当我将手或者其它类似镊子等触摸到SHT11的DATA焊盘上的时候,此时可以将电平拉低了,且输出的数据准确稳定;但是把手或者其它类似镊子等拿开的时候,立马没有数据输出,这让我很纳闷!请教各位,怎么解决此问题?程序是正确的,一开始在使用1M长的传输线时没有任何问题且数据稳定。现在的问题就是SHT11无法将电平拉低。使用3.3V电压。



相关帖子

沙发
SYHDJF| | 2011-8-19 18:28 | 只看该作者
这个,我也正在做SHT11,还是新手,sht11与单片机是公地的吧?还有可能是DATA线上的上拉电阻是否有影响?只是个人猜测,不正确勿怪。呵呵

使用特权

评论回复
板凳
经常补钙|  楼主 | 2011-8-19 18:42 | 只看该作者
2# SYHDJF

使用特权

评论回复
地板
经常补钙|  楼主 | 2011-8-19 18:45 | 只看该作者
2# SYHDJF 是共地的。我现在的困惑不是能不能传输十米。我用示波器测试了,波形确实会受到干扰,但是问题不大。我现在的困惑是为什么用手或者其它东西碰一下焊盘就有数据输出,而不碰则没有输出。。。

使用特权

评论回复
5
SYHDJF| | 2011-8-19 19:26 | 只看该作者
本人纯属猜测:可能是信号线与人接触后可以消除干扰信号。

使用特权

评论回复
6
SYHDJF| | 2011-8-19 19:27 | 只看该作者
还是请牛人给你答复吧,我这纯粹瞎猜。不靠谱啊

使用特权

评论回复
7
经常补钙|  楼主 | 2011-8-19 19:38 | 只看该作者
6# SYHDJF 唉我们单位工作很多年的工程师叫我在DATA脚和地之间接一个小电容,更改上拉电阻的阻值,统统没用。。还是用手一触碰,保准好用,一试就灵。。。实在不行我用个单片机做中继核心,然后用232发到终端去

使用特权

评论回复
8
SYHDJF| | 2011-8-19 20:18 | 只看该作者
有人推荐采用双绞线试一下,你自己采取最好的吧

使用特权

评论回复
9
chunyang| | 2011-8-19 23:10 | 只看该作者
说明楼主的系统地噪声很大,人体接触以后相当于一个泄放回路,将系统地与大地相连,同时对I2C器件的供电进行适当去耦。

使用特权

评论回复
10
ydw1991| | 2011-8-20 00:57 | 只看该作者
呵呵  路过

使用特权

评论回复
11
linqing171| | 2011-8-20 07:00 | 只看该作者
楼主SDA到地的电容是不是加的太大了?加个47pF的看看。
当然,也可以把SDA和SCL的线撕开看看,进了互相干扰比较大。

使用特权

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

本版积分规则

2

主题

40

帖子

1

粉丝