This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430G2553:超低功耗系统的基本问题

Guru**** 2382480 points
Other Parts Discussed in Thread: TPS22860, TPL5010, MSP-EXP430FR5969, TPS62730
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/696503/msp430g2553-basic-questions-to-ultra-low-power-systems

器件型号:MSP430G2553
主题中讨论的其他器件:TPS22860MSP-EXP430G2TPL5010MSP-EXP430FR5969TPS62730

您好!

我目前正在尝试在超低功耗要求下使用 MSP430设计我的第一个项目。 我从未做过超低功耗应用。

我的第一个问题是关于 I2C。 我将 MSP430用作具有单个从器件的单个 I2C 主器件。 如果我只在 SDA 线路上放置一个上拉电阻器并将 SCK 引脚配置为 PushPull、那么电流消耗会更好吗? 这将起作用、因为端口不受转换模式的影响。 这样、在通信时不会有太多的电流流动。

第二个问题是、我想让器件休眠几分钟。 我不知道如何配置计时器。 使用8MHz 时钟和8分频器时、我仍然有1MHz 的时钟、16位计时器仅运行65ms、直到它中断。 几分钟后我就没有什么需要了。 我不想经常被软件唤醒。 是否有一种常见的做法来实现这一点?

该器件应使用电池运行尽可能长的时间(至少一年)。 现在、我看到了一些直接使用两节 AA 电池的设计。 我计划连续使用4节正常 AAA 电池和 一 个 TPS78330超低静态电流低压降线性稳压器。 使用 TPS78330、直接连接的2节电池的寿命是否长于4节?

在不使用时、通过另一个 TPS78330关闭 I2C 器件或蓝牙器件等外设是否有意义? 这样、只有 MSP 在器件空闲时才会通电。 我想使用 分压器来测量电池电压并使用 TPS22860关断的电阻器。  这里的常见做法是什么? 通常如何处理具有外设的超低功耗电路。 是否有一本书或可推荐的内容?

很抱歉、有很多问题。 但这对我来说是一个全新的领域,我对它没有任何经验或知识。 我想了解到已经证明效果良好的共同做法。

