历史上的今天
今天是:2025年07月29日(星期二)
2020年07月29日 | STM8 主时钟源
2020-07-29 来源:51hei
下面4种时钟源可用做主时钟:
1-24MHz高速外部晶体振荡器(HSE)
最大24MHz高速外部时钟信号(HSE user-ext)
16MHz高速内部RC振荡器(HSI)
128KHz低速内部RC(LSI)
各个时钟源可单独打开或关闭,从而优化功耗。
(一)HSE
高速外部时钟信号可由下面两个时钟源产生:
HSE外部晶体/陶瓷谐振器
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。
(图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 主时钟切换
史海拾趣
|
:AD9954是美国AD公司采用先进的DDS技术生产的高集成度频率合成器,它能产生200MHz的模拟正弦波。文章介绍了AD9954的基本特点和引脚功能,分析了其内部结构和工作原理,给出了AD9954在高速调制信号系统中的应用方案。… 查看全部问答> |
|
BridgeWave Communications是能够提供完整的点到点毫米波链路解决方案的公司之一,公司在全球部署有数千台60和80GHz的无线千兆比特设备。该公司的毫米波无线设备支持局域网(LAN)干线扩展、移动电话回传应用以及大容量互联网接入。他们提供的无线系 ...… 查看全部问答> |
|
我编写了一个基于Windows ce的应用程序,其中要求能支持打印。要想实现,需要做哪些工作?请指教。 开发板使用的是ICOP的VDX6354,是支持打印的。 但是我将打印机插上(通过usb,并且是hp打印机)以后,系统没有自动显示新添加的打印机。 这是什 ...… 查看全部问答> |
|
我们在为客户开发一款机器,使用pxa270的cpu,客户要求可以在线播放youtube视频。 使用IE上Youtube的网站,总是自动转到youtube的mobile版,视频是3gp格式的,点击播放自动弹出mediaplay,但是提示连接不上服务器。如果上youtube的桌面版,则提示f ...… 查看全部问答> |
|
各位,我现在想实现这样的功能: 1、从数据库中获取电话号码后(如:12345),通过拨号按钮直接拨到此电话上(12345)。 2、拨通后,接受的电话(12345)可以听到一段录音,然后按提示选择对应的功能健。比如按1同意,按2不同意,按3转人工。 3 ...… 查看全部问答> |
|
从论坛中下载下来的,只因原档为未打包的,下载麻烦又费金钱,所以现在打包了! [ 本帖最后由 yulri 于 2012-10-2 10:55 编辑 ]… 查看全部问答> |
|
我是用的单片机是PIC18F46K80,编译环境是MPLAB C18 V3.41,MPLAB IDE V8.92。 我是用串口助手给单片机发信息,每次发送7个字节,每隔20ms或者100ms或者200ms,串口接收使用数组存储。 我的主循环里我使用switch(与串口接收的数据无关),异常出 ...… 查看全部问答> |




