单片机学习小组
登录
直播中
骨灰级发烧友
12年用户
673经验值
私信
关注
时钟的功能是什么?时钟是如何控制的
开启该帖子的消息推送
嵌入式
单片机
时钟
时钟的功能是什么?时钟的产生途径有哪些呢?时钟是如何控制的?什么是系统时钟?
回帖
(1)
李永每
2022-1-17 13:50:48
一、时钟树及电源管理
为了提高适用性和可靠性,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位值,用于选择目标芯片。
七、如何配置时钟
八、什么是时钟的中断
九、时钟控制寄存器
一、时钟树及电源管理
为了提高适用性和可靠性,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位值,用于选择目标芯片。
七、如何配置时钟
八、什么是时钟的中断
九、时钟控制寄存器
举报
更多回帖
rotate(-90deg);
回复
相关问答
嵌入式
单片机
时钟
系统
时钟
与
功能
时钟
之间是什么关系?
2023-10-27
254
如何
控制
时钟
偏移?
2020-12-30
5393
如何改进FPGA
时钟
分配
控制
?
2019-10-16
2091
RCC复位和
时钟
控制
器的
时钟
有哪些
2021-11-09
1263
STM8
时钟
输出
功能
CCO解析
2020-11-10
2607
自制电子
时钟
问题求助
2021-10-29
14775
请问如何解决STM8s SWIM
时钟
控制
寄存器关闭SWIM分频
功能
后下载问题?
2022-02-11
461
RCC复位和
时钟
控制
器
时钟
树解析
2021-11-08
1439
请问AFIO辅助
功能
IO
时钟
怎么使用?
2020-05-29
1594
求多
功能
时钟
课程设计 详细要求见下
2015-07-09
2184
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分