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/MSP430FR5043:MSP430FR5043上的 LFXT 故障

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/840330/ccs-msp430fr5043-lfxt-failure-on-msp430fr5043

器件型号:MSP430FR5043

工具/软件:Code Composer Studio

在我们的温度试验台上、我们偶尔会看到 MSP430FR5043设计上 LFXT (32.768kHz)晶体出现故障的实例。  由于计时器 不再准确、我们检测到了此故障 、并确定由于 LFXT 故障、现在在 MODOSC (39kHz)上运行的 ACLK 时钟、而不是 LFXT 输入上运行的 ACLK 时钟。 我们认为、LFXT 故障可能是由于我们的温度室不受湿度控制、因此、当从冷态升温时、PCB 会变湿。 这对晶体来说有点不公平,理想情况下,我们将 PCB 密封或湿度控制箱。 目前、这两种选项都不易获得、实际上故障仅偶尔发生。 在 FW 中、我现在实现了一个定期检查 LFXT 故障标志[CS_LFXTOFFG]的功能。 如果我发现它处于故障状态、那么我会在诊断日志中输入故障并清除该标志。 我们现在将在试验台测试后监测诊断日志、以查看是否有 任何设备显示 LFXT 故障。

 

从我的基准测试中可以看到、如果我在晶体上放一滴水、晶体会出现故障(也许不会让人感到意外!)。 如果我再将晶振烘干、它就会恢复到使用寿命。 请注意、这无需对单元进行电源复位或在内部清除任何标志–CS_LFXTOFFG 标志除外、我在故障轮询期间定期清除该标志。 一旦晶振变干、我看到 CS_LFXTOFFG 标志不再被置位。 因此、就我而言、这些东西的工作原理与 MCU 数据表中所述的相同。

 

但是、我们有两个单独的 PCB 出现故障、然后无法恢复。 这两个仪表随后断开并重新连接电源、然后恢复 PCB。 但是、我们尚未捕获最近的实时故障并对其进行适当分析。

 

是否可以确认我正在正确处理 LFXT 故障? 也就是说、我应该设置/清除任何位来强制 LFXT 恢复或重新配置? 从我看到的内容和读取的内容中、一旦 LFXT 故障恢复、LFXT 用户配置就会返回到(即、一旦 LFXT 再次开始运行、ACLK 将自动再次使用 LFXT)。 是否存在 ACLK 将在无需用户干预的情况下保持在 MODOSC 上的情况?

 

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

    您好、Martin、

    如果看不到代码、很难跟踪您正在执行的操作、但简而言之、似乎您所执行的操作基本上是正确的。  您必须清除 LFXTOFFG 并等待查看故障是否仍然发生。

    有一个代码示例展示了使用 LFx 故障中断的这种失效防护功能。  我会将其与您的实现进行比较。  它等待故障无限期清除、这将不是理想情况。  但它显示了该过程,并为您提供了一个代码示例,以便使用 http://dev.ti.com/tirex/explore/node?node=ANzTApbnUuLvaONZ95r6ug__IOGqZri__LATEST 进行测试   

    谢谢

    JD

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

    JD、您好!

    感谢您的回答。 我查看了示例代码、 发现它使用时钟故障模块的中断功能。 我不这么做。 我只轮询主循环中的故障标志。 如果我发现它处于故障状态、那么我只需清除 LFXTOFFG 标志并在 FW 中设置一个诊断位。 我不会尝试修复故障、因为我认为我无法做任何事情。 我只需让 MCU 在 MODOSC 上运行、直到 LFXT 恢复使用-变干。 当我希望时钟模块自动将 ACLK 切换回 LFXT 并停止保持 LFXTOFFG 标志置位时。 这是正确的吗? 即、我不必执行任何操作来强制 ACLK 返回到 LFXT 输入。

    此致、

    Martin

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

    您好、Martin、

    是的、正确的做法是清除该标志、并且在没有故障时、时钟应从 MODOSC 自动切换回。   

    这一点在任何地方都没有说明、但如果故障标志不返回以允许振荡器切换和稳定、我个人可能仍会延迟一小段时间。  同样、这似乎不是必需的、但如果您可以在应用中节省时间、我可能会对其进行测试。   

    谢谢

    JD

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

    也许您已经考虑过这一点、但无论如何我会将其投入使用:振荡器启动是以时钟(晶振)节拍为单位进行测量的、因此较慢的晶振/振荡器花费的时间更长。

    在低温下运行时、它们在启动时也比快速晶体慢成比例。 我看到32kHz 晶体在0F 附近启动需要花费一分钟的大部分时间。 也就是说、我从未能够通过降低温度来获得运行(已经启动) 32kHz 晶体失败。

    [编辑:修正了一些模糊的措辞。]