在科技高速發展的當今世界,隨著電子技術和集成電路技術的不斷進步,半導體工藝的迅猛發展以及人們對信息高速化、寬帶化的需求,高速電路設計已經成為電子產品開發的一個必不可少的環節。
如果想設計出一款高端產品,就意味著需要不斷地挑戰電子設計的各種極限。不論你是PCB工程師、系統工程師,還是芯片設計工程師,都面臨著信號完整性——當今高速電子設計的一大挑戰。如何高效地設計高速接口電路如DDR4、PCI Express、40G比特以太網接口或者SerDes接口?如何在設計過程中得到可預見的誤碼率和減少電磁干擾和串擾?如何處理由高速信號互連線引起的反射、串擾、開關噪聲等信號完整性問題,確保信號傳輸的質量?這些都不是簡單的工作。
高速設計有何特別?
所謂能力越大,責任越大。高速設計在電子設計領域也帶來了自己獨特的挑戰。多年來,高頻信號設計部分的增加與電子系統性能的不斷提高緊密相連。隨著系統性能的提高,PCB設計師的挑戰開始加劇。芯片越來越小,電路板布局越來越密集,我們也在不斷尋求提供最低功耗的芯片。隨著所有這些技術的快速發展,高速設計作為優秀高性能產品設計的核心,包括其所有的復雜性和解決方案便應運而生。
過去30年來PCB設計發生了很大的變化。 1987年,我們認為0.5微米技術是全能的,但是今天我們發現22nm技術是常見的。 1985年推出的在當時代表主流設計復雜度的邊緣速率(通常為30ns)與今天的邊緣速率(1ns)相比簡直是小巫見大巫,如下圖所示:
當涉及到高速電路設計的時候,電路的布局布線工作將不再是簡單地快速連線或者為滿足產品的外形尺寸去簡單的布局。工程師需要事先規劃每個處理器、內存模塊和連接器的位置,并仔細確定它們之間的高速互連設計。完善的高速設計意味著在設計之初就制定好電路的約束和規范。確保電路板上的所有信號完美地進行傳輸,并最大限度地降低信號相互之間的干擾。那么這里就要提到一個專業名詞信號完整性(SI)。SI就是確保瞬時跳變的數字信號通過較長的一段傳輸線后,在接收端仍能完整地被正確接收,并保證良好的電磁兼容性。SI主要涉及到延遲、反射、串擾、時序、端接策略、電流回路等問題。
信號完整性問題產生的根源:
-
數字信號開關速度不斷提高,上升沿變快,造成的信號反射、過沖、振鈴和串擾
-
信號的幅度不斷降低,信號/噪聲比越來越小
-
信號速度的提高
-
信號在傳輸線上的傳輸延遲
信號完整性主要問題表現:
-
信號反射:
如果一根走線沒有被正確終結(終端匹配),那么來自于驅動端的信號脈沖在接收端被反射,從而引發不預期效應,使信號輪廓失真。
信號反射產生原因:
-
過長的走線
-
未被匹配終結的傳輸線
-
過量電容或電感,以及阻抗失配
2. 過沖與下沖
雖然大多數元件接收端都有輸入保護二極管保護, 但有時這些過沖電平會遠遠超過元件電源電壓范圍,損壞元器件。
過沖與下沖產生的原因:
-
過長的走線
-
信號變化太快
3. 振鈴(Ringing)
信號的振蕩發生在邏輯電平門限附近,多次跨越邏輯電平門限從而導致邏輯功能紊亂。信號如果在傳輸線上來回反射,就會產生振鈴。
4. 時鐘偏移(Clock Skew)
時鐘偏移(Skew)是指不同的接收設備接收到同一時鐘驅動輸出之間的時間差。對于參考時鐘而言,時鐘偏移有正延時和 負延時之分。時鐘偏移可引起有效時鐘周期的減小。
產生的原因:
-
由不同時鐘路徑的延時或驅動器件不同驅動門之間的時差所造成
-
由于接收端之間的閾值不同、負載電容不同、信號質量的差異所造成
5. 串擾
串擾是指兩個不同的電性能網絡之間的相互作用。產生串擾(crosstalk) 的一方被稱作Aggressor,而收到干擾的一方被稱作Victim。通常,一個網絡既是入侵者,又是受害者。串擾會導致誤觸發。
-
串擾是由同一個PCB板上的兩條信號線之間互容和互感的容性耦合和感性耦合引起線上的噪聲。容性耦合引發耦合電流,而感性耦合引發耦合電壓。
-
影響串擾的因素:PCB板層的參數(厚度,介電常數)等、信號線間距、線端接方式等。
-
易產生串擾的信號:異步信號和時鐘信號
串擾的解決方法?
信號線距離地線越近,線間距越大,產生的串擾信號就越小。因此解決串擾的方法是移開發生串擾的信號或屏蔽被嚴重干擾 的信號(包地)。
6. 電磁輻射
EMI所產生的問題包括過量的電磁輻射及對電磁輻射的敏感性兩個方面。當數字系統加電運行時,會向周圍環境輻射電磁波, 從而干擾周圍環境中電子設備的正常工作。
電磁輻射產生的主要原因:
-
電路頻率太高
-
布局布線不合理,包括特性阻抗控制、線寬控制
高速設計的解決方案
針對上述高速設計中有關信號完整性方面常見的問題,在進行具體的設計過程中都有哪些解決方案?
-
PCB分層設計
PCB的疊層結構設計是進行信號完整性的分析的基礎, 建議采用多層設計,設計的一般原則如下:
-
元件面的下層為地平面,以提供器件屏蔽層和為頂層布線提供參考平面
-
所有信號層盡可能與地平面相鄰
-
盡量避免兩信號層直接相鄰
-
主電源盡量與對應地相鄰
-
兼顧層壓結構對稱
-
關鍵信號與地平面相鄰,不跨分割區
如上圖所示,對于多層板,關鍵布線層(時鐘線、總線、接口信號線、射頻線、復位信號線、片選信號線以及各種控制信號 線等所在層)應與完整地平面相鄰,優選兩地平面之間。因為,關鍵信號線一般都是強輻射或極其敏感的信號線,靠近地平面布線能夠使其信號回路面積減小,減小其輻射 強度或提高抗干擾能力。
另外,多層板中,電源平面應相對于其相鄰地平面內縮(建議值5H~20H)。 如下圖所示,電源平面相對于其回流地平面內縮可以有效抑制“邊緣輻射”問題。
-
PCB布局設計
PCB布局設計時,應充分遵守沿信號流向直線放置的設計原則,盡量避免來回環繞。避免信號直接耦合,影響信號質量。
多種模塊電路在同一PCB上放置時,數字電路與模擬電路、高速與低速電路應分開布局。避免數字電路、模擬電路、高速電路以及低速電路之間的互相干擾。
當線路板上同時存在高、中、低速電路時,應該遵從下圖中的布局原則。避免高頻電路噪聲通過接口向外輻射。
存在較大電流變化的單元電路或器件(如電源模塊的輸入輸出端、風扇及繼電器)附近應放 置儲能和高頻濾波電容。儲能電容的存在可以減小大電流回路的回路面積。
線路板電源輸入口的濾波電路應應靠近接口放置。避免已經經過了濾波的線路被再次耦合。
在PCB板上,接口電路的濾波、防護以及隔離器件應該靠近接口放置。可以有效的實現防護、濾波和隔離的效果。
-
PCB布線設計
普通走線要注意的地方
-
PCB走線需要避免直角走線。直角走線導致阻抗不連續,導致信號發射,從而產生振鈴或過沖,形成強烈的EMI輻射。
-
PCB走線特別是時鐘線與總線的粗細應保持一致。粗細不一致時,走線阻抗會發生突變, 導致如同前頁中的問題。
3W原則
為了減少線間串擾,應保證線間距足夠大,當線中心間距不少于3倍線寬時,則可保持70%的電場不互相干擾,稱為3W規 則。如要達到98%的電場不互相干擾,可使用10W的間距。時鐘、總線、射頻線等關鍵信號走線和其他同層平行走線應盡量滿足3W原則。避免信號之間的串擾。
差分對布線(Differential Pairs)
差分信號就是利用兩根線分別傳輸正信號和負信號,接收端根據兩根線的差值就能判定接收到的比特,差分信號能夠極大緩解遠距高速通信的共模信號偏移問題。成對的布線,信號相反,由于干擾對兩根走線影響相同,增強了抗干擾能力。良好的差分對應當距離足夠近,并且具有一定的絞合度以抵消空間電(磁)場的影響。所以在布線中盡量保持等長,等寬且緊密靠近。所謂盡量靠近且平行是因為間距會影響到差分阻抗(differential impedance)的值, 此值是設計差分對的重要參數。若兩線忽遠忽近, 差分阻抗就會不一致, 就會影響信號完整性(signal integrity)及時間延遲(timing delay)。
在Alitum Designer中,可以在原理圖設計階段就定義差分對信號。如下圖所示。
當原理圖導入到PCB時,其設計規則設置同樣一起導入到PCB design rule里。然后在PCB中進行差分對布線。如下圖。
From-Tos 布線
From-To主要是用來定義多節點網絡上的pin-to-pin管腳之間的布線長度。通過這種方式,我們可以控制一個網絡上某個特定管腳到另一個特定管腳之間的走線長度,以及對應的信號傳輸延遲。這項設置主要在PCB設計中進行。
對于多節點網絡,我們需要對每個重要的驅動端-接收端的管腳對創建這些From-To對象。對于多節點網絡中這些驅動端到接收端的多組From-To對象來說,最主要的目的是要控制對節點網絡中每組信號(從驅動端某管腳到接收端另一管腳)的飛行時間。該飛行時間是指信號從驅動端傳輸到接收端,并達到一定的電平之間的延時。和傳輸延遲和上升時間有關。這種情況下,需要在每組驅動端到接收端進行網絡分段控制(靜態時序)。From-To用來進行多節點分段控制的方法在高速設計中,對保持信號完整性非常重要。如下圖所示為From-To用于多節點網絡中各組信號傳輸的時序考慮的例子。參考http://publish-it-online.com/publication/?i=49146 第26頁。
阻抗布線(Impedance control)
阻抗控制在高速PCB設計中是非常重要的。俗話說的好,工欲善其事,必先利其器。要想板子利索的跑起來,傳輸線阻抗計算肯定不能等閑視之。
在高速設計流程里,疊層設計和阻抗計算是必須要認真考慮的。基于精確的疊層結構設計,AItiumDesigner建立了標準的PCB微帶線和帶狀線模型,由此可以通過設計目標阻抗來自動控制所需的走線寬度,避免在換層走線時重新計算線寬,再人工改變走線寬度的繁瑣。如下圖所示。
阻抗計算方法很成熟,除了Altium Designer中內置的阻抗計算功能之外,由于更多高速設計特定的要求不同,設計師還可以輔助外部的專門計算阻抗的軟件來計算,并綜合考慮。比如Polar Instruments的SI8000,SI9000,或Freeware的TNT-MMTL都可以。不同的軟件計算的差別很小。
阻抗的計算是相對比較繁瑣的,但我們可以總結一些經驗值幫助提高計算效率。對于常用的FR4,50ohm的微帶線,線寬一般等于介質厚度的2倍;50ohm的帶狀線,線寬等于兩平面間介質總厚度的二分之一,這可以幫我們快速鎖定線寬范圍。
除了提升計算效率,我們還要提高計算精度。因為阻抗控制跟制造板廠的關系也很大。由于加工工藝不同,材料介電系數差異等情況,阻抗設計需要設計師與PCB制造板廠共同協作,根據經驗調整,才能對阻抗有一個理想的控制。
長度調整走線(Length Tuning)
匹配走線長度保證了時間敏感信號同時到達目標引腳。在不違反設計規則的前提下,通過對網絡走線中增加蛇形線等方式,能夠動態優化和控制網絡或差分對走線長度。走線長度調整一般是為了控制時序。
比如等長線是為了減少信號相對延時,常用在高速存儲器的地址和數據線上。簡單來說:等長線的作用,就是讓信號傳輸的速度一致。I2C總線無需畫等長線,雖然I2C信號與內存一樣都是有相對時序要求,但由于信號頻率較低,此時由導線長度引起的延時不足以影響正常時序,所以無需等長。當然如果等長也沒什么不好的。差分線也一樣,高速信號要注意等長。差分線在等長布線時要保證2根線等距平行。
走線長度調整有多種應用。比如:
點對點網絡走線長度調整。如下圖所示。
差分對走線長度調整(差分對內部兩個網絡之間走線等長,以及兩對差分對之間走線等長)。如下圖所示。
封裝內管腳延遲所需要的長度調整。 比如大型BGA器件內部到器件引腳的信號走線長度,通常沒有進行匹配,而且各引腳的信號走線都不相同。這些芯片內部的引腳走線數據可以從芯片的數據手冊拿到。而我們這里所講的長度匹配,就是在芯片外部進行PCB設計走線的時候,進行長度調整,來匹配芯片內部到引腳的走線部分,進行相應的延時補償。如下圖所示。
Xsignal
在高速布線設計時,網絡的布線拓撲結構是根據這個網絡的腳對腳(pin-to-pin)連接方式來安排的。默認情況下網絡的 pin-to-pin 連接方式是按照最小長度定義的。網絡拓撲結構的選擇有多種原因:
-
在高速設計中,我們要盡可能地減少信號的反射現象,所以一般選擇菊花鏈形式的網絡拓撲結構;
-
對于地網絡,星形拓撲結構可以保障所有電流回到一個共同的公共點。
-
DDR2(某些情況下的DDR3),可采用平衡T(balanced-T)或支路匹配(branch matched)的拓撲結構。
-
DDR3和DDR4 中引入了飛越(fly-by)拓撲結構。在fly-by拓撲結構下,地址/控制線/時鐘信號從一個SDRAM到下一個之間依次布線,這種方式可以消除反射干擾。
所以,XSignal實際上是指設計師定義的兩個節點之間的信號路徑。可以是同一個網絡中的兩個節點,也可以是相關的網絡之間(由一器件分隔開來)的兩個節點。一旦節點對被確定,即可通過相關的設計規則來設置它們的長度以及需要匹配的長度。在信號長度規則中使用 XSignal (pin pairing) ,實現每個支路不同的延時補償。
如上圖所示,Altium Designer可以自動根據XSignal Wizard簡單快捷地生成XSignal,并對其進行相應的規則設置來進行高速布線。
如上圖所示,采用XSignal對DDR4的連接方式進行配置。在長度規則中使用 xSignals (Pin Pairs),并調整每個pin-pair 的長度達到延時要求。從金手指到第一個器件之間的總線連接長度必須相等。
-
以太網
+關注
關注
40文章
5455瀏覽量
172290 -
信號完整性
+關注
關注
68文章
1413瀏覽量
95559 -
高速設計
+關注
關注
0文章
23瀏覽量
11433
發布評論請先 登錄
相關推薦
評論