带外部上拉的i2c电流消耗

⚠️
你好。。谢谢你来到论坛。令人兴奋的消息!我们现在正在迁移到新的论坛平台,该平台将提供更好的功能,并包含在主对话网站中。所有员额和帐户都已迁移。我们现在只接受新论坛的流量-请在//www.wsdof.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
6个员额/0个新员额
最后一篇文章
vmore
离线
最后一次见到:9个月1周前
加入:2018-03-01 18:22
带外部上拉的i2c电流消耗

你好

我的I2C总线上有两个设备(eeprom和另一个设备),总线上连接有外部上拉-scl、sda(4.7k)。在添加外部上拉后,我观察到电流消耗有一个起伏-大约500uA的连续消耗(芯片休眠时也是如此)。一旦外部上拉被移除,这种情况就会消失。一个潜在的原因可能是i2c线路没有被停用。

我初始化i2c的代码如下:

GPIO_配置引脚(GPIO_端口0,GPIO_引脚6,输入,PID_I2C_SCL,错误);GPIO_配置引脚(GPIO_端口0,GPIO_引脚7,输入,PID_I2C_SDA,错误);i2c_eeprom_init();i2c_eeprom_read_data();i2c_eeprom_释放();

我试图将scl、sda线路重新配置回gpio状态,但这对当前消耗量没有帮助。

是否有一种方法可以停用i2c传输的内部上拉,从而有助于降低电流消耗?您是否可以提供有关调试此文件的任何其他输入?

关键词:
i2c
设备:
PM_对话框
离线
最后一次见到:1天4小时前
工作人员
加入:2018-02-08 11:03
你好,先生,

你好,先生,

您可以在GPIO\u ConfigurePin()中将I2C线配置为输入、输入或输入。请注意,当设备进入睡眠状态时,包括iC2块在内的所有外围设备都会断电。您能告诉我您在定制板中使用了哪些其他外围设备吗?例如,如果您使用的是外部SPI闪存,但未关闭电源,则睡眠模式下的正确功耗将增加。请注意,在我们的示例中,我们有相同的I2C线路配置。

谢谢,下午好

vmore
离线
最后一次见到:9个月1周前
加入:2018-03-01 18:22
i2c总线上有一个eeprom

i2c总线上有一个eeprom,没有spi线路。i2c主要用于eeprom通信,如果需要,则很少使用其他i2c设备。i2c的引脚配置为:

GPIO_配置引脚(GPIO_端口0,GPIO_引脚6,输入,PID_I2C_SCL,错误);GPIO_配置引脚(GPIO_端口0,GPIO_引脚7,输入,PID_I2C_SDA,错误);

这与我在其他例子中看到的情况一致,所以我不认为我在做一些非常不同的事情。如果i2c模块在睡眠模式下断电,我不清楚为什么上拉会导致如此大的电流消耗。移除上拉可大幅降低电流消耗,因此问题可能出在i2c线路上。

PM_对话框
离线
最后一次见到:1天4小时前
工作人员
加入:2018-02-08 11:03
你好,先生,

你好,先生,

将保留GPIO在进入睡眠前的状态,而不是GPIO的配置或功能,因此,当设备唤醒时,将调用periph_init()函数,以便在每次唤醒中重新配置管脚,管脚将返回其默认应用程序状态。例如,如果在进入睡眠之前GPIO为高电平,则它将在睡眠期间保持高电平,并将在唤醒时由periph_init()函数重新配置。睡觉前请检查一下I2C线是否高?

谢谢,下午好

vmore
离线
最后一次见到:9个月1周前
加入:2018-03-01 18:22
嗨,谢谢你的回复。

嗨,谢谢你的回复。i2c线路在进入睡眠状态之前不会被停用(它们总是保持在高位)。但是,移除外部上拉时,情况并非如此。若这是一个固件问题,它应该在添加上拉之前和之后都存在?如何在睡觉前或不使用时显式停用这些功能?

PM_对话框
离线
最后一次见到:1天4小时前
工作人员
加入:2018-02-08 11:03
你好,先生,

你好,先生,

对耽搁表示歉意。让我问你一件事。你说过你有外引体向上的动作,是吗?是否可以将其拆下并使用内部上拉?你有同样的问题吗?还有,睡觉前的状态是什么?两条线都处于高位?

谢谢,下午好