計實戰(zhàn):從原理圖到DRC檢查的完整流程)
1. 為什么晶振電路值得單獨拿出來講畫PCB這件事入門容易畫好難。尤其是板子上帶了晶振的很多人第一版打樣回來發(fā)現(xiàn)單片機(jī)根本跑不起來或者跑著跑著就死機(jī)排查半天最后發(fā)現(xiàn)是晶振沒起振。這種情況我見過太多次了包括我自己早期也踩過這個坑。晶振電路看起來簡單不就一個晶體加兩個電容嘛但里面的門道其實不少。晶振電路的本質(zhì)是一個高Q值的諧振回路它對寄生參數(shù)極其敏感。你走線多繞了5毫米、地平面被割裂了一道縫、負(fù)載電容選錯了幾個pF都可能導(dǎo)致頻偏超標(biāo)甚至完全不起振。這也是為什么我建議每個做硬件的新手都應(yīng)該拿一個帶晶振的最小系統(tǒng)板來練手把這件事吃透了后面畫什么板子心里都有底。這篇內(nèi)容我拿嘉立創(chuàng)EDA專業(yè)版來實操從原理圖到PCB布局布線再到DRC檢查完整走一遍帶晶振電路的設(shè)計流程。嘉立創(chuàng)EDA專業(yè)版這兩年迭代得很快功能上已經(jīng)能覆蓋大多數(shù)中小規(guī)模項目的需求而且和嘉立創(chuàng)的PCB打樣、SMT貼片流程銜接得很順對個人開發(fā)者和小團(tuán)隊來說省了不少事。不管你是剛?cè)腴T的新手還是從其他EDA工具轉(zhuǎn)過來的老手這篇內(nèi)容都能給你一套可以直接復(fù)用的流程和檢查清單。2. 設(shè)計前的整體思路與方案選型2.1 晶振電路的核心原理速覽在動手畫之前先把晶振電路的工作原理捋清楚。石英晶體利用的是壓電效應(yīng)——給它加交變電場它會產(chǎn)生機(jī)械振動當(dāng)外加信號頻率接近晶體的固有諧振頻率時振動幅度急劇增大形成諧振。這個特性讓晶振的頻率穩(wěn)定度遠(yuǎn)超RC振蕩器典型精度可以做到±10ppm甚至更高而RC振蕩器通常只有±1%到±5%。實際電路中我們用的最多的是皮爾斯振蕩器拓?fù)湟簿褪且粋€反相放大器加晶體和兩個負(fù)載電容的結(jié)構(gòu)。單片機(jī)內(nèi)部通常已經(jīng)集成了反相放大器和反饋電阻外部只需要接晶體和兩顆負(fù)載電容。這兩顆電容的值不是隨便選的它們和晶體的負(fù)載電容規(guī)格直接相關(guān)。計算公式是這樣的$$C_{L} \frac{C_1 \times C_2}{C_1 C_2} C_{stray}$$其中 $C_L$ 是晶體規(guī)格書里標(biāo)注的負(fù)載電容$C_1$ 和 $C_2$ 是外接的兩顆電容$C_{stray}$ 是PCB走線和芯片引腳的寄生電容通常在3pF到5pF之間。如果晶體規(guī)格是12pF負(fù)載電容寄生按4pF算那么 $C_1$ 和 $C_2$ 各取16pF左右比較合適。實際取值時選最接近的標(biāo)準(zhǔn)值就行比如15pF或18pF。注意負(fù)載電容選大了起振會變慢甚至不起振選小了頻率會偏高。如果對頻率精度要求高建議用頻率計實測后再微調(diào)。2.2 為什么選嘉立創(chuàng)EDA專業(yè)版市面上EDA工具不少Altium Designer、KiCad、OrCAD各有各的擁躉。我選嘉立創(chuàng)EDA專業(yè)版來做這個演示主要基于幾個實際考量元件庫和供應(yīng)鏈打通嘉立創(chuàng)的元件庫直接關(guān)聯(lián)商城庫存和價格選型的時候就能看到能不能買到、多少錢省去了手動維護(hù)BOM的麻煩。DRC規(guī)則可配置性強(qiáng)專業(yè)版的DRC檢查支持自定義規(guī)則間距、線寬、過孔、銅皮連接方式都能按項目需求調(diào)整這對晶振這種敏感電路很重要。中文界面和本地化支持對新手來說中文界面降低了上手門檻遇到問題查資料也方便。打樣流程無縫銜接畫完直接一鍵下單不需要導(dǎo)出Gerber再手動上傳流程上省事。當(dāng)然它也不是沒有短板比如高速差分對仿真、復(fù)雜約束管理這些方面和AD還有差距。但對于帶晶振的MCU最小系統(tǒng)、傳感器板、電源模塊這類項目完全夠用。2.3 整體設(shè)計流程規(guī)劃我把整個流程分成五步后面會逐步展開原理圖設(shè)計放置MCU、晶振、負(fù)載電容、去耦電容完成網(wǎng)絡(luò)連接元件選型與BOM確認(rèn)確認(rèn)晶振頻率、封裝、負(fù)載電容規(guī)格檢查庫存PCB布局晶振靠近MCU引腳放置負(fù)載電容緊貼晶振規(guī)劃地平面PCB布線晶振走線短而直包地處理星型接地DRC檢查與輸出配置檢查規(guī)則逐項排查導(dǎo)出Gerber3. 原理圖設(shè)計與關(guān)鍵細(xì)節(jié)3.1 新建工程與原理圖框架搭建打開嘉立創(chuàng)EDA專業(yè)版新建一個工程命名建議帶上版本號和日期比如“MCU_Crystal_V1.0_20250110”后面改版的時候不容易搞混。工程建好后先別急著放元件把圖紙尺寸設(shè)置好。A4一般夠用如果MCU引腳多、外設(shè)復(fù)雜可以選A3。放置元件之前我習(xí)慣先在圖紙上規(guī)劃區(qū)域左上角放MCU主控右邊放晶振電路和去耦電容下方放電源和接口。這樣布局和后面PCB的布局思路是一致的原理圖階段就想清楚PCB階段少走彎路。3.2 晶振電路的原理圖連接在嘉立創(chuàng)EDA的元件庫里搜索晶振關(guān)鍵詞用“crystal”或者“晶振”都能搜到。選型時注意幾個參數(shù)參數(shù)說明常見值頻率決定系統(tǒng)時鐘8MHz、12MHz、16MHz、32.768kHz負(fù)載電容匹配外部電容12pF、20pF封裝影響PCB布局5032、3225、HC-49S精度頻率偏差范圍±10ppm、±20ppm、±30ppmESR等效串聯(lián)電阻影響起振難度一般100Ω以STM32常用的8MHz晶振為例選一個3225封裝、12pF負(fù)載電容、±10ppm精度的即可。放置好晶振后兩端分別接MCU的OSC_IN和OSC_OUT引腳每端對地接一顆負(fù)載電容。這里有個細(xì)節(jié)負(fù)載電容的接地端要接到干凈的模擬地或者專門的晶振地不要隨便接到數(shù)字地的任意位置。去耦電容也不能忘。MCU的電源引腳旁邊放一顆100nF的陶瓷電容越近越好。如果MCU有多個電源引腳每個都要放。另外建議在電源入口處放一顆10uF的鉭電容或者M(jìn)LCC做儲能。3.3 網(wǎng)絡(luò)標(biāo)簽與ERC檢查原理圖畫完后用網(wǎng)絡(luò)標(biāo)簽把關(guān)鍵信號標(biāo)注清楚比如“OSC_IN”“OSC_OUT”“VDD_MCU”“GND”。嘉立創(chuàng)EDA專業(yè)版支持網(wǎng)絡(luò)類管理可以把晶振相關(guān)的網(wǎng)絡(luò)歸到一個類里后面PCB布線時方便設(shè)置規(guī)則。ERC檢查一定要跑一遍。常見的ERC報錯包括電源引腳沒有驅(qū)動源、輸入引腳懸空、輸出引腳短路等。晶振電路最容易出的問題是OSC_OUT被誤標(biāo)為輸出類型但實際是輸入導(dǎo)致ERC報沖突。遇到這種情況檢查MCU數(shù)據(jù)手冊里引腳的定義把引腳類型改對就行。實操心得原理圖階段多花十分鐘檢查網(wǎng)絡(luò)連接比PCB畫完再改省事得多。尤其是晶振這種關(guān)鍵信號接錯了板子直接不工作。4. PCB布局晶振電路的核心戰(zhàn)場4.1 布局前的準(zhǔn)備工作原理圖確認(rèn)無誤后轉(zhuǎn)到PCB編輯器。第一步是設(shè)置板框尺寸和層疊結(jié)構(gòu)。帶晶振的板子如果只是兩層板建議頂層走信號、底層做完整地平面。如果是四層板推薦疊層為頂層信號、內(nèi)層地、內(nèi)層電源、底層信號。嘉立創(chuàng)EDA專業(yè)版支持六層板設(shè)計對于更復(fù)雜的項目可以靈活調(diào)整。板框畫好后先把MCU放好位置。MCU的擺放要考慮接口位置、電源入口、安裝孔等因素。晶振的布局是圍繞MCU來做的所以MCU位置定了晶振的位置基本也就定了。4.2 晶振的擺放原則晶振布局的核心原則就一個字近。具體來說晶振到MCU的OSC_IN和OSC_OUT引腳距離控制在10mm以內(nèi)越短越好兩顆負(fù)載電容緊貼晶振放置電容到晶振的走線不超過3mm晶振下方不要走任何其他信號線尤其是高頻信號和電源線晶振遠(yuǎn)離電源模塊、電感、繼電器等可能產(chǎn)生干擾的器件如果板子有外殼晶振不要放在螺絲孔或者板邊附近避免機(jī)械應(yīng)力影響我一般會把晶振放在MCU的同一面緊挨著OSC引腳。負(fù)載電容放在晶振和MCU之間地端朝向MCU的地引腳方向。這樣走線最短回路面積最小。4.3 地平面處理與星型接地晶振電路對地的要求很高。理想情況下晶振下方應(yīng)該有一塊完整的地平面不被任何走線割裂。如果做不到完整地平面至少保證晶振和負(fù)載電容下方的地是連通的不要被其他信號線切斷。星型接地在這里的意思是晶振電路的地、MCU的地、電源的地最終都匯聚到一個點通常是電源入口的濾波電容地端而不是在板子上到處亂竄。具體做法是在晶振和負(fù)載電容下方鋪一塊局部地銅皮這塊地銅皮通過至少兩個過孔連接到主地平面過孔位置盡量靠近負(fù)載電容的接地端不要讓數(shù)字信號的回流電流經(jīng)過晶振下方的地注意有些教程說晶振下方要挖空這是針對多層板內(nèi)層地平面的做法目的是減少寄生電容。但對于兩層板下方?jīng)]有完整地平面反而更糟所以兩層板不建議挖空。4.4 布局檢查清單布局完成后對照下面的清單逐項檢查[ ] 晶振到MCU引腳距離是否小于10mm[ ] 負(fù)載電容是否緊貼晶振[ ] 晶振下方是否有其他信號線穿過[ ] 晶振是否遠(yuǎn)離干擾源[ ] 晶振下方地平面是否完整[ ] 去耦電容是否靠近MCU電源引腳[ ] 板邊和安裝孔附近是否有晶振5. 布線策略與實操要點5.1 晶振走線的具體規(guī)則布局定了布線就是執(zhí)行層面的活。晶振走線有幾條鐵律走線要短。OSC_IN和OSC_OUT的走線長度盡量控制在10mm以內(nèi)能5mm搞定就不要走8mm。走線越短寄生電感和電容越小起振越可靠。走線要直。不要繞彎不要走蛇形線不要為了美觀繞來繞去。晶振走線不是用來做等長匹配的直來直去最好。線寬要適中。一般走6mil到8mil就夠了不需要加粗。太粗的走線會增加對地的寄生電容反而不好。包地處理。在晶振走線的兩側(cè)和下方鋪地銅皮并通過過孔連接到主地。這樣可以屏蔽外部干擾也能減少走線對外的輻射。不要打過孔。晶振走線盡量在同一層完成不要換層。如果實在需要換層過孔數(shù)量控制在最少并且過孔附近要有地過孔伴隨。5.2 負(fù)載電容的接地處理負(fù)載電容的接地端是晶振電路里最容易出問題的地方。很多人把電容地端隨便連到附近的地銅皮就完事了結(jié)果發(fā)現(xiàn)起振不穩(wěn)定。正確的做法是兩顆負(fù)載電容的地端用短而粗的走線連在一起從這個連接點打過孔到主地平面過孔至少兩個過孔盡量靠近電容的接地焊盤減少接地阻抗如果板子有獨立的模擬地晶振地優(yōu)先接模擬地我實測過負(fù)載電容接地走線從5mm縮短到2mm起振時間從原來的十幾毫秒縮短到幾毫秒效果很明顯。5.3 電源去耦與濾波MCU的電源質(zhì)量直接影響晶振的穩(wěn)定性。除了每個電源引腳旁邊的100nF去耦電容建議在晶振電路的電源引腳附近再放一顆1nF到10nF的小電容濾除高頻噪聲。如果MCU有獨立的VDDA引腳模擬電源一定要單獨濾波用磁珠或者電感隔離數(shù)字電源。去耦電容的走線也有講究電容到電源引腳和地引腳的走線要短回路面積要小。最好的做法是電容和引腳在同一層走線直接連過去不要繞到背面再回來。5.4 布線完成后的目視檢查布線完成后別急著跑DRC先目視檢查一遍晶振走線是否短而直負(fù)載電容是否緊貼晶振地過孔是否足夠去耦電容是否到位有沒有遺漏的連接絲印是否清晰可讀這一步花不了幾分鐘但能發(fā)現(xiàn)很多DRC查不出來的問題比如走線美觀度、絲印重疊、元件方向等。6. DRC檢查清單與常見問題排查6.1 嘉立創(chuàng)EDA專業(yè)版DRC規(guī)則配置嘉立創(chuàng)EDA專業(yè)版的DRC檢查在“設(shè)計”菜單下的“檢查DRC”里。跑之前先配置規(guī)則默認(rèn)規(guī)則不一定適合你的項目。重點配置以下幾項規(guī)則項建議值說明最小線寬6mil晶振走線可用6mil最小間距6mil普通信號間距過孔尺寸0.3mm/0.6mm內(nèi)徑/外徑銅皮到走線間距8mil避免短路絲印到焊盤間距4mil避免絲印上焊盤孔到孔間距0.5mm避免鉆孔破裂配置好后點“檢查DRC”工具會自動掃描并列出所有違規(guī)項。違規(guī)項按嚴(yán)重程度分為錯誤和警告錯誤必須改警告視情況處理。6.2 晶振電路常見DRC報錯與處理報錯1間距違規(guī)。晶振走線和相鄰信號線間距不夠。處理方法調(diào)整走線路徑或者把相鄰信號線移開。晶振走線周圍最好留出至少3倍線寬的間距。報錯2過孔到焊盤間距不足。負(fù)載電容接地過孔離焊盤太近。處理方法移動過孔位置或者減小過孔外徑。報錯3銅皮到走線間距違規(guī)。鋪銅后銅皮和晶振走線距離太近。處理方法調(diào)整銅皮間距規(guī)則或者在晶振走線周圍畫禁布區(qū)。報錯4絲印重疊。元件位號絲印壓到焊盤或者彼此重疊。處理方法手動調(diào)整絲印位置或者縮小絲印字體。報錯5未連接網(wǎng)絡(luò)。有網(wǎng)絡(luò)沒有實際連接。處理方法檢查原理圖連接確認(rèn)是否有遺漏的走線。6.3 晶振不起振的排查思路DRC通過不代表板子一定能工作。如果打樣回來發(fā)現(xiàn)晶振不起振按下面的順序排查檢查焊接晶振和負(fù)載電容是否虛焊、短路。用萬用表量一下晶振兩端的對地電阻正常應(yīng)該是無窮大。檢查負(fù)載電容值電容值是否和晶體規(guī)格匹配。如果手頭沒有合適電容可以先用相近的值試比如12pF的晶體用15pF電容通常也能起振只是頻率略有偏差。檢查電源MCU供電是否正常去耦電容是否焊接。檢查復(fù)位電路有些MCU復(fù)位引腳懸空會導(dǎo)致芯片不工作看起來像晶振問題。用示波器測量探頭接OSC_OUT引腳看有沒有波形。注意示波器探頭的寄生電容可能會影響起振測量時用10:1探頭或者用頻率計在OSC_OUT上耦合測量。檢查PCB晶振走線是否過長、地平面是否被割裂、負(fù)載電容接地是否可靠。實操心得我遇到過一塊板子晶振死活不起振排查了半天發(fā)現(xiàn)是負(fù)載電容的接地過孔被絲印油墨堵住了導(dǎo)致接地不良。所以打樣回來后先用放大鏡目視檢查一遍焊盤和過孔能省很多排查時間。6.4 DRC檢查清單匯總下面是我常用的DRC檢查清單每次畫完板子都對照過一遍[ ] 線寬是否符合規(guī)則[ ] 線間距是否符合規(guī)則[ ] 過孔尺寸是否合規(guī)[ ] 焊盤到銅皮間距是否足夠[ ] 絲印是否壓焊盤[ ] 是否有未連接網(wǎng)絡(luò)[ ] 晶振走線是否包地[ ] 負(fù)載電容接地是否可靠[ ] 去耦電容是否到位[ ] 板邊是否有走線過近[ ] 安裝孔周圍是否有元件干涉[ ] 層疊設(shè)置是否正確[ ] Gerber輸出是否完整7. 輸出文件與打樣前的最終確認(rèn)7.1 Gerber文件導(dǎo)出DRC全部通過后就可以導(dǎo)出Gerber文件了。嘉立創(chuàng)EDA專業(yè)版支持一鍵導(dǎo)出Gerber在“文件”菜單下選“導(dǎo)出Gerber”。導(dǎo)出時注意幾點層選擇要完整包括頂層、底層、絲印層、阻焊層、助焊層、鉆孔文件格式選RS-274X這是最通用的格式單位選毫米精度選4:4或者4:6導(dǎo)出后用一個Gerber查看器打開檢查一遍確認(rèn)沒有缺層或者錯位7.2 BOM與坐標(biāo)文件如果要做SMT貼片還需要導(dǎo)出BOM和坐標(biāo)文件。嘉立創(chuàng)EDA專業(yè)版可以直接生成BOM關(guān)聯(lián)商城編號的話還能一鍵下單。坐標(biāo)文件在“導(dǎo)出”菜單里選“Pick and Place”即可。BOM里重點核對晶振的型號、頻率、封裝、負(fù)載電容值。我見過有人BOM里寫的是12pF負(fù)載電容的晶振實際買回來的是20pF的結(jié)果頻率偏了上kHz。7.3 打樣前的最終檢查下單之前最后過一遍板子尺寸和層數(shù)是否正確板厚和銅厚是否符合要求阻焊顏色和絲印顏色是否確認(rèn)是否有特殊工藝要求如沉金、鍍金拼板方式是否需要數(shù)量是否填寫正確這些確認(rèn)好了就可以下單打樣了。第一版建議少打幾片驗證通過后再批量。8. 我個人的幾條實操體會畫了這么多年的板子帶晶振的電路我踩過的坑不算少。有幾點體會分享出來希望能幫你少走彎路。第一晶振電路不要省事。有些人覺得晶振就兩個電容隨便畫畫就行結(jié)果板子回來不工作返工的時間成本遠(yuǎn)大于當(dāng)初認(rèn)真畫的那幾分鐘。晶振是系統(tǒng)的心臟心臟出問題整個系統(tǒng)都廢了。第二負(fù)載電容的接地比電容值更重要。很多人糾結(jié)電容選12pF還是15pF其實只要在合理范圍內(nèi)頻率偏差不會太大。但接地如果沒做好起振都成問題。所以接地過孔要多、要近、要可靠。第三DRC規(guī)則要按項目配置。默認(rèn)規(guī)則是通用規(guī)則不一定適合你的板子。晶振走線可以細(xì)一點電源走線要粗一點這些都要在規(guī)則里體現(xiàn)。配置一次后面項目可以復(fù)用。第四打樣回來先目視檢查再上電。用放大鏡看看焊盤、過孔、絲印有沒有短路、虛焊、油墨堵孔。這一步花兩分鐘可能省下兩小時的排查時間。第五示波器測晶振要小心。探頭寄生電容可能讓原本能起振的電路不起振測量時盡量用低電容探頭或者用頻率計在遠(yuǎn)處耦合測量。如果非要直接測測完確認(rèn)電路還能正常工作。最后再分享一個小技巧如果你不確定負(fù)載電容選多少可以在PCB上預(yù)留兩個電容位置一個焊盤接固定電容另一個焊盤留空或者用可調(diào)電容。打樣回來后實測頻率再決定最終焊接值。這個方法在頻率精度要求高的場合特別管用。晶振電路的設(shè)計沒有太多花哨的東西核心就是短走線、完整地、匹配電容、可靠接地。把這幾點做到位板子基本不會出問題。嘉立創(chuàng)EDA專業(yè)版作為工具能幫你把這些事情做得更順手但最終決定板子好壞的還是你對電路的理解和細(xì)節(jié)的把控。