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.

[参考译文] MSP-EXP430G2ET:使用具有 RTC 的 MSP430实现长时间(低功耗)睡眠

Guru**** 2451240 points
Other Parts Discussed in Thread: MSP-EXP430G2ET, CCSTUDIO, ENERGYTRACE

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1484456/msp-exp430g2et-using-msp430-with-a-rtc-for-long-low-power-sleep-times

器件型号:MSP-EXP430G2ET
Thread 中讨论的其他器件: CCSTUDIOENERGYTRACE

工具与软件:

您好!

我正在开展一个新项目。 实际上-这不是新的,但我已经学会了几次失败的尝试使用一个 Raspberry Pi RP2040/RP2350这种设备"不会切芥末" :) 从所有,我已经读了关于 MSP430 ,我觉得这部分有能力完成工作。 但是...  我不是一个非常有经验的微控制器代码开发人员、我在 Raspberry Pi 上浪费了很多时间;IOW 我需要一些帮助、因为我不熟悉 TI 的一般工具、资源和编码。 我已经买了一个'MSP-EXP430G2ET',但正在努力超越初始的"Hello World"应用程序。 "介绍"到此结束、现在让我来谈谈该项目的具体目标。

正如标题所提示的那样、我需要 MSP430长时间地休眠几个小时、几天甚至几个月。 我已阅读(某处)、由于"时钟漂移"、这对大多数 uC 上的计时器来说是"有问题的"。 基于此、我认为要使用精确(电池供电)实时时钟(RTC)。 我已暂时选择 DS3231或 RV3028。 两者都能够实现小于2PPM 漂移、并且都具有一个外部"INT"线路、可以(希望)用作 MSP430的外部"唤醒"/时间源。  

因此、方案是 MSP430代码通过 I2C 进行 RTC"配置"、然后使自身进入"深度"睡眠、等待 RTC 的"INT"线路变为低电平、并将其唤醒以执行"正常"任务(读取 I2C 传感器和相应地设置 GPIO 线路)。

我在这里发布要求"一般"和"具体"建议:"一般"建议将是(例如)我应该使用什么工具-以及我的目标是否可行。 具体建议也许是以适用的代码样本的形式提出的、我应该注意任何潜在的"哥特查"。

就是这样。 提前感谢您提供的任何帮助。

