以前设计晶振部分电路是按照网上原理图一大抄来的,平常应用没有问题,如果在对晶振频率要求比较高的场合就很有问题了,现在以我的观点来说说晶振的匹配电容是怎么计算来的,如果不想往下看,也可以记住一个经验值:大约为晶振数据手册的匹配电容的1.5倍左右

1、基础知识

1.1 晶振数据手册相关参数

以下所有参数来自于台湾晶技 HC-49SMD 8M 20pF 20ppm的无缘晶振,相关参数如下图所示:

1.1.1 Frequency Tolerance(频率误差)

频率误差也叫为调整频差,指的是在规定条件下,基准温度(25±2℃)时工作频率相对于标称频率所允许的偏差。每个器件都存在一定的误差, 该值也是表征频率值的误差,单位为PPM(百万分之一, 10的6次方),例如标称频率为10MHz的晶振,如果为1PPM,那么频率偏差为10Hz。上图我们看到误差为30PPM,标称频率为8M,那么误差为±240Hz。若晶振是74.25MHz,实际用频率计测量是74.24MHz。如果以该频率计测量结果为准的话,那么晶振的误差为:
(74.24-74.25)/74.25≈0.000135=135*10^-6,计算结果误差是135PPM。

1.1.2 Shunt Capacitance (C0)(寄生电容)

寄生电容指的是晶体两个管脚之间的寄生电容,在计算晶振的负载电容时需要将这个值考虑上,上图的晶振寄生电容为7pF。

1.1.3 Load Capacitance (CL)(负载电容)

这里涉及到晶振的一个非常重要的参数,即负载电容CL(Loadcapacitance),它是电路中跨接晶体两端的总的有效电容(不是晶振外接的匹配电容),主要影响负载谐振频率和等效负载谐振电阻,与晶体一起决定振荡器电路的工作频率,通过调整负载电容,就可以将振荡器的工作频率微调到标称值。一般负载电容的计算公式如下:

其中,CS为晶体两个管脚间的寄生电容(Shunt Capacitance)
   CD表示晶体振荡电路输出管脚到地的总电容,包括PCB走线电容CPCB、芯片管脚寄生电容CO、外加匹配电容CL2,即CD=CPCB+CO+CL2。
   CG表示晶体振荡电路输入管脚到地的总电容,包括PCB走线电容CPCB、芯片管脚寄生电容CI、外加匹配电容CL1,即CG=CPCB+CI+CL1。
有上述公式可知,我们在做PCB板时,只能控制晶振的匹配电容来调节负载电容, 负载电容的大小影响了晶振的工作频率。

1.2 晶振电路框图


晶振工作原理图如上图所示,芯片内部包含了增益很大的反相放大器,外部需要接一个反馈电阻Rf,(一般≥1MΩ),它使反相器在振荡初始时处于线性工作区,R2与匹配电容组成网络,提供180度相移,同时起到限制振荡幅度,防止反向器输出对晶振过驱动将其损坏。晶振、电容CG和CD构成是电容三点式电路的分压电容,接地点就是分压点。以接地点即分压点为参考点,输入和输出是反相的,但从并联谐振回路即石英晶体两端来看,形成一个正反馈以保证电路持续振荡,它们会稍微影响振荡频率,主要用与微调频率和波形,并影响幅度。 XTAL是晶体,相当于三点式里面的电感。

二、计算匹配电容

计算匹配电容的原则是尽量让CL接近晶振数据手册提供的负载电容,计算公式如下、

其中,CS为晶体两个管脚间的寄生电容(Shunt Capacitance)
  CD表示晶体振荡电路输出管脚到地的总电容,包括PCB走线电容CPCB、芯片管脚寄生电容CO、外加匹配电容CL2,即CD=CPCB+CO+CL2。
  CG表示晶体振荡电路输入管脚到地的总电容,包括PCB走线电容CPCB、芯片管脚寄生电容CI、外加匹配电容CL1,即CG=CPCB+CI+CL1。
  CD一般和CG相等,为了简便计算,看做相等。
一般CS为1pF左右,CI与CO一般为几个皮法,具体可参考芯片或晶振的数据手册。上述数据手册上说CS最大为7pF,在这我们认为5pF,根据STM32的芯片手册得芯片管脚的寄生电容为5pF左右,CPCB电容一般为4pF。
  比如规格书上的负载电容值为20pF,带入公式可得CD=CG=30pF,计算出来的匹配电容值CL1=CL2=20pF。

三、结论

上述过程是不考虑工艺上误差的情况,实际工程中上述过程的电容值参数并不是固定不变的, 为了便于记忆,我们取CL1=CL2=1.5*CL (CL表示为芯片手册上提供的参考负载电容值)。在实际调试过程中应该根据频率值来相对的增加和减少电容值

参考资料

  • 晶振匹配电容如何计算?.
  • stm32晶振匹配电容_几毛钱的32768晶振,这也能写出一篇干货?.
  • STM32 外部晶振电路设计和匹配.
  • HC-49SMD 8M 20pF 20ppm的无缘晶振数据手册.

