ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

PCB晶振电路设计实战:从原理图到DRC检查的完整流程

PCB晶振电路设计实战:从原理图到DRC检查的完整流程 1. 为什么晶振电路值得单独拿出来讲画PCB这件事入门容易画好难。尤其是板子上带了晶振的很多人第一版打样回来发现单片机根本跑不起来或者跑着跑着就死机排查半天最后发现是晶振没起振。这种情况我见过太多次了包括我自己早期也踩过这个坑。晶振电路看起来简单不就一个晶体加两个电容嘛但里面的门道其实不少。晶振电路的本质是一个高Q值的谐振回路它对寄生参数极其敏感。你走线多绕了5毫米、地平面被割裂了一道缝、负载电容选错了几个pF都可能导致频偏超标甚至完全不起振。这也是为什么我建议每个做硬件的新手都应该拿一个带晶振的最小系统板来练手把这件事吃透了后面画什么板子心里都有底。这篇内容我拿嘉立创EDA专业版来实操从原理图到PCB布局布线再到DRC检查完整走一遍带晶振电路的设计流程。嘉立创EDA专业版这两年迭代得很快功能上已经能覆盖大多数中小规模项目的需求而且和嘉立创的PCB打样、SMT贴片流程衔接得很顺对个人开发者和小团队来说省了不少事。不管你是刚入门的新手还是从其他EDA工具转过来的老手这篇内容都能给你一套可以直接复用的流程和检查清单。2. 设计前的整体思路与方案选型2.1 晶振电路的核心原理速览在动手画之前先把晶振电路的工作原理捋清楚。石英晶体利用的是压电效应——给它加交变电场它会产生机械振动当外加信号频率接近晶体的固有谐振频率时振动幅度急剧增大形成谐振。这个特性让晶振的频率稳定度远超RC振荡器典型精度可以做到±10ppm甚至更高而RC振荡器通常只有±1%到±5%。实际电路中我们用的最多的是皮尔斯振荡器拓扑也就是一个反相放大器加晶体和两个负载电容的结构。单片机内部通常已经集成了反相放大器和反馈电阻外部只需要接晶体和两颗负载电容。这两颗电容的值不是随便选的它们和晶体的负载电容规格直接相关。计算公式是这样的$$C_{L} \frac{C_1 \times C_2}{C_1 C_2} C_{stray}$$其中 $C_L$ 是晶体规格书里标注的负载电容$C_1$ 和 $C_2$ 是外接的两颗电容$C_{stray}$ 是PCB走线和芯片引脚的寄生电容通常在3pF到5pF之间。如果晶体规格是12pF负载电容寄生按4pF算那么 $C_1$ 和 $C_2$ 各取16pF左右比较合适。实际取值时选最接近的标准值就行比如15pF或18pF。注意负载电容选大了起振会变慢甚至不起振选小了频率会偏高。如果对频率精度要求高建议用频率计实测后再微调。2.2 为什么选嘉立创EDA专业版市面上EDA工具不少Altium Designer、KiCad、OrCAD各有各的拥趸。我选嘉立创EDA专业版来做这个演示主要基于几个实际考量元件库和供应链打通嘉立创的元件库直接关联商城库存和价格选型的时候就能看到能不能买到、多少钱省去了手动维护BOM的麻烦。DRC规则可配置性强专业版的DRC检查支持自定义规则间距、线宽、过孔、铜皮连接方式都能按项目需求调整这对晶振这种敏感电路很重要。中文界面和本地化支持对新手来说中文界面降低了上手门槛遇到问题查资料也方便。打样流程无缝衔接画完直接一键下单不需要导出Gerber再手动上传流程上省事。当然它也不是没有短板比如高速差分对仿真、复杂约束管理这些方面和AD还有差距。但对于带晶振的MCU最小系统、传感器板、电源模块这类项目完全够用。2.3 整体设计流程规划我把整个流程分成五步后面会逐步展开原理图设计放置MCU、晶振、负载电容、去耦电容完成网络连接元件选型与BOM确认确认晶振频率、封装、负载电容规格检查库存PCB布局晶振靠近MCU引脚放置负载电容紧贴晶振规划地平面PCB布线晶振走线短而直包地处理星型接地DRC检查与输出配置检查规则逐项排查导出Gerber3. 原理图设计与关键细节3.1 新建工程与原理图框架搭建打开嘉立创EDA专业版新建一个工程命名建议带上版本号和日期比如“MCU_Crystal_V1.0_20250110”后面改版的时候不容易搞混。工程建好后先别急着放元件把图纸尺寸设置好。A4一般够用如果MCU引脚多、外设复杂可以选A3。放置元件之前我习惯先在图纸上规划区域左上角放MCU主控右边放晶振电路和去耦电容下方放电源和接口。这样布局和后面PCB的布局思路是一致的原理图阶段就想清楚PCB阶段少走弯路。3.2 晶振电路的原理图连接在嘉立创EDA的元件库里搜索晶振关键词用“crystal”或者“晶振”都能搜到。选型时注意几个参数参数说明常见值频率决定系统时钟8MHz、12MHz、16MHz、32.768kHz负载电容匹配外部电容12pF、20pF封装影响PCB布局5032、3225、HC-49S精度频率偏差范围±10ppm、±20ppm、±30ppmESR等效串联电阻影响起振难度一般100Ω以STM32常用的8MHz晶振为例选一个3225封装、12pF负载电容、±10ppm精度的即可。放置好晶振后两端分别接MCU的OSC_IN和OSC_OUT引脚每端对地接一颗负载电容。这里有个细节负载电容的接地端要接到干净的模拟地或者专门的晶振地不要随便接到数字地的任意位置。去耦电容也不能忘。MCU的电源引脚旁边放一颗100nF的陶瓷电容越近越好。如果MCU有多个电源引脚每个都要放。另外建议在电源入口处放一颗10uF的钽电容或者MLCC做储能。3.3 网络标签与ERC检查原理图画完后用网络标签把关键信号标注清楚比如“OSC_IN”“OSC_OUT”“VDD_MCU”“GND”。嘉立创EDA专业版支持网络类管理可以把晶振相关的网络归到一个类里后面PCB布线时方便设置规则。ERC检查一定要跑一遍。常见的ERC报错包括电源引脚没有驱动源、输入引脚悬空、输出引脚短路等。晶振电路最容易出的问题是OSC_OUT被误标为输出类型但实际是输入导致ERC报冲突。遇到这种情况检查MCU数据手册里引脚的定义把引脚类型改对就行。实操心得原理图阶段多花十分钟检查网络连接比PCB画完再改省事得多。尤其是晶振这种关键信号接错了板子直接不工作。4. PCB布局晶振电路的核心战场4.1 布局前的准备工作原理图确认无误后转到PCB编辑器。第一步是设置板框尺寸和层叠结构。带晶振的板子如果只是两层板建议顶层走信号、底层做完整地平面。如果是四层板推荐叠层为顶层信号、内层地、内层电源、底层信号。嘉立创EDA专业版支持六层板设计对于更复杂的项目可以灵活调整。板框画好后先把MCU放好位置。MCU的摆放要考虑接口位置、电源入口、安装孔等因素。晶振的布局是围绕MCU来做的所以MCU位置定了晶振的位置基本也就定了。4.2 晶振的摆放原则晶振布局的核心原则就一个字近。具体来说晶振到MCU的OSC_IN和OSC_OUT引脚距离控制在10mm以内越短越好两颗负载电容紧贴晶振放置电容到晶振的走线不超过3mm晶振下方不要走任何其他信号线尤其是高频信号和电源线晶振远离电源模块、电感、继电器等可能产生干扰的器件如果板子有外壳晶振不要放在螺丝孔或者板边附近避免机械应力影响我一般会把晶振放在MCU的同一面紧挨着OSC引脚。负载电容放在晶振和MCU之间地端朝向MCU的地引脚方向。这样走线最短回路面积最小。4.3 地平面处理与星型接地晶振电路对地的要求很高。理想情况下晶振下方应该有一块完整的地平面不被任何走线割裂。如果做不到完整地平面至少保证晶振和负载电容下方的地是连通的不要被其他信号线切断。星型接地在这里的意思是晶振电路的地、MCU的地、电源的地最终都汇聚到一个点通常是电源入口的滤波电容地端而不是在板子上到处乱窜。具体做法是在晶振和负载电容下方铺一块局部地铜皮这块地铜皮通过至少两个过孔连接到主地平面过孔位置尽量靠近负载电容的接地端不要让数字信号的回流电流经过晶振下方的地注意有些教程说晶振下方要挖空这是针对多层板内层地平面的做法目的是减少寄生电容。但对于两层板下方没有完整地平面反而更糟所以两层板不建议挖空。4.4 布局检查清单布局完成后对照下面的清单逐项检查[ ] 晶振到MCU引脚距离是否小于10mm[ ] 负载电容是否紧贴晶振[ ] 晶振下方是否有其他信号线穿过[ ] 晶振是否远离干扰源[ ] 晶振下方地平面是否完整[ ] 去耦电容是否靠近MCU电源引脚[ ] 板边和安装孔附近是否有晶振5. 布线策略与实操要点5.1 晶振走线的具体规则布局定了布线就是执行层面的活。晶振走线有几条铁律走线要短。OSC_IN和OSC_OUT的走线长度尽量控制在10mm以内能5mm搞定就不要走8mm。走线越短寄生电感和电容越小起振越可靠。走线要直。不要绕弯不要走蛇形线不要为了美观绕来绕去。晶振走线不是用来做等长匹配的直来直去最好。线宽要适中。一般走6mil到8mil就够了不需要加粗。太粗的走线会增加对地的寄生电容反而不好。包地处理。在晶振走线的两侧和下方铺地铜皮并通过过孔连接到主地。这样可以屏蔽外部干扰也能减少走线对外的辐射。不要打过孔。晶振走线尽量在同一层完成不要换层。如果实在需要换层过孔数量控制在最少并且过孔附近要有地过孔伴随。5.2 负载电容的接地处理负载电容的接地端是晶振电路里最容易出问题的地方。很多人把电容地端随便连到附近的地铜皮就完事了结果发现起振不稳定。正确的做法是两颗负载电容的地端用短而粗的走线连在一起从这个连接点打过孔到主地平面过孔至少两个过孔尽量靠近电容的接地焊盘减少接地阻抗如果板子有独立的模拟地晶振地优先接模拟地我实测过负载电容接地走线从5mm缩短到2mm起振时间从原来的十几毫秒缩短到几毫秒效果很明显。5.3 电源去耦与滤波MCU的电源质量直接影响晶振的稳定性。除了每个电源引脚旁边的100nF去耦电容建议在晶振电路的电源引脚附近再放一颗1nF到10nF的小电容滤除高频噪声。如果MCU有独立的VDDA引脚模拟电源一定要单独滤波用磁珠或者电感隔离数字电源。去耦电容的走线也有讲究电容到电源引脚和地引脚的走线要短回路面积要小。最好的做法是电容和引脚在同一层走线直接连过去不要绕到背面再回来。5.4 布线完成后的目视检查布线完成后别急着跑DRC先目视检查一遍晶振走线是否短而直负载电容是否紧贴晶振地过孔是否足够去耦电容是否到位有没有遗漏的连接丝印是否清晰可读这一步花不了几分钟但能发现很多DRC查不出来的问题比如走线美观度、丝印重叠、元件方向等。6. DRC检查清单与常见问题排查6.1 嘉立创EDA专业版DRC规则配置嘉立创EDA专业版的DRC检查在“设计”菜单下的“检查DRC”里。跑之前先配置规则默认规则不一定适合你的项目。重点配置以下几项规则项建议值说明最小线宽6mil晶振走线可用6mil最小间距6mil普通信号间距过孔尺寸0.3mm/0.6mm内径/外径铜皮到走线间距8mil避免短路丝印到焊盘间距4mil避免丝印上焊盘孔到孔间距0.5mm避免钻孔破裂配置好后点“检查DRC”工具会自动扫描并列出所有违规项。违规项按严重程度分为错误和警告错误必须改警告视情况处理。6.2 晶振电路常见DRC报错与处理报错1间距违规。晶振走线和相邻信号线间距不够。处理方法调整走线路径或者把相邻信号线移开。晶振走线周围最好留出至少3倍线宽的间距。报错2过孔到焊盘间距不足。负载电容接地过孔离焊盘太近。处理方法移动过孔位置或者减小过孔外径。报错3铜皮到走线间距违规。铺铜后铜皮和晶振走线距离太近。处理方法调整铜皮间距规则或者在晶振走线周围画禁布区。报错4丝印重叠。元件位号丝印压到焊盘或者彼此重叠。处理方法手动调整丝印位置或者缩小丝印字体。报错5未连接网络。有网络没有实际连接。处理方法检查原理图连接确认是否有遗漏的走线。6.3 晶振不起振的排查思路DRC通过不代表板子一定能工作。如果打样回来发现晶振不起振按下面的顺序排查检查焊接晶振和负载电容是否虚焊、短路。用万用表量一下晶振两端的对地电阻正常应该是无穷大。检查负载电容值电容值是否和晶体规格匹配。如果手头没有合适电容可以先用相近的值试比如12pF的晶体用15pF电容通常也能起振只是频率略有偏差。检查电源MCU供电是否正常去耦电容是否焊接。检查复位电路有些MCU复位引脚悬空会导致芯片不工作看起来像晶振问题。用示波器测量探头接OSC_OUT引脚看有没有波形。注意示波器探头的寄生电容可能会影响起振测量时用10:1探头或者用频率计在OSC_OUT上耦合测量。检查PCB晶振走线是否过长、地平面是否被割裂、负载电容接地是否可靠。实操心得我遇到过一块板子晶振死活不起振排查了半天发现是负载电容的接地过孔被丝印油墨堵住了导致接地不良。所以打样回来后先用放大镜目视检查一遍焊盘和过孔能省很多排查时间。6.4 DRC检查清单汇总下面是我常用的DRC检查清单每次画完板子都对照过一遍[ ] 线宽是否符合规则[ ] 线间距是否符合规则[ ] 过孔尺寸是否合规[ ] 焊盘到铜皮间距是否足够[ ] 丝印是否压焊盘[ ] 是否有未连接网络[ ] 晶振走线是否包地[ ] 负载电容接地是否可靠[ ] 去耦电容是否到位[ ] 板边是否有走线过近[ ] 安装孔周围是否有元件干涉[ ] 层叠设置是否正确[ ] Gerber输出是否完整7. 输出文件与打样前的最终确认7.1 Gerber文件导出DRC全部通过后就可以导出Gerber文件了。嘉立创EDA专业版支持一键导出Gerber在“文件”菜单下选“导出Gerber”。导出时注意几点层选择要完整包括顶层、底层、丝印层、阻焊层、助焊层、钻孔文件格式选RS-274X这是最通用的格式单位选毫米精度选4:4或者4:6导出后用一个Gerber查看器打开检查一遍确认没有缺层或者错位7.2 BOM与坐标文件如果要做SMT贴片还需要导出BOM和坐标文件。嘉立创EDA专业版可以直接生成BOM关联商城编号的话还能一键下单。坐标文件在“导出”菜单里选“Pick and Place”即可。BOM里重点核对晶振的型号、频率、封装、负载电容值。我见过有人BOM里写的是12pF负载电容的晶振实际买回来的是20pF的结果频率偏了上kHz。7.3 打样前的最终检查下单之前最后过一遍板子尺寸和层数是否正确板厚和铜厚是否符合要求阻焊颜色和丝印颜色是否确认是否有特殊工艺要求如沉金、镀金拼板方式是否需要数量是否填写正确这些确认好了就可以下单打样了。第一版建议少打几片验证通过后再批量。8. 我个人的几条实操体会画了这么多年的板子带晶振的电路我踩过的坑不算少。有几点体会分享出来希望能帮你少走弯路。第一晶振电路不要省事。有些人觉得晶振就两个电容随便画画就行结果板子回来不工作返工的时间成本远大于当初认真画的那几分钟。晶振是系统的心脏心脏出问题整个系统都废了。第二负载电容的接地比电容值更重要。很多人纠结电容选12pF还是15pF其实只要在合理范围内频率偏差不会太大。但接地如果没做好起振都成问题。所以接地过孔要多、要近、要可靠。第三DRC规则要按项目配置。默认规则是通用规则不一定适合你的板子。晶振走线可以细一点电源走线要粗一点这些都要在规则里体现。配置一次后面项目可以复用。第四打样回来先目视检查再上电。用放大镜看看焊盘、过孔、丝印有没有短路、虚焊、油墨堵孔。这一步花两分钟可能省下两小时的排查时间。第五示波器测晶振要小心。探头寄生电容可能让原本能起振的电路不起振测量时尽量用低电容探头或者用频率计在远处耦合测量。如果非要直接测测完确认电路还能正常工作。最后再分享一个小技巧如果你不确定负载电容选多少可以在PCB上预留两个电容位置一个焊盘接固定电容另一个焊盘留空或者用可调电容。打样回来后实测频率再决定最终焊接值。这个方法在频率精度要求高的场合特别管用。晶振电路的设计没有太多花哨的东西核心就是短走线、完整地、匹配电容、可靠接地。把这几点做到位板子基本不会出问题。嘉立创EDA专业版作为工具能帮你把这些事情做得更顺手但最终决定板子好坏的还是你对电路的理解和细节的把控。
返回列表