J ü~JM.

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

    与 MSP430在 LPM3模式下相比、ds3231在电池待机模式下的功耗更高、我看到 Mouser 中有5ppm 32KHz 晶体库存。 您是否确实需要2ppm 精度?

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

    也许不是。。。 我的目标不是在12个月的时间内漂移超过"几秒钟"。 5 PPM 可能会做到这一点-我会研究这一点-谢谢。

    但我更迫切的需要是在我的原始文章中的其他项目上获得一些帮助。 对这些项目有什么想法吗?

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

    您的工具选择取决于您的需要。 我假设你正计划在 C 语言中这样做。所以请选择你的毒药。 可能是基于 IDE 的系统。 我更喜欢 GNU 工具。

    作为例子,我怀疑是否有任何,但只有你知道你的代码需要做什么。 您的代码可能会先执行一些设置、然后保持休眠状态、直到中断指示需要执行某项操作。 非常简单。

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

    我不介意使用 GNU 工具-我经常使用它们在我的前缘与树莓。 Re "IDE based system"、您能更具体一点吗?

    但我确实需要一些示例!  一段时间前、我研究了如何使 MSP430进入睡眠状态、确实如此 令人困惑 . 正如我在问题中所说的、"我不是一个非常有经验的微控制器代码开发人员"、并且不熟悉 MSP430的启动。

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

    查看您使用的器件的页面。 例如、 msp430g2553

    您可以找到指向数据表、用户指南和勘误表的链接。 不要忘记勘误表。 用户指南提供了有关使用各种外设的所有详细信息。 这是一个很大的问题。 逐步操作。

    在 Design & Development (software)下、您将找到一包代码示例。 (SLAC485)为基础示例。 有几个演示了 LPM3、但它们在计时器模式下使用看门狗。 一般而言、不是个好主意、因为您想将它用作看门狗。 为此、我们提供了一些计时器。

    以及指向 CCStudio (一个 IDE)的链接。

    使 MSP430进入睡眠状态很简单。 数字系统。 慢启动。 执行"hello world"、也即让 LED 闪烁。 然后、添加一个具有中断功能的计时器来使 LED 闪烁。 然后再添加更多。 慢慢构建。 这就是我对新器件的处理方式。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    缓慢构建。 这就是我对新器件的处理方式。 [报价]

    这听起来很好的建议:) 我会这样做。

    如果可以、我将让这个问题保持一段时间不变。

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

    只需获取 LaunchPad、CCS20和 MSP430SDK、即可开始使用。 最新的 Launchpad 具有 EnergyTrace、可用于监测电源电流。

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

    然后、您可以使用板上的调试器调试/刷写您创建的任何定制板。

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

    我在哪里得到/找到这些东西 Keith?

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

    上面的自动链接会转到购买 launchpad 的页面:

    https://www.ti.com/tool/MSP-EXP430G2ET

    您也可以从 Digikey 等人那里获取。

    下面是 CCS 的链接:

    安装时、可选择 MSP430SDK。

    https://www.ti.com/tool/CCSTUDIO

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

    从启动此消息:"我已购买'MSP-EXP430G2ET'、"

    这是一个 LaunchPad。

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

    不能伤害到另一个。 8^)

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

    尊敬的 James:
    我将此线程设置为等待客户、因为您似乎是项目中的第一个开端。 如果您需要更多帮助、我建议创建一个新的 E2E 主题。 我想补充一点、如果您需要进一步了解这些模块在 MSP430中的工作方式、我推荐 MSP430 SDK 中的示例代码。 我会留下指向在线版本的链接(此器件不提供 Driver Lib、只有汇编或寄存器级项目。)

    链接: https://dev.ti.com/tirex/explore/node?node=A__AKiKhJ.RK5NvZWMeHCfwCg__msp430ware__IOGqZri__LATEST

    此致、

    Diego Abad

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

    "对不起,我不能接受你的评分。"

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

    尊敬的 James:
    我的意思是、您可以使用 MSP430 SDK (包含项目、代码示例和文档的存储库)开始在 LaunchPad (评估板)中运行示例。 我提供的链接应该会为您提供 MSP430 SDK 的在线版本、但如果您从 TI 网站下载它、应该会看到类似的版本。 您还将需要下载 CCS (我们用于运行、调试及其他内容的 IDE)到 MSP430器件。 我建议先了解我在之前的消息中为您添加了链接的简单 GPIO (I/O)切换示例。 如果您需要 CCS 指南、我还会留下它的用户指南链接。

    链接: https://software-dl.ti.com/ccs/esd/documents/users_guide_ccs_20.1.0/index.html

    此致、

    Diego Abad

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

    David -您是会推荐 GCC 工具的"TI 版本"、还是其他您认为更好的工具?

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

    谢谢 Diego -这是更清楚的 :)

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

    我认为 MSP430没有任何其他版本的 GCC。

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

    好的-我只是用了可怕的15分钟来试图杀死 TI 的 renegade Mac GCC 安装程序!  由于"TI 版本"还不是很好、而且我再也没有 Windows 机器了、因此我必须重新评估工具情况。 我想知道为什么"Mitto Systems"人员(TI 显然聘请了谁来创建此软件包)没有做任何事情?

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

    我一直使用 Linux 版本。 已经有几年的更新,所以有可能在 Mac OS 中发生了一些改变,打破了安装程序。

    你总是可以尝试从源代码构建,但你必须很有动力去做。

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

    此*以前*为* Linux 版本、仅由"Mitto Systems"为 TI 提供打包。  

    我认为 MSP430没有任何其他版本的 GCC。

    我想我对您说的内容感到困惑??

    无论如何- MacPorts 提供了一个版本(我使用的)、但它被称为"msp430-elf-gcc"、您知道"elf"的意思吗?  我想这只是表示它创建的代码格式上传到"Launchpad",但我现在有点偏执:) 和 mspdebug 软件包也可用。

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

    尊敬的 James:
    ELD 代表可执行和可链接格式、 是指用于存储可执行程序、库和目标文件的文件格式。 尽管如此、我对 macOS 和 MPS430不熟悉、但应该有可用的 CCS MAC 版本。  

    此致、

    Diego Abad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="645471" url="~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1484456/msp-exp430g2et-using-msp430-with-a-rtc-for-long-low-power-sleep-times/5706079 #5706079"]但它叫"msp430-elf-gcc"[/报价]

    MSP430 GCC bin 目录中的每个程序都以"msp430-elf"启动、以区别于其他版本的 GCC 工具。 其中我有另外两个,本地(arch64)和 ARM 生活在我的系统。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以随时尝试从源代码进行构建、但您必须非常有动力来执行此操作。

    是的... 但事实证明,动机是不够的:) 经过从"Mitto 系统"的 Mac 安装程序的经验,我决定,我要尝试不涉及 Mac 的东西。 于是我从 这个页面下载了"完整源代码"软件包 到我的一个(Debian) Linux 平台上。 昨晚很晚才开始构建;今天早上发现它失败了 b/c、我的系统上没有 Python2.7。 我检查了,显然没有一个软件包可用于 Python2.7在 Debian bookworm :/

    无论如何,似乎我的编译器选项是"缩小":)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不管怎样,我的编译器选项似乎在"缩窄":)

    正如 Keith 和 Diego 所指出的那样、阻止您使用 CCS IDE 的是什么?CCS IDE 包含 MSP430编译器和用于轻松添加所有 SDK 和示例的选项? 它不是 GCC、但运行良好、尤其是当您刚开始时。

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

    尊敬的 James:
    我不小心删除了您之前的消息。 我不像对 MAC 的 Python 环境那么熟悉、但我强烈建议使用 CCS、因为它可以使编程过程更简单。

    此致、

    Diego Abad

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

    我似乎在邮件被删除之前已通过电子邮件收到该邮件。

    我已经很久没有尝试过从源头构建 GCC 了。 但是,我上次因为缺少依赖关系而在构建项目时遇到问题,我阅读了./configure 脚本。 它中有一些提示、以便在找不到任何内容时采取变通办法。

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

    Diego,

    我相信您愿意提供帮助。 但我不明白的是、您声称"CCS...会使编程过程更简单"。 我所能说的就是:我已经尝试过 CCS、但它对我来说并没有带来任何便利。 我希望您不要提供这样的建议、而是采取一些措施来修复 TI (显然)支付给"Mitto Systems"开发的文件和文档。 IMHO、这些文件非常过时、而且文档质量很差。 请不要以错误的方式行事;如果您阅读过我在本帖中所写的任何内容、就会知道2件事:1)我对 gcc 自己没问题;2) TI 提供的 gcc 软件与安装程序是问题所在。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但是上一次我因为缺少依赖关系而无法构建项目时、我阅读了./configure 脚本。 它在找不到东西时提供了解决办法的提示。

    大卫-是的,试过,但我似乎不能打破"代码" :) 不管怎样,这对我来说已经足够了。 我会尝试其他东西...  

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

    尊敬的 James:
    感谢您的反馈。 我会让软件团队了解这一点。

    此致、

    Diego Abad

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

    谢谢您 Diego、请告诉我他们是否修复了一些问题-或发布了更新。

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

    尊敬的 James:
    我会确保这样做。

    此致、

    Diego Abad