STM8时钟树及电源管理

一、时钟树及电源管理

为了提高适用性和可靠性,STM8S单片机增加了许多的特色功能,如多时钟源、多功耗管理模式及自动唤醒功能等。

二、时钟的功能

处理器必须要稳定的时钟源才能可靠的运行。STM8S单片机的时钟配置比较灵活,既可以使用外部的晶体振荡器/陶瓷谐振器作为时钟源,也可以使用外部的时钟信号或片内的RC震荡器作为系统时钟。多时钟源的特点是可以充分利用不同时钟源的特点,让单片机运行更加稳定。

三、时钟的产生途径

1、RC振荡器

什么是RC振荡器?

 通过把电阻和电容搭建成一个正反馈的振荡电路就可以获取时钟信号,通过改变电阻或者电容的值可以调节时钟的频率。

RC振荡电路的优缺点:

优点:起振速度快,加电后可以立即输出满幅的震荡信号。

缺点:当外界温度变化时,阻容原件的值也发生变化,从而引起振荡频率漂移。

2、陶瓷谐振器

陶瓷谐振器是什么?

陶瓷谐振器利用的陶瓷的压电原理,一个两面背覆电极的陶瓷片在外加电场的作用下,陶瓷自身会发生形变产生的振荡,当达到自身的共振频率时,既可进入稳定的谐振状态。

陶瓷谐振器的优缺点:

优点:起振速度快

缺点;频率的稳定性和精度较差。

3、晶体振荡器

      什么是晶体振荡器?

      晶体振荡器简称晶振,其内部是经过精密切割的石英晶体,晶体两端连接电极。

晶体振荡器的优缺点:

优点:石英晶体在受到激励后会输出特定频率的震荡信号,而且频率的稳定性极高。

缺点:它起振速度也有点慢,需要经过一段时间才能输出稳定的满幅的震荡信号,另外就是晶体振荡器受到强烈的撞击或电压冲击,晶体会因物理结构的改变而损毁。

四、时钟是如何控制的?

STM8S单片机使用时钟控制器来管理时钟源,并且将他们的分配到CPU以及各个外设,使用户可以在最快的时钟和最低的功耗间进行取舍。

STM8S还可以在程序运行的时候将主时钟从一个时钟源切换到另一个时钟源,而且安全可靠无故障时钟切换机制。

STM8S单片机而且应对电磁干扰对应用程序误写或系统挂起,大多数关键的时钟配置寄存器都会有一个互补的寄存器。系统自动检测这些寄存器与互补寄存器之间是否匹配,如果不匹配则会产生一个EMS复位,使应用程序回复到正常运行状态。

如下图STM8S单片机的时钟框图:

从图中可以看出系统时钟是F(master)时钟。这个时钟是由F(hse)、F(hsidiv)、F(lsi)时钟提供。

时钟控制器将来自不同振荡器的系统时钟(Fmaster)连接到内核和外设。

时钟控制器有以下的功能:

时钟管理、

4个不同的时钟源通过时钟管理器来选择那时钟作为系统时钟。STM8S单片机系统时钟Fmaster有以下时钟切换而来。

4个时钟源;

1)、1MHz--24MHz 外部晶体/陶瓷谐振器。选项字节EXT_CLK用于选择外部时钟(HSE)。系统刚刚上电的时候振荡器是不稳定的,STM8S单片机需要延时2048个振荡周期,以等待振荡器的稳定,可以通过的软件和硬件设置切换到振荡器。如果感觉2048个振荡周期时间比较长也可以通过选项字节HSECNT对稳定时间进行设置。HSE可以通过外部时钟寄存器CLK_ECKR中的HSEEN位来使能。外时钟的寄存器的CLK_ECKR中的HSERDY位判断振荡器是否稳定。单片机启动时,此标志位被硬件置为后HSE才可以使用。

2)、最高至24MHz的高速外部时钟(USE, USER-EXT)

通过时钟选项字节EXT_CLK来选择用于外部时钟HSE。

3)、16MHz高速内部RC振荡器

16MHz的高速内部时钟被称为HSI,HSI位于单片机的内部,是片内的高速RC振荡器,有16MHz RC振荡器和一个可编程分频器构成,分频因子(1--8)由寄存器CLK_CKDIVR设定。

