查看: 256|回复: 1

[经验] 维特智能的JY901IIC(MPU9250)通讯数据不变原因分析

[复制链接]

主题

好友

620

积分

举人

该用户从未签到

发表于 2019-8-19 09:37:04 |显示全部楼层
前几天调试维特智能的JY901模块,用IIC通讯方式,能够读取温度、气压和高度数据,其它数据如加速度、角速度、磁场读出的数据都不常,而且是保持一个数值不变。
       中间折腾过程就不说了。

       一、从硬件上说,我把这个模块的通讯口和开发板上24LC02的IIC总线共用,开发板上用的是4.7K上拉电阻,一般情况下这种组合是没有问题的,但是问题就出在这里。组合之后可能出现EEPROM读取不正常,JY901读取不正常。
  因为没有0603封装的电阻,我就直接把24LC02拆了下来,JY901数据读取就正常了,模块带的例程没有问题,可以移植到其它型号的芯片上。如果更改上拉电阻的阻值也可能解决此问题,至于更改多大阻值还需要测试,也许和不同器件组合需要不同的上拉电阻。最保险的方法就是同一总线上只放一个器件或是一种器件,不同种类的器件说不准就出现匹配不正常的问题。这样的问题有时候很不好查,也不好分析,就像JY901能读出温度、气压、高度,别的数据不对,到底是软件协议的事,还是硬件连接问题?
       调试JY901的IIC通讯如果出现这样的问题,解决方法:JY901单独使用IIC总线   调整与其它器件共用IIC的上拉电阻



二、无需给JY901单独连一条I2C线,只需通过自带软件更改地址即可。
造成问题的原因是:

FM24LCXX系列I2C存储器默认的地址是1010XXX(后三位取决于外部的配置引脚,没有配置引脚的看配置手册)。
当后三位为0时(外部配置引脚浮空或接地),二进制0b1010000=十六进制0x50,与JY901默认地址冲突。
使用配置引脚错开FM24LCXX的地址,或者使用串口修改JY901的I2C地址即可。


回复

使用道具 举报

主题

好友

236

积分

秀才

  • TA的每日心情
    奋斗
    昨天 21:03
  • 签到天数: 13 天

    连续签到: 2 天

    [LV.3]偶尔看看II

    发表于 2019-10-8 12:27:03 |显示全部楼层
    感谢分享!正在使用。:)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /6 下一条

    手机版|电路城

    GMT+8, 2019-11-14 03:32 , Processed in 0.060072 second(s), 13 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz!

    返回顶部