工具/软件: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 上的情况?