
1 前言 客户反馈在批量生产阶段,发现部分产品的 MCU 的 RTC 在低温(0℃)下工作不正常,但是在常温下又是正常的,且其他正常的 MCU 的 RTC 在常温与低温下都是正常的。 2 问题跟进与分析 通过与客户邮件沟通,了解到客户使用的 MCU 型号是:STM32F030C6T6TR。在产品的主从结构中主要用作电源管理和时钟管理。通过客户的描述,似乎相同型号不同片子都存在较大的差异。 由于时间紧急,在了解到初步信息后立即拜访客户,针对客户认为有问题的 MCU 芯片做针对性试验。通过STM32CubMx 生成测试工程,分别使用 LSI(40K),LSE(32.768K),RTC 工作时每秒通过 LED1(PB5)取反一次(通过 LED1 灯是否闪烁来指示 RTC 是否工作正常),然后分别测量 OSC 管脚与 PA8 脚(输出 LSI 或 LSE),并对比 ST 官方的 NUCLEO-F030 板,最终测试结果如下: ![]() 通过测试结果,我们得到如下信息: 当使用 LSI 时,无论常温还是低温下都能正常工作。 当使用 LSE 时,常温下能正常工作,但在低温(0℃)时,RTC 不再工作(LED1 停止闪烁),且 PA8 管脚 无输出,但保持为高电平,且此时 OSC 管脚此时是存在 32.768K 的波形的。 通过修改负载电容 C1&C2 的电容值从 5.1pF 修改到 6.8pF 时,原本低温下不工作的 RTC 又能恢复正常工作。 对比 ST 官方的 NUCLEO-F030 板子,在常温与低温下均能正常工作。 ![]() ![]() Figure 1 OSC 脚在低温下的波形Figure 2 PA8 管脚在低温下的波形从测试结果来看,通过修改负载电容的方式能让原本不能正常工作的 RTC 恢复正常工作,这个似乎为客户的负载电容不能精准的匹配系统的原因所致。 但客户对于这种解释是不接受的,理由是现在设计的负载电容 5.1pF 是通过测试后的值,精度可以达到 6.5ppm,但如果改为 6.8pF,那么精度将会变到大约 30ppm,这个会影响到 MCU 的 RTC 的时间精准度,系统在长时间运行后,时间必然会偏差很大,超出设计合理范围,这个是不允许的。 完整版请查看:附件 |