在PCB布局軟件中進行差分對走線是一個棘手的過程。幸運的是,KiCad有一些工具可以幫助我們完成這個過程。在本教程中,我們將帶領您完成計算差分阻抗的過程,并基于此通過一個項目創建一對USB數據線。
先做一些研究
在對任何高速信號總線或差分對走線進行布線之前,最好對這些信號的要求做一些研究。
以USB2.0高速總線為例,我們可以先下載USB2.0規范作為參考。這個規范的內容非常多,所以僅作參考,同時閱讀其它一些易于迅速理解的文檔。比如下面一些文章可以幫助你理解如何對USB2.0高速數據線進行布線:
https://www.silabs.com/documents/public/application-notes/an0046-efm32-usb-hardware-design-guidelines.pdf
https://www.ti.com/lit/an/slla414/slla414.pdf?ts=1605978923732&ref_url=https://www.google.com/
https://octavosystems.com/app_notes/osd335x-design-tutorial/osd335x-lesson-2-minimal-linux-boot/osd335x-lesson-2-usb-circuitry/
此外,這里有一些工程師關于做USB數據線走線的不錯的討論:
https://electronics.stackexchange.com/questions/325721/do-usb-data-wires-d-d-have-90-ohm-differential-impedance-and-single-ended-45
https://electronics.stackexchange.com/questions/41851/how-critical-is-the-layout-of-usb-data-lines-how-does-my-layout-look
https://electronics.stackexchange.com/questions/311310/understanding-usb-differential-and-single-ended-impedance-requirements
https://electronics.stackexchange.com/questions/446692/routing-long-usb-2-0-high-speed-traces-microstrip-or-stripline
通過這些文章的閱讀,我們可以確定一些要求:
數據線之間的差分阻抗應為90 Ω +/- 15%。
每條數據線的單端阻抗(相對于GND)應為45 Ω +/- 15。
數據線總長度差不大于0.150英寸(3.81 mm)。換句話說,盡量保持D+和D-的長度不變。
數據線應盡可能在不間斷的接地面上布線。
在可能的地方避免做90°直角走線(包括過孔)
避免在走線上留下不連接任何地方的分叉
確定PCB的特性
去你想要制板的PCB制造商的網站,找到你計劃生產的電路板的特性說明。比如下面是來自一些快板廠的網站上的典型參數:
1盎司銅(走線為1.4 mil或0.036 mm厚)
1.6mm的板厚
FR4材料
2層板
6 mil (0.1524 mm)最小走線寬度
6 mil (0.1524 mm)最小走線間距
注意,這是一個2層板! 在2層1.6毫米厚的板上布線差分對通常是相當困難的,因為數據線需要很寬才能達到所需的阻抗。使用更薄的板(例如銅層之間0.8毫米厚的介質材料),可以使用更窄的走線用于差分對信號。通常,你會發現4層以上的PCB板可以在銅層之間提供較薄的介電材料(如FR4)。
KiCad中的Net Name命名
在創建原理圖時,必須使用以下后綴之一來命名差分對信號的Net Name:
+/-(例如D+和D-)
_P/_N(例如D_P和D_N)
KiCad在PCB布線使用差分對走線工具時會自動查找這些后綴對。
使用KiCad阻抗計算器
KiCad在項目管理器面板中有一個內置的阻抗計算器,在項目管理器面板中,選擇:工具》計算器工具,選擇“傳輸線路”選項。
傳輸線計算器選項卡為計算阻抗提供了幾個選項。我們想為差分對使用左側的“耦合微帶線”選項。開始填寫基板參數部分。
注意,你可以點擊“…按鈕的一些參數得到彈出窗口選擇您的材料。對于這些,我們使用銅作為導體,FR4作為介質材料。
Er(介電常數):4.5
TanD(介電損耗系數): 0.02
Rho(導體的特性電阻):1.72e-08
H(走線距離底部接地平面的距離):1.6 mm(板厚)
H_t(走線和頂部地平面之間的距離):10000毫米(我們使用最外層進行查分對走線,這個參數可以設置比較大甚至近似無窮,如果你在兩個地平面之間走線,可以設置這個參數為FR4厚度)
T(銅厚度):0.03556 mm(對應1盎司銅)
Rough(表面粗糙度):0(我們的計算不需要)
mu Rel C(導體相對磁導率):1(計算中不需要)
在物理參數部分,我們輸入所需的走線設置。我們在開始的時候一般都會設置差分對兩線之間的距離盡可能小,這樣也會讓走線更窄,后面會根據需要修改走線的寬度(W),直到達到所需的差分阻抗。注意,走線的長度(L)并不重要。
開始的差分線之間的間距為0.1524 mm (一些快板廠需要的最小值),并調整走線寬度(W),直到你得到一個Zodd約45 Ω。注意,Zdiff(差分阻抗)等于2 * Zodd,因此Zodd為45 Ω給出了Zdiff為90 Ω。按下“分析”按鈕來計算電氣參數。
我們會發現,0.77毫米的走線寬度可以讓差分阻抗非常接近90 Ω。
PCB板的設置
打開PCB布局工具(pcbnew),進入文件》板設置。確保您的設計規則》約束符合您的制造商可以生產的。然后,前往項目》網絡類。
用您的差分對名稱添加一個新的網絡類(我給我的名稱為“USB Data”)。將間隙設置為制造商的最小值,并將走線寬度(單根走線)設置為與默認類的寬度相同。改變DP寬度為我們計算的線寬(0.77 mm),改變DP間隙為我們計算的間距(0.1524 mm)。
在右下角,高亮兩個差分對網名。在分配網絡類,選擇您的差分對網絡類名稱(在此為“USB Data”),并單擊分配到選定的網?,F在,你的差分對線將遵循我們剛剛創建的網絡規則。
差分對走線
點擊走線工具(或按“x”鍵)進入走線選擇模式。在本例中,由于封裝的焊盤非常小,我們需要在使用差分對工具之前先離開焊盤。點擊差分對線中的其中一個。
您可能會發現(如果DP寬度很大,就像這個2層板的情況一樣),KiCad不希望對線路進行走線。所以,在走線工具仍然激活的情況下,右鍵單擊》選擇通過/走線寬度》使用自定義值…
再次左鍵單擊以開始走線跟蹤。盡量從焊盤均勻地扇形離開,避免90°彎曲。
單擊“走線》差分對走線”。單擊其中一個走線,工具將自動開始使用指定的參數來完成這兩個走線。
如果你的走線距離太遠,你應該將你的“扇形”軌跡移近一點,因為你需要差分對盡可能保持準確的分離距離。您還可以讓差分對開始向另一個方向移動,以允許工具匹配差分對線之間的間距。
繼續在元件之間進行走線。注意,如果你需要在某些地方停下來(比如,上拉/下拉電阻),你應該盡量通過這些焊盤,避免分叉。
走線應盡可能地直,避免不必要的轉彎。有時候,你需要走線到板的外部邊緣的連接器,所以不得不使用45°拐彎來逐漸彎曲。
同樣,如果差分對的寬度相對于終端元器件的焊盤過大,可以使用具有自定義寬度的單走線,將導線引入到焊盤上,但要盡量避免這種情況。
走線長度盡可能一致
對于高速總線,您幾乎總是希望總線上的每一個數據位在同一時間到達目的地(或盡可能接近同一時間)。如果走線的長度不同,每個數據位到達的時間也可能不同! 這就是所謂的“位偏差”,可能會對通信總線造成嚴重破壞。
通過選擇工具,選擇差分對線中的其中一根,查看一下它的總長度。
點擊另一根線,從第一個網減去那個網的長度。對我來說,我得到21.1484毫米- 18.0616毫米= 3.0868毫米。這在USB數據線的允許偏差3.81 mm范圍內,所以我應該沒問題。
注意: 我還沒有測試這個板,我沒有一個足夠好的示波器來驗證我的走線是否良好。如果您有一個可測量480MHz的示波器,可以使用“眼圖”或“眼模式”來進行測試。
要修復不匹配的長度,可以使用差分對的走線》調整偏差工具。啟動工具,點擊凈長度較短的走線段。右鍵單擊并選擇長度調優設置…打開調優選項。
在大多數情況下,你會希望偏差為0。請隨意調整其他參數,以滿足您的PCB制造要求。單擊OK。
沿著您希望調優的走線移動鼠標,當工具試圖找出如何增加較短的軌跡的長度時,您應該會看到蛇形路徑出現。
注意:在上面的例子中,我假設我使用0.8毫米厚的PCB與0.003英寸(0.0762毫米)的線間距。這使得我可以在演示中使用更薄的數據線,因為工具與我實際電路板上的超寬走線不兼容。
你通常想要蛇形部分被添加到更接近不匹配發生的地方(對我來說,這是更接近Hirose連接器,因為路徑通常更直靠近USB連接器)。工具還會告訴你添加的東西是否修復了偏差。
單擊“接受路徑修改”。
注意,如果您正在與一個大型的并行總線(超過2數據行),您可以使用“走線”》“調整單走線長度”來添加蛇形走線到較短的走線,使這些走線的最終長度與最長的數據線長度一致。
編輯:jq
-
電阻
+關注
關注
86文章
5467瀏覽量
171655 -
阻抗
+關注
關注
17文章
940瀏覽量
45819 -
計算器
+關注
關注
16文章
437瀏覽量
37288 -
KiCAD
+關注
關注
4文章
110瀏覽量
8708
原文標題:如何進行差分對走線(以KiCad中對USB布線為例)
文章出處:【微信號:DBDevs,微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論