首页 / 资讯中心 / 文章详情

嘉立创EDA专业版晶振电路PCB设计实战与DRC检查清单

嘉立创EDA专业版晶振电路PCB设计实战与DRC检查清单 ★ FEATURED ARTICLE
晶振电路这东西说简单也简单两根线加两个电容就能跑起来说难也难 layout 稍微不注意不起振、频偏、温漂、EMI 超标全找上门。我见过太多项目原理图抄得一字不差板子回来就是工作不正常最后查来查去问题出在晶振底下走了根信号线或者负载电容的地回路绕了半个板子。这篇就围绕嘉立创EDA专业版把带晶振电路的PCB设计从头到尾走一遍顺带把DRC检查清单也整理出来方便你直接对照使用。1. 先搞清楚晶振电路到底在板子上扮演什么角色1.1 晶振不是“随便放放就行”的普通器件很多人画板子的时候把晶振当成一个普通的贴片元件往MCU旁边一丢连线通了就完事。这种思路在低频电路里可能侥幸能跑但在晶振电路上基本等于埋雷。晶振本质是一个高Q值的谐振器件它对外围的寄生参数极其敏感。你板子上多出来的几pF走线电容、地平面上的噪声耦合、附近高速信号的串扰都会直接反映到振荡频率和起振时间上。从原理上讲无源晶振Crystal需要配合MCU内部的振荡器电路工作外部通常加两颗负载电容。这两颗电容和晶振本身的等效电容一起决定了最终的谐振频率。如果PCB走线引入了额外的寄生电容而你没有把这个因素考虑进去实际频率就会偏离标称值。对于UART、CAN、USB这类对时钟精度有要求的接口几十ppm的偏差就可能导致通信误码率飙升。有源晶振Oscillator虽然内部集成了振荡电路输出的是方波信号对负载电容不敏感但它对电源质量和地平面回流路径同样挑剔。电源纹波大、地回流不畅输出抖动就会变大后级PLL锁相环可能频繁失锁。所以不管哪种晶振PCB设计阶段都得当成一个“敏感模拟器件”来对待而不是数字逻辑器件。1.2 晶振电路在嘉立创EDA专业版中的设计入口嘉立创EDA专业版把原理图设计和PCB设计放在同一个工程里左侧工程树可以随时切换。对于晶振电路我习惯在原理图阶段就把关键参数标注清楚比如晶振的标称频率、负载电容值、精度等级。这样在PCB阶段选封装和布局时心里有数。具体操作上先在原理图里放置晶振符号。嘉立创EDA专业版的元件库里有不少通用晶振符号但要注意区分无源和有源。无源晶振通常是两脚或四脚两脚功能脚加两脚接地有源晶振一般是四脚电源、地、输出、使能。选错符号会导致后续PCB封装对不上。放置好晶振和负载电容后用网络标签把晶振引脚和MCU的OSC引脚连起来。这里有个细节晶振的输入和输出引脚不要用普通网络标签随便命名建议用OSC_IN和OSC_OUT这种明确的名字方便在PCB里快速定位。负载电容的地端要连到干净的地网络通常是GND但如果板子上有模拟地和数字地之分晶振的地要归到模拟地或者单独划出来的时钟地。原理图检查无误后点“设计”菜单里的“转换原理图到PCB”嘉立创EDA专业版会自动把元件和网络同步过去。这时候别急着布线先把晶振相关的元件在PCB里找出来单独标记一下后面布局的时候优先处理。1.3 负载电容的取值和PCB寄生电容的补偿关系负载电容的公式大家都背过CL (C1 * C2) / (C1 C2) Cstray。其中C1和C2是外部负载电容Cstray是PCB走线和引脚带来的寄生电容典型值在3pF到5pF之间。很多人在选电容的时候只按晶振手册上的CL值算忽略了Cstray结果实际频率偏低。举个例子晶振手册要求CL12pF你选了两颗22pF的电容按公式算下来(C1*C2)/(C1C2)11pF加上Cstray 3pF就是14pF比要求的12pF多了2pF。这2pF对应到频率上大概是几十ppm的偏差。对于普通应用可能无所谓但对于需要精确时钟的场合就得把电容值往下调比如换成两颗18pF算下来9pF加3pF等于12pF刚好匹配。在嘉立创EDA专业版里你可以在原理图里给负载电容加个备注写明“实际焊接值需根据频偏测试调整”。PCB布局时这两颗电容尽量靠近晶振引脚走线短而粗减少额外寄生电容。如果空间允许可以在电容旁边预留一个并联的微调电容位置方便后期调试。2. 嘉立创EDA专业版里晶振布局的实操细节2.1 晶振在PCB上的最佳摆放位置晶振在板子上的位置直接决定了走线长度和受干扰程度。我的原则是晶振必须紧贴MCU的OSC引脚走线长度控制在10mm以内越短越好。如果MCU在板子中间晶振就放在MCU旁边不要为了“美观”把晶振放到板边。嘉立创EDA专业版里你可以先用“布局传递”功能在原理图里选中晶振和负载电容然后切换到PCB这些元件会高亮显示。把它们拖到MCU附近注意晶振下方不要走任何信号线尤其是高速信号线。如果板子有内层晶振投影区域的所有层都要挖空或者至少保证晶振正下方是完整的地平面。有源晶振的摆放还要考虑电源去耦电容的位置。去耦电容要放在晶振电源引脚和地引脚之间距离不超过2mm。嘉立创EDA专业版的PCB编辑器里可以用“对齐”和“等间距”功能快速摆放这些电容保证它们和晶振引脚之间的走线最短。另外晶振不要靠近板边、螺丝孔、连接器这些机械应力集中的地方。板子弯曲或者螺丝拧紧时的应力可能导致晶振焊点开裂或者频率漂移。如果板子有拼板设计晶振要远离V-CUT或者邮票孔区域。2.2 晶振走线的宽度、间距和包地处理晶振走线不需要很宽一般6mil到8mil就够了因为它是小信号线不是电源线。但走线要尽量短而且两根线OSC_IN和OSC_OUT要尽量靠近减少环路面积。如果MCU的OSC引脚相邻那就直接短接过去不要绕路。嘉立创EDA专业版里布线时可以设置走线宽度为6mil然后用“差分对”或者“等长”功能来约束两根线的长度。虽然晶振走线不要求严格等长但长度差太大也会引入相位差影响振荡稳定性。我的习惯是两根线长度差控制在5mil以内。包地处理是晶振走线的关键。在晶振走线两侧和下方用GND网络铺铜或者走地线形成屏蔽。嘉立创EDA专业版里可以用“铺铜”功能在晶振区域铺一块地铜然后设置与晶振走线的间距为3倍线宽以上比如20mil。注意包地铜皮要打过孔到主地平面过孔间距小于λ/20对于几十MHz的晶振过孔间距1mm到2mm就够了。如果板子空间紧张至少要在晶振走线的两侧各走一根地线地线宽度可以比信号线宽比如10mil然后在地线上每隔一段打过孔。这样能有效减少串扰和辐射。2.3 晶振下方地平面的处理方式晶振下方要不要铺地这个问题争议挺大。我的经验是无源晶振下方可以铺地但必须是完整的地平面不能有裂缝或者走线穿过。有源晶振下方最好也铺地但要注意晶振本身的金属外壳如果接地那下方地平面就是屏蔽层如果外壳不接地下方地平面反而可能引入耦合。在嘉立创EDA专业版里你可以用“铺铜管理器”来设置晶振区域的铺铜规则。对于双层板晶振下方顶层和底层的铜皮都要连接到GND网络并且用多个过孔缝合。对于多层板晶振正下方的内层地平面要保持完整不要被其他信号线割裂。有个细节容易被忽略晶振下方的地平面不要延伸到晶振引脚焊盘的正下方否则焊接时焊盘和地平面之间的电容会增加负载电容。一般建议地平面距离晶振焊盘边缘0.5mm以上或者直接在焊盘下方挖空。嘉立创EDA专业版里可以用“禁止区域”功能在晶振焊盘下方画一个禁布区阻止铺铜进入。3. 晶振电路布线时的星型接地与回流路径设计3.1 星型接地在晶振电路中的具体应用星型接地这个概念在模拟电路里经常提但真正在晶振电路里用好的人不多。星型接地的核心思想是所有需要干净地的点都单独走一根地线回到一个公共接地点避免地电流在共享地线上产生压降互相干扰。晶振电路里负载电容的地端、晶振外壳的地端如果有、MCU的OSC地引脚这三个点应该用单独的地线连接到MCU的GND引脚或者一个专门的时钟地节点。这个节点再单点连接到主地平面。不要把这些地直接连到板子上随便一个GND过孔那样地回流会经过其他数字电路的地线引入噪声。嘉立创EDA专业版里实现星型接地可以先用细线把这三个地端连到一个公共节点然后从这个节点走一根较宽的地线比如15mil到主地平面的单点连接处。这个单点连接处最好选在MCU的GND引脚附近或者板子上的电源入口地。实际操作中我会在PCB上放一个“星型接地点”的标记用丝印标出来方便检查。嘉立创EDA专业版的丝印层可以放置文本和图形画一个小圆点加文字说明就行。3.2 地回流路径对晶振稳定性的影响地回流路径设计不好晶振的稳定性会大打折扣。举个例子如果晶振的负载电容地端连接到一块被数字信号割裂的地铜皮上数字信号的返回电流就会经过这块铜皮在铜皮上产生高频压降。这个压降叠加在晶振的地参考上等效于给晶振加了一个噪声调制导致相位噪声恶化。正确的做法是晶振区域的地铜皮要独立于数字地或者至少保证数字信号的返回电流不经过晶振地。在嘉立创EDA专业版里你可以用“网络类”功能把晶振相关的GND网络单独设为一个类然后设置铺铜规则让晶振地铜皮和数字地铜皮之间保持一定间距只在单点连接。对于多层板晶振地最好单独占一个内层或者在内层地平面上划出一块“时钟地”区域通过单点连接到主地。嘉立创EDA专业版支持内层负片显示你可以清楚地看到地平面的分割情况。还有一个容易踩的坑晶振走线换层时旁边的地过孔要足够多。信号换层意味着回流路径也要换层如果地过孔不够回流路径就会绕远形成大环路增加辐射和敏感度。一般建议信号过孔旁边至少放两个地过孔距离不超过2mm。3.3 晶振电路与其他敏感电路的隔离距离晶振电路不仅自己敏感还会干扰别人。有源晶振输出的方波含有丰富谐波如果走线太长或者没有屏蔽就会辐射出去干扰附近的射频电路、模拟传感器、高阻抗输入等。在嘉立创EDA专业版里布局时晶振区域要和以下电路保持距离射频前端至少10mm以上高增益模拟放大器至少5mm以上开关电源的电感至少8mm以上。如果板子空间实在紧张就用屏蔽罩或者接地铜皮墙来隔离。晶振走线也不要和以下信号平行走线时钟信号、PWM信号、高速差分对、复位信号。如果必须交叉尽量垂直交叉减少耦合。嘉立创EDA专业版里可以用“间距检查”功能设置晶振网络和其他网络的间距规则比如20milDRC的时候会自动检查。4. 嘉立创EDA专业版DRC检查清单与晶振专项核查4.1 通用DRC规则设置在晶振电路上的适配嘉立创EDA专业版的DRC检查默认规则是针对普通数字电路的用在晶振电路上需要调整。打开“设计规则”对话框找到“间距”选项卡把晶振网络和其他网络的间距设大一些。我一般设安全间距为8mil但晶振网络到其他信号网络的间距设为20mil到电源网络的间距设为15mil。线宽方面晶振走线最小线宽设6mil推荐8mil。过孔尺寸晶振走线换层用的过孔孔径0.3mm焊盘0.6mm就够了不要用太大的过孔减少寄生电容。阻焊和丝印规则也要注意。晶振焊盘之间的阻焊桥要保留防止焊接短路。丝印不要压在晶振焊盘上否则焊接时丝印油墨可能影响可焊性。嘉立创EDA专业版里可以在“阻焊”和“丝印”选项卡里设置这些规则。设置完规则后点“检查”菜单里的“DRC检查”嘉立创EDA专业版会生成一份报告。报告里会列出所有违规项你可以逐条查看点击违规项会定位到PCB上的具体位置。4.2 晶振专项DRC检查清单通用DRC跑完之后还要针对晶振做专项检查。下面这份清单是我自己整理出来的每次画完晶振电路都对照一遍。检查项检查内容合格标准嘉立创EDA专业版操作走线长度OSC_IN和OSC_OUT走线总长单根不超过10mm两根长度差不超过5mil用“测量”工具量长度走线间距晶振走线与其他信号线间距不小于20milDRC间距规则设置包地完整性晶振走线两侧和下方地铜皮连续无断裂过孔间距1-2mm铺铜管理器检查负载电容位置电容与晶振引脚距离不超过3mm目视检查加测量地回流路径负载电容地端到MCU地引脚单点连接不经过数字地网络类设置加目视晶振下方禁布晶振投影区域是否有信号线无任何信号线穿过禁止区域功能电源去耦有源晶振电源引脚去耦电容距离不超过2mm容值0.1uF加10uF布局检查外壳接地晶振金属外壳是否接地如果外壳有接地焊盘必须连到干净地网络检查丝印避让丝印是否压在焊盘上丝印距离焊盘边缘0.15mm以上丝印DRC检查热焊盘连接晶振地焊盘与铺铜连接方式十字连接或全连接根据焊接工艺定铺铜属性设置这份清单里的每一项都是我在实际项目中踩过坑或者见过别人踩坑总结出来的。比如走线长度差这一项有一次我画了一个板子OSC_OUT绕了一下比OSC_IN长了15mil结果起振时间明显变长后来把线改短就好了。还有包地完整性有一次铺铜的时候没注意晶振下方地铜皮被一个过孔割断了导致频偏超标查了半天才发现。4.3 DRC报错后的排查思路和修复方法DRC报错不可怕可怕的是不知道怎么改。嘉立创EDA专业版的DRC报告里每个违规项都有类型和位置。常见的晶振相关报错有这几种第一种是“间距违规”晶振走线离其他信号线太近。修复方法是把其他信号线移开或者在晶振走线两侧加地线屏蔽。如果空间不够可以考虑把晶振走线换到内层上下都有地平面屏蔽。第二种是“线宽违规”晶振走线太细。修复方法是加宽走线但要注意加宽后寄生电容会增加可能需要调整负载电容值。一般从6mil加到8mil寄生电容增加不到0.5pF影响不大。第三种是“铺铜违规”晶振下方地铜皮有孤岛或者断裂。修复方法是调整铺铜规则增加过孔缝合或者手动修补铜皮。嘉立创EDA专业版里可以用“铺铜编辑”功能手动调整铜皮形状。第四种是“丝印违规”丝印压在焊盘上。修复方法是移动丝印文字或者调整丝印大小。嘉立创EDA专业版里可以批量选中丝印用“对齐”功能快速调整。排查的时候我习惯先看违规项的位置判断是布局问题还是布线问题。布局问题就调整元件位置布线问题就调整走线。改完之后重新跑DRC直到没有违规项为止。但要注意DRC通过不代表电路一定没问题DRC只是检查几何规则电气性能还得靠设计和测试来保证。5. 从原理图到打样晶振电路的完整检查流程5.1 原理图阶段的晶振参数核对在嘉立创EDA专业版里画完原理图别急着转PCB先做一轮参数核对。打开晶振的元件属性确认标称频率、负载电容、精度、工作温度范围这些参数和BOM里一致。负载电容的值要和晶振手册匹配如果手册要求CL12pF你选了两颗22pF那就要在原理图里备注实际焊接值可能需要调整。MCU的OSC引脚配置也要核对。有些MCU的OSC引脚可以配置为外部时钟输入或者晶体振荡器模式原理图里要用正确的网络标签。如果MCU内部有可编程负载电容原理图里要标注清楚PCB阶段就不需要外部电容了。电源滤波电容也要检查。有源晶振的电源引脚旁边要有0.1uF和10uF的电容0.1uF靠近引脚10uF可以稍远。无源晶振不需要电源但MCU的OSC电源引脚如果有也要加去耦电容。5.2 PCB布局完成后的目视检查要点布局完成后先别布线用嘉立创EDA专业版的3D预览功能看一下板子。重点看晶振区域晶振是否紧贴MCU负载电容是否靠近晶振晶振下方是否有其他元件晶振是否靠近板边或者螺丝孔。然后切换到2D视图用“高亮”功能把晶振网络高亮显示检查走线路径是否合理。晶振走线应该短而直不要有直角或者锐角。如果走线必须转弯用45度角或者圆弧。嘉立创EDA专业版支持圆弧走线在布线时按快捷键可以切换走线模式。还要检查晶振区域的地铜皮。用“铺铜管理器”查看晶振下方的铜皮是否完整有没有被过孔或者走线割裂。如果有割裂调整过孔位置或者修改铺铜规则。5.3 打样前的最终DRC和制造文件输出所有检查做完跑最后一次DRC。确保没有违规项后就可以输出制造文件了。嘉立创EDA专业版里点“文件”菜单里的“导出”选择“Gerber”格式。导出的时候要注意晶振区域的阻焊层和丝印层要单独检查一下确保焊盘开窗正确丝印没有压焊盘。钻孔文件也要检查。晶振走线换层用的过孔孔径和焊盘尺寸要在钻孔文件里正确体现。如果板子上有盲埋孔要确认嘉立创的工艺能力是否支持。最后把BOM文件也导出来核对晶振和负载电容的型号、封装、数量。打样的时候可以在嘉立创的订单备注里写明“晶振电路敏感请控制阻抗和公差”虽然不一定有用但至少让工厂知道这块板子有特殊要求。6. 晶振电路调试中常见的几个坑和应对方法6.1 不起振的几种原因和排查顺序板子回来焊接好上电发现MCU不工作晶振不起振这是最让人头疼的问题。排查顺序我一般是这样的先量晶振引脚电压。无源晶振的两个引脚正常工作时电压应该在电源电压的一半左右比如3.3V系统引脚电压大概1.6V。如果一个是3.3V一个是0V说明振荡电路没工作可能是MCU配置问题或者晶振坏了。再量负载电容。如果电容值差太多比如该用22pF结果焊了100pF起振会困难甚至不起振。用万用表电容档量一下或者直接换两颗标准值的电容试试。然后检查焊接。晶振是贴片的话虚焊很常见。用热风枪补焊一下或者用示波器探头碰一下晶振引脚看有没有起振迹象。有时候探头电容就能让晶振起振说明是负载电容偏大。最后查PCB。如果以上都正常那可能是PCB布局问题。重点看晶振走线是否太长、是否靠近干扰源、地回流是否顺畅。我遇到过一块板子晶振走线从MCU下面绕过去结果就是不起振后来把走线改短直接连过去就好了。6.2 频偏超标的调整思路频偏超标比不起振好办一些至少电路是工作的。调整思路是先量实际频率和标称频率对比算出偏差ppm。如果偏差在几十ppm以内可以通过调整负载电容来补偿。电容调小频率往高走电容调大频率往低走。调整的时候用频率计或者示波器量OSC_OUT引脚。如果没有频率计可以用MCU的定时器加外部参考来测。调整电容值的时候每次改变不要太大比如从22pF调到18pF量一次频率再决定下一步。如果调整电容还是达不到要求可能是晶振本身精度不够换更高精度的晶振。或者PCB寄生电容太大需要重新设计布局缩短走线减少过孔。6.3 温漂和长期稳定性的改善措施温漂是晶振的固有特性普通晶振的温度系数大概在±30ppm每摄氏度。如果应用场景温度变化大比如户外设备就要选温补晶振TCXO或者恒温晶振OCXO。PCB设计上晶振要远离发热元件比如电源芯片、功率电阻、大电流走线。长期稳定性方面晶振的老化率一般是每年±3ppm到±5ppm。如果应用要求高要选老化率低的晶振。PCB上晶振的焊点要可靠避免虚焊或者冷焊。板子涂覆三防漆可以防潮减少湿度对频率的影响。还有一个容易被忽略的点晶振的机械振动敏感度。如果设备工作在振动环境晶振要选抗振型号PCB布局时晶振要靠近板子固定点减少板子弯曲对晶振的影响。7. 嘉立创EDA专业版里几个提升晶振设计效率的小技巧7.1 用网络类功能批量管理晶振网络嘉立创EDA专业版的“网络类”功能可以把晶振相关的网络归为一类然后统一设置规则。比如把OSC_IN、OSC_OUT、晶振地、负载电容地都加到“Clock”网络类里然后设置这个类的间距、线宽、过孔规则。这样DRC检查的时候晶振网络会自动应用这些规则不用一个个手动设置。创建网络类的方法在PCB编辑器里点“设计”菜单里的“网络类”新建一个类命名为“Clock”然后把晶振相关网络拖进去。设置规则的时候可以针对这个类单独设置安全间距、线宽、过孔尺寸等。7.2 用复用模块快速放置晶振电路如果你经常画带晶振的板子可以在嘉立创EDA专业版里把晶振电路做成复用模块。原理图里选中晶振、负载电容、去耦电容右键创建复用模块。下次画新板子的时候直接从复用模块库里拖出来连上MCU的OSC网络就行。复用模块的好处是布局和布线可以一起复用。在PCB里把晶振电路的布局布线做成一个“PCB复用模块”下次直接调用省去重新布局的时间。嘉立创EDA专业版支持原理图和PCB的复用模块用好了能省不少事。7.3 用3D预览检查晶振与外壳的干涉嘉立创EDA专业版的3D预览功能可以导入外壳模型检查晶振是否和外壳干涉。如果晶振太高可能会顶到外壳导致板子装不进去。3D预览里还可以检查晶振和附近元件的间距避免焊接时互相干扰。导出3D模型的时候可以选STEP格式然后导入到结构设计软件里做装配检查。如果发现干涉调整晶振位置或者换更矮的封装。晶振电路的PCB设计说到底就是“短、净、稳”三个字。走线短地干净布局稳。嘉立创EDA专业版提供了足够的工具来支持这些要求关键是你要知道为什么要这么做而不是机械地照搬规则。上面这些内容是我自己画了上百块板子之后总结出来的不一定全对但至少能让你少走一些弯路。下次画晶振电路的时候把那份DRC检查清单打印出来一项一项对着查基本不会出大问题。
阅读完成 · 觉得有帮助?
咨询建站