找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 333|回复: 14
打印 上一主题 下一主题

接多个I2C从设备出现问题

[复制链接]

18

主题

190

帖子

1734

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1734
跳转到指定楼层
1#
发表于 2016-5-18 10:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
一个MCU上的I2C接2个从设备A  FTC692L和B HIS3DH,单独测试都能正常工作,两个一起接上后,只有A能正常工作,B的I2C无法工作。我想可能是A没工作的时候I2C不是高阻状态。想用一个IO开关来控制A的I2C接口,IO开关是FSA266,但实现不了,各位有好的办法解决吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

50

主题

935

帖子

3903

积分

五级会员(50)

Rank: 5

积分
3903
2#
发表于 2016-5-18 11:01 | 只看该作者
上拉电阻多大? 地址都是哪些? 关于IO开关,直接用一个模拟开关估计可以吧?

点评

上拉的电阻用的是10k,4.7K都试过。模拟开关的型号有吗?  详情 回复 发表于 2016-5-18 15:15

294

主题

1835

帖子

6550

积分

五级会员(50)

Rank: 5

积分
6550
3#
发表于 2016-5-18 11:47 | 只看该作者
地址有没有冲突哦
听党指挥,能打胜仗,作风优良

18

主题

190

帖子

1734

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1734
4#
 楼主| 发表于 2016-5-18 14:29 | 只看该作者
没有冲突,后面的设备是可以更换地址的,我更换地址后,情况还是一样。

18

主题

190

帖子

1734

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1734
5#
 楼主| 发表于 2016-5-18 15:15 | 只看该作者
bluskly 发表于 2016-5-18 11:01
1 R; ~7 R: O6 u上拉电阻多大? 地址都是哪些? 关于IO开关,直接用一个模拟开关估计可以吧?
3 a8 E& K7 z& y$ x5 e
上拉的电阻用的是10k,4.7K都试过。模拟开关的型号有吗?7 x  D+ F- g6 T) \' p" a, M: {

点评

1K 再給它下去啦!別試到一半就停,到 470R 都可以試。^_^  发表于 2016-5-18 21:59

9

主题

141

帖子

601

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
601
6#
发表于 2016-5-18 23:29 来自手机 | 只看该作者
直接测试,让b工作起来后,操作a,看看时钟,数据正不正常?估计时钟或者数据一直被拉低或者拉高

点评

连上A的时候,B还不能正常工作。  详情 回复 发表于 2016-5-19 15:07

9

主题

141

帖子

601

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
601
7#
发表于 2016-5-18 23:34 来自手机 | 只看该作者
用两个nmos管+一个io口就可以实现

50

主题

935

帖子

3903

积分

五级会员(50)

Rank: 5

积分
3903
8#
发表于 2016-5-19 10:12 | 只看该作者
我最低用过330R的 最起码也得用1K的啊 4.7K的太大了

点评

现在时钟和数据上都串联一个电阻,时钟串联是4.7K的,数据串联的是1K,数据用510欧姆电阻上拉,时钟用的是10K上拉时钟信号能正常了。但是数据信号高低电平变化只有80mv。  详情 回复 发表于 2016-5-19 15:10

50

主题

935

帖子

3903

积分

五级会员(50)

Rank: 5

积分
3903
9#
发表于 2016-5-19 10:16 | 只看该作者

18

主题

190

帖子

1734

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1734
10#
 楼主| 发表于 2016-5-19 15:07 | 只看该作者
xhy_hard 发表于 2016-5-18 23:29
; _/ X7 I8 f1 }% N+ a; b' s直接测试,让b工作起来后,操作a,看看时钟,数据正不正常?估计时钟或者数据一直被拉低或者拉高
, g2 v6 j% [  ?2 f
连上A的时候,B还不能正常工作。8 ^: x  `, j, Q, \4 J

18

主题

190

帖子

1734

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1734
11#
 楼主| 发表于 2016-5-19 15:10 | 只看该作者
bluskly 发表于 2016-5-19 10:12
# m6 O' D4 m7 U$ f* Y7 C) C2 K我最低用过330R的 最起码也得用1K的啊 4.7K的太大了
6 m. O# d$ h  u
现在时钟和数据上都串联一个电阻,时钟串联是4.7K的,数据串联的是1K,数据用510欧姆电阻上拉,时钟用的是10K上拉时钟信号能正常了。但是数据信号高低电平变化只有80mv。+ K3 O+ _, W8 @; P; H: j6 [
& f2 W" W0 D2 h5 y: C

0

主题

35

帖子

164

积分

二级会员(20)

Rank: 2Rank: 2

积分
164
12#
发表于 2016-5-19 17:28 | 只看该作者
用示波器量一下I2C波形,看看是什么问题,另外,你串10K电阻也太大了吧,一般串个几十欧的就可以了,上啦4.7K应该够了,另外两个芯片的复位有没有问题

0

主题

7

帖子

95

积分

二级会员(20)

Rank: 2Rank: 2

积分
95
13#
发表于 2016-5-19 17:49 | 只看该作者
首先,在A没工作的时候,I2C也应该是处于上拉状态,你要看看你的电路在都贴上去的时候,I2C空闲是不是高电平;其次,一起接上的时候A可以,B不行,单独贴的时候A和B都可以,其实可以证明I2C的硬件电路是好的;尝试加长I2C时序的中的延时,如果两片的地址不重复,不会出现楼主说的这种现象的;如果你真的想用开关来解决,用一个带使能端的244就可以,又便宜,又好用!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-29 16:15 , Processed in 0.068130 second(s), 38 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表