硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2283|回复: 6
收起左侧

STM32用IO口模拟I2C那么耗电吗,就模拟了I2C口能到90MA,有办法能够降低吗

[复制链接]

7

主题

30

回帖

51

积分

初级会员

积分
51
发表于 2020-1-14 13:30:57 | 显示全部楼层 |阅读模式
STM32用IO口模拟I2C那么耗电吗,就模拟了I2C口能到90MA,有办法能够降低吗,那个大神帮忙解答下,谢谢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107851
QQ
发表于 2020-1-14 13:45:44 | 显示全部楼层
你的测试必须有误,比如上拉电阻是10K,电压3.3V,连1mA都不到。。。
回复

使用道具 举报

7

主题

30

回帖

51

积分

初级会员

积分
51
 楼主| 发表于 2020-1-14 13:57:10 | 显示全部楼层
eric2013 发表于 2020-1-14 13:45
你的测试必须有误,比如上拉电阻是10K,电压3.3V,连1mA都不到。。。

没有加上啦,是单片机的功耗上到90马上下来
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107851
QQ
发表于 2020-1-14 14:06:59 | 显示全部楼层
ZHANGHAO 发表于 2020-1-14 13:57
没有加上啦,是单片机的功耗上到90马上下来

直接使用芯片内部上拉,引脚设置为开漏模式即可
回复

使用道具 举报

0

主题

34

回帖

34

积分

新手上路

积分
34
发表于 2020-1-14 14:35:10 | 显示全部楼层
90mA是系统的全部电流吧?单纯的I2C不可能这么大的电流的,你应该把问题描述清楚点,不然别人也没法帮你分析,I2C使用IO口模拟,可以把相应的GPIO配置为开漏,然后硬件电路加上拉电阻,上拉电阻的大小选择也是有讲究的,和通信速率和从器件的数量有关,影响的参数就是总线的负载电容,你可以参考NXP的最新关于I2C的规范文档,里面有很多详细的说明,文档名:I2C-bus specification and user manual,文档编号:UM10204,你可以直接去NXP官网搜索。
回复

使用道具 举报

7

主题

30

回帖

51

积分

初级会员

积分
51
 楼主| 发表于 2020-1-14 14:49:59 | 显示全部楼层
eric2013 发表于 2020-1-14 14:06
直接使用芯片内部上拉,引脚设置为开漏模式即可

非常感谢,问题解决了,我看文档开漏模式说是驱动电流大的时候用,这样用反而节省电流怎么回事
回复

使用道具 举报

7

主题

30

回帖

51

积分

初级会员

积分
51
 楼主| 发表于 2020-1-14 15:08:19 | 显示全部楼层
沉醉东风 发表于 2020-1-14 14:35
90mA是系统的全部电流吧?单纯的I2C不可能这么大的电流的,你应该把问题描述清楚点,不然别人也没法帮你分 ...

非常感谢,这个用内上拉更好,外上来会一直耗电,开漏不是驱动时用吗,怎么反而更省电
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-15 13:51 , Processed in 0.180147 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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