当前位置: 首页 > news >正文

STM32F0实战:基于HAL库开发【1.9】

6.1.3 时钟安全

1.时钟安全系统(CSS)

时钟安全系统可以由软件使能,用于监测HSE的工作是否正常。时钟安全系统激活后,时钟监测器将在HSE振荡器启动延迟后被使能,并在HSE时钟关闭后关闭。在时钟监测器工作期间,HSE时钟在发生故障时将被关闭,系统时钟自动切换到HSI振荡器上,时钟失效事件也将同时被送到高级定时器(TIM1和TIM8)的刹车输入中,并产生时钟安全中断CSSI,使用户可以使用软件完成系统的相应补救处理。在使用时钟安全系统时需要注意以下几点。

1)CSSI中断连接到Cortex-M0的NMI中断(不可屏蔽中断),一旦CSS被激活并且HSE时钟出现故障,CSS中断就会产生,相应地NMI中断也将自动产生。

2)NMI中断产生后将不断被执行,直到CSS中断挂起位被清除。因此在NMI的中断处理程序中必须通过设置RCC_CIR寄存器的CSSC位来清除CSS中断。

3)如果HSE振荡器被直接或间接地(通过PLL)用作系统时钟,时钟故障将导致系统时钟自动切换到HSI振荡器,同时外部HSE振荡器被关闭。在时钟失效时,如果HSE振荡器作为PLL的输入时钟,PLL也将被关闭。

2.时钟恢复系统(CRS)

CRS是一个先进的数字控制器,它基于一个可选择的同步信号来对HSI48_RC振荡器的频率进行精确修正,以减少其频率误差,同时也可以使用手动的方式来修正HSI48_RC振荡器的频率。

使用时钟恢复系统的目的就是为USB外设提供精确的时钟信号,用于校正的同步信号有多种类型可供选择:既可以是来自USB总线上的帧起始(SOF)包信号、USB主机发送的1毫秒时钟脉冲、LSE振荡器输出和从外部引脚输入时钟,又可以直接由用户软件生成。

6.1.4 时钟应用

1.系统时钟(SYSCLK)

有4种时钟源可以用作系统时钟(SYSCLK),即HSI、HSE、PLL和HSI48。系统复位后,HSI振荡器被选为系统时钟,当时钟源被直接或通过PLL间接作为系统时钟时,它将不能被停止。时钟的切换只有在目标时钟源可用的情况下才能进行。假如系统选择了未准备好的时钟源作为当前系统时钟,那么只有在目标时钟源准备好后才能执行时钟切换,时钟控制寄存器RCC_CR指示当前系统时钟采用哪个时钟源作为系统时钟。

2.ADC时钟

ADC时钟可从专用的14MHz RC振荡器(HSI14)获得,也可以由PCLK/2或PCLK/4得到。当ADC时钟源于PCLK时,其时钟相位为PCLK时钟的反相信号。14MHz的HSI_RC振荡器可以配置成由ADC接口打开或者关闭,也可以配置成常开模式。当APB时钟被选为ADC模块时钟时,HSI_RC振荡器将不能被ADC接口打开。

3.RTC时钟

通过设置备份域控制寄存器RCC_BDCR的RTCSEL[1:0]位,可以配置RTC时钟源为HSE/32、LSE或LSI。除非备份域复位,此选择不能被改变。系统必须按照PCLK时钟频率必须高于或等于RTCCLK频率的标准,合理配置时钟才能正确使用RTC。LSE时钟属于备份域,但HSE和LSI不属于备份域,因此在配置RTC时钟时还需要注意以下几个方面:

·当LSE被选为RTC时钟时,只要维持VBAT正常供电,即使VDD掉电,RTC仍会继续工作。

·当LSI被选为RTC时钟时,如果VDD掉电后,RTC将处于不定的状态。

·当HSE/32被选为RTC时钟时,如果VDD或内部电压调压器掉电时,RTC将处于不定的状态。

4.看门狗时钟

如果独立看门狗已经由硬件使能或软件启动,LSI振荡器将被强制在打开状态,并且不能被关闭,当LSI振荡器稳定后将为IWWDG提供时钟。

5.时钟输出

微控制器可以软件选择将HSI14、SYSCLK、HSI、HSE、PLL/2、LSE、LSI和HSI48时钟信号从MCO引脚输出,这时与MCO对应的GPIO引脚须配置为复用功能模式,MCO输出的时钟选择由时钟配置寄存器RCC_CFGR的MCO[3:0]位设定。

6.1.5 低功耗模式下的时钟

APB外设时钟和DMA时钟都可以通过软件禁止。在睡眠模式下,CPU时钟停止,相应地存储器接口时钟(Flash和RAM)也可以被停止。当连接到APB范围内的所有外设时钟禁止后,进入睡眠模式时

AHB至APB桥的时钟也将由CPU硬件关闭。

在停止模式下将停止所有内核供电域时钟,并且禁止PLL、HSI、HSI14和HSE时钟。HDMI-CEC、US

http://www.jsqmd.com/news/264150/

相关文章:

  • 得物Java面试被问:Netty的ByteBuf引用计数和内存释放
  • 无线网络仿真:蓝牙网络仿真_(3).蓝牙网络仿真环境搭建
  • 小程序毕设选题推荐:基于springboot的公益动物平台、保护濒危系统保护濒危动物公益网站系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 无线网络仿真:蓝牙网络仿真_(4).蓝牙网络仿真工具介绍
  • 计算机小程序毕设实战-基于springboot的保护濒危动物公益网站系统科普展示、公益行动、捐赠管理【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • LLM推理引擎在电商中的作用
  • 详解redis(3):哨兵
  • 全志T113-环境
  • 全志T113ADB传输
  • 无线网络仿真:蓝牙网络仿真_(1).蓝牙技术基础
  • GESP认证C++编程真题解析 | 202312 七级
  • 全志T113配网
  • 基于微信小应用的家电维修平台的设计与实现(源码+论文+部署+安装)
  • 详解redis(2):主从架构
  • GESP认证C++编程真题解析 | 202312 八级
  • 使用llama_index 来实现一个RAG
  • 小程序毕设项目:基于springboot的保护濒危动物公益网站系统(源码+文档,讲解、调试运行,定制等)
  • 【课程设计/毕业设计】基于springboot的保护濒危动物公益网站系统保护动物网站、濒危动物保护【附源码、数据库、万字文档】
  • 小程序计算机毕设之基于springboot的保护濒危动物知识科普、活动发布、在线捐赠公益网站系统(完整前后端代码+说明文档+LW,调试定制等)
  • 【毕业设计】基于springboot的保护濒危动物公益网站系统(源码+文档+远程调试,全bao定制等)
  • 666666999999 - 教程
  • 亲测好用2026研究生AI论文网站TOP10:开题文献综述全攻略
  • AionUi:与AI终端代理协作的跨平台桌面界面
  • HarmonyOS智慧农业管理应用开发教程--高高种地---第1篇:项目初始化与环境搭建
  • C++11的一些特性
  • 非标自动化设备工厂10个SolidWorks研发设计如何共享一台服务器的资源和算力 - 指南
  • Playwright数据库断言:测试前后数据验证
  • GESP认证C++编程真题解析 | 202309 一级
  • docker 搭建canal - BeYourSelf
  • GESP认证C++编程真题解析 | 202309 二级