找回密码
 注册
关于网站域名变更的通知
查看: 833|回复: 14
打印 上一主题 下一主题

接多个I2C从设备出现问题

[复制链接]

该用户从未签到

跳转到指定楼层
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,但实现不了,各位有好的办法解决吗?

该用户从未签到

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

点评

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

    2019-11-20 15:36
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2016-5-18 11:47 | 只看该作者
    地址有没有冲突哦

    该用户从未签到

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

    该用户从未签到

    5#
     楼主| 发表于 2016-5-18 15:15 | 只看该作者
    bluskly 发表于 2016-5-18 11:01# }  t4 d( n) u
    上拉电阻多大? 地址都是哪些? 关于IO开关,直接用一个模拟开关估计可以吧?
    ; U5 ]: ^  `9 l7 z* i3 x1 S( n' ?; K2 I
    上拉的电阻用的是10k,4.7K都试过。模拟开关的型号有吗?
    ) d8 J! y2 u# L- U  a/ \( n

    点评

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

    该用户从未签到

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

    点评

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

    该用户从未签到

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

    该用户从未签到

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

    点评

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

    该用户从未签到

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

    该用户从未签到

    10#
     楼主| 发表于 2016-5-19 15:07 | 只看该作者
    xhy_hard 发表于 2016-5-18 23:29
    * m$ N& u/ y$ w4 `5 F8 k直接测试,让b工作起来后,操作a,看看时钟,数据正不正常?估计时钟或者数据一直被拉低或者拉高
    7 ^  R3 _! d% D2 R) t
    连上A的时候,B还不能正常工作。
    * S* [$ B* V3 S: B  J9 s

    该用户从未签到

    11#
     楼主| 发表于 2016-5-19 15:10 | 只看该作者
    bluskly 发表于 2016-5-19 10:12
    : U3 G0 j9 m! K9 b$ C: f  m我最低用过330R的 最起码也得用1K的啊 4.7K的太大了
    0 @; k& y6 g9 x( `" S# @
    现在时钟和数据上都串联一个电阻,时钟串联是4.7K的,数据串联的是1K,数据用510欧姆电阻上拉,时钟用的是10K上拉时钟信号能正常了。但是数据信号高低电平变化只有80mv。9 b, n" l1 s( _) u

    * N$ e$ E/ h! t8 n
  • TA的每日心情
    慵懒
    2021-4-29 15:05
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 07:15 , Processed in 0.187500 second(s), 30 queries , Gzip On.

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

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

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