精华内容
下载资源
问答
  • STM32 外部晶振电路设计和匹配

    万次阅读 多人点赞 2019-06-20 18:35:38
    STM32F103有两种主时钟方案,一个是依靠内部RC振荡器的HSI(内部高速时钟),另一个是HSE(外部高速时钟)。 内部高速时钟源(HSI) 看数据手册,内部的HSI是由ST出厂时校准过的,但是精度并不高,在0到70℃下误差...

    STM32的时钟源

    STM32F103有两种主时钟方案,一个是依靠内部RC振荡器的HSI(内部高速时钟),另一个是HSE(外部高速时钟)。

    内部高速时钟源(HSI)

    看数据手册,内部的HSI是由ST出厂时校准过的,但是精度并不高,在0到70℃下误差范围达到 -1.3%到2%,即便是在标准的25℃下,也有 -1.1%到1.8% 的误差(如下图)。
    对于高波特率的异步串口通讯,或者需要高精度定时的场合(如:需要跑积分算法的时候),用HSI就有隐患,甚至根本达不到设计要求。
    在这里插入图片描述

    外部高速时钟源(HSE)

    为了更高的时钟精度,就要用HSE做主时钟源,起码做到30ppm还是很容易的。无源晶振相对便宜一些,要求不是非常高的话也足够了。
    对于外部无源晶振,需要做一些匹配工作。当然,直接baidu一个原理图,啥也不想,直接照着抄也可以运行。但是这样的设计,批量生产会不会出问题?某些特定环境下会不会崩溃?系统稳定性会不会很低?……都是未知数。这就是给自己的设计埋下隐患,说不定什么时候就崩了。
    所以还是来看看怎么匹配吧–
    就以 STM32F103晶技HC-49SMD 8M 20pF 20ppm 的匹配为例

    1. 负载电容匹配

    负载电容就是下图中的CL1、CL2,一般取CL1 = CL2,这两个电容和晶体Q构成三点式电容振荡器。
    皮尔斯振荡器原理图
    那么要把CL1、CL2跟谁匹配呢?其实就是跟晶振的参数:Load Capacitance匹配,简称CL,从晶振的数据手册可以查到,见下图:
    晶振数据手册
    我们选择的是20pF系列的晶振,所以CL = 20pF
    当然我们知道,在电路板走线上还有寄生电容,连接的芯片输入端也有等效电容,这部分也要考虑进去。从ST手册可以查到,STM32F103的晶振输入电容是5pF,而PCB走线的寄生电容一般可以估值3pF到5pF。我们这里就取Cs = 10pF。下面看公式:
    在这里插入图片描述
    由于我们取了CL1 = CL2,公式就可以变为:CL1 = CL2 = 2 * (CL - Cs)
    Cs = 10pF,CL = 20pF带入上面的公式,能求出:CL1 = CL2 = 20pF
    因此CL1、CL2均取为20pF。

    2. 晶振跨导计算

    为了确保晶振能顺利起振,并运行在稳定状态,就得有足够的增益来维持。一般要求就是,单片机的gm比晶振的gmcrit大5倍以上就可以。下面就求一下这个比值,看看是否大于5倍。
    首先看STM32F103手册,可以直接获知:gm = 25mA/V
    在这里插入图片描述
    有了gm = 25mA/V,就要用它跟晶振的最小稳定跨导gmcrit相比较。gmcrit是要我们计算一下的:
    在这里插入图片描述
    这里面的几个未知参数的意义是:
    ESR——晶振的等效串联电阻,手册里查到
    F——晶振的振荡频率
    C0——晶振的Shunt Capacitance
    CL——晶振的负载电容Load Capacitance

    好,下面看晶振的手册,找这几个参数:
    在这里插入图片描述
    F = 8MHz,C0 = 7pF,CL = 20pF,ESR = 80Ω。参数Get√,计算:
    gmcrit = 4*80*(2Π*8*10^6)^2*(7*10^-12 + 20*10^-12)^2
    gmcrit = 0.1886
    现在gm、gmcrit都有了,可以比一下了
    在这里插入图片描述
    比值 = gm/gmcrit = 25/0.1886 = 132
    可见,这个比值是132,远大于5倍的最低要求,所以我们选择的晶振是合适的。如果算出来是不合适的,那就要选用更小ESR,更低CL的晶振。其实STM32对于高速晶振的要求不高,但是对于外部低速RTC晶振的要求高一些,选型时要多加留意。

    3. 驱动电平DL(Drive Level)

    驱动电平其实就是指晶振工作消耗的功率,如果这个功率过大,超过晶振承受能力,则晶振寿命将减少,容易过早失效。晶振的推荐功率,可以在上图(晶振数据手册)中找到,我们选择的这个晶振的DL范围是1到500uW,推荐是100uW。如果实际工作功率过大,就串联一个Rext来限制功耗。实际功耗怎么获得?这个得自己用示波器测量,然后带入ESR计算出来。

    4. 反馈电阻Rf (Feedback Resistance)

    把这个放最后,其实不是因为他没啥用,而是因为ST已经把他集成到芯片里面了,我们不用太多关心这个问题了。这个Rf的作用就是让放大器Vin = Vout,来强制工作在放大区间
    在这里插入图片描述

    总结

    以上写的4项,对于STM32F103的高速外部晶振,其实主要考虑“1.负载电容计算”就可以了,这个是直接性影响最大的。

    如有前辈偶然看到我的博客,还望指出我的疏漏和错误⊙ω⊙

    参考:ST应用手册AN2867

    原创博客,转载注:CSDN:Seaman_TY

    展开全文
  • (转载)STM32 外部晶振电路设计和匹配

    千次阅读 2020-02-02 12:05:23
    STM32F103有两种主时钟方案,一个是依靠内部RC振荡器的HSI(内部高速时钟),另一个是HSE(外部高速时钟)。 内部高速时钟源(HSI) 看数据手册,内部的HSI是由ST出厂时校准过的,但是精度并不高,在...

    (转载来自:https://blog.csdn.net/Seaman_TY/article/details/93090532)

    STM32的时钟源

            STM32F103有两种主时钟方案,一个是依靠内部RC振荡器的HSI(内部高速时钟),另一个是HSE(外部高速时钟)。

    内部高速时钟源(HSI)

            看数据手册,内部的HSI是由ST出厂时校准过的,但是精度并不高,在0到70℃下误差范围达到 -1.3%到2%,即便是在标准的25℃下,也有 -1.1%到1.8% 的误差(如下图)。

            对于高波特率的异步串口通讯,或者需要高精度定时的场合(如:需要跑积分算法的时候),用HSI就有隐患,甚至根本达不到设计要求。

     

    外部高速时钟源(HSE)

            为了更高的时钟精度,就要用HSE做主时钟源,起码做到30ppm还是很容易的。无源晶振相对便宜一些,要求不是非常高的话也足够了。
            对于外部无源晶振,需要做一些匹配工作。当然,直接baidu一个原理图,啥也不想,直接照着抄也可以运行。但是这样的设计,批量生产会不会出问题?某些特定环境下会不会崩溃?系统稳定性会不会很低?……都是未知数。这就是给自己的设计埋下隐患,说不定什么时候就崩了。所以还是来看看怎么匹配吧。
            就以 STM32F103 晶技HC-49SMD 8M 20pF 20ppm 的匹配为例

    1. 负载电容匹配

            负载电容就是下图中的CL1、CL2,一般取CL1 = CL2,这两个电容和晶体Q构成三点式电容振荡器。

            那么要把CL1、CL2跟谁匹配呢?其实就是跟晶振的参数:Load Capacitance匹配,简称CL,从晶振的数据手册可以查到,见下图:

            我们选择的是20pF系列的晶振,所以CL = 20pF
            当然我们知道,在电路板走线上还有寄生电容,连接的芯片输入端也有等效电容,这部分也要考虑进去。从ST手册可以查到,STM32F103的晶振输入电容是5pF,而PCB走线的寄生电容一般可以估值3pF到5pF。我们这里就取Cs = 10pF。下面看公式:

    由于我们取了CL1 = CL2,公式就可以变为:CL1 = CL2 = 2 * (CL - Cs)
    Cs = 10pF,CL = 20pF带入上面的公式,能求出:CL1 = CL2 = 20pF
    因此CL1、CL2均取为20pF

    2. 晶振跨导计算

            为了确保晶振能顺利起振,并运行在稳定状态,就得有足够的增益来维持。一般要求就是,单片机的gm比晶振的gmcrit5倍以上就可以。下面就求一下这个比值,看看是否大于5倍
           首先看STM32F103手册,可以直接获知:gm = 25mA/V

    有了gm = 25mA/V,就要用它跟晶振的最小稳定跨导gmcrit相比较。gmcrit是要我们计算一下的:

    这里面的几个未知参数的意义是:
    ESR——晶振的等效串联电阻,手册里查到
    F——晶振的振荡频率
    C0——晶振的Shunt Capacitance(寄生电容)
    CL——晶振的负载电容Load Capacitance

    好,下面看晶振的手册,找这几个参数:

    F = 8MHz,C0 = 7pF,CL = 20pF,ESR = 80Ω。参数Get√,计算:
    gmcrit = 4*80*(2Π*8*10^6)^2*(7*10^-12 + 20*10^-12)^2
    gmcrit = 0.1886

    现在gm、gmcrit都有了,可以比一下了

    比值 = gm/gmcrit = 25/0.1886 = 132
            可见,这个比值是132,远大于5倍的最低要求,所以我们选择的晶振是合适的。如果算出来是不合适的,那就要选用更小ESR,更低CL的晶振。其实STM32对于高速晶振的要求不高,但是对于外部低速RTC晶振的要求高一些,选型时要多加留意。

    3. 驱动电平DL(Drive Level)

            驱动电平其实就是指晶振工作消耗的功率,如果这个功率过大,超过晶振承受能力,则晶振寿命将减少,容易过早失效。晶振的推荐功率,可以在上图(晶振数据手册)中找到,我们选择的这个晶振的DL范围是1到500uW,推荐是100uW。如果实际工作功率过大,就串联一个Rext来限制功耗。实际功耗怎么获得?这个得自己用示波器测量,然后带入ESR计算出来。

    4. 反馈电阻Rf (Feedback Resistance)

            把这个放最后,其实不是因为他没啥用,而是因为ST已经把他集成到芯片里面了,我们不用太多关心这个问题了。这个Rf的作用就是让放大器Vin = Vout,来强制工作在放大区间

    总结

    以上写的4项,对于STM32F103的高速外部晶振,其实主要考虑“1.负载电容计算”就可以了,这个是直接性影响最大的。

    参考:ST应用手册AN2867

    转载:CSDN:Seaman_TY

     

    展开全文
  • 本文介绍了STM32单片机使用内部晶振时OSC_IN和OSC_OUT的接法。
  • SOC系统芯片外部晶振判断电路.zip
  • 对单片机硬件的了解,是比较主要的,当然多花一些功能在阅读相应型号的MCU上,那是必不可少的步骤,单片机带有内部晶振和外部晶振,今天本文就围绕怎样辨别单片机的内部晶振与外部晶振?这个话题进行分析与讨论。 ...
  • PIC单片机晶振电路设计常见问题分析。
  • 晶振电路中其电容的作用 在日常的电路设计中,我们经常会用到晶振电路。所以我们就要首先先提一下什么是晶振,这样才能理解晶振电路。 为什么要用晶振? 晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一...

    在日常的电路设计中,我们经常会用到晶振电路。所以我们就要首先先提一下什么是晶振,这样才能理解晶振电路。

    为什么要用晶振?

    晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步,没有晶振,这些微处理芯片将无法工作。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。

    其主要运用于单片机、DSP、ARM、PowerPC、CPLD/FPGA等CPU,以及PCI接口电路、CAN接口电路等通讯接口电路。其他应用:时钟脉冲用石英晶体谐振器,与其它元件配合产生标准脉冲信号,广泛用于数字电路中;CTVVTR用石英晶体谐振器;钟表用石英晶体振荡器。

    晶振电路由何组成?

    一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。一般的晶振的负载电容为15p或12.5p ,如果再考虑元件引脚的等效输入电容,则两个22p的电容构成晶振的振荡电路就是比较好的选择。

    晶体振荡器也分为有源晶振与无源晶振。无源晶振需要借助时钟电路才能产生振荡,其自身无法振荡起来。有源晶振是一个完整的谐振振荡器。
    有源晶振电路

    晶振电路中其电容的作用

    并联电阻串联电阻
    降低晶体的Q值,Q值降低后晶体起振比较容易降低晶体的激励功率,防止损坏。
    抑制EMI,EMI不过时,可减小阻值限制振荡幅度。
    提供直流工作点
    使门电路工作于线性
    展开全文
  • 8位单片机外部晶振电路的设计 8位单片机外部晶振电路的设计
  • 今天有人问我关于外部晶振不起振以及如歌更改32的外部晶振,在此我做一个简单的记录(以stm32f1系列为例,其余类似)。1.晶振不起振此次遇到的问题倒不是出在电路上,实际上还是软件上的问题。画的新板子,换了一块...

    今天有人问我关于外部晶振不起振以及如歌更改32的外部晶振,在此我做一个简单的记录(以stm32f1系列为例,其余类似)。

    1.晶振不起振

    此次遇到的问题倒不是出在电路上,实际上还是软件上的问题。画的新板子,换了一块贴片的晶振,与原来的直插式有点区别。首先,打印当前系统时钟频率,调用函数:RCC_GetClocksFreq(&RCC_Clocks);

    printf("SYSCLK_Frequency: %d\r\n",RCC_Clocks.SYSCLK_Frequency);

    结果打出来的是:SYSCLK_Frequency: 8000000

    事实上,正常的f1系列的主频应该为72Mhz,所以应该打印出72000000。由此判断,应该是晶振出现了毛病。于是准备开仿真调试一下,结果尴尬了,居然打印除了72000000?你说啥?这就不懂了,怎么仿真的时候正常,下进去的程序就不行了?仔细回想一下32的启动过程,想到系统初始化的时候在main函数调用之前会进入SystemInit函数,如下(文件为startup_stm32f10x_hd.s启动文件):

    a5d697f3119d

    启动文件源码截图

    从这里入手,经过层层深入,根据宏定义,发现其最终调用了SetSysClockTo72()函数,里面有一个等待HSE(外部高速晶振)起振的超时:

    a5d697f3119d

    SetSysClockTo72()函数

    在仿真的过程中,由于使用单步调试,在进入第996行的while循环中,其实HSE_STARTUP_TIMEOUT已经失去了它的作用(因为鼠标点一下的时间对于单片机来说已经过去很久了,所有这里没用了),这也算是仿真和实际运行的一大区别吧。结合上述的现象,猜一猜或许是给的晶振允许起振的时间不够?打开HSE_STARTUP_TIMEOUT,其实就是一个宏定义,默认是0x0500:/**

    * @brief In the following line adjust the External High Speed oscillator (HSE) Startup

    Timeout value

    */

    #define HSE_STARTUP_TIMEOUT  ((uint16_t)0x0500) /*!< Time out for HSE start up */

    试着加大,改成0xf000,再次编译,下载,好了,终于成功打印出了72000000。

    2.更改外部晶振值

    这个问题相对于上一个问题就简单了,如果保持系统的主频72Mhz不变,那么改变外部晶振之后(如12Mhz),只需要改变两个宏定义就可以了。首先是stm32f10x.h文件中,大概在119行的位置,将HSE_VALUE的值改为你所更换的晶振的值,原来(8Mhz)是8000000,此时(12Mhz)是12000000:

    a5d697f3119d

    HSE_VALUE宏定义

    其次,在system_stm32f10x.c文件中,依然在SetSysClockTo72()函数里,大概在1056行的位置,将倍频系数RCC_CFGR_PLLMULL9改成RCC_CFGR_PLLMULL6就可以了。默认是9倍的原因是外部晶振8Mhz*9=72Mhz,此时外部晶振为12Mhz,改成RCC_CFGR_PLLMULL6即可达到12Mhz*6=72Mhz的效果:

    a5d697f3119d

    倍频系数的更改

    至此,两个问题解决。

    展开全文
  • STM32中晶振的原理与作用

    万次阅读 2017-10-30 14:55:56
    转载地址:STM32中晶振的原理与作用晶振在电气上可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率为串联谐振,较高的频率为并联谐振。...
  • 16M Hz的外部晶振的硬件电路原理图

    千次阅读 2019-11-26 16:45:30
    这里要注意的是1,3之间所要接上的1M的电阻,否则晶振无法起振
  • 晶振电路是单片机硬件设计中相当重要的一个电路,晶振之于单片机就像心脏之于人类,晶振电路能够产生中央处理器(CPU)执行指令所必须的时钟频率信号,CPU一切指令的执行都是建立在这个基础上的,时钟信号频率越高,...
  • 对单片机硬件的了解,是比较主要的,当然多花一些功能在阅读相应型号的MCU上,那是必不可少的步骤,单片机带有内部晶振和外部晶振,今天本文就围绕怎样辨别单片机的内部晶振与外部晶振?这个话题进行分析与讨论。 ...
  • 51 单片机晶振电路原理

    万次阅读 多人点赞 2016-10-04 22:39:04
    这个反相器与外部的“晶振”组成一个构成一个皮尔斯振荡器(Pierce oscillator)。因为这个振荡器集成在器件内部的组件实在是不能更简单啦,就一个反相器和一个电阻,非常合适于各种数字IC的设计制造流程。
  • 晶振电路

    千次阅读 2019-09-30 14:33:09
    在电子学上,通常将含有晶体管元件的电路称作“有源电路”(如有源音箱、有源滤波器等),而仅由阻容元件组成的...无源晶振是有2个引脚的无极性元件,需要借助于时钟电路才能产生振荡信号,自身无法振荡起来,所以...
  • 无源晶振电路中不只是有一个晶振,为了满足谐振条件让晶振起振正常工作,通常还有两个电容,两个电容一般称为“匹配电容”或者“谐振电容”。一般外接的这两个电容是为了使晶振两端的等效电容等于或接近于负载电容 ...
  • 在单片机的学习中,不光是单片机程序的编写,还有电路的设计。有些公司可能会把单片机开发分成两块:电路设计、程序设计。然后负责电路设计的人只负责电路设计,不用考虑单片机编程;程序设计的人只管单片机编程,不...
  • 晶振作用与原理

    万次阅读 2016-08-11 15:24:42
    每个单片机系统里都有晶振,全程是叫晶体震荡器,在单片机系统里晶振作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高...
  • 单片机晶振作用

    2021-11-13 19:44:58
    晶振起到的作用就是为单片机系统提供基准时钟信号,类似于部队训练时喊口令的教官,所有的士兵都在教官的口令下完成响应的动作。单片机内部所有的工作都是以这个时钟信号为基准来进行工作的。用...
  • 在振荡电路中的频率选择部分可以只用电阻R和电容C构成。 这种只用电阻和电容构成的振荡器称为RC振荡器。 1.2 晶振 只要在晶体板极上施加交变电压,就会使晶片产生机械变形振动,此现象即所谓逆压电效应。当外加...
  • 首先想到的原因是因为硬件电路的问题导致外部晶振未起振,因此系统初始化的过程中系统时钟设置失败,外部时钟启动失败后,MCU会自动将内部8M频率源作为系统时钟来源。但通过示波器测量晶振引脚可观察到稳定的8M频率...
  • 由于STM32芯片的费用不断的上升,很多小伙伴都开始做找替代芯片。...同时复位电路可以参考兆易创新官网的开发板原理图。 从《GD32F10x 用户手册》可以看到,GD32F103VET6要求外部时钟要求为4到16MHz。 ...
  • 怎样辨别内部晶振与外部晶振

    千次阅读 2019-05-15 14:28:15
     单片机晶振是单片机内部电路产生单片机所需的时钟频率的部件,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。晶振结合单片机内部电路产生...
  • 目录 1、参考链接: 2、虚拟串口硬件说明 ...3、不同时钟源(内部RC、外部晶振)的USB时钟的配置方式 3.1、直接使用外部时钟8M晶振 3.2、时钟内部RC电路做系统时钟源 4、配置内部RC并倍频的方式说明: 官方代...
  • STM32电路晶振

    千次阅读 2020-12-01 14:48:55
    晶振是由石英晶体组成的,石英晶体之所以能当为振荡器使用,是基于它的压电效应:在...晶振电路为主控芯片提供系统时钟,所有的外设工作,CPU工作都要基于该时钟,类似于整个系统的“心跳节拍”。 晶振分为无源和有源
  • 每个单片机系统里都有晶振,全程是叫晶体震荡器,在单片机系统里晶振作用非常大。本文就来给大家简单的介绍下晶振的工作过程,以及其主要的参数介绍,在单片机中它又能起到哪些作用呢?要了解晶振首先要了解单片机...
  • 单片机中的晶振电路

    千次阅读 2014-04-22 19:50:00
    有源晶振与无源晶振 在电子学上,通常将含有晶体管元件的电路称作“有源电路”(如有源音箱、有源滤波器等),而仅由阻容元件组成的电路称作...无源晶振是有2个引脚的无极性元件,需要借助于时钟电路才能产生振...
  • 电容(3)——晶振电路的电容选择

    千次阅读 2020-10-19 08:58:05
    晶振电路属于单片机心脏,精度非常重要,所以需要选择高Q值的元器件(Q值高电路选择性好)。 1、 选择NPO/COG材质的电容(外观看起来是白色的) 2、 尽量选择小封装的电容(封装小的器件寄生参数小) 晶振的匹配电容...
  • 晶振设计是单片机应用设计的重要环节之一,因此很有必要了解晶振电路的特点,组成以及如何选用相关电子元件

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,612
精华内容 3,044
关键字:

外部晶振电路的作用