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.

[参考译文] MSP430F5342:由LPM加剧的异常DCO漂移

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1093415/msp430f5342-abnormal-dco-drift-exacerbated-by-lpm

部件号:MSP430F5342

大家好,

我们在系统中观察到一些异常行为,并正在寻找根本原因。 我们的系统由MSP430F5342微控制器组成 ,XT1上具有32kHz晶体,运行频率为20MHz的DCO以及PMM内核电压设置为2级。

初始化时,我们使用FLL将DCO校准为20MHz,以32kHz晶体作为源。 此校准成功,之后我们禁用FLL。

但是,禁用FLL后,DCO开始稳定漂移,从而非常迅速地降低其频率。 大约半小时后,频率降至大约75 % 的原始值。 晶体正确地保持其额定频率。

进入和退出LPM0似乎加剧了该问题:每秒唤醒微控制器即可观察到上述漂移。 相反,如果它每50毫秒唤醒一次,漂移会快得多,几分钟后就会下降到75 % 频率。

下降速度似乎太快,无法用温度变化来解释。 我们不会在其他系统上观察到这种严重漂移,即使在使用相同微控制器的系统中也是如此。

保持启用FLL可解决此问题。 但是,我们的某些系统无法持续启用FLL,并且对时间非常重要,因此我们正在寻找一种方法来诊断此问题的根本原因,或者从一开始就防止出现此问题。

提前感谢!

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

    您好,Andreas:

    为了保持恒定的DCO频率,需要启用FLL,否则温度和电压的变化将直接影响DCO输出频率。

    如果您加热或冷却设备并看到DCO频率上升和下降,则您看到的影响是由温度引起的。

    我假设您的应用程序无法保持FLL启用是由于功耗,这是正确的吗?

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

    您好,Dennis,

    应用程序无法启用FLL的主要原因是,虽然可以接受小漂移,但FLL调整引起的频率突然变化所引起的抖动却不是,即使抖动是在微秒范围内。 我不确定FLL消耗的电量,但降低功耗通常非常重要。

    数据表声称有一个0.1 % /°C漂移和一个1.9 % / V漂移。 我们没有看到可以解释25 % 频率下降的温度或电压变化。 它也不解释为什么进入/退出LPM0会加剧影响。 我们再运行几个测试,可以确认不输入LPM0就没有明显的漂移。

    我们的应用程序通常会检查其标称频率是否高于或低于5 % 的漂移,并且已经运行多年而未触发此检查 ,并且未启用FLL,这就是为什么25 % 漂移令我们感到惊讶的原因。 我们也没有发现存在此问题的设备与不存在此问题的设备之间的硬件发生任何重大变化。

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

    您好,Andres,

    这些器件是否在生产中展示了漂移问题的新型MSP430F5432或在现场展示了现有器件?  如果是新的,您是否知道这些是通过您的正常分销渠道获得的,还是购买方式不同?

    您能否提供良好设备和不良设备的照片或日期代码标记?

    另外,我看到你们在20MHz的PMM核心电压电平2下工作,这应该是可以的,但是如果你们尝试了同样的核心电压电平3的实验,我会很好奇。

    您的DCO设置是什么?(UCSCTL0,UCSCTL1,UCSCTL2和UCSCTL3)

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

    您好,Andres,

    数据5342数据表405.4136万表声称405.4136万声称0.1 %°C漂移和1.9 % V漂移。 [/引述]

    作为一项实验,您能否尝试运行您的系统@ 1MHz,并查看与@ 20MHz相比,漂移百分比是否相同?

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

    您好Dennis,

    这些都是新设备,我们没有证据表明,在使用数月/数年后,现场设备会出现此问题。

    我们尝试了您建议的两种方法:将核心电压提高到3级,降低DCO频率(虽然降低到10 MHz而不是1 MHz),但没有任何明显的改进。

    本周我可以向您提供日期代码标记和购买方法。

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

    您好,Andres,

    好的,好的信息,排除了这些可能性。    

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

    您好,Andres,

    我联系了我们的测试小组,看看他们是否已经放松了DCO测试要求,这可能是客户突然看到这种行为的原因。

    我们5342我们还405.4136万还没有405.4136万没有发现设备与未出现此问题的设备之间的任何重大变化[引用]。

    那么,这是否是重新设计现有产品,因为他们发现了这个问题? 是否有任何更改与MSP430相关?

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

    与从LPM0进入/退出相关的漂移会让我查看该代码。

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

    大家好,

    该产品实际上是对以前未出现此问题的产品进行的重新设计。

    一些更新。 我们尝试在另一台设备上运行有问题的设备的代码,该设备使用的是同一个微控制器,但没有出现问题,该问题也出现在另一台设备上。 因此,问题似乎与故障单元或批次无关。 它也不会指出硬件设计问题,因为两种设备的硬件不同。

    我们 已将 有问题的设备和另一个设备的代码简化到最低限度,现在正在比较差异。  

    精简代码将初始化端口,PMM,时钟和计时器,并每50毫秒切换10次输出引脚,在等待计时器时进入LPM0。 50ms不会漂移,因为它们由晶体提供的计时器测量,但在有问题的代码上切换引脚所需的时间会持续增加。

    我们正在重新运行一些测试。 我怀疑,就像Dennis所说的那样,问题与核心电压和DCO频率之间的关系有关。

    我会向委员会报告任何调查结果。

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

    您好,Andres,

    感谢您的更新。  

    好的,这很有帮助。  由于其来源XT1 32KHz,定时器应定期在50ms处。  您能否发布用于切换GPIO的代码部分。  我认为代码是决定性的,不应该改变,除非系统中有其他可能会带来小延迟的中断?

    除了切换GPIO的时间增加之外,如果您测量其中一个脉冲的周期(开/关时间),它是增加还是保持不变?

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

    大家好,

    观察到的效果是正确测量了50毫秒,但每个脉冲的开/关时间增加了加班时间,因为一个脉冲依赖于慢速时钟,另一个依赖于快速时钟。 上升/下降时间没有变化,只有打开/关闭时间。

    我们找到了根本原因并解决了问题。 由于对 “备份/恢复中断状态”内部函数和编译器的“退出lpm”内部函数上的SCG0位的一些不直观的处理,我们每次从LMP0唤醒时,都在很短的时间内启用FLL,只需几个CPU周期。  这段时间太短,以至于FLL无法正确校准,最后以 不需要的值修改了UCSCTL0上的DCO和MOD位。

    FLL的开启时间肯定比用户手册中定义的稳定时间短。 您是否认为这可能会导致运行FLL的时间短于必要时间?

    感谢你们两位!