原创 国产MM32F003 MCU外接晶振选配与振荡器电路构建

2022-1-26 11:47 2674 20 20 分类: 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没有这个接口,我们就不讨论了。

作者: 硬之城Allchips, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3975615.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
20
关闭 站长推荐上一条 /2 下一条