RC振荡器的起振速度快比HSE晶体振荡器的快,但是其精度较低。单片机刚刚上电时使用的内部的16MHzRC振荡器8分频时钟。HSI时钟源可以通过设置内部的CLK_ICKR寄存器中的HSIEN位打开或关闭。

内部时钟寄存器CLK_ICKR中的标志位HSIRDY用来指示HSI RC振荡器是否稳定。

单片机为了时钟使用安全,如果使能了时钟的安全机制,当外部的HSE时钟的失效时,HSI/8可以作为备用时钟。

4)、128KHz低速内部RC振荡器

128KHz低速内部RC振荡器简称为LSI,该时钟同样位于单片机的内部。LSI时钟既可以配置为系统时钟,也可以在停机模式下也可以作为独立看门狗和自动唤醒单元运行的低功耗时钟。

LSI时钟可以通过CLK_ICKR的LSIEN位打开或关闭。CLK_ICKR中的LSIRDY来判断时钟是否稳定。

时钟分频、

时钟控制器通过一个可编程的预分频器来调整CPU和外设时钟。

时钟切换、

通过配置寄存器可以是单片机运行的时候进行时钟切换。

启动时钟、

单片机刚刚上电的时候默认的时钟时内部的HSI/8的时钟运行。

时钟监控、

时钟的安全系统CSS,可以持续监视HSE时钟的稳定性能,一旦HSE时钟出现故障,会马上切换到内部RC时钟下运行。

启动时钟:单片机复位后默认运行的时钟为内部时钟(HSI/8)即使2MHz的时钟频率。用户可以通过软件在系统运行稳定后改变时钟源,并设定相应的预分频比。

五、什么是系统时钟?

系统时钟是指为单片机CPU和外设提供时钟的时钟。

1)、1MHz--24MHz 外部晶体/陶瓷谐振器。选项字节EXT_CLK用于选择外部时钟(HSE)。系统刚刚上电的时候振荡器是不稳定的,STM8S单片机需要延时2048个振荡周期,以等待振荡器的稳定,可以通过的软件和硬件设置切换到振荡器。如果感觉2048个振荡周期时间比较长也可以通过选项字节HSECNT对稳定时间进行设置。HSE可以通过外部时钟寄存器CLK_ECKR中的HSEEN位来使能。外时钟的寄存器的CLK_ECKR中的HSERDY位判断振荡器是否稳定。单片机启动时,此标志位被硬件置为后HSE才可以使用。

2)、最高至24MHz的高速外部时钟(USE, USER-EXT)

通过时钟选项字节EXT_CLK来选择用于外部时钟HSE。

3)、16MHz高速内部RC振荡器

16MHz的高速内部时钟被称为HSI,HSI位于单片机的内部,是片内的高速RC振荡器,有16MHz RC振荡器和一个可编程分频器构成,分频因子(1--8)由寄存器CLK_CKDIVR设定。

RC振荡器的起振速度快比HSE晶体振荡器的快,但是其精度较低。单片机刚刚上电时使用的内部的16MHzRC振荡器8分频时钟。HSI时钟源可以通过设置内部的CLK_ICKR寄存器中的HSIEN位打开或关闭。

内部时钟寄存器CLK_ICKR中的标志位HSIRDY用来指示HSI RC振荡器是否稳定。

单片机为了时钟使用安全,如果使能了时钟的安全机制,当外部的HSE时钟的失效时,HSI/8可以作为备用时钟。

4)、128KHz低速内部RC振荡器

128KHz低速内部RC振荡器简称为LSI,该时钟同样位于单片机的内部。LSI时钟既可以配置为系统时钟,也可以在停机模式下也可以作为独立看门狗和自动唤醒单元运行的低功耗时钟。

LSI时钟可以通过CLK_ICKR的LSIEN位打开或关闭。CLK_ICKR中的LSIRDY来判断时钟是否稳定。

六、时钟是如何切换的?

时钟切换有两种方式:自动切换 和 手动切换

自动切换:

自动切换的过程如下:

1】、设置切换控制寄存器CLK_SWCR中的SWEN为使能切换机制。

2】、向时钟切换寄存器CLK_SWR中写入一个8位值,用于选择目标芯片。

 

七、如何配置时钟

八、什么是时钟的中断

九、时钟控制寄存器

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值