wtm32f10xx时钟系统

(一)

stm32系统时钟可有HSI,HSE,PLL来驱动。如下图


HSE时钟:外部的晶体振荡器,大少:4-16MHZ为好;

HSI时钟:内部的8MHZ,由上图可以看出,HSI可以直接作为系统时钟,也可以经过两分频后作为PLL的时钟输入。这个时钟不需要任何外部的零件就可以 工作,只不是精度没有那么高

LSE时钟:这个时钟的大小为32.768,低速外部的晶振,为实时时钟提供精确的时钟源,在这个模式里必须提供一个32.768kHz频率的外部时钟源。你可以通过设置在备份域控制寄存器(RCC_BDCR)里的LSEBYP和LSEON位来选择这个模式。具有50%占空比的外部时钟信号(方波,正弦波或三角波)必须连到OSC32_IN管脚,同时保证OSC32_OUT管脚悬空。

LSI时钟是低功耗时候用到,在待机模式下为独立看门狗和自动唤醒单元提供时钟,大小大约为32k-60k之间。LSI RC可以通过控制/状态寄存器(RCC_CSR)里的LSION位来启动或关闭。
在控制/状态寄存器(RCC_CSR)里的LSIRDY位指示低速内部振荡器是否稳定。在启动阶段,
直到这个位被硬件设置为1后,此时钟才被释放。如果在时钟中断寄存器(RCC_CIR)里被允
许,将产生LSI中断申请。

(二)时钟系统的选择

  当复位的时候HSI被选为系统时钟。只有当目标时钟源准备就绪了(经过启动稳定阶段的延迟或PLL稳定),从一个时钟源到另一个
时钟源的切换才会发生。在被选择时钟源没有就绪时,系统时钟的切换不会发生。直至目标
时钟源就绪,才发生切换。

(三)时钟输出

      1 微控制器允许输出时钟信号到外部MCO管脚

      2 相应的GPIO端口寄存器必须被配置为相应功能。以下四个时钟信号可被选作MCO时钟:
     SYSCLK
     HSI
     HSE
     除2 的PLL 时钟
时钟的选择由时钟配置寄存器(RCC_CFGR)中的MCO[2:0]位控制。

(四)RCC寄存器描述

   a 时钟控制寄存器(RCC_CR)

          偏移地址:0x00;复位值0x0000 0083;

          31 - 26 保留,读始终为0;

          25 PLLRDY 始终就绪标志当 锁定后硬件置1PLLDRY == 1 时 PLL被定;

          24 PLLON PLL使能,软件置位或清零,当进入待机模式的时候,硬件清零,PLL ==0 关闭;

           23-20 保留,读为0

           19 CSSON时钟安全系统使能 0 关闭

           18 HSEBYE外部高速时钟旁路在调试模式下由软件置1或清零来旁路外部晶体振荡器。只有在外部1-25MHz振荡器关闭的情况下,该位才可以写入。
0:外部1-25MHz振荡器没有旁路
1:外部1-25MHz外部晶体振荡器被旁路。

          17 HSERDY:外部高速时钟就绪标志,0:外部1-25MHz时钟没有就绪1:外部1-25MHz时钟就绪

           16HSEON:外部高速时钟使能由软件置1或清零。当进入待机和停止模式时,该位由硬件清零,关闭外部时钟。当外部时钟被用作或被选择将要作为系统时钟时,该位不能被清零。
0:HSE振荡器关闭
1:HSE振荡器开启

            15-8HSICAL[7:0]:内部高速时钟校准在系统启动时,这些位被自动初始化

            7-3HSITRIM[4:0]:内部高速时钟调整由软件写入来调整内部高速时钟,它们被叠加在HSICAL[5:0]数值上。

            2保留,始终读为0。..

            1HSIRDY:内部高速时钟就绪标志由硬件置1来指示内部8MHz时钟已经稳定。在HSION位清零后,该位需要6个内部时钟周期清零。
0:内部8MHz时钟没有就绪
1:内部8MHz时钟就绪

             0HSION:内部高速时钟使能由软件置1或清零。
当从待机和停止模式返回或用作系统时钟的外部1-25MHz时钟发生故障时,该位由硬件置1来启动内部8MHz的RC振荡器。当内部8MHz时钟被直接或间接地用作或被选择将要作为系统时钟时,该位不能被清零。0:内部8MHz时钟关闭1:内部8MHz时钟开启

   b 时钟控制寄存器(RCC_CR)

偏移地址: 04h
复位值: 0000 0000h

   31-27 保留

    26-24 为控制时钟输出,软件置位清零 0xx 没有输出 

       100 系统时钟输出 

       101 内部的8MHz的RC振荡器时钟输出.

       110:外部的1-25振荡器时钟输出

       101:PLL时钟2分频输出

      23保留

      22USBPRE:USB预分频

      21-18 PLLMUL:PLL倍频系数

      17  PLLXTPRE:HSE分频器作为PLL输入由软件设置来分频HSE后作为PLL输入时钟。该位只有在PLL关闭时才可以被写入。

0:HSE不分频
1:HSE 2分频

      16 PLLSRC:PLL输入时钟源

      由软件设置来选择PLL输入时钟源。该位只有在PLL关闭时才可以被写入。0:HSI时钟2分频后作为PLL输入时钟1:HSE时钟作为PLL输入时钟。

       15-14 ADCPRE:ADC预分频
       13-11 PPRE2:高速APB预分频(APB2)

        10-8 PPRE1:低速APB预分频(APB1)

        7-4HPRE: AHB预分频

        3-2SWS:系统时钟切换状态

        1-0 SW:系统时钟切换

   c 时钟中断寄存器 (RCC_CIR)

   d APB2 外设复位寄存器 (RCC_APB2RSTR)

   e APB1 外设复位寄存器 (RCC_APB1RSTR)

   f AHB 外设时钟使能寄存器 (RCC_AHBENR)

   g APB2 外设时钟使能寄存器(RCC_APB2ENR)

   h APB1 外设时钟使能寄存器(RCC_APB1ENR)

   i 备份域控制寄存器 (RCC_BDCR)

   j 控制/状态寄存器 (RCC_CSR)

         不列出所有寄存器了,这样看得很麻烦,不直观,后面将以例子来说明。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值