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.

[参考译文] MSP430F5328:从低功耗模式3唤醒

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/820588/msp430f5328-wakeup-from-low-power-mode-3

器件型号:MSP430F5328

您好!  

我们需要支持、请:

我们在无线门控产品中使用 MSP430F5328、从低功耗模式3唤醒时出现了一些问题。

有一个与此相关的勘误表–PMM11、但我们发现此勘误表中的权变措施不起作用。

勘误表显示了从 LPM3唤醒后的一些延迟、对于我们运行的速度(8MHz)、建议等待32个周期。

在大约10%的器件中、这是不够的、并导致了随机操作。 我们发现、将这个周期增加到64个周期似乎可以纠正这个问题。

我们将代码更改为等待128个周期、以确保时钟已稳定。

但是、在测试更多器件后、我们发现仍有一些器件在唤醒时仍会经历随机操作。

 我们已经尝试了我们可以想到的所有东西来找出正在发生的情况、但是、由于它是随机的、因此很难进行固定。

 

您能建议更清晰的修复吗?

 

我已经连接了用于设置时钟的 C 函数–我们使用外部32.768kHz XTAL 来提供时钟。

它还具有用于将器件置于 LPM3中然后唤醒的功能。 _cycles_TO_WAIT_ON_WAKEUP 的值当前为128。

 

当器件处于 LPM3中时、我们有其他中断正在运行、但其中只有一个中断使用编译器中的 LPM3_EXIT 宏

(__BIC_SR_REGISTER_ON_EXIT (SCG1+SCG0+CPUOFF))

 

请提供建议

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

    您好 Linda、

    PMM11勘误解决方法要求在进入 LPM3之前将时钟速度除以一半、然后在唤醒模式后等待一段设定的时间、以再次提高时钟速度。   

    它们的运行电压是多少?  

    它们尝试以什么时钟频率运行?  

    为了证明 PMM11导致了它们的问题、它们可以尝试在可用 的 GPIO 上输出时钟并在故障单元中对其进行监控、以查看 PMM11是否是原因并且器件确实违反了规范。

      

    谢谢、

    JD

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

    谢谢 JD。

    我们 有 两节1.5V 碱性电池、可提供2.2V 至3.2V 的 VCC。

    PMMCOREV 的内核电压设置保持为默认值(0级)–1.4V。

    看看我们是否可以输出 DCO 时钟并进行测量。

    您是否有办法直接查看代码片段、以了解如何在代码中实现该函数以实现时钟设置?

    谢谢 Linda

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

    您好 Linda、

    感谢您离线向我发送固件。  总的来说、我认为他们正确实施了权变措施、但似乎他们也启用了 SVS、因此这个勘误表应该不会出现在一开始。  这让我相信、此勘误表不是他们的问题。  

     

    我查看了他们的时钟设置固件。  我看到的唯一可能的问题是、他们使用的是 DCORSELx = 6、我认为这可能会导致他们快速运行时钟。  在低侧、总范围为~4.6-10.7MHz、在高侧高达~40-80MHz。  在某些器件上、该低侧可能高于8MHz、并可能导致他们看到的问题。  我建议使用 DCORSELx=5以8MHz 运行、因为它适用于所有器件。

    我建议他们查看以下代码示例进行比较。  将这两个示例结合起来应该能够巧妙地满足他们的需求。    

     

    XT1至 ACLK:  http://dev.ti.com/tirex/explore/node?node=AJj3xtSFtV6Onikj36-gWQ__IOGqZri__LATEST

    MCLK = SMCLK = 8MHz DCO: http://dev.ti.com/tirex/explore/node?node=AHSvoYC80U8LgqUKuELPPQ__IOGqZri__LATEST

     

    让他们尝试一下、然后报告。  

    谢谢、

    JD

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

    您好、J.D.

     

    我现在从勘误表中得到有关此问题的进一步答复:

     

    我刚刚做了一些其他测试、发现我们不需要在勘误表中进行时钟修复。

    但是、我发现、如果我在将低功耗模式0置于睡眠模式时使用它、我们的部件运行正常、但我使用了

    任何低功耗模式1-3都将持续复位。

     

    我想这意味着 DCO 在被唤醒时可能不会被 FLL 稳定、因为在 LPM0中

    FLL 不会被关闭。

     

    我仍在从 DCOCLK 获取 SMCLK 和 MCLK。

    我确实发现、如果我从 DCOCLKDIV (除以2)获取 MCLK、则我们的单元不再复位(但无法正常工作无线电)。

    此外、如果我从板载32kHz 振荡器获取时钟、它们没有复位(但对于我们的无线电系统来说、它不够准确)。

     

    这似乎在某种程度上表明了我们的32kHz 晶体存在问题。

    这种情况是否会导致 DCOCLK 或 FLL 运行不良?

     

     

    您能帮助提供指导吗?

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

    您好 Linda、

    很抱歉耽误你的时间。  我一直在查看器件数据表和用户指南、不确定是什么触发了客户的复位。  振荡器故障本身并不会实际触发复位。  因此、它必须是某种次要原因。   

    它们在 LPM 中是否触发了任何中断?  第5.2.10节显示、如果在 LPM 模式下需要时钟、FLL 将不会启用、并且时钟将恢复到之前的设置。  也许在客户的代码中、此设置恰好超出了规格?  他们能检查一下吗?   http://www.ti.com/lit/ug/slau208q/slau208q.pdf 

    他们是否可以制作重新出现此问题的经过修整的固件部分?  基本上、只需获取他们的时钟设置固件、添加一个环路和 LPM1、然后将其显示为复位?   

    如果他们可以给我发送、我就可以运行它并在我的身边进行调查。   

    谢谢、

    JD

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

    您好 Linda、

    客户是否提供任何更新?  他们是否能够使其正常工作?

    谢谢、

    JD