单片机MCU外部晶振的选择

MCU有各种各样的外设:定时器和看门狗、UART收发器、I2C总线、SPI总线、GPIO、ADC、SW-DP调试端口、温度传感器等,之所以能有条不紊的稳定运行,都离不开统一的时钟。因为时钟是MCU的脉搏,CPU执行指令、访问数据、DMA搬运、状态变换等动作都离不开系统时钟,串口数据收发、A/D转换、定时器计数等外设工作也是在时钟的驱动下完成的。
在这里插入图片描述

图1. MM32F003时钟源

另一方面,如果时钟系统出现问题,例如振荡器不起振、振荡不稳、停振等,那后果也是致命的。以下我们以32位arm Cortex M0核心的MM32F003为例,介绍MCU外接晶振究竟该如何选择。

MCU数据表中的建议

系统时钟一般由时钟源(Clock source),总线时钟(Bus clock)和外设时钟(Peripheral Clock)。MM32F003时钟源包括三部分:高速内部时钟(HSI)、低速内部时钟(LSI)、高速外部时钟(HSE)。其中,HSE振荡器的频率位2-24MHz。
在这里插入图片描述
图2. MM32F003数据表提供的HSE 2-24MHz特性

根据MM32F003数据表,高速外部时钟(HSE)可以使用一个2~24MHz的晶体/陶瓷谐振器构成的振荡器产生,布线时谐振器和负载电容必须尽可能地靠近振荡器的引脚,以减小输出失真和启动时的稳定时间。

振荡元件的选择

MM32F003数据所给出了典型外部元器件,以及通过综合特性评估得到的结果。具体应用中,需要我们根据晶体/陶瓷谐振器制造商提供的详细参数 (频率、封装、精度等)设计振荡电路。一般情况下,这些数据由综合评估得出,不在生产中测试。
在这里插入图片描述
图3. 8MHz石英晶体谐振器的典型应用

首先,我们应该应该确定谐振器应该采用石英晶体谐振器、晶体振荡器,还是陶瓷谐振器?按照MCU厂商的图示,内部已经集成了两个电容器的谐振器一般是陶瓷谐振器,或者晶体振荡器。不过,前者频率精度及频率稳定性是否符合终端产品要求需要仔细考虑,后者的价格估计会让大家望而却步。

这里,我们选择了8MHz采用石英晶体谐振器(Xtal),因为同时符合性能、价格考量。

接下来,我们构建振荡器电路。根据MM32F003数据表建议,对于CL1和CL2使用高质量的、为高频应用而设计的 (典型值为)5pF~25pF之间的瓷介电容器,并挑选符合要求的晶体或谐振器。通常CL1和CL2具有相同参数。晶体制造商通常以CL1和CL2的串行组合给出负载电容的参数。在选择CL1和CL2时,PCB和MCU引脚的容抗应该考虑在内(可以粗略地把引脚与PCB板的电容按10pF估计)。

RF一般单片机会给出,不需要自己计算或测试。相对较低的RF电阻值,能够可以为避免在潮湿环境下使用时所产生的问题提供保护,这种环境下产生的泄漏和偏置条件都发生了变化。但是,如果MCU是应用在恶劣的潮湿条件时,设计时需要把这个参数考虑进去。

tSU(HSE)是启动时间,是从软件使能HSE开始测量,直至得到稳定的8MHz振荡这段时间。这个数值是在一个标准的晶体谐振器上测量得到,它可能因晶体制造商的不同而变化较大。

有些MCU还有一个低速外部时钟(LSE),这就需要再外接一个低速晶振,例如32.768kHz晶振。MM32F003没有这个接口,我们就不讨论了。

文章整理自网络,如有侵权,请联系删除!参考原文

版权声明:本文为CSDN博主「ltqshs」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_21794157/article/details/122752188

生成海报
点赞 0

ltqshs

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

[STM32学习]——一文搞懂I2C总线

目录 I2C总线的概念 I2C最重要的功能包括: I2C的物理层 I2C主要特点: I2C的高阻态 I2C物理层总结: I2C的协议层 初始(空闲)状态 开始

STM32CubeMx hal 驱动sg90舵机

一、舵机的控制原理 舵机通过接收PWM信号,使其进入内部电路产生一个偏置电压,触发电机通过减速齿轮带动电位器移动,使电压差为零时,电机停转,从而达到伺服的效果。即给舵机一个

MCU串行通讯和并行通讯的区别以及UART的理解

假如我们需要从一个MCU发送一段数据到另一个MCU,我们可以选择两种通信方式,串行通信或者并行通信。 假如我们要发送的数据是数字198转化为二进制,就是11000110,如果使用串行通信