PCB設(shè)計:繞等長
一、為什么需要“繞等長”
本文引用地址:http://2s4d.com/article/202405/459232.htm傳輸線等長包括差分對內(nèi)等長,也包括相同類型的傳輸線組內(nèi)等長。如果傳輸線不等長會帶來一些信號完整性的問題,包括時序不滿足要求、損耗過大或者容易受干擾等等。最簡單的方式就通過繞線使差分對不同的兩段傳輸線長度一致。
隨著高速電路的發(fā)展,電路的設(shè)計在朝著高速高密度的方向發(fā)展。速度和密度高了的話,各種信號完整性、EMI的問題就出來。這也就出現(xiàn)了各種各樣的設(shè)計要求規(guī)則,比如阻抗穩(wěn)定性、同組同層、等長設(shè)計等等。今天咱們就來討論一個由等長而引發(fā)的一個設(shè)計問題,即繞線設(shè)計,如下圖所示:
在設(shè)計中,特別是DDR3/4/5這類的設(shè)計,總會有很多的信號線存在,每一組的數(shù)據(jù)或者地址控制命令信號線都有一定的等長要求,如下所示為某芯片手冊的要求:
在設(shè)計時,當(dāng)達不到要求時,工程師首先想到的都是繞線,然后還出現(xiàn)了非常多的繞線方式。如下圖所示:
PCB(印刷電路板)設(shè)計中走線需要繞等長主要是為了保證信號的同步和完整性。這在高速信號傳輸和差分信號對設(shè)計中尤為重要。以下是一些具體原因:
1、時序的要求:
在高速信號傳輸中,如DDR、PCIe等,數(shù)據(jù)線和時鐘線之間的長度差異會導(dǎo)致信號的延時不同。如果走線長度不一致,信號到達的時間就會不同,可能會導(dǎo)致時鐘和數(shù)據(jù)不同步,造成數(shù)據(jù)錯誤。也就是說同步信號系統(tǒng)“有時鐘和數(shù)據(jù)”的系統(tǒng),需要滿足“建立時間”setup time和“保持時間” hold time。
比較早的一些SoC會給出各種時序參數(shù),讓工程師自己計算等長的要求,或者計算線長差的要求。
那么時鐘和信號線之間就會有延時差要求,現(xiàn)在很多IC已經(jīng)設(shè)計很好了,只需要保持時鐘和信號“等長”就可以。
2、同組信號的同步性
在一些對時序要求非常嚴(yán)格的系統(tǒng)中,所有信號需要在特定的時刻到達。如果走線長度不一致,會導(dǎo)致某些信號先到達,某些信號后到達,破壞了系統(tǒng)的時序要求。
對于有些總線來說,數(shù)據(jù)是一組數(shù)據(jù),地址,命令這些也是一組數(shù)據(jù),需要組間等長。
3、差分信號對:
對于差分信號對(如LVDS、USB、Ethernet等),兩條信號線之間必須保持等長,以確保差分對的信號在接收端保持相位一致。如果兩條線長度不一致,會導(dǎo)致信號相位偏移,影響信號傳輸?shù)馁|(zhì)量。
理想情況下,差分信號是正負(fù)對稱的,其共模份量為零或者只有直流份量,如圖所示。如果差分線的正負(fù)傳輸線長度不等,造成傳輸時間不一致,實際上就是信號在時間軸上的不對稱,在終端負(fù)載電阻上就能觀察到圖2所示的波形。顯然此時的正負(fù)波形不能嚴(yán)格對稱,差分電路中的正負(fù)電流無法抵消,于是其電源中就有共模電流份量在流動。
PCB設(shè)計:差分線
二、一些需要繞等長的信號
DDR 首先可以想到的就是DDR信號(DDR是最常見的源同步傳輸方式的信號之一),DDR中所有的控制線和地址線都是在CK上升沿與CK#下降沿的交叉處被采樣;而數(shù)據(jù)線與其對應(yīng)的DQS、DQS#(數(shù)據(jù)選通)信號同步。 DQS、DQS#為數(shù)據(jù)選通(鎖存)信號,雙沿有效,寫數(shù)據(jù)時輸入,信號沿與數(shù)據(jù)中心對齊;讀數(shù)據(jù)時輸出,信號沿與數(shù)據(jù)邊沿對齊。 以16bit DDR為例,其一共可以分為三組來做等長處理: 第一組:CLK/CLK#、地址線與所有的控制線 第二組:D0~D7、DQS0、DQM0 第三組:D8~D15、DQS1、DQM1 eMMC & SDIO 其次就是eMMC總線和SDIO總線,在這兩種總線中,DATA信號和CMD信號都是與CLK同步。 所以eMMC總線和SDIO總線中DATA信號、CMD信號和CLK信號需要一起做等長處理,支持HS400的eMMC總線還有DATA Strobe信號,也需要和數(shù)據(jù)線做等長。 RMII、GMII、RGMII、XGMII(MII) MII是媒體訪問控制(MAC)子層和物理層(PHY)之間的接口,從媒體獨立接口(Media Independent Interface)一文中我們可知,MII總線一般分為兩部分(Tx和Rx),TX數(shù)據(jù)線與TXCLK信號保持同步;RX數(shù)據(jù)線與RXCLK信號保持同步。 所以MII總線的等長處理可以分為兩組: 第一組:TXD[0:3]、TX_CLK 第二組:RXD[0:3]、RX_CLK 同理,RMII、GMII、RGMII、XGMII都需要分成兩組做等長處理。 HDMI 在HDMI 2.1之前,HDMI有三對差分?jǐn)?shù)據(jù)線和一對CLK信號,但是這組CLK信號只是作為參考信號,在接收端倍頻用于數(shù)據(jù)信號的采樣,傳輸時并不與數(shù)據(jù)信號同步。 所以在HDMI2.1之前,只要保證三對數(shù)據(jù)線繞等長即可(實際根據(jù)HDMI協(xié)議規(guī)定,HDMI 2.0的對間Skew可以允許最大2000mil,就算不繞等長也基本不會有問題)。 而對于HDMI 2.1,由于其采用了時鐘數(shù)據(jù)恢復(fù)技術(shù),不會存在時差,所以可以不用繞等長。
三、“等長”≠“等延時”
相同物理長度的兩段傳輸線如下圖所示,一段直線A,一段繞線B,A和B哪一段的延時會更大?
本文就和大家聊一聊平時咱們繞線的方式到底存在一些什么問題?為了完成這個問題的研究,特意做了一個測試板,設(shè)計了研究對象為10inch的傳輸線,一段做參考為直線(上),一段為繞線(下),如下圖所示:
一般,大家通常都會認(rèn)為,這樣已經(jīng)算等長了,而且是完全等長。但是,通過測量其傳輸特性,測量的結(jié)果如下圖所示,我們可以看到,其差異還是不小,相差了12.73ps(紅色圓圈),而且繞線比直線傳輸?shù)母臁?/p>
這12.7ps換算成物理長度,約為80mil。80mil的長度應(yīng)該是讓有經(jīng)驗的工程師嚇一跳,畢竟平時硬件工程師說:給我做好等長,誤差在2mil的時候都會跳起腳來大罵。當(dāng)然,我們這里做實驗設(shè)計的為10inch,通常很多布線都沒這么長,但是也有一些布線確實非常長的。但是,不管怎么樣,這個實驗都告訴了我們,物理等長,不等于實際設(shè)計就等長了。這也是為什么,近年來,業(yè)界一些廠商都提倡時序等長的原因。
這是為什么呢?原因就在于繞線之后,由于趨膚效應(yīng)和電磁場效應(yīng),信號都是在表面?zhèn)鬟f。為了解釋此現(xiàn)象,在ADS中設(shè)計了一段繞線,進行了電磁(EM)仿真,結(jié)果如下圖所示:
從上圖中,我們可以看到,在繞線的地方,都是在相對比較緊耦合處場電流密度比較大,呈紅色,在上方(與傳輸線平行)以及傳輸線的中心處,電流密度比較小,呈淺色,這就說明信號靠近邊沿處傳遞,這樣就導(dǎo)致了信號傳遞的“更加快速”,所用的時間更少(本來可以給大家放一張動態(tài)圖的,但是沒能做好,有機會的時候,再給大家show一下)。
而直線的仿真結(jié)果如下圖所示(長度太長,所以只截取一部分):
通過以上的分析即可說明,相同的物理長度,繞線的一段延時更小,這樣,我們就能回答前面提出來的問題了,顯然是A的延時更大(繞線更快)。
那么問題又來了,工程師在設(shè)計時遇到不“等長”的時候,如何做好設(shè)計呢?第一,把物理等長的觀念改為等時,不管繞線還是直線,需要的是傳輸延時是一樣的。有的PCB設(shè)計工具是可以使用時間來表示物理長度的;
第二,有時序關(guān)系的信號線,在設(shè)計時做到同進同出同設(shè)計,盡量減少繞線;
第三,如果某一段傳輸線確實要繞線,繞線的形狀大一點,波與波的距離大一點,或者繞的比直線更長一點,至于繞多長,我也不知道,還是請工程師進行下仿真吧(這就是為什么要進行后仿真了)。
這種繞線的研究,并不是說每一種總線設(shè)計都需要這樣做,對于一些低速信號、對時序沒有特別要求的信號或者對EMI沒有特殊要求的項目,工程師可以不用考慮。
評論