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.

[参考译文] MSP430FR5994:每个时钟周期的 MCU 能量

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/895625/msp430fr5994-mcu-energy-per-clock-cycle

器件型号:MSP430FR5994
主题中讨论的其他器件: ENERGYTRACE

你(们)好

是否有关于 MSP430FR5994在工作模式下每时钟周期(16MHz 时)能耗的信息或先前测量的数据?

数据表中是否指定了该值?

谢谢

罗什

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

    Rosh、您好!

    实际上、我们没有指定每条指令所需的电荷。 您可以在器件数据表中找到工作模式下各种情况下的电流消耗值。 请参阅表5.4进入 VCC 的有源模式电源电流、不包括外部电流。

    未指定每个指令周期的电荷的原因是不同场景的复杂性和数量。 请记住、与 CPU 活动相关的电流主要包含开关所需的电荷。 但充电取决于许多因素、CPU 的先前状态、地址总线、存储器位置、从 FRAM 执行、RAM、 缓存、已处理的数据。 因此、如果您将所有这些选项相乘、您可能会猜到、我们最终会得到数千个值。

    另一方面、如果您从数据表中的上述表中获取值、则可以估算每条指令的平均电流。 您可以采取的另一种方法是自行生成测试代码序列、并针对此特定情况执行测量。

    此致

    Peter

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

    能源成本是否会因 FRAM 中的数据量或使用的 FRAM 空间而异?

    例如、包含1024字节缓冲区的代码存储在 FRAM 中并初始化、而不是存储在 FRAM 中并初始化的8192缓冲区、但在运行时的特定时刻、数据缓冲区未使用。

    在上述情况下,如果使用更多的 FRAM,后一种情况是否会消耗更多的能源?

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

    您好、Rosh、

    这很难预测。 请参阅我们的用户指南文档以及 FRAM 代码执行和操作的详细信息。 此外、还有一些其他有用的文档。 在本章中、甚至有一章专门介绍功耗

    只有一个关键字是高速缓存、它用于降低 FRAM 读取访问比率。 根据代码、指令的位置、缓存命中率以及当前消耗可能会有所不同。 这不一定取决于代码大小或处理的数据量。 如需更多信息、请查看我们文档中的详细信息。

    此致

    Peter

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

    您好、Rosh、

    在此主题上、我们还能为您做些什么吗? 请告诉我们。 非常感谢。

    此致

    Peter

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

    最后一个相关问题:

    我还注意到、FRAM 写入能量(例如、将数据从 SRAM 复制到 FRAM)通常略高于 FRAM 读取能量(例如、将数据从 FRAM 复制到 SRAM)。 这是正确的吗?

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

    您好、Rosh、

    如果您只执行一次传输、其中一个数据在另一个方向上传输相同的数据、则能耗应该相同。

    不过、您遇到的差异可能与缓存操作有关。 我假设您已经传输了合理数量的数据。 在这种情况下、从 FRAM 到 RAM 的传输将基于 FRAM 中的小代码循环进行、该循环可能适合于64位缓存、这意味着缓存会在代码循环后提取一次、然后从缓存执行以下所有运行。 与写入指令代码所在的位置相比、相反方向不能仅用于缓存、因为您将在其他位置写入 FRAM。

    遗憾的是、从用户的角度来看、基本上无法预测从缓存或直接 FRAM 访问中执行代码的时间和程度。

    此致

    Peter

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

    -我将使用 DMA 传输数据(大小为1到256字的块传输)

    是的、高速缓存可能会解释读取能量较低。

    但是、我还观察到另一种与 MCU 能耗相关的现象。 相同代码的两个连续运行(例如、基于 DMA 的 FRAM 读取代码)会消耗不同的能量、有时差异可能会高达2-10%的不同运行。 我正在使用 EnergyTrace 测量能耗。 代码或 CCS 设置中没有任何变化。

    这是否与在 EnergyTrace 中进行测量的方式有关、或与 MSP430FR5994 Launchpad 上的电源电路有关?

    谢谢

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

    您好、Rosh、

    正如您看到的、这些主题的复杂性不应被低估。

    关于 EnergyTrace、如果您打算执行合理的分析、我建议您使用专业工具。 EnergyTrace 具有某些功能、这在实现成本方面无疑令人兴奋、但对于非常详细和专业的测量、这绝对不够。 它的主要问题是电流测量方法。 该工具使用电荷转移方法对已知电容器进行充电和放电。 然后、能量消耗来自电容器所需的再充电周期数、该周期数在设定的电荷放电阈值之间挂起。 虽然较长周期的积分非常准确、但它通常会非常详细地为您提供误导性的图片、即使由于进入测试序列的前提条件、配置文件、 表示充电事件的数量、尤其是时间可能不相同。

    接下来要记住的是 MCU 或其他数字时钟器件的电流性质。 我们在这里看一下器件、其中电流的主要部分是电容的充电和放电、让它栅极电容、让它对总线电容、存储器和相应活动中涉及的所有其他组件进行线电容。 所需的费用事件当然也取决于历史记录。 这当然意味着、在大多数情况下、连续执行两条相等的指令将为这两条指令提供两个不同的功率分布。 这并不考虑顶部缓存的影响。

    但我担心我们会在这里达到一个详细的水平、这会导致这些事物的学术水平。 虽然您可能感兴趣、但它超出了我们客户群的需求水平。 因此、如果您有兴趣了解更多详细信息、请查看我向您提供的文档内容、此外、大学图书馆还提供了一些有关这些主题的特定文献。

    此致

    Peter

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

    尊敬的 Peter:

    谢谢、感谢您的建议。

    关于能量跟踪-

    根据此页面、能量跟踪精度约为2-5%、具体取决于电流和电压

    https://processors.wiki.ti.com/index.php/EnergyTrace_for_MSP432

    但我在本文档中还发现、在使用 Energytrace 时、不应使用 USB 集线器和长电缆来避免电压下降

    https://processors.wiki.ti.com/index.php/EnergyTrace_for_MSP432

    可能所有这些因素(包括您所说的因素)相结合、得出我看到的测量变化。

    谢谢

    罗什