最近一个项目用到STM32,要求做晚间睡眠,早上定时唤醒,在调RTC的过程中碰到些问题,解决后跟大家分享一下:
一、刚开始是很多人都碰到的问题,RTC晶振不起振。晶振是不会有问题的,因为之前用过,KDS的6pF电容。
结果问题出在Vbat脚上。Vbat脚对纹波要求比较敏感。
设计是用系统的3.3V和纽扣电池过一个BAT540给Vbat脚供电,纽扣电池到BAT540串了一个1K电阻,但3.3V系统电是直接接到BAT540上的。
如果3.3V是LDO出来的可能问题不大,但这次用的是开关电源而且开关频率不是很高(340Khz),可能Vbat脚对纹波要求太高了,结果无法起振,试着在系统3.3V到BAT540之间串一个1K电阻,
和后面Vbat脚上的0.1U电容形成一个RC滤波,同时也起一定的限流作用(反正Vbat脚的耗电都是微安级别的),这样就正常起振了。 |