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.

[参考译文] CCS/MSP430F67641A:Code Composer (而非 IAR)的 TIDM-3PH-ENERGY5-ESD 问题

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/700165/ccs-msp430f67641a-tidm-3ph-energy5-esd-issues-with-code-composer-instead-of-iar

器件型号:MSP430F67641A
主题中讨论的其他器件:MSP430F67641TIDM-3PH-ENERGY5-ESDMSP430F6779AEVM430-F6779

工具/软件:Code Composer Studio

我正在 使用 www.ti.com/.../tidm-3ph-energy5-esd 上的 MSP430F67641开发套件

提供的示例代码是为 IAR 编写的、但我只有试用许可证、我们无法证明继续使用 IAR 所需的大量费用-因此我一直在努力使代码在 Code Composer Studio 下工作。

到目前为止、我已经知道它已经编译并似乎正在运行-但看起来 ADC10和/或 DMA ISR 不能正常工作。 连接到 GUI 后、我可以获得看起来正确的 RMS 电流值(由 SD24例程处理)、但 RMS 电压(来自 ADC10例程)一直保持为零。 我设置了一个简单变量来计算每个 ISR 运行的次数、SD24 ISR 看起来像预期的那样一直运行、但 ADC10和 DMA ISR 在大约5、000次运行后停止、不会恢复。

TIDM-3PH-ENERGY5-ESD 参考表的 IAR 代码是否与 ISR 一起使用? 我以前没有使用过 MSP430、要使 ADC10可靠 运行、有什么棘手的问题吗?

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

    您好 Sean、

    感谢您的详细博文。 我发现您的 ISR 在特定数量的运行后停止非常奇怪。 那么、IAR 代码在5、000次运行后不会停止? 它不应该。 如果我正确地记得、ADC10会由 SD24模块触发、以保持所有内容同步。 当您检查 ISR 是否已停止时、是否可以检查它们的中断启用是否已禁用? 如果您尝试将 IAR 汇编文件移植到 CCS、这可能是 ISR 停止的原因。 由于您的 RMS 电压一直保持为零、因此在经过一段时间后、可能有一个函数无法正确返回、代码会卡住、从而停止 ISR。 您还可以检查堆栈、以查看发生停止时哪个函数未返回。

    为了节省您的时间、我强烈建议您使用我们新发布 的电能测量设计中心(EMDC) 和软件库来开发具有24位 Σ-Δ ADC 的 MSP430器件。 它支持 CCS 并采用交互式 GUI、可快速配置库、生成代码、校准电路板和查看结果。 但是、F67641A 器件的 EMDC 不支持 SD24和 ADC10模块之间的同步。 我建议您考虑改用 MSP430F6779A 器件。 虽然它可能比 MSP430F67641A 更昂贵、但您可以使用 EMDC 节省大量时间。 使用其中一个 EMDC 示例项目、您可以在5分钟内生成代码、对 EVM430-F6779进行编程并查看结果。

    但愿这对您有所帮助。

    此致、

    James

    MSP 客户应用

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

    感谢 James 的回复、

    "如果您尝试将 IAR 汇编文件移植到 CCS、这可能是 ISR 停止的原因。"

    是的、我确实移植了 IAR 汇编、实际上我在 slac488参考代码中找到了我需要的大部分内容(但现在似乎找不到这个的 URL)、但确实必须转置一些 IAR 汇编内容。

    我将了解这些函数返回的内容以及中断使能位的状态。

    ..."我强烈建议使用我们新发布 的电能测量设计中心 (EMDC)和软件库..."

    嗯、我看了一下 EMDC 库、我真的很喜欢它! 遗憾的是、我们已经决定使用 F67641A、因此我对必须使固件在其上正常工作有点困难。 根据我的具体情况、我可能会推动改用 F6779A、但由于其占用空间不同、它很遗憾不会像直接替换那样简单。

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

    [引用 user="Sean Lanigan"]是的、我确实移植了 IAR 程序集、实际上在 slac488参考代码中找到了我需要的大部分内容(但现在似乎找不到这样的 URL)、但确实需要转置一些 IAR 程序集内容。

    如果您尚未完成此操作、请查看   《适用于 MSP430 MCU 的 Code Composer Studio IDE v8.x 用户指南》中的7个将 C 代码从 IAR 2.x、3.x 或4.x 迁移到 CCS 部分以及8个将汇编代码从 IAR 2.x、3.x 或4.x 迁移到 CCS 部分。

    [引用用户="Sean Lanigan]Yeah 我看了 EMDC 库、我真的很喜欢它! 遗憾的是、我们已经决定使用 F67641A、因此我对必须使固件在其上正常工作有点困难。 根据我的具体情况、我可能会推改为 F6779A、但由于封装不同、它很遗憾不会像直接替换那样简单。[/QUERPLET]

    我很高兴听到您看到了新的 EMDC、并且您喜欢它! 感谢您的反馈。 遗憾的是、支持非 Σ-Δ ADC 模块尚未成为我们的优先考虑事项、因此不支持 F67641A。 虽然更昂贵、但我认为改用 F6779A 将更容易、更快速地实现。 也许您可以订购 EVM430-F6779并进行评估。 很遗憾听到封装不匹配的消息。 这两个器件各具有两种封装类型、并且确实共用一个通用封装类型和引脚数、但我怀疑您使用的是另一种封装(没关系)。

    我在内部与我们的软件团队讨论了 F67641A 如何集成到 EMDC 和库中、我从他们那里得到的反馈是、让一切正常运行的努力(仅开发工作)需要几周时间。 此时、它已作为未来的功能请求进行记录、但我看不到它很快就会被添加。

    此致、

    James

    MSP 客户应用

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、我没有看到该指南-我目前正在浏览它、并将看到它是否有助于解决 IAR 代码的问题。

    我还将了解仅针对我们的特定项目向 EMDC 代码添加 ADC10支持-我可以了解如何将其与 GUI 设计软件和自动代码生成完美集成、 但是对于我们的特定情况、由于 driverlib 函数的使用很好、似乎不难破解对它的支持。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    自从我上次发表评论后、已经过去了大约一周了-我只是想提供一个更新、让 ADC10转换器与 EMDC 配合使用时、我已经看到了一些看起来很幸运的事情。 当然、我无法将其添加到 EMDC 的 GUI 部分、但只能在 Code Composer 工作区的源代码中添加。 我仍在思考 EMDC 如何进行计算、但到目前为止、我在混合芯片中看到的结果看起来非常稳定和一致。