STM32107外部时钟
STM32107外部时钟
更多
好的,STM32F107 的外部时钟配置主要涉及两种类型:高速外部时钟(HSE) 和 低速外部时钟(LSE)。以下是详细的中文说明:
1. 高速外部时钟(HSE - High Speed External clock)
- 用途: 作为系统主时钟源(SYSCLK)或 PLL 的输入源,为 CPU、总线(AHB、APB)和外设提供高速时钟。是获得最高系统性能(如 72MHz)的关键。
- 来源:
- 外部晶体/陶瓷谐振器: 最常见的方式。
- 频率范围: 4 MHz 到 26 MHz (STM32F107 支持的最高 HSE 频率通常为 25MHz,但需确认具体数据手册规定的最稳定工作频率点,如 8MHz)。
- 连接引脚:
OSC_IN(PC14) 和OSC_OUT(PC15)。 - 硬件要求:
- 选择合适频率的晶体(如 8MHz, 12MHz, 25MHz)。
- 在
OSC_IN和OSC_OUT引脚上连接负载电容(CL1和CL2)。电容值(通常几 pF 到几十 pF)必须严格匹配晶体制造商的数据手册推荐值。这是晶振能否可靠起振的关键! - 为了稳定性和抗干扰,晶体应尽可能靠近芯片引脚,布线尽量短,并用地线包围。
- 外部有源时钟源: 直接提供符合要求的方波时钟信号。
- 频率范围: 1 MHz 到 25 MHz。
- 连接引脚: 仅连接到
OSC_IN(PC14) 引脚。OSC_OUT(PC15) 引脚可以悬空或配置为 GPIO。 - 信号要求: LVCMOS 或 LVTTL 兼容电平(通常是 0-3.3V),占空比接近 50%。
- 外部晶体/陶瓷谐振器: 最常见的方式。
- 软件配置(使用标准外设库或 HAL/LL 库):
- 在
RCC寄存器中使能 HSE (RCC_CR寄存器的HSEON位)。 - 等待 HSE 稳定(检查
RCC_CR寄存器的HSERDY位)。 - (可选)配置时钟安全系统(CSS)来监控 HSE。
- 选择系统时钟源:
- 直接选择 HSE 作为 SYSCLK (
RCC_CFGR寄存器的SW位)。 - 更常见: 配置 PLL:
- 选择 HSE 作为 PLL 输入源 (
RCC_CFGR寄存器的PLLSRC位)。 - 设置 PLL 倍频因子 (
PLLMUL)。例如:HSE=8MHz, PLLMUL=9 -> PLLCLK=72MHz。 - 使能 PLL (
RCC_CR寄存器的PLLON位)。 - 等待 PLL 就绪 (
RCC_CR寄存器的PLLRDY位)。 - 选择 PLL 输出作为 SYSCLK (
RCC_CFGR寄存器的SW位)。
- 选择 HSE 作为 PLL 输入源 (
- 直接选择 HSE 作为 SYSCLK (
- 配置 AHB (
HPRE)、APB1 (PPRE1)、APB2 (PPRE2) 的总线预分频器。 - 配置
FLASH_ACR寄存器中的等待状态(Latency),确保 CPU 频率与 Flash 访问速度匹配(在 72MHz 时通常需要 2 个等待周期)。
- 在
2. 低速外部时钟(LSE - Low Speed External clock)
- 用途: 主要为实时时钟(RTC)和独立看门狗(IWDG)提供精确的低速时钟源。RTC 需要精确计时(如日历功能),而来自 LSI/LSE 的 IWDG 时钟在停机/待机模式下仍然有效。
- 来源:
- 外部 32.768 kHz 晶体: 最常用方式,因其频率非常适合分频得到精确的 1Hz 信号给 RTC。
- 连接引脚:
OSC32_IN(PC14) 和OSC32_OUT(PC15)。 - 硬件要求:
- 选择标称频率为 32.768 kHz 的晶体(手表晶振)。
- 在
OSC32_IN和OSC32_OUT引脚上连接负载电容(CL1和CL2)。电容值(通常 6pF, 7pF, 12.5pF)必须严格匹配晶体制造商的数据手册推荐值。同样是可靠起振的关键! - 为了稳定性和抗干扰,晶体应尽可能靠近芯片引脚,布线尽量短。
- 连接引脚:
- 外部有源时钟源: 直接提供符合要求的方波时钟信号(较少用)。
- 频率: 通常是 32.768 kHz,也可以是其他值(需软件适配)。
- 连接引脚: 仅连接到
OSC32_IN(PC14) 引脚。OSC32_OUT(PC15) 引脚可以悬空或配置为 GPIO。 - 信号要求: LVCMOS 或 LVTTL 兼容电平(通常是 0-3.3V)。
- 外部 32.768 kHz 晶体: 最常用方式,因其频率非常适合分频得到精确的 1Hz 信号给 RTC。
- 软件配置:
- 在
RCC寄存器中使能 LSE (RCC_BDCR寄存器的LSEON位)。 - 等待 LSE 稳定(检查
RCC_BDCR寄存器的LSERDY位)。 - 选择 RTC 时钟源 (
RCC_BDCR寄存器的RTCSEL位):选择 LSE。 - 使能 RTC 时钟 (
RCC_BDCR寄存器的RTCEN位)。 - 在 RTC 初始化时,配置 RTC 的预分频器以得到所需的计数时钟(如 1Hz)。
- 在
选择外部时钟源的关键点
- 晶体 vs 有源时钟源:
- 晶体/谐振器: 成本低,功耗低,精度较高(尤其带温度补偿的),但起振稍慢,对负载电容和 PCB 布局敏感。
- 有源时钟源: 启动快,驱动能力强,不受负载电容影响,布局要求相对宽松,但成本稍高,功耗略高。
- 负载电容 (
CL1,CL2): 至关重要! 必须根据晶体规格书和 PCB 寄生效计算并选择正确的值。错误的值是导致晶振不起振或工作不稳定的最常见原因之一。通常使用 NP0/C0G 类型的电容。 - PCB 布局:
- 晶体靠近 MCU 放置。
- 晶振走线尽量短、直。
- 晶振下方铺地(但避免形成闭合环路)。
- 避免高速数字信号线靠近晶振走线。
- 确保良好的电源去耦。
- 启动时间: 外部晶振需要一定的启动时间才能稳定。代码中必须等待相应的就绪标志(
HSERDY,LSERDY)置位后再使用。 - 时钟安全系统(CSS): 对于 HSE,强烈建议(尤其是在关键应用中)启用 CSS。如果 HSE 失效,CSS 会触发中断并自动切换到 HSI(内部高速 RC 振荡器),防止系统因时钟丢失而锁死。
- 数据手册(Datasheet)和参考手册(Reference Manual): 务必查阅 ST 官方发布的 STM32F107 的数据手册和参考手册(RM0008),获取最精确的电气特性参数、引脚定义、寄存器描述和配置流程。
常见问题排查(晶振不起振)
- 检查硬件:
- 负载电容 (
CL1,CL2) 值是否正确且焊接良好?这是最常见问题! - 晶体频率是否在范围内?
- PCB 布局是否符合要求?
- 焊接是否良好(虚焊/短路)?
- 晶体本身是否损坏?
- 负载电容 (
- 检查软件:
- 是否正确使能了 HSE/LSE (
HSEON/LSEON)? - 是否在等待就绪标志 (
HSERDY/LSERDY) 后才进行后续操作? - 是否错误地配置了相关的 GPIO 模式(应保持为默认的晶振模式)?
- 是否正确使能了 HSE/LSE (
- 使用示波器测量:
- 在
OSC_OUT/OSC32_OUT上测量波形(注意探头负载效应)。起振初期幅度可能较小。 - 检查供电电压是否稳定。
- 在
总结: 配置 STM32F107 的外部时钟(HSE/LSE)需要仔细选择元器件(尤其晶体和电容)、合理的 PCB 布局以及正确的软件初始化步骤。特别注意负载电容的计算和焊接,并务必在代码中等待晶振就绪标志。参考官方手册是成功配置的关键。
希望以上中文说明能帮助你配置 STM32F107 的外部时钟!如有具体问题,欢迎提供更多细节。
stm32 外部晶振不振 程序能运行吗
在嵌入式系统中,外部晶振(External Crystal Oscillator)是一个重要的组件,用于为微控制器(MCU)提供准确的时钟信号。STM32
2024-01-04 09:33:40
关于STM32 RTC时钟使用内部/外部晶振的切换方法
之前的项目中遇到一个问题,由于一些产品的外部晶振损坏(时间长了有些外部晶振容易坏掉),导致RTC实时时钟时间异常。为了降低公司的维护成本,所以考
资料下载
h1654155275.3132
2021-11-23 18:07:05
STM32为什么还要用外部时钟
STM32最小系统(以F103为例)总览单片机最小系统一般有晶振电路、电源电路、复位电路、下载电路(调试电路)。晶振电路作用: 用来给芯片提供始时钟信号。虽说
2021-11-25 06:32:07
为什么stm32107lwip+modbus tcp通信中会提示传输id错误?
原子哥:请教个问题,stm32107lwip+modbus tcp(无系统)通信中,用modbus poll下发以后就提示传输id错误,还有就是超时,???、
2019-07-17 04:35:39
7天热门专题
换一换
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机
- 元宇宙概念龙头股一览