電路板上彎彎扭扭的走線有什麼用
往期文章:
前面幾篇文章有部分讀者反饋太深奧,不好懂,要求來一點輕鬆易懂的。這不,它來了!本期文章我們來分享近期工作中的一個小故事。
一段奇怪的走線
這一天,工程師小明像往常一樣的在日常擼(摸)板(魚)。這時,同事小紅拿著一個看似奇怪的走線來問小明,小明看了看走線,大概是下面這個樣子:
小紅問道:這個彎彎扭扭的走線有什麼作用呀?我們的layout規範不是要求儘量走直線,少拐彎嗎?
小明看著這個走線,的確有點奇怪,再看了看訊號的作用,這是一組PCIe Gen3的高速訊號,是差分對的走線形式。那這個走線有什麼用呢,是繞線做等長?小明還是有點經驗的,看了看覺得不太像,一般等長沒這種繞法呀!是為了好看或者為了顯得高深?這好像也不好看呀,一時間彷彿陷入了知識盲區。再看看小紅迷茫的眼神,兩人相顧無言,唯有眼迷茫。
小明有個特點,就是容不得疑點存活。於是小明立馬進入了百度、Google、文獻檢索的過程。不過,就一張圖,該怎麼描述,怎麼檢索呢?再加上某度鋪天蓋地的廣告和結果中一模一樣鋪天蓋地的軟文,鮮有收穫。
功夫不負有心人。終於,小明檢索到了一篇叫“PCB Dielectric Material Selection and Fiber Weave Effect on High-Speed Channel Routing”的文獻,文章來自於有名的FPGA廠商Altera,在這裡面看到了與上面圖片裡類似的走線。小明吃力的啃起了這篇全英文的APN。小明讀完後寫下了這篇讀後感。
玻纖編織效應(Fiber Weave Effect)
首先標題裡出現了一個詞:Fiber Weave Effect,翻譯過來是纖維編織效應,看來這事可能跟纖維和纖維編織有關。我們知道PCB基板是由玻璃纖維和環氧樹脂填充混合製成的,與PCB有關的纖維自然是玻璃纖維了。不同規格的PCB板材,玻璃纖維的規格和編織密度是不一樣的,在顯微鏡下,可以看到不同PCB基板的微觀結構,如下圖所示:
常見玻纖布的引數如下表所示,不同編制的引數差異比較明顯。
看到這裡不禁要問,這樣子的結構有什麼問題嗎?對於PCB板上傳輸的數字訊號來說,包括廣泛使用的FR4等許多的電介質材料在內,在低速低頻傳輸時,一直被認為是均勻的。但當系統中訊號速率達到Gbps級別時,這種均勻性假設可能不再成立,此時交織在環氧樹脂基材中的玻璃纖維束之間的間隙引起的介質層相對介電常數的區域性變化將變得不可忽視,回想下前幾期文章中有關特性阻抗和傳輸線延時的推導,很多關鍵引數都與介質的介電常數直接相關。介電常數的區域性擾動將使線路的時延和特徵阻抗與空間相關,從而影響高速訊號的傳輸。下圖展示了顯微鏡下的PCB截面示意圖:
可以看到,由於玻璃纖維的編織網格導致的介質不均,導致在D+走線的下方僅有樹脂填充,而在D-走線下方僅有玻璃纖維束作為填充。由於這兩種材料的介電常數不一樣,這就導致了D+和D-走線的特性阻抗的不一致,同時這兩條走線的延時也不一致。以上結構示意如下:
當在PCB上有水平或者垂直走線時,走線將與玻璃纖維的走向平行。在差分走線時,考慮一種極限情況,假如一條走線恰好經過玻纖上方與玻纖平行,而差分線的另一條剛好走在了空隙上,那麼,這時候兩條線下方的介質將會有最大的介電常數偏差,對訊號的影響也將達到最大。
我們通過ADS建模來模擬一下介電常數對阻抗及延時的影響。通常,環氧樹脂的介電常數在3左右,而玻璃纖維的介電常數在6左右,PCB介質層的介電常數取決於玻璃纖維和樹脂在介質層中所佔的體積比。為了比較接近最差的真實情況,模擬中我們設定一種基材的介電常數為4,而另一種的介電常數為6,如下圖所示。
傳輸線我們採用了微帶線,微帶線特性阻抗為50,線寬通過ADS的"LineCalc"工具計算得出:
模擬結果見下圖: 可以看到,訊號的80%上升時間有明顯的差異,V1相對於V2時間長了約28pS。由於模擬中我們設定傳輸線的長度為1英寸(25.4mm),因此我們基本可以得出結論,這種情況下,玻纖上方的傳輸線的訊號傳播速度比樹脂上方訊號線的速度慢了大約28ps/英寸。模擬結果中還有一個明顯的不同,那就是源端出射訊號的幅度也有所不同,樹脂上方訊號線的出射電壓比玻纖上方的訊號出射電壓高約40mV,這是由於二者的特性阻抗不同導致的。回想一下反射係數推導一文,你能根據波形算出這兩個傳輸線的特性阻抗分別是多少嗎?
至此,我們基本搞清楚了PCB基板由於介質的不均勻性,會導致介質的介電常數不均。在高速訊號的場合,由於這種微觀上的介質分佈不均,會導致傳輸線的阻抗和延時特性也有所不同。我們稱為玻纖編織效應。
那麼,這種被稱之為玻纖編織效應的現象,對我們的訊號會造成什麼樣的損害呢?結合我們的模擬資料,以及下圖的簡要說明,應該能基本說明問題: 正常情況下,差分對的兩根訊號線上傳輸了大小相等極性相反的差模訊號,如果兩根差分線的特性相同,那麼接收端的波形也是大小相等極性相反的差模訊號,解差分之後,訊號將被完整恢復,由於絕對的對稱性,不存在差模向共模的轉換,因此接收端也不存在共模訊號;但是,由於介質不均導致的阻抗特性和延時特性的不同,傳輸線上將出現一定的訊號反射,這將導致接收端波形的失真,同時還會出現差分訊號的偏斜,導致時序的對稱性被破壞,這還將導致部分訊號從差模向共模的轉換。它們將導致訊號完整性問題和輻射問題。我們同樣可以通過模擬結果看到這一點。
還有一個問題也值得引起注意,當訊號速率達到多少時我需要關心玻纖編織效應?intel對此做了大量的測試,其資料表明,當資料速率達到8Gbps以上時,必須慎重處理玻纖編織效應。不過,筆者認為,考慮到材料的特性及加工能力參差不齊,在條件允許的情況下,5Gbps以上的訊號最好都按照玻纖編織效應的要求來處理。下圖展示了差分訊號在8/10Bit編碼,資料速率為5Gbps的情況下,玻纖效應對訊號眼圖的影響,可以看到,隨著傳輸線長度的增長,眼圖逐漸變差(眼高變低,眼皮變厚)。
如何解決玻纖效應帶來的問題
明白了玻纖效應帶來的問題後,就可以採用一些針對性的措施來解決這些問題。一般有如下幾種辦法:
改變玻纖編織的密度 改用低值的玻纖材料 改變走線寬度,使遠比編織間隙寬 改變走線的角度,使之不與玻纖平行 採用之字形(zigzag)走線
首先,我們知道玻纖編織效應是由於玻纖和樹脂介質分佈不均而導致的,那麼,通過改變介質的加工工藝和材料,在一定程度上一定可以改善這種效應。就比如106編織和7628編織相比,7628編織將明顯改善介電常數分佈不均的問題。其次,如果玻纖和樹脂的介電常數差異越大,則他們所導致的介電常數分佈不均的問題也將越大,通過使用低值的玻纖材料,也可以改善介電常數分佈不均問題。不過,我們都知道一分錢一分貨,好的東西價格也貴呀!因此,這兩種措施的成本增加都很明顯,作為研發工程師,不到萬不得已,這顯然不是最優選擇。
改變走線寬度在RF電路的layout中經常用到,這是一個行之有效的手段。不過,在數位電路中,走線空間極為珍貴,走線加寬就需要更大的面積,更大的面積意味著更高的成本,老闆是絕不允許的!
改變走線角度,使差分走線不與玻纖平行,這個的可操作性就比較高了。既不增加成本,也不影響layout的工作量(這一點直接影響了小明有多少時間用來撩妹),是個行之有效的好辦法。那麼,具體到layout操作時,如何才能走出滿足要求的走線呢?
改變走線角度有三個辦法,第一個辦法是在加工的時候,要求板廠將Gerber對應的Film相對板材旋轉一個小角度再來曝光,這樣可保證所有走線都不與玻纖平行。如下圖所示: 不過這樣也存在操作相對困難,板材利用率下降的問題,不是最優解。
第二個辦法是在layout時,針對需要控制的走線,採用偏移一定角度的方式走線。在allegro環境下,單擊新增走線命令,通過如下設定即可走出具有一定角度的走線: 在options選項卡中,選中Route offset核取方塊,在其後輸入框填入傾斜角度的數值,即可走出帶有傾斜角的走線。
你是否會有這樣的疑問,我需要傾斜多大的角度才算合適呢?Altera在文件中給出了一個準則:使用offset走線,下圖中的W至少要大於3倍的玻纖編織節距,然後再反轉佈線方向。通過這個準則和下圖中的公式,就可以得知最小滿足要求的角度。一般我們選擇10°就能夠滿足幾乎所有的板材。
當然,手工拉出一條條這樣的走線絕對不是一個好主意,怎麼看都有點效率太低(又會影響小明撩妹的)。對於強大的allegro,自然是有對應的方式高效搞定此事的。在allegro中這個功能稱為zigzag pattern(之字形走線),通過如下選單欄路徑開啟命令: 在右側的options選項卡中有對應的引數可以設定: 在這裡只需要填入偏移角度和最大長度兩個引數,滑鼠框選中需要調整的走線,即可拉出zigzag線段。下面兩個小核取方塊一試便知,不多介紹。之字走線對直角走線和45°走線都可以進行調整,不過,allegro不建議對已經進行了offset走線的走線再做之字走線。
看到這裡,小紅緊張的表情終於放鬆了下來,那個奇奇怪怪的走線的意義也真相大白。原來這裡面還有這麼多學問,有用的知識又增加了!
參考文獻:Altera: PCB Dielectric Material Selection and Fiber Weave Effect on High-Speed Channel Routing
文末福利
在“202實驗室”公眾號後臺回覆“Zig-Zag佈線”可獲取本文參考文獻全文及“Cadence allegro Fiber Weave Off-Angle Routing”佈線指南全文,建議直接複製以下字元傳送:
Zig-Zag佈線