谢谢、此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我建议您先阅读一本有关 MSP430基础知识的书。 有几种可用的产品、例如 John Davies 提供的"MSP430微处理器基础知识"。
    了解了"工作模式"和"睡眠模式"、中断处理与轮询等基本概念之后、您可以开始使用代码示例。 一种简单的方法是使用 MSP-EXP430G2 Launchpad。 ( www.ti.com/.../MSP-EXP430G2) 此硬件具有测试和入门的能力。 TI Resource Explorer 在线提供代码示例、硬件设计文件等。 dev.ti.com/.../

    对于每个 MSP430、我们都为 I2C、SPI、ADC、时钟、计时器等不同模块提供代码示例 它们是一个良好的起点。

    有关 I2C 的问题、请在以下位置查找有关电阻器尺寸的更多信息: http://www.ti.com/lit/slva689 上拉电阻器是进行可靠通信所必需的。

    时钟频率的问题。 每个 MSP 都可以使用不同的时钟源运行。 通常在活动模式下、CPU 运行速度快、例如 以进行计算和执行所需的任何操作。 完成后、CPU 关闭、MSP 进入低功耗模式。 此时、时钟源切换到较低的频率、例如32kHz。 使用内部或外部32kHz 时钟源、并且只能使用一个计时器休眠时间、最高可达16s。

    另请查看适用于 MSP430TM MCU 的软件编码技术(http://www.ti.com/lit/slaa294) 、以了解有关如何对 MSP430进行编程的更多信息。

    此致、
    Andre
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、感谢您提供有关文档的信息。 我将会阅读它们。  

    有关如何处理电路中其他器件的任何提示。 使用负载开关将其关闭是否是一个好做法? 通常如何处理并非所有 IC 都始终使用的电路?

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于超低功耗 MCU:
    *使用 MSP430FR 系列。
    *将所有未使用的 I/O 设置为输出并将其设置为逻辑低电平。
    *使用32.768kHz 外部晶振。
    *如果您不需要8MHz CPU 时钟、请使用所需的最小值。 例如、将频率更改为1MHz 将为您节省大量能源。
    *空闲时 I2C (空闲状态为 VCC)不消耗功率。 如果您不需要太多的速度(如果 I2C 线路的泄漏电流很小)、则可以最大程度地降低 I2C 动态功率损耗。 您可以使用高上拉电阻器。 我以前使用过100K 上拉电阻器、没有任何问题(只是不要期望400kHz 的速度)。
    *使用 LPM3.5甚至 LPM4.5。 因为这些是最低功耗模式。
    *对于任何周期性睡眠/唤醒、请将 MCU RTC 模块与可能的最高 LPM 数结合使用。


    对于外部电路:
    *使用硬关断消除未使用或空闲部件或外设的任何睡眠或泄漏电流。
    *使用开关稳压器、因为它们的效率高于 LDO。
    *最大限度地减小所有数字线路的电容、因为这将最大程度地降低动态功率损耗。


    如果您按照上述步骤操作、您应该能够使用单节 AAA 电池为器件供电多年。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复。 有人建议什么 DCDC 稳压器适用? 我发现一些看起来比 TPS78330高得多的 IQ。 我想降压-升压稳压器也是我需要的。 5V 至1V 左右输入的3V 输出。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、您需要降压-升压。

    尝试找到一个能够为您的电压输入和输出提供最高效率的器件。 其数据表应提供包含该信息的图形。 祝你好运。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    感谢您的回答。 我搜索的是开关降压/升压转换器、但没有找到像 TPS78330那样具有如此低 Iq 的任何器件。 降压/升压 IC 的 IQ 似乎大于30uA。 我在这里缺少什么吗? TPS78330的 Iq 为500nA。

    我很快想再次讨论 I2C 的问题。 如果从器件不支持时钟条纹并且只有一个主器件、那么忽略 SCK 上的上拉电阻并将 SCK 引脚配置为推挽是不是更好的。 这样、SCK 就不必与上拉电阻器作斗争。 这应能节省大量能源。 明白了吗?

    我遇到的另一件事是 TPL5010毫微功耗系统计时器。 因此、我可以在最深的睡眠模式下将 MSP430置于睡眠模式的时间超过16ms (7200 s)、只需等待外部中断。 对此有什么想法吗?

    很抱歉再次询问、但我不知道有谁可以与我讨论"超低功耗"问题。 因此、我将尽可能收集信息。 我想我会对 MSP-EXP430FR5969进行一些测试、然后将结果发布到返回位置。

    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的。 首先、纠正您对电池电压输出的看法。 AAA 电池(或任何电池)不会放电至0V。 实际情况是、它们最初以~1.4V 开始、然后放电至~1V、之后"失败"。 在~1V 时、它们达到了一个灾难性的点、在这个点、它们的能量输出迅速下降、从而使它们无用。

    因此、从上述情况来看、如果您使用4节 AAA 电池、您的输入电压范围将介于~6V 和~4V 之间。 这现在改变了您只需要降压转换器的开关转换器类型。

    现在回到您的第一个问题:是的、对于 TPS78330、您会错过一些内容。 首先、这是一个 LDO、这意味着您将浪费能源。 其次、500nA 是"关断"电流。 这只是意味着 TPS78330在处于"关断"状态时不会消耗过多的电流。 嗯、如果您可以通过某种方式创建一个外部"硬关断"信号来控制它、这可能会很好;否则、您需要查看数据表中的"I GND"条目。

    现在、让我们来看看 LDO 不是一个好选择的原因。 假设电池电压从6V 开始、MCU 为3.3V、MCU 电路消耗1mA。 MCU 的功耗将为3.3mW;但是、由于这是一个线性稳压器、电池也会看到1mA 的电流消耗、这意味着电池的功耗为6mW。 这使得效率(无论 IQ 如何、只需通过设计选择)为3.3mW/6mW = 55%。 这意味着、由于您选择使用 LDO、您将丢弃存储在电池中的~50%能量。

    至于另一个问题、如果您使用 MCU 的 RTC、则可以将其置于深度睡眠状态数天。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复(和耐心)。

    我了解有关 LDO 和电池电压的内容。 但我对 LDO 还有一个想法。 假设我的电路在待机时占用5µA μ A 的电流。 µA 我看一下 TPS62730开关、它在工作模式下具有一个运行基准电流、消耗的电流为0mA (我猜这相当于 Ignd)、为34 μ A。 这会将我的总电流~µA 40 μ A。 µA、TPS78330在5 µA 负载下的 Ignd (感谢您指出这一点)约为1或2 μ s。 µA、效率为50%时、电流消耗低于20 μ A。 我想、对于几乎一直处于睡眠模式且功耗仅很短的应用、300µ A LDO 会更好。 这是对的吗?

    带日历的 RTC 当然是一个不错的选择。 但是我想使用没有 RTC 的 G2553。 因此、我认为外部毫微功耗计时器是一个不错的选择。  

    对 I2C 有什么看法?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的数字很有意义。 这可能更适合您。

    至于 I2C、我认为它不会产生任何影响。 我个人会坚持 I2C 协议为具有上拉电阻的集电极开路。 如前所述、只要您关注总线速度、您就可以始终为上拉选择更大的值(甚至使用 MCU IO 中的值)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我认为电源问题可能取决于您的器件的使用方式。  如果在空闲或有效关闭时有更长的时间、并且操作员可以通过按钮将其唤醒、则可以让处理器进入休眠状态、等待 I/O 引脚上的中断触发极性。  在所有振荡 器关闭的情况下、G2553在该状态下几乎不消耗任何电流、而高效的 LDO 稳压器也会这样做。  我使用了一个在 G2231上运行的器件、该器件每天工作约一小时、使用9V 电池运行。  没有开/关开关、当所有器件都处于睡眠状态、等待瞬时开关被按下时、总电流消耗低于2uA。  电池寿命约为一年。  但毫无疑问、当器件开启时、通过 LDO 以一两 mA 或两 mA 的电流将9V 降至3.3V、效率非常低。  因此、它在某种程度上取决于您所查看的使用模式。  开关稳压器在提供大电流时非常高效、但根据我的经验、它们仅提供少量电流的效率并不是很高。  但当然、我可能做得不对。

    我认为在 I2C 上使用推挽而不是上拉时也会出现同样的情况。  当 I2C 空闲时、没有电流流经上拉电阻器、这在一定程度上取决于 I2C 总线将处于多大活动状态。  但我肯定会尝试一下推/拉。

    正如其他人建议的那样、完全打开时 CPU 运行速度越慢、您将使用的功率就越低。  请记住、尽管 G2553 已校准1MHz DCO 设置、但这并不意味着您不能放慢速度。  如果您需要校准的较慢速度、则可以在不需要晶体的情况下逐芯片首次运行时推导出该速度。

    最后、我们不能用替代方法来尝试其中的一些操作并测量产生的电流。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    George、Mike、

    感谢您的帮助和详细回答! 这是一个很棒的社区帮助!

    Sebastiana、
    您是否还有其他与此主题相关的问题? 如果没有、请在上面的一个帖子上选择"已解决"、以便可以关闭此主题。
    随时可以打开不同主题的新主题!

    非常感谢!

    此致、
    Andre
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的。 非常感谢!