无缘晶振匹配电容计算方法相关推荐

  1. 无源晶振匹配电容—计算方法

    以前有写过一篇文章"晶振"简单介绍了晶振的一些简单参数,今天我们来说下无源晶振的匹配电容计算方法: 如上图,是常见的的无源晶振常见接法,而今天来说到就是这种常见电路的电容计算方法, ...

  2. 无源晶振匹配电容计算公式

    :LOAD CAPACITANCE 负载电容(Datasheet) :输出管脚到地的总电容 :输入管脚到地的总电容 :芯片管脚寄生电容(3pF~5pF 4pF) :PCB走线电容(0.2pF~5pF ...

  3. 【晶振专题】案例:晶振供应商提供的晶振匹配测试报告能看出什么?

    在以下文章中我们对晶振有了基本的了解,我们知道了晶振的负阻.安全因子.反馈电阻.负载电容等参数,并且还对STM32低速晶振不起振问题做了案例分析. [晶振专题]案例:为什么对着STM32低速32.76 ...

  4. 晶振噪声及杂散_晶振如何匹配电容看了就知道

    描述 一.什么是晶振 了解晶振之前,我们先来看一下我们最为熟悉的51单片机,我们都知道51单片机最小系统包括供电电源.复位电路以及晶振系统. 这是CPU能跑起来的最基本条件.由此我们可以看到晶振在电路 ...

  5. 晶振的频率误差,负载电容,匹配电容及IC内置补偿电容

    晶振能够产生中央处理器(CPU)执行指令所必须要的时钟频率信号,CPU一切指令的执行都是建立在这个基础上的,时钟信号频率越高,通常CPU的运行速度也就越快. 需要注意的几个晶振重要参数如下: 标称频率 ...

  6. (转)晶振负载电容外匹配电容计算与晶振振荡电路设计经验总结

    |本文转自:晶振负载电容外匹配电容计算与晶振振荡电路设计经验总结 - 竹夭的日志 单片机论坛 http://www.51hei.com/bbs/blog-191639-10272.html   对应M ...

  7. 【晶振不起振原因分析】

    [转载,如有侵权联系删除] 1. 晶振参数选型错误导致晶振不起振 例如:若MCU需要匹配负载电容为6PF的晶振32.768KHz,结果选用12.5PF的晶振,晶振频偏过大,造成MCU可能无法捕捉晶振频 ...

  8. 晶振01——晶振分类和无源晶振的设计

    晶振 晶振相当于人的心脏,能跳动,整个系统才是"活的". 晶振常见有有源晶振.无源晶振. 有源晶振比较贵,但是需要外围电路少,供个电就能工作. 无源晶振价格便宜,匹配电路复杂些. ...

  9. 晶振,PLL, VCO介绍

    文档来源:https://jijing.site/others/crystals-pll-vco.html 晶振,PLL, VCO介绍 晶振,vco区别 晶振分有源晶振和无源晶振,一般会产生1-200 ...

  10. 晶振参数详解及设计参考

    晶振的重要参数 1 常用标称频率  更高的输出频率也常用PLL(锁相环) 2 频率误差(Frequency Tolerance)或频率稳定度(Frequency Stability),用单位ppm来表 ...

最新文章

  1. 《蓝色协议BLUE PROTOCOL》技术分享解读
  2. 好想学python下载_Python | 从零开始学(1)
  3. [Linux] undefined reference to `itoa'
  4. 小程序突破五层限制的方法
  5. 计算机二级考试操作题outlook,2017年计算机考试二级考试操作题.doc
  6. .net流行面试试题(基础但重要)
  7. 第三届“泰迪杯”数据分析职业技能大赛: 教育平台的线上课程智能推荐 (决赛候选)答辩PPT
  8. 01,HelloWorld入门程序
  9. 百度经纬度和google经纬度互转
  10. 服务器防火墙部分指令
  11. [美] 尼古拉斯·卡尔 《浅薄:互联网如何毒化了我们的大脑 》
  12. swiper iphone8 plus 点击变成了滑动
  13. flask框架学习笔记
  14. SDUT第二次选拔赛 7-2魔镜与抽卡
  15. linux ipcs 命令详解
  16. java 高并发商城库存订单处理,下单减库存,如何解决高并发减库存问题
  17. SSD:单目多目标检测器
  18. 优秀网页翻译:一个智能旋钮:DIY haptic input knob: BLDC motor + round LCD
  19. boost::python::vector_indexing_suite相关的测试程序
  20. OpenAI击败Dota 2世界冠军后记:如何训练你的AI

热门文章

  1. 目标跟踪(二):拓展卡尔曼滤波(EKF)
  2. 营销养号、封号、解封方法_微信公众号
  3. Eclipse好用的翻译插件
  4. wincc显示系统时间_Wincc的系统时间该如何用变量显示?
  5. apache Ignite 安装和helloworld
  6. 201671030113 词频统计软件项目报告
  7. 1688API item_search_img - 按图搜索1688商品(拍立淘)
  8. c语言定时器实验程序,89C51单片机实验三 定时器实验
  9. 穷举法 解决用3个水桶等分8升水 python实现
  10. Python学习(52周存钱)