STM32
直播中

张红

7年用户 1252经验值
私信 关注
[经验]

STM32G030C8T6上电启动时间是如何影响HSE工作的?

使用STM32G030C8T6过程中,发现给单片机供电的上电启动时间会影响单片机HSE的工作,上电时间长,HSE不工作,上电时间短时则HSE可以工作。
我的问题:
1、给STM32G030C8T6供电的上电启动时间会影响STM32G030C8T6的什么地方从而使HSE不能正常工作?真正的原因是什么?
2、有没有什么方法可以实现电路板的小改动来解决目前的问题?
3、如果STM32G030的HSE工作真的会受启动时间影响,在选择供电芯片时应该注意哪些参数?
4、有没有什么其他影响HSE工作的因素?
具体描述如下:
1、我的原理图:


GND与DGND通过一个0R电阻连接
2、程序
程序用STM32CubeMX配置生成。
3、现象
当使用CUBE将PLL配置为HSI时,程序可以正常运行,但是将PLL配置为HSE时,程序会在执行SystemClock_Config();函数过程中卡在下图的223行。

进一步查看,程序卡在stm32g0xx_hal_rcc.c的第356行,如下图。

用示波器查看外部的有源晶振波形,显示波形正常。
将与单片机有连接的其他芯片全部拆除,只保留单片机最小系统,经过多次试验,发现与TPS5410的上电时间长有关系,将TPS5410替换为TPS54332之后,在仿真时SystemClock_Config();函数可正常运行,TPS54332的电路图如下图,在试验时,已经将TPS54332的输出电压根据试验需要改为5.2V或6V。

原电路图TPS5410上电启动波形如下图:

原电路图LM1117 3.3V上电启动波形如下图:

TPS54332上电启动波形(图中黄色波形):

将TPS5410替换成TPS54332后,LM1117  3.3V的上电启动波形:

4、进一步的试验:
为了排除LM1117  LDO的影响因素,将LM1117替换为同封装不同型号的其他3.3V固定输出芯片,共替换了5片,现场均与上述描述一致,HSE不工作。
为了排除LP38692  LDO的影响因素,将TPS5410电路更改为输出5.2V,直接用TPS5410给LM1117供电,现象与上述描述一致,HSE不工作。
用TPS54332给TPS73701供电,再用TPS73701给STM32G030供电,HSE可正常工作。
…………类似试验得出的结论是:只要用到TPS5410  HSE就不能正常工作,猜测与上电启动时间长有关。
为了验证是否真的与上电时长有关,用TPS54332直接给LM1117供电来试验。通过更改TPS54332的4脚SS处连接的电容容值来更改TPS54332启动时长。原来的原理图中用的电容是8.2nF,根据下图公式得出启动时间是3.28ms,实际测得的约4ms。

电容值为8.2nF时(HSE工作正常):
TPS54332启动波形(图中黄色线):

LM1117启动波形(图中黄色线):

将电容改为22nf(HSE工作不正常):
TPS54332启动波形(图中黄色线):

LM1117启动波形(图中黄色线):

将电容改为6.8nf(HSE工作正常):
TPS54332启动波形(图中黄色线):

LM1117启动波形(图中黄色线):

此外,还将容值改为了15nf(HSE工作不正常)、10nf(HSE工作不正常)、5.6nf(HSE工作正常)、3.3nf(HSE工作正常),还试验了其他LDO。
结论:LDO的上电启动时间小于2ms时,STM32G030的HSE可正常配置,可正常工作。




更多回帖

发帖
×
20
完善资料,
赚取积分