Advertisement

STM32F103单片机时钟系统的总结归纳

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:PDF


简介:
本文对STM32F103单片机的时钟系统进行了全面总结与归纳,详细介绍了其内部各时钟源、配置方法及常见问题解决方案。 ### 一、时钟源 STM32F103单片机的系统时钟部分主要涉及时钟源的选择与配置,这些对单片机性能及功耗管理至关重要。该款芯片采用ARM Cortex-M3架构,并配备了一套名为RCC(复位和时钟控制)的控制系统来分配整个系统的时钟。 #### 1. HIS(High-Speed Internal)振荡器 这是由内部RC振荡器提供的高速时钟,频率范围在4-16MHz之间。它可用作备用或初始化阶段的默认时钟源。 #### 2. HSE(High-Speed External)振荡器 HSE是由外部晶体振荡器提供,通常用于需要高精度的应用场合中,其工作频段一般为8至25MHz。 #### 3. PLL(Phase Locked Loop)时钟 PLL通过倍增内部或外部的高速时钟频率来生成更高频率的系统主时钟。例如,在输入72MHz的情况下,可以将该信号放大9倍得到648MHz输出。 ### 二、其他时钟源 #### 1. LSI(Low-Speed Internal)振荡器 这是一种内部提供的低速RC振荡器,工作频率为40kHz,主要用于驱动独立看门狗或RTC。 #### 2. LSE(Low-Speed External)振荡器 LSE是一个外部32.768kHz的时钟源,通常用于给实时时钟模块提供精确的时间基准。 ### 三、时钟分配与频率 1. **AHB总线时钟(HCLK)**:最大支持至72MHz,并可通过预分频器调节。 2. 高速APB(APB2)总线的最高允许频率同样为72MHz,而低速APB(APB1)则限制在36MHz以内。 3. **Cortex-M3系统定时器时钟**:由AHB时钟8分频后提供。 4. ADC(模数转换器)的工作速率可以从高速APB总线的2、4、6或8倍速中选择。 ### 四、系统时钟配置流程 1. 启动内部HIS振荡器。 2. 配置相关寄存器,如RCC_CR, RCC_CFGR和RCC_CIR以设定默认时钟源及预分频设置。 3. 关闭不使用的PLL或外部晶体振荡器,并关闭它们的监控机制。 4. 设置HSE为外部晶振模式而非旁路状态。 5. 配置PLL使用来自HSE输入信号,选择适当的倍增系数以产生所需的输出频率。 6. 清除所有时钟异常中断标志位。 7. 启动并等待HSE稳定后才继续下一步操作; 8. 调整AHB、APB1和APB2预分频器设置系统工作频率; 9. 开启PLL,并在它锁定后再启用该信号作为系统的主时钟源。 总结:STM32F103的时钟配置是一个精细的过程,需根据具体的应用需求选择合适的时钟源并调整相应的参数以获得最佳性能与功耗效率。整个过程中需要对RCC寄存器进行精确控制和设置,确保每个步骤准确无误才能保证单片机正常运行。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • STM32F103
    优质
    本文对STM32F103单片机的时钟系统进行了全面总结与归纳,详细介绍了其内部各时钟源、配置方法及常见问题解决方案。 ### 一、时钟源 STM32F103单片机的系统时钟部分主要涉及时钟源的选择与配置,这些对单片机性能及功耗管理至关重要。该款芯片采用ARM Cortex-M3架构,并配备了一套名为RCC(复位和时钟控制)的控制系统来分配整个系统的时钟。 #### 1. HIS(High-Speed Internal)振荡器 这是由内部RC振荡器提供的高速时钟,频率范围在4-16MHz之间。它可用作备用或初始化阶段的默认时钟源。 #### 2. HSE(High-Speed External)振荡器 HSE是由外部晶体振荡器提供,通常用于需要高精度的应用场合中,其工作频段一般为8至25MHz。 #### 3. PLL(Phase Locked Loop)时钟 PLL通过倍增内部或外部的高速时钟频率来生成更高频率的系统主时钟。例如,在输入72MHz的情况下,可以将该信号放大9倍得到648MHz输出。 ### 二、其他时钟源 #### 1. LSI(Low-Speed Internal)振荡器 这是一种内部提供的低速RC振荡器,工作频率为40kHz,主要用于驱动独立看门狗或RTC。 #### 2. LSE(Low-Speed External)振荡器 LSE是一个外部32.768kHz的时钟源,通常用于给实时时钟模块提供精确的时间基准。 ### 三、时钟分配与频率 1. **AHB总线时钟(HCLK)**:最大支持至72MHz,并可通过预分频器调节。 2. 高速APB(APB2)总线的最高允许频率同样为72MHz,而低速APB(APB1)则限制在36MHz以内。 3. **Cortex-M3系统定时器时钟**:由AHB时钟8分频后提供。 4. ADC(模数转换器)的工作速率可以从高速APB总线的2、4、6或8倍速中选择。 ### 四、系统时钟配置流程 1. 启动内部HIS振荡器。 2. 配置相关寄存器,如RCC_CR, RCC_CFGR和RCC_CIR以设定默认时钟源及预分频设置。 3. 关闭不使用的PLL或外部晶体振荡器,并关闭它们的监控机制。 4. 设置HSE为外部晶振模式而非旁路状态。 5. 配置PLL使用来自HSE输入信号,选择适当的倍增系数以产生所需的输出频率。 6. 清除所有时钟异常中断标志位。 7. 启动并等待HSE稳定后才继续下一步操作; 8. 调整AHB、APB1和APB2预分频器设置系统工作频率; 9. 开启PLL,并在它锁定后再启用该信号作为系统的主时钟源。 总结:STM32F103的时钟配置是一个精细的过程,需根据具体的应用需求选择合适的时钟源并调整相应的参数以获得最佳性能与功耗效率。整个过程中需要对RCC寄存器进行精确控制和设置,确保每个步骤准确无误才能保证单片机正常运行。
  • 操作概念
    优质
    本书全面梳理和探讨了操作系统的定义、核心功能及其发展历史,旨在帮助读者系统性地理解和掌握操作系统的基本概念。适合计算机专业学生及技术爱好者阅读。 操作系统概念复习要点: 一. 进程管理 1. 功能: - 控制进程的创建、撤销及状态转换(进程控制) - 协调多个并发执行的程序,避免冲突(进程同步) - 实现不同进程间信息交换机制(进程通信) - 决定哪个线程或进程获得处理机使用权(调度) 2. 程序顺序执行特性:有序、封闭和可重复。 3. 并发执行特点:不连续性,资源共享导致不可预测行为,结果无法重现。 4. 构成: - 执行代码 - 数据结构 - 进程控制块(PCB) 5. 定义: - 程序的一次运行实例。 - 包括程序、数据和其执行活动的集合。 - 作为资源分配与调度的基本单位。 6. 特征:动态变化,同时进行,独立性,异步性和结构化(代码+ 数据 +PCB)。 7. 状态分类: - 就绪态 - 运行态 - 阻塞态 8. PCB 包含的信息:进程标识、状态信息、调度数据和控制信息。 9. 临界区定义:访问共享资源的程序段。 10. 同步规则: 空闲时进入,忙碌则等待,有限制地等待,并发请求放弃处理机。 11. P,V操作解释:S减一并检查值;V操作加一后判断状态变化。 12. 信号量意义: - S<0: 表示有进程在临界区 - S=0: 不允许进入,已有进程占用资源 - S>0: 允许访问的进程数 13. 高级通信方式:共享内存、消息传递和管道。 14. 线程定义: 进程内部执行单元,是调度单位,代表程序内部单一控制流程。 15. 引入进程原因: 实现多任务并发提高效率与利用率。 16. 开发线程目的:降低系统开销,增强并行处理能力。
  • 矩阵公式
    优质
    本文章全面梳理并归纳了各类基础及高级矩阵公式,旨在帮助学习者系统地理解和掌握线性代数中的核心概念与计算技巧。 矩阵是数学中的一个重要概念,在机器学习与人工智能领域有着广泛的应用。本段落总结了一些常用的矩阵公式,这些内容对于研究相关领域的科研人员、工程师以及学生在阅读论文或进行实际工作时非常有帮助。 首先来看矩阵求逆的更新规则。在机器学习中,经常需要更新参数或者对矩阵执行操作,这时就需要用到矩阵的求逆方法。Neumann级数(也称作无穷级数)提供了一种特定条件下计算逆矩阵的方法:(I+A)^-1=I-A+A^2-A^3+... ,这个公式成立的前提是A的所有特征值绝对值小于1。这种性质在迭代优化过程中非常有用。 接下来介绍的是Sherman-Morrison公式,即所谓的矩阵求逆引理。当矩阵A经过修正后,其求逆可以通过原矩阵的逆加上适当的调整来完成。具体表达式为(A+BCD)^-1=A^-1-A^-1B(C^-1+DA^-1B)^-1DA^-1 。若D等于B的转置,则得到一个特殊形式:(A+BCB^T)^-1=A^-1-A^-1B(C+B^TA^-1B)^-1B^TA^-1 ,这被称为Woodbury恒等式。在机器学习中,Woodbury恒等式常用于大规模矩阵求逆的近似计算。 关于行列式的性质,如果AB是可逆的,则行列式满足det(AB)=det(A)det(B),这是行列式乘积规则的应用体现。另外,在单位阵基础上加上一个矩阵后,其行列式的变化可以用公式表示为:det(Ir+AB)=det(Is+BA) ,这一特性在统计学和数据分析中尤为重要。 Moore-Penrose伪逆是处理非方阵或奇异矩阵的一种更广泛的概念,它在解决线性最小二乘问题及奇异系统时非常有用。例如,当A是非奇异的,则其伪逆A+等于它的逆A^-1;而对于对称且幂等(即满足A^2=A)的矩阵A来说,其伪逆就是自身。此外,在许多情况下,矩阵及其伪逆具有相同的秩。 在随机矩阵分析中,“期望”是一个重要的概念。随机矩阵X的期望E{X}定义为非随机的矩阵形式,其中每个元素是对应于X中的那些元素的平均值。例如对于向量来说,E{X} 就是该向量各个分量的均值。 关于矩阵期望的一些性质包括:给定任意矩阵A和向量b,则有E{Ax+b}=AE{x}+b;随机变量X^2 的期望描述了其方差;多维情形下 E{X^TAX} 描述了协方差结构,这在多元分析中很有用。对于乘积形式的期望值,即E{(AX)(AX)^T}, 可以简化为A乘以E{X^TX} 的形式。 此外,Kronecker积运算也有特殊性质:(A⊗B)+=A+⊗B+, 这在处理高维数据和多维度信号分析时特别有用。它允许不同维度上的扩展操作,并将数据嵌入到更高层次的空间中进行进一步的解析研究。 综上所述,这些矩阵公式与性质构成了现代计算方法理论推导及实践应用的基础框架。掌握并运用好这些技巧对于深入理解和有效使用机器学习和人工智能领域中的各种技术至关重要。
  • 基于51.zip
    优质
    本项目为基于51单片机开发的一款实用型时钟计时系统,能够实现精准的时间显示与定时提醒功能,适用于多种场景。 基于51单片机的时钟计时器项目包含C代码以及PCB原理图。
  • 基于STM32F103RTC实程序代码0007
    优质
    本项目提供了一套在STM32F103系列单片机上实现RTC实时时钟功能的完整C语言程序代码,适用于需要精确时间管理的应用场景。 1. STM32F103通过设置RTC实时时钟来获取准确的时间日期数据。 2. 代码使用KEIL开发环境,在STM32F103C8T6上运行,但同样适用于其他型号的STM32F103芯片。只需在KEIL中更改相应的芯片型号和FLASH容量即可。 3. 在下载软件时,请注意选择J-Link或ST-Link作为调试工具。 以上说明了如何使用STM32F103系列微控制器设置RTC实时时钟,并提供了有关代码开发环境、适用的其他型号以及调试工具选择的相关信息。
  • STM32F103HAL库实例-RTC实日历.rar
    优质
    本资源包含STM32F103单片机使用HAL库实现RTC(实时时钟)功能的详细代码和配置说明,适用于需要精确时间管理和日期计算的应用。 1. 本项目专注于嵌入式物联网单片机开发实战,代码经过精心设计,易于使用。 2. 使用KEIL HAL库进行编程,并在STM32F103芯片上运行。对于其他型号的STM32F103芯片同样适用,请根据实际需要调整KEIL中的芯片类型和FLASH容量设置。 3. 下载软件时请注意选择合适的调试器选项,如J-Link或ST-Link。 4. 如需接入其它传感器,请参考发布的相关资料。 5. 单片机与模块的连接方式在代码中已详细定义,请根据实际情况进行对照调整。 6. 若硬件配置不同,请适当修改程序以适应具体需求。提供的代码仅供参考,并附有注释说明,便于理解阅读。
  • STM32F103 .7z
    优质
    STM32F103 时钟菜单.7z 是一个包含STM32F103系列微控制器时钟配置资源的压缩文件,内含实用工具和示例代码,帮助开发者轻松设置和管理芯片内部及外部时钟。 基于STM32F103的UCOSIII系统结合了菜单功能与时钟任务的设计。
  • 51红外遥控
    优质
    本项目设计并实现了一个基于51单片机的红外遥控时钟系统。该系统能够通过红外遥控器进行时间设置、闹钟设定等操作,为用户提供便捷的时间管理工具。 红外遥控器时钟程序代码适用于单片机C51。这段文字描述了关于如何编写用于单片机C51的红外遥控器时钟功能的相关代码的信息。
  • Python爬虫技术
    优质
    本文对Python爬虫技术进行了全面梳理和深入剖析,涵盖了基础概念、开发框架及实战应用等多个方面。 本段落是对个人在学习Python爬虫过程中的知识点进行总结的记录。内容涵盖了丰富的学习历程和个人掌握的知识点。