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.

[参考译文] MSP430F5659:LPM3启动时间问题

Guru**** 2589265 points
Other Parts Discussed in Thread: MSP430F5659, MSP430F5438A

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/685892/msp430f5659-lpm3-start-up-time-issue

器件型号:MSP430F5659
主题中讨论的其他器件: MSP430F5438AMSP-TS430PZ100USBMSPWARE

我们使用的是 MSP430F5659。 我们使用所有 UART、一个用作 I2C、两个用作 SPI、一个用于无线调制解调器、一个用于 RS232、一个用于 RS485。 我们完成1秒的测量周期(两个压力传感器、一个温度传感器、控制 LCD)和睡眠。 活动时间约为17%。 我们将 LPM 3用于睡眠模式。 工作频率为8MHz (FLL)。 如果电路板通过 RS-485或 RS232在外部进行轮询、则会退出睡眠模式进行通信。 我们在两个端口上都使用 DMA。

我们发现、当我们使用 LPM3时、一切都正常、但对于通过 RS-232或 RS 485进行的轮询没有响应。 如果我们插入 USB 接口、它会做出响应。 如果我们插入 JTAG、它不会响应。 但是、如果我们开始运行 IAR 调试器、它会做出响应。 如果我们使用 LPM 0和 LPM 1、而不是 LPM 3和 LPM 2、则它会响应。

我们使用 LPM3的“快速启动”设置。

我们有一个使用 MSP430F5438A 的类似设计。 它按预期工作。 我们在 MSP430F5659中使用相同的代码。 我们比较了 MSP430F5438A 和 MSP40F5659之间的 UCS 寄存器设置。 它没有帮助解决问题。

您能不能建议我们尝试解决这个问题?

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

    您好 Paul、

    感谢您的详细博文。 我怀疑此问题与 MSP430F5438A 的 USC6勘误表有关、下面对其进行了介绍。

    F5438A 上可能发生的情况是、当进入 LPM3时、SMCLK 不会关闭。 因此、这将解释为什么在该器件上未观察到该问题、因为 SMCLK 由于已经在运行而不具有任何启动时间相关性。 在 F5659上、此勘误表不存在、因此问题很可能是由于 LPM3的启动时间所致、因为 SMCLK 实际上处于关闭状态(与 F5438A 不同)。

    我怀疑您使用高波特率轮询 RS-xxx 输入。

    此致、

    James

    MSP 客户应用

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

    您好、James、感谢您的快速回复。

    我们将以9600波特轮询 RS-XXX。  这是否太快?  低功耗波特率发生器支持哪些波特率?

    用户指南建议、SMCLK 的启动速度与 MSP 从 LPM3中退出时的启动速度一样快。 如果我们处于"快速启动"模式(6us)、是否需要更长时间?

    谢谢你。

    此致、

    Paul Mayer

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

    9600波特率不是太快、因此我假设您使用的是高波特率(例如250kbaud)是错误的。 在您的初始帖子中、您提到所有内容都在 LPM0和 LPM1中工作、但不在 LPM2或 LPM3中工作。

    在数据表的第21页上、这些模式之间的一个差异是在 LPM2/LPM3中 DCOCLK 被禁用、但在 LPM0/LPM1中不被禁用。 唤醒时间取决于低侧监控器(SVSL)和低侧监控器(SVML)的性能模式。 当 SVSL 和 SVML 处于全性能模式时、或者在 AM、LPM0和 LPM1模式下运行时被禁用时、最快唤醒时间是可能的。 在 LPM2、LPM3和 LPM4中运行时、SVSL 和 SVML 有多种选项可供选择。 请参阅《MSP430x5xx 和 MSP430x6xx 系列用户指南》(文献编号:SLAU208)中的电源管理模块和电源电压监控器一章。

    此外、在调试时、从 LPM2、LPM3和 LPM4唤醒的时间可能会因 TEST/SBWTCK 而异。 当 TEST/SBWTCK 引脚为高电平时、与 SVSL 和 SVML 设置相关的所有延迟都无效、并且器件在 t (快速唤醒)内唤醒。

    此致、

    James

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

    在全性能模式下运行是否解决了此问题?

    此致、

    James

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

    尊敬的 James:

    如果我们不使用 LPM3、而是使用 LPM0、则一切都按预期工作。  我们使用 LPM0消耗过多电流、因此它不是解决方案。  在 LPM3模式下、我们无法响应轮询。  我们已经对代码进行了绘制、找不到原因。  

    我们有一个带 MSP430F5659的 TI 演示板。 我们尝试使用电路板的 TI 示例代码来解决此问题、但没有数百个错误、代码无法编译。  我们使用 IAR 工具进行代码开发。  还有人有这个问题吗?

    您能想到我们还应该尝试什么吗?

    谢谢你。

    此致、

    Paul Mayer

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

    您好 Paul、

    您在我的上一篇帖子中看到了我的问题吗? 您是否在全性能模式下运行? 当 SVSL 和 SVML 处于全性能模式时、或者在 AM、LPM0和 LPM1模式下运行时被禁用时、最快唤醒时间是可能的。 在 LPM2、LPM3和 LPM4中运行时、SVSL 和 SVML 有多种选项可供选择。 请参阅《MSP430x5xx 和 MSP430x6xx 系列用户指南》(SLAU208)中的电源管理模块和电源电压监控器一章、尤其是第2.2.9节 SVS 和 SVM 性能模式和唤醒时间。

    请检查您的模式/设置、并将其与 SLAU208的表2-5进行比较。 您的唤醒时间可以设置为慢而不是快。  

    此致、

    James

    MSP 客户应用

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

    我们已验证我们是否正在使用您在上表中发布的设置。 我们仍然无法响应9600波特的轮询。 为了测试操作、我们在进入和退出低功耗模式时切换引脚。 在示波器上、我们可以看到引脚的状态、它似乎在响应轮询时上升、但 MSP 不会回复。

    我们正在尝试使用 MSP-TS430PZ100USB 上的 TI 示例代码来隔离该问题。 我们从 www.ti.com/.../universalsearch.tsp 下载了该代码 、但没有很多错误就无法编译。

    请发送指向我们应使用的代码的链接。

    谢谢你。

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

    您好 Paul、

    感谢您验证这些设置。 此外、使用目标板非常适合调试。 您使用的是哪个版本的 CCS? 对于每个示例、MSPWare 中的代码应在 CCS 中清晰编译。 我建议查看 CCS 内 Resource Explorer 中的几个代码示例(如下所示):

    示例项目名称 说明
    msp430f665x_lpm3_01.c 在 ACLK = LFXT1、REF0被禁用、VUSB LDO 和 SLDO 被禁用、SVS 被禁用的情况下进入 LPM3
    msp430f665x_lpm3_02.c 在 ACLK =REFO 时进入 LPM3;LFXT1被禁用、VUSB LDO 和 SLDO 被禁用
    msp430f665x_lpm3_03.c 在 ACLK =VLO 时进入 LPM3;REFO、LFXT1被禁用、VUSB LDO 和 SLDO 被禁用
    msp430f665x_uscia0_UART_04.c eUSCI_A0、9600 UART、SMCLK、LPM0、过采样回波(将 LPM0替换为 LPM3)

    您是否在进入 LPM3时启用 GIE 位? 检查用于轮询的 UART 引脚的端口映射。

    但愿这对您有所帮助。

    此致、

    James

    MSP 客户应用