2024年3月11日

1.使用HSE,SYSCLK最高频率是128M

一般情况下,使用的是HSE,HSE经过PLL倍频之后作为系统时钟。通常配置时:HSE=8M,PLL倍频因子为:9,系统时钟设置成:SYSCLK=8M*9=72M

2.使用HSI,SYSCLK最高频率是64M当HSE故障的时候,因为PLL的时钟来源是HSE,所以当HSE故障的时候,不仅HSE不能使用,连PLL也会别关闭,这个时候系统会自动切换HSI作为系统时钟,此时SYSCLK=HSI=8M,如果没有过开启CSS和CSS中断的话,那么整个系统就只能在低速率运行,系统和瘫痪一样,如果开启了CSS功能,当HSE故障的时候,在CSS中断中采取补救措施,使用HSI,并把系统时钟设置为更高的频率,最高是64MHZ,64MHZ的频率足够一般的外设使用,例如:ADCSPII2C等。但是这里就又有一个问题了,原来SYSCLK=72M,现在因为故障改成64M,所以外设的时钟肯定是被改变了。外设工作会被打乱,设置HSI时钟的时候,也重新调整外设总线的分频因子,即AHB,APB2APB1的分频因子,使外设的时钟达到跟HSE没有故障之前一样,不能一直使用HSI,当HSE故障的时候需要采取报警措施。最保障的方法设置系统使用时64M,不管是使用HSE还是HSI。不想用HSE,想用HSI。但是又不知道怎么用HSI来设置系统时钟,调用库函数都是使用HSE。

HSE(High-Speed External):高速外部时钟系统时钟。HSE是一种用于提供高精度时钟信号的外部晶体振荡器。STM32微控制器通常具有内部低速时钟源(LSI)和内部高速时钟源(HSI),这些内部时钟源的精度有限,为了满足对更高时钟的需求,可以通过外部晶体振荡器连接到MCU的HSE引脚。使用外部晶体振荡器作为系统时钟具有以下优点:

1.更高的时钟精度稳定性

2.可以提供更高的工作频率

通过配置STM32的时钟树,可以将HSE作为主系统时钟(SYSCLK)的源,由于HSE具有更高的精度和稳定性,因此在需要较高时精度和可靠性的应用中,使用HSE作为系统时钟使最常见的选择。HSE作为系统时钟之前,必须先初始化和启动外部晶体振荡器。并进行相应的时钟配置。 

HSI:STM32微控制器中,HSI代表高速内部时钟(High-Speed Internal),内部时钟源,HSI微控制器内部提供的一个高频振荡器,通常工作频率是16MHZ,是STM32微控制器中的一个内部时钟源选项,用于提供系统时钟。HSI通常用作系统启动后的默认时钟源,可以在初始化阶段中使用HSI作为主系统时钟(SYSCLK)。然后,可以选择将HSI作为时钟源或者选择外部时钟源(如HSE)作为系统时钟源,在某些低功耗应用中可以选择在系统空闲的时候切换到HSI以降低功耗。HSI的时钟精度可能不如外部晶体振荡器HSE提供的精度高,因此在一些对时钟精度要求比较高的应用中,使用外部晶体振荡器作为系统时钟

 PLL(锁相环):PLL是一种电路技术,用于生成高精度的时钟信号,以提供微控制器的系统时钟。STM32微控制器中通常具有一个或多个PLL模块,可以将输入时钟信号进行频率倍增或者除频操作,从而生成更高频率的输出时钟信号,这个输出时钟信号通常被称为系统时钟(SYSCLK),它驱动着微控制器的核心和外设模块的工作。使用PLL技术的好处是可以根据需要生成不同的时钟频率,以满足不同应用的需求,通过调整PLL的配置参数,如倍频因子、除频因子等。可以得到所需的系统时钟频率,PLL还可以提供稳定的时钟信号。具有较低的抖动和噪音。使用PLL之前,通常需要初始化和配置PLL,设置输入时钟源倍频因子除频因子等参数,这能够正确生成所需要的系统时钟,并确保系统稳定运行。

SYSCLK(系统时钟):SYSCLK是微控制器内部主要的时钟信号驱动整个芯片的工作,包括处理器核心、外设模块和总线等。SYSCLK的频率控制了微控制器的整体性能和运行速度,通常,STM32微控制器提供多种选择来获取SYSCLK,包括内部时钟源(如HSI、HSI48)和外部时钟源(如HSE、LSE)。这些时钟源可以通过配置微控制器的时钟来选择,并通过锁相环(PLL)进行倍频或除频操作来生成所需的SYSCLK频率。选择适当的SYSCLK频率非常重要,因为它不仅会影响处理器的运行速度,还会影响外设模块的时序和功能,一般来说,较高的SYSCLK频率可以提供更高的性能,但也会增加功耗和噪声,因此,在项目开发中需要权衡考虑性能要求、功耗限制和外设时序等因素来选择合适的SYSCLK频率。配置SYSCLK需要根据STM32系列和型号进行,通常需要在启动阶段初始化和配置合适的SYSCLK频率。

CSS:在STM32中,CSS是指时钟安全系统(Clock Security System),CSS功能使用于监测外部时钟源的稳定性,以确保系统的可靠性,当外部时钟源(如晶体振荡器)发社会功能故障或者异常时,CSS会触发一个中断或者复位的信号,以通知系统发生了时钟源故障。这样可以让系统进行相对应的应对措施,例如切换到备用时钟或者执行特定的错误处理程序。启用CSS功能可以提高系统的可靠性和稳定性,尤其是对于一些对时钟源故障敏感的应用场景,如实时操作系统、通信系统等。要使用CSS功能,需要在微控制器的时钟汇总配置启用相应的选项,并在代码中设置相应的中断处程序来处理时钟源故障。

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值