STM8 主时钟源

发布者:MindfulYogi最新更新时间:2020-07-29 来源: 51hei关键字:STM8  主时钟源  晶体振荡器 手机看文章 扫描二维码
随时随地手机看文章

下面4种时钟源可用做主时钟:

  • 1-24MHz高速外部晶体振荡器(HSE)

  • 最大24MHz高速外部时钟信号(HSE user-ext)

  • 16MHz高速内部RC振荡器(HSI)

  • 128KHz低速内部RC(LSI)

各个时钟源可单独打开或关闭,从而优化功耗。

(一)HSE
高速外部时钟信号可由下面两个时钟源产生:

STM8_HSE时钟源
(图14:STM8 HSE时钟源)

为了最大限度减小输出失真和减小启动的稳定时间,谐振器和负载电容应尽可能得靠近振荡器引脚。负载电容值应根据所选的振荡器进行调整。


  • 外部晶体/陶瓷谐振器(HSE晶体)
    外部1至24MHz的振荡器其优点在于能够产生精确的占空比为50%的主时钟信号。
    硬件连接如图14所示。更多详情请参见数据手册电特性章节。振荡器在启动时的输出时钟信号是不稳定的,默认情况下,在时钟信号被使用之前会插入2048个振荡器周期的延迟。用户可通过设置选项字节HSECNT来缩短稳定时间,请参见数据手册的选项字节章节。外部时钟寄存器CLK_ECKR中的标志位HSERDY用以指示高速外部振荡器是否稳定。启动时,HSE时钟信号将不会生效直至此标志位被硬件置位。


  • HSE晶体可通过设置外部时钟寄存器CLK_ECKR中的HSEEN位来打开或关闭。


  • 外部时钟源(HSE用户外部时钟)
    这种模式下,必须由用户提供一个外部时钟,此时钟的最高频率可为24MHz。用户可通过编程选项位EXTCLK选择此模式。详情请参见数据手册的选项字节章节。此时,占空比约50%的外部时钟信号(方波,正弦波,三角波)用以驱动OSCIN引脚,而OSCOUT引脚可做为通用输入/输出管脚使用。请参见图13。

    STM8_时钟树
    (图13:STM8 时钟树)

(二)HSI
HSI信号由内部16MHz RC振荡器与一个可编程分频器(分频因子从1至8)产生。分频因子由寄存器CLK_CKDIVR决定。


注意:启动时,主时钟源默认为HSI RC时钟的8分频,即fHSI/8
HSI RC可以提供一个低成本的16MHz时钟源(无需外部器件),其占空比为50%。HSI启动速度比HSE晶体振荡器快,但是其精度即使经过校准也仍然比外部晶体振荡器或陶瓷谐振器低。内部时钟寄存器CLK_ICKR中的标志位HSIRDY用以指示HSI RC是否稳定。启动时,HSI时钟信号将不会生效直至此标志位被硬件置位。HSI RC可通过设置内部时钟寄存器CLK_ICKR中的HSIEN位打开或关闭。


  • 备份时钟源
    当HSE晶体振荡器失效时,HSI/8可作为备份时钟源(辅助时钟源)使用。请参见8.6时钟安全系统(CSS)。


  • 快速启动特性
    如果寄存器CLK_ICKR中的FHWU位被置1,则MCU从停机(Halt)模式或活跃停机(Active Halt)模式唤醒时,HSI将自动被设为主时钟源。


  • 校准
    每个产品在出厂时均已经ST校准。
    复位后,出厂校准值将被自动加载至内部校准寄存器。
    如果实际应用中电压或温度偏差较大,将会影响RC振荡器的速度。用户可使用HSI时钟校准寄存器(CLK_HSITRIMR)修正HSI的时钟频率。此寄存器中有3或4位用以存放一个附加的修正值,并与内部HSI校准寄存器的值相加来对时钟进行校正。


(三)LSI

128KHz的LSI RC时钟是一个低功耗,低成本的可选主时钟源,也可在停机(Halt)模式下作为维持独立看门狗和自动唤醒单元(AWU)运行的低功耗时钟源。LSI可通过设置内部时钟寄存器CLK_ICKR中的LSIEN位打开或关闭。


内部时钟寄存器CLK_ICKR中的标志位LSIRDY用以指示LSI是否稳定。启动时,LSI时钟信号将不会生效直至此标志位被硬件置位。


同HIS一样,LSI出厂时已经校准。但是,不可能再执行进一步的校准。


注意:当独立看门狗使用LSI为时钟源时,为了保证CPU在系统出错时不与独立看门狗使用同一个时钟,


当选项字节位LSI_EN为0时,LSI不能做为主时钟。请参见STM8数据手册中的选项字节章节。

关键字:STM8  主时钟源  晶体振荡器 引用地址:STM8 主时钟源

上一篇:STM8 时钟控制
下一篇:STM8 主时钟切换

推荐阅读最新更新时间:2024-11-23 00:18

