基于MCU器件如何实现时钟电路的设计?
单片机的应用分为单机应用与多机应用。在一个应用系统中,只使用一片单片机称为单机应用。
基于MCU(微控制器单元)实现时钟电路的设计,是嵌入式系统可靠运行的关键。其主要目标是向MCU提供稳定、精确的时钟信号,驱动内核、外设和总线工作。以下是设计方法和要点:
一、 核心时钟源类型与选择
MCU通常支持多种时钟源:
-
内部时钟源:
- 类型:
- 内部RC振荡器: MCU片内集成的电阻-电容振荡器。
- 内部高速振荡器: 某些现代MCU(如STM32)集成了更精确的高速内部RC振荡器。
- 优点: 无需外部元件,成本低,启动快,功耗相对较低。
- 缺点: 精度较低(±1%到±10%甚至更高),受温度、电压变化影响大(频率漂移)。
- 适用场景: 对时钟精度要求不高的应用(LED闪烁、简单控制、时间基准要求不严),作为备用时钟源或看门狗时钟。
- 类型:
-
外部时钟源:
- 类型:
- 外部晶体振荡器:
- 无源晶体: 需要MCU内部的反相放大器和外部负载电容组成皮尔斯振荡电路。
- 有源晶振: 自带振荡电路的完整模块(晶体+IC),直接输出方波或正弦波时钟信号。
- 陶瓷谐振器: 类似晶体,但使用陶瓷材料,精度介于RC和晶体之间。
- 外部时钟输入: 来自其他芯片(如专用时钟发生器、CPLD/FPGA)或系统级的时钟信号。
- 外部晶体振荡器:
- 优点:
- 精度高: 晶体精度通常在±10ppm到±50ppm(百万分之一),有源晶振可达±0.5ppm甚至更高,稳定性好。
- 稳定性好: 受环境因素(温度、电压)影响相对小。
- 缺点: 需要外部元件或器件,占用PCB面积,成本增加,启动时间比RC振荡器慢。
- 适用场景: 需要高精度时钟的应用(UART通信、USB、实时时钟RTC、高速ADC/DAC、精确计时、网络通信)。
- 类型:
二、 典型设计:外部晶体/陶瓷谐振器电路(最常见)
对于无源晶体或陶瓷谐振器(MCU侧称为LOW SPEED CRISTAL / HIGH SPEED CRISTAL):
-
基本电路:
- 在MCU的
OSC_IN和OSC_OUT引脚之间连接晶体/谐振器(XTAL)。 - 在
OSC_IN引脚到地之间连接一个负载电容C1。 - 在
OSC_OUT引脚到地之间连接一个负载电容C2。 - 关键:
C1和C2的取值至关重要! - 公式:
C_load ≈ (C1 * C2) / (C1 + C2) + C_stray。其中:C_load(CL) 是晶体规格书中指定的负载电容(典型值如 8pF, 12pF, 18pF, 20pF)。C_stray(Cs) 是PCB走线、引脚和杂散电容的总和(通常估计为 2-10pF,保守取 5pF)。
- 选择
C1和C2: 通常选择相同数值的电容,使C1 = C2 ≈ 2 * (C_load - C_stray)。例如,对于 CL=18pF 的晶体,Cs≈5pF,则C1 ≈ C2 ≈ 2 * (18pF - 5pF) = 26pF。选择最接近的标准值 27pF 或 22pF。 - 电阻 (可选但推荐):
- 串联电阻
Rs: 串联在OSC_OUT和晶体之间,用于限制驱动电平,避免过驱导致晶振老化或稳定性问题,典型值 0-100Ω(高频或低ESR晶体可能需要)。 - 并联电阻
Rf(高阻值): 部分MCU内部已有足够大的反馈电阻,外部通常不需要。若手册要求或无内置,可并联一个如1-10MΩ电阻,增强起振。
- 串联电阻
- 在MCU的
-
PCB布局要点:
- 短且对称: 晶体、负载电容
C1/C2、Rs应尽可能靠近MCU的OSC_IN和OSC_OUT引脚。 - 地平面: 确保晶体下方的地层完整。
- 避免干扰: 远离噪声源(如电源、电机驱动、射频元件)、热源。
- 避免跨越分割: 时钟信号走线不要跨越电源或接地平面的分割间隙。
- 隔离: 用GND走线环绕时钟电路,屏蔽噪声。
- 避免过孔: 尽量减少过孔,必要时保证通孔完整。
- 单点接地:
C1和C2的接地点尽量在同一位置或通过短而宽的走线连接到MCU的VSS引脚或附近的PGND。
- 短且对称: 晶体、负载电容
三、 典型设计:外部有源晶振
-
基本电路:
- 有源晶振的输出端连接到MCU的
EXT_CLK_IN、OSC_IN、CLK_IN或特定名称的专用时钟输入引脚(具体名称查看MCU手册)。 - 通常不需要
OSC_OUT引脚: 将此引脚悬空或配置为普通IO(如手册允许)。 - 电源: 有源晶振的
VCC引脚连接到干净的电源(建议用铁氧体磁珠与MCU的VCC隔离),GND连接到干净的地。 - 使能: 如果晶振有
OE(输出使能)引脚,通常拉高或拉低使其有效(根据晶振规格),若无需控制可固定电平。 - 无源端接 (可选): 对于长走线或高频信号,可在晶振输出端到MCU输入端之间串联一个约几十欧的小电阻(如22Ω-100Ω)以匹配阻抗并减少过冲/振铃。
- 去耦电容: 在晶振的
VCC引脚附近放置一个0.1μF的陶瓷去耦电容。
- 有源晶振的输出端连接到MCU的
-
PCB布局要点:
- 晶振靠近MCU,连接线尽量短直。
- 保证晶振电源的完整性和低噪声。
- 遵循高频信号布线原则(避免90°直角,使用45°或圆弧)。
- 良好的地平面至关重要。
四、 内部时钟源的使用
- 配置:
- 通过MCU内部的时钟配置寄存器选择启动内部高速/低速RC振荡器(HSI/LSI)。
- 可通过配置寄存器调整频率(部分MCU支持)。
- 优点: 无需外部元件,节省成本和空间,启动最快。
- 缺点: 精度低(尤其受温漂和电源波动影响)。
- 适用: 对精度要求不高的低端应用、初始化代码运行直到外部晶振稳定、作为看门狗时钟源、睡眠模式下保持超低功耗运行。
五、 PLL锁相环
- 作用: 大部分现代MCU内置PLL,用于将低频参考时钟源(如外部晶体或内部RC)倍频到更高的频率,以驱动内核和外设达到更高速度。
- 设计考虑:
- 根据MCU手册配置PLL倍频因子(M)、分频因子(N, P, Q等)。
- 确保输入频率和倍频后的输出频率在手册规定的范围内。
- PLL锁定需要时间,启动代码需等待PLL锁定稳定。
- 外部时钟源的稳定性和精度直接影响PLL输出频率的稳定性。
六、 时钟树与多时钟源
- 现代MCU通常支持复杂的时钟树,允许不同内核和外设使用不同的时钟源。
- 例如:内核使用PLL倍频后高速时钟(如168MHz),UART使用外部低速晶体提供精确波特率,RTC使用外部低速晶体保持时间。
- 通过时钟控制器寄存器灵活配置时钟源选择和分频比。
- 优点: 优化功耗(关闭不需要的时钟域),灵活匹配不同外设需求。
七、 RTC实时时钟电路设计
- RTC需要极其稳定、低频的时钟源来维持长时间的精确计时。
- 时钟源选择:
- 专用外部32.768kHz晶体: 非常低功耗、高精度(温补晶体TCXO可达±5ppm)、主流选择。
- 内部低速RC振荡器(LSI): 精度差(±10%或更差),功耗低,适用于对精度要求极低或成本敏感的应用。
- 外部有源晶振: 精度高,但成本和功耗可能高于外部32.768kHz晶体。
- 设计要点 (32.768kHz晶体):
- 严格遵循晶体负载电容
C1/C2的计算和选择(负载电容通常为12.5pF)。 - 极端重视PCB布局(如前述要点)。
- 电池备份供电保证主电源掉电后时钟持续运行(通常由VBAT/VBU引脚连接纽扣电池)。
- 严格遵循晶体负载电容
八、 关键设计总结与注意事项
- 精度要求: 根据应用选择最合适、最具成本效益的时钟源。
- 查阅手册: 必须仔细阅读MCU芯片数据手册和参考手册中的“时钟”或“系统配置”章节,了解具体要求:
- 支持的时钟源类型和频率范围。
- 晶体/陶瓷谐振器的驱动电平、模式。
- 负载电容值要求和建议范围。
- 启动时间规格。
- 是否需要外部电阻以及推荐值。
- PLL配置约束。
- 时钟树结构图。
- RTC电路的特定要求。
- 负载电容计算: 对于无源晶体,精确选择
C1和C2是稳定工作的关键。 - PCB布局: 高频/精密模拟电路的布局规则(短、直、对称、隔离、地平面)对时钟电路尤其重要。
- 电源完整性: 为时钟电路(尤其是有源晶振、VPPA/VCCA/RTC供电)提供清洁、稳定的电源。加强去耦/旁路电容。
- 启动顺序: 在系统初始化代码中,通常首先使用内部时钟源让MCU跑起来,然后启动外部晶振,等待其稳定,再切换到外部晶振或启动PLL并切换过去。复位后默认可能是内部时钟。
- 监控(可选但推荐):
- 时钟安全系统(CSS): 部分MCU提供此功能。如果外部时钟失效(如晶体断裂),CSS能检测到并自动切换到内部RC时钟源,同时产生中断告警。
- 看门狗(WDT): 需要精确定时的看门狗应使用独立时钟源(如内部低速RC LSI),即使主时钟失效也能复位系统。
- 验证:
- 使用示波器(高带宽、低电容探头)测量时钟波形(频率、幅度、稳定度)。
- 验证在不同温度、电压条件下的稳定性。
- 测试起振特性。
结论:
MCU时钟电路的设计核心在于根据应用需求选择性价比最优的时钟源类型(内部RC/外部晶体/外部有源晶振),严格按照MCU手册的要求进行元器件选型和参数计算(特别是负载电容),并在PCB布局布线环节遵循高频模拟信号的布局规则以保障信号完整性和稳定性。 深入理解并合理配置MCU内部的时钟树和PLL是充分利用MCU性能和优化功耗的关键。对于RTC等高精度需求,专用外部32.768kHz晶体及其布局设计至关重要。设计完成后务必进行严格的测试验证。
如果系统中使用多片功放芯片TAS5622A,如何实现时钟同步?
如果系统中使用多片功放芯片,如何实现时钟同步(例如TAS5622A)? ST的芯片(如TDA7498)可以支持: Master芯片提供时钟给Slave芯片,从而
控制系统之间如何实现时钟同步?
控制系统之间如何实现时钟同步? 控制系统之间的时钟同步是确保不同系统之间的时钟保持一致的过程。它在许多实时应用中非常重要,如分布式系统、通信网络
2024-01-16 14:37:23
使用单片机实现时钟日历芯片PCF8583应用的C语言程序免费下载
本文档的主要内容详细介绍的是使用单片机实现时钟日历芯片PCF8583应用的C语言程序免费下载。
资料下载
佚名
2021-03-26 11:40:00
使用单片机和DS1302实现时钟LCD1602显示的程序和仿真资料免费下载
本文档的主要内容详细介绍的是使用单片机和DS1302实现时钟LCD1602显示的程序和仿真资料免费下载。
资料下载
佚名
2020-06-30 17:35:37
使用单片机的中断及定时器实现时钟功能的程序和资料免费下载
本文档的主要内容详细介绍的是使用单片机的中断及定时器实现时钟功能的程序和资料免费下载。
资料下载
佚名
2019-07-16 17:39:00
利用定时器中断实现时钟功能
功能要求:1.利用定时器中断实现时钟功能,格式:时-分-秒。2.实现时钟显示和闹钟设置两个功能的切换。3.闹钟设置,且限定字符格式(如时针不得超过24等)。4.
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 芯片的工作原理是什么?
- ssd是什么意思
- 什么是蓝牙?它的主要作用是什么?
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- dtmb信号覆盖城市查询
- 怎样挑选路由器?
- 华为芯片为什么受制于美国?
- 元宇宙概念股龙头一览
- type-c四根线接法图解
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- BLDC电机技术分析
- 复位电路的原理及作用
- dsp是什么意思?有什么作用?
- iphone13promax电池容量是多少毫安
- 苹果无线充电器怎么使用?
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 传感器常见类型有哪些?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机