大神们,我现在使用的是STM32f407芯片,芯片Vbat接了一个超级电容,在VDD供电时,可以给这个电容充电!想在VDD掉电时可以通过超级电容给RTC和备份区供电! 但是现在遇到一个比较严重而且紧急的问题:在超级电容电压低于1.6v时,芯片接VDD是可以正常开机工作的,但是一旦给超级电容充电超过1.6V,那么将VDD断开后,RTC的32.768kHz的晶振就会停止震荡,而且再接上VDD时,也无法再次让RTC晶振起振,这就会导致系统时钟初始化失败,程序无法起来,而且就算我不使用RTC功能也不去配置LSE时钟,只要接入Vbat的电压超过1.6V,那么芯片也还是无法起来,需要复位以下才会运行程序!我将超级电容去除后程序可以正常运行的,下电再上电也没有问题! 求大神指点! |
评分
查看全部评分
但是情况好像刚好相反,假如超级电容没电时,直接加vdd是可以正常启动的,一旦超级电容电压可以满足RTC供电的要求大于1.6V时,那么就无法开机。而且同样的电路,我们用在STM32f103上面就没有出现过问题
这个BAT电压应该是保持稳定不变的值。况且超级电容在充电开始时充电电流是足够大的,板子供电如果太小直接影响芯片启动。
官方开发手册有描述:
谢谢您的回答!好像不是这个问题导致的,不过您说的可能会有这种情况,我后来又在FAQ发了问题,有一位大哥提醒醒了我STM32F4,的pdr_on引脚接法,我看了手册确实是我接错了,144引脚要接vdd的,我接到vss去了,暂时看是解决了问题,后期再查查!
评分
查看全部评分