STM8 可配置时钟输出寄存器
STM8可配置时钟输出寄存器 地址偏移值:0x09 复位值:0x00 位7 保留。始终为0。 位6 CCOBSY:可配置时钟输出忙 由硬件置位或清除。用于指示所选的CCO时钟源正处于切换状态或稳定状态。当CCOBSY为1 时,CCOSEL位域将被写保护。CCOBSY保持为1直至CCO时钟被使能。 0:CCO时钟空闲 1:CCO时钟忙 位5 CCORDY:可配置时钟输出准备就绪 由硬件置位或清除。用于指示CCO时钟的状态 0:CCO时钟可用 1:CCO时钟不可用 位4:1 CCOSEL :可配置时钟输出源选择 由软件写入。用于选择CLK_CCO管脚上的输出时钟源。当CCOBSY=1时,该位域被写保护。 0000:fHSI
[单片机]
<font color='red'>STM8</font> 可配置时钟输出寄存器
STM8定时器1的四种触发同步说明
这里说明下,我这边的最小系统版的芯片型号是105K系列的,定时器部分没有TIM5TIM6,只有TIM4,所以不讲解TIM1与TIM5/6的同步,想要了解这部分可以看官方手册。 TIM1的计数器使用三种模式与外部的触发信号同步:标准触发模式、复位触发模式和门控触发模式。 标准触发模式: 说白了就是使用外部信号触发内部计数器启动,然而如何配置呢,看手册: 下面根据官方给出的步骤配置寄存器: void Tim1_trigger_standard_mode_Init(void){//tim1标准触发模式初始化 PC_DDR_DDR2 =0;//输入 //PD_CR1_C14 =0;//浮空输入 PC_CR1_
[单片机]
<font color='red'>STM8</font>定时器1的四种触发同步说明
用IAR编译STM8单片机报警告
警告图片: 由警告提示可知,有一个编译选项执行失败了,但是我们仍然可以继续去执行代码 【 就像是你点了一份盖浇饭,和服务员说你要微辣,结果上来后你发现你的盖浇饭是不辣的,而这并不影响你继续享受盖浇饭,你同样可以吃的饱! 但是对于我这样的强迫症来说,这样吃起来就不香了,所以我还是得手动去加点辣椒才行。】 怎样才能吃的香呢? 第一步: 第二步: 第三步:重新编译- 下载,你会发现没有了警告! 到此,就是我的解决办法! 希望你也能早点解决
[单片机]
用IAR编译<font color='red'>STM8</font>单片机报警告
STM8庫函數學習筆記之GPIO
相關的函數: void GPIO_DeInit(GPIO_TypeDef* GPIOx); void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin, GPIO_Mode_TypeDef GPIO_Mode); void GPIO_Write(GPIO_TypeDef* GPIOx, u8 PortVal); void GPIO_WriteHigh(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins); void GPIO_WriteLow(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef Port
[单片机]
STM8 仿真跑飞 swim comm timeout
跑飞原因就很多了,我说说程序没问题,莫名其妙跑飞的情况。 为啥说程序没问题呢?首先是编译通过啦,其次我们也正确的配置寄存器了,但是还跑飞了,蛋疼。 特别是相对于STM8S103F3这些只有少的可怜的8K存储空间的单片机,真是蛋疼啊,好了不废话了,据我的经验总结一下: 用IAR平台,COSMIC的很烂,劝君莫用。 1、debug模式优化设置为none,此种情况下编译并运行还跑飞的话,可能是Option byte设置问题。比如你用了TIM2_CH1的PWM功能,但是你的Option byte没设置,那么跑起来会飞掉(我第一次遇到这么奇葩的单片机) 2、如果程序真的很大,要把优化设置为middle,那么就要小心了。IAR的优化有点
[单片机]
STM8学习笔记---利用PWM功能输出SPWM波
要生成SPWM波,其关键是要生成一组正弦规律变化的数字,然后将数字对应成PWM输出的占空比,按照顺序输出占空比就行。生成正弦波的方法在 使用C语言产生正弦波数据 这篇博客有详细说明,这里就不说了。 本例程中生成的64个数据是:50,54,59,64,69,73,77,81,85,88,91,94,96,97,99,99,100,99,99,97,96,94,91,88,85,81,77,73,69,64,59,54,50,45,40,35,30,26,22,18,14,11,8,5,3,2,0,0,0,0,0,2,3,5,8,11,14,18,22,26,30,35,40,45 它所组成的波形为 下面看C代码的实现
[单片机]
<font color='red'>STM8</font>学习笔记---利用PWM功能输出SPWM波
stm8使用iar刚开始烧录ok,用着用着就下载失败解决方案
用iar写代码的时候,用stlink 下载,再排除接线和烧录器问题,基本上都是要重新用stvp烧录下 错误提示: Failed to set configuration with MCU name STM8S207MB: SWIM error xxxxxxx 要是嫌麻烦,可以直接用svtp开发也行 1.配置iar 输出s19格式 点击rebuild all 生成.s19文件 文件在Debug/Exe下 打开ST Visual Programmer(STVP)并设置硬件连接方式和MCU型号,这里以ST-Link连接STM8S003F为例用swim方式 导入要烧录的.s19文件,设置是否锁定芯片(可以
[单片机]
<font color='red'>stm8</font>使用iar刚开始烧录ok,用着用着就下载失败解决方案
微机补偿晶体振荡器
微机补偿晶体振荡器电路图 微机补偿晶体振荡器频率相加方法 在频率叠加方法中,直接数字频率合成器(DDS)基于N2 产生一个校正频率fd,从而 在所有温度情况下f3 + fd = 10MHz。相位锁定回路把电压控制晶体振荡器的频率精确的控制 在10MHz。 在“频率模式”中,1PPS 的输出是从10MHz 除以一些数得到的。在能量守恒的“调速 方式”中,1PPS 是直接从f3 驱动直接数字频率合成器,并通过使用不同的校正公式产生的。 锁相环和一部分数字电路被关闭。在校正的同时,微处理器准备“休眠”,并且定时被延长 来减少能量的需求。 微机补偿晶体振荡器—脉冲消除方法 在脉冲消除方法中,SC 切型的谐
[模拟电子]
微机补偿<font color='red'>晶体振荡器</font>
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved