找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3494|回复: 12
打印 上一主题 下一主题
收起左侧

单片机怎么挂载64个I2C器件,求大神分享经验,感谢!

[复制链接]
跳转到指定楼层
楼主
ID:93987 发表于 2018-12-28 08:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机挂载64颗 I2C 元件,已经修改成64个不同地址,单独试过每个都通讯读写正常,总线挂64个一起用 就不能工作。 只挂10个I2C器件读写正常,哪位大神遇到类似问题,提高I2C带载能力,求分享经验,感谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:98526 发表于 2018-12-28 09:30 | 只看该作者
强上拉?
回复

使用道具 举报

板凳
ID:424598 发表于 2018-12-28 09:34 来自手机 | 只看该作者
看看是不是供电不足
回复

使用道具 举报

地板
ID:449525 发表于 2018-12-28 10:44 | 只看该作者
强上拉是可以提高负载能力的,你这个通信是同时间的?还是可以分时用的?
回复

使用道具 举报

5#
ID:93987 发表于 2018-12-28 10:56 | 只看该作者

加了上拉还是没有效果
回复

使用道具 举报

6#
ID:93987 发表于 2018-12-28 11:26 | 只看该作者
周超然 发表于 2018-12-28 10:44
强上拉是可以提高负载能力的,你这个通信是同时间的?还是可以分时用的?

使用状况这样的:64个一直在总线上,会一直循环操作这64个,每次寻址一个
回复

使用道具 举报

7#
ID:123289 发表于 2018-12-28 12:33 | 只看该作者
仔细规划一下操作的时间,
单个作业完成后,必须让出总线。
剩下来就是驱动能力,通常用推挽输出足够。
但通讯速率必须降下来,因为64个关联之后,输入电容就变大了。
回复

使用道具 举报

8#
ID:155507 发表于 2018-12-28 12:49 | 只看该作者
每个I2C器件,都不能加上拉电阻
上拉电阻只能加在单片机 的I2C总线

低速100khz的I2C上拉一般是10K,高速I2C(400kz)上拉选择1k
如果只有一个设备10K是没关系,设备多了就要考虑驱动能力,用1k,1.5k,2.2K都比较好
回复

使用道具 举报

9#
ID:94031 发表于 2018-12-28 14:05 | 只看该作者
问题是你用的什么I2C 元件,硬件地址能区分开吗。
回复

使用道具 举报

10#
ID:401564 发表于 2018-12-29 00:23 | 只看该作者
先好好的看一下你用的IIC器件的使用手册,重点看一下时钟和数据的输入电流,一般都会有的.然后计算一下单片机要输出多少的电流才能保持电平的正确性.
数据端口不能强上拉,只能按最低电流标准来设定,因为数据端口是不响应的,而数据端口的吸入电流是有限的,如果你全部是强上拉了,有可能低电平响应信号到达的时候,吸入电流不够,数据端口就会一直是高电平
64个器件的输入电容是比较大的了,用IIC本身可能就不怎么在乎速度了,速率就用1KHZ的就可以了
回复

使用道具 举报

11#
ID:420836 发表于 2018-12-31 05:16 | 只看该作者
计算总电流驱动能力, 确定上拉电阻
回复

使用道具 举报

12#
ID:93987 发表于 2019-1-2 19:23 | 只看该作者
感谢各位的经验分享,已经完美解决!
回复

使用道具 举报

13#
ID:275111 发表于 2020-4-1 10:40 | 只看该作者
你好,看了你的帖子。有一个问题想请教。我用一个51做的键盘,I2C通信接口,怎么和主机相连(主机也是一个51单片机)。这个大体的思路你有什么指点吗?(就只有2根线,没有中断线。)
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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