本帖最后由 MCU研究实验室 于 2023-2-7 10:19 编辑
今天分享一个提升MCU系统稳定性、增强抗干扰能力的小技巧:如无必要,勿增“主频”! 就是说:MCU的运行主频率越低,系统的稳定性就越好,抗干扰的能力就越强。如果你对产品稳定性要求高,那MCU运行主频率的设定,在满足系统需求的情况下,要尽量往低的方向来设定。 这里,我们还是使用CW32来做一个演示, 演示视频如下 :
如无必要,勿增“主频”——MCU抗干扰实验系列专题(9) 从视频中,我们可以看到,CW32一开始是在主频48MHz运行,后面重新设定到64MHz运行。在黑色“打狗棒”的超强威力攻击下,CW32在64MHz运行时,复位频繁,而在48MHz时,只是偶尔有复位。 当然,因为CW32本身的芯片设计,就具有强大的抗干扰能力,所以,视频中的现象,不同主频下,现象对比不那么的明显。有兴趣的读者,可以使用ST或其他芯片,做个实验,现象对比就很明显了。 有关时钟配置的的核心源码解析如下:
void RCC_Configuration(void)
{
/* 0. HSI使能并校准 */
RCC_HSI_Enable(RCC_HSIOSC_DIV6);
/* 1. 设置HCLK和PCLK的分频系数 */
RCC_HCLKPRS_Config(RCC_HCLK_DIV1);
RCC_PCLKPRS_Config(RCC_PCLK_DIV1);
/* 2. 使能PLL,通过PLL倍频到64MHz */
RCC_PLL_Enable(RCC_PLLSOURCE_HSI, 8000000, 8); // HSI 默认输出频率8MHz
__RCC_FLASH_CLK_ENABLE();
FLASH_SetLatency(FLASH_Latency_3);
/* 3. 时钟切换到PLL */
RCC_SysClk_Switch(RCC_SYSCLKSRC_PLL);
RCC_SystemCoreClockUpdate(64000000);
}
以上代码为64MHZ的配置。可根据视频中的讲解配置为48M。 接下来还有更多有趣的测试,如果喜欢请点赞、关注,欢迎各位读者来交流!
|