確保信號完整性的電路板設計準則
信號完整性 (SI) 問題解決得越早,設計的效率就越高,從而可避免在電路板設計完成之后才增加端接器件。 SI 設計規劃的工具和資源不少,本文探索信號完整性的核心議題以及解決 SI 問題的幾種方法,在此忽略設計過程的技術細節。
1 、 SI 問題的提出???
隨著 IC 輸出開關速度的提高,不管信號周期如何,幾乎所有設計都遇到了信號完整性問題。即使過去你沒有遇到 SI 問題,但是隨著電路工作頻率的提高,今后一定會遇到信號完整性問題。???
信號完整性問題主要指信號的過沖和阻尼振蕩現象,它們主要是 IC 驅動幅度和跳變時間的函數。也就是說,即使布線拓撲結構沒有變化,只要芯片速度變得足夠快,現有設計也將處于臨界狀態或者停止工作。我們用兩個實例來說明信號完整性設計是不可避免的。???
實例之一︰在通信領域,前沿的電信公司正為語音和數據交換生產高速電路板 ( 高于 500MHz) ,此時成本并不特別重要,因而可以盡量采用多層板。這樣的電路板可以實現充分接地并容易構成電源回路,也可以根據需要采用大量離散的端接器件,但是設計必須正確,不能處于臨界狀態。???
SI 和 EMC 專家在布線之前要進行仿真和計算,然后,電路板設計就可以遵循一系列非常嚴格的設計規則,在有疑問的地方,可以增加端接器件,從而獲得盡可能多的 SI 安全裕量。電路板實際工作過程中,總會出現一些問題,為此,通過采用可控阻抗端接線,可以避免出現 SI 問題。簡而言之,超標準設計可以解決 SI 問題。???
實例之二︰從成本上考慮,電路板通常限制在四層以內 ( 里面兩層分別是電源層和接地層 ) 。這極大限制了阻抗控制的作用。此外,布線層少將加劇串擾,同時信號線間距還必須最小以布放更多的印制線。另一方面,設計工程師必須采用最新和最好的 CPU 、內存和視頻總線設計,這些設計就必須考慮 SI 問題。???
關于布線、拓撲結構和端接方式,工程師通常可以從 CPU 制造商那里獲得大量建議,然而,這些設計指南還有必要與制造過程結合起來。在很大程度上,電路板設計師的工作比電信設計師的工作要困難,因為增加阻抗控制和端接器件的空間很小。此時要充分研究并解決那些不完整的信號,同時確保產品的設計期限。???
下面介紹設計過程通用的 SI 設計準則。???
2 、設計前的準備工作???
在設計開始之前,必須先行思考并確定設計策略,這樣才能指導諸如元器件的選擇、工藝選擇和電路板生產成本控制等工作。就 SI 而言,要預先進行調研以形成規劃或者設計準則,從而確保設計結果不出現明顯的 SI 問題、串擾或者時序問題。有些設計準則可以由 IC 制造商提供,然而,芯片供貨商提供的準則 ( 或者你自己設計的準則 ) 存在一定的局限性,按照這樣的準則可能根本設計不了滿足 SI 要求的電路板。如果設計規則很容易,也就不需要設計工程師了。???
在實際布線之前,首先要解決下列問題,在多數情況下,這些問題會影響你正在設計 ( 或者正在考慮設計 ) 的電路板,如果電路板的數量很大,這項工作就是有價值的。???
3 、電路板的層疊???
某些項目組對 PCB 層數的確定有很大的自主權,而另外一些項目組卻沒有這種自主權,因此,了解你所處的位置很重要。與制造和成本分析工程師交流可以確定電路板的層疊誤差,這時還是發現電路板制造公差的良機。比如,如果你指定某一層是 50 Ω阻抗控制,制造商怎樣測量并確保這個數值呢????
其它的重要問題包括︰預期的制造公差是多少?在電路板上預期的絕緣常數是多少?線寬和間距的允許誤差是多少?接地層和信號層的厚度和間距的允許誤差是多少?所有這些信息可以在預布線階段使用。???
根據上述數據,你就可以選擇層疊了。注意,幾乎每一個插入其它電路板或者背板的 PCB 都有厚度要求,而且多數電路板制造商對其可制造的不同類型的層有固定的厚度要求,這將會極大地約束最終層疊的數目。你可能很想與制造商緊密合作來定義層疊的數目。應該采用阻抗控制工具為不同層生成目標阻抗范圍,務必要考慮到制造商提供的制造允許誤差和鄰近布線的影響。
在信號完整的理想情況下,所有高速節點應該布線在阻抗控制內層 ( 例如帶狀線 ) ,但是實際上,工程師必須經常使用外層進行所有或者部分高速節點的布線。要使 SI 最佳并保持電路板去耦,就應該盡可能將接地層 / 電源層成對布放。如果只能有一對接地層 / 電源層,你就只有將就了。如果根本就沒有電源層,根據定義你可能會遇到 SI 問題。你還可能遇到這樣的情況,即在未定義信號的返回通路之前很難仿真或者仿真電路板的性能。???
4 、串擾和阻抗控制???
來自鄰近信號線的耦合將導致串擾并改變信號線的阻抗。相鄰平行信號線的耦合分析可能決定信號線之間或者各類信號線之間的“安全”或預期間距 ( 或者平行布線長度 ) 。比如,欲將時鐘到數據信號節點的串擾限制在 100mV 以內,卻要信號走線保持平行,你就可以通過計算或仿真,找到在任何給定布線層上信號之間的最小允許間距。同時,如果設計中包含阻抗重要的節點 ( 或者是時鐘或者專用高速內存架構 ) ,你就必須將布線放置在一層 ( 或若干層 ) 上以得到想要的阻抗。???
5 、重要的高速節點???
延遲和時滯是時鐘布線必須考慮的關鍵因素。因為時序要求嚴格,這種節點通常必須采用端接器件才能達到最佳 SI 質量。要預先確定這些節點,同時將調節元器件放置和布線所需要的時間加以計劃,以便調整信號完整性設計的指針。???
6 、技術選擇???
不同的驅動技術適于不同的任務。信號是點對點的還是一點對多抽頭的?信號是從電路板輸出還是留在相同的電路板上?允許的時滯和噪聲裕量是多少?作為信號完整性設計的通用準則,轉換速度越慢,信號完整性越好。 50MHz 時鐘采用 500ps 上升時間是沒有理由的。一個 2-3ns 的擺率控制器件速度要足夠快,才能保證 SI 的品質,并有助于解決象輸出同步交換 (SSO) 和電磁兼容 (EMC) 等問題。???
在新型 FPGA 可編程技術或者用戶定義 ASIC 中,可以找到驅動技術的優越性。采用這些定制 ( 或者半定制 ) 器件,你就有很大的余地選定驅動幅度和速度。設計初期,要滿足 FPGA( 或 ASIC) 設計時間的要求并確定恰當的輸出選擇,如果可能的話,還要包括引腳選擇。
在這個設計階段,要從 IC 供貨商那里獲得合適的仿真模型。為了有效的覆蓋 SI 仿真,你將需要一個 SI 仿真程序和相應的仿真模型 ( 可能是 IBIS 模型 ) 。???
最后,在預布線和布線階段你應該建立一系列設計指南,它們包括︰目標層阻抗、布線間距、傾向采用的器件工藝、重要節點拓撲和端接規劃。???
7 、預布線階段???
預布線 SI 規劃的基本過程是首先定義輸入參數范圍 ( 驅動幅度、阻抗、跟蹤速度 ) 和可能的拓撲范圍 ( 最小 / 最大長度、短線長度等 ) ,然后運行每一個可能的仿真組合,分析時序和 SI 仿真結果,最后找到可以接受的數值范圍。
接著,將工作范圍解釋為 PCB 布線的布線約束條件。可以采用不同軟件工具執行這種類型的“清掃”準備工作,布線程序能夠自動處理這類布線約束條件。對多數用戶而言,時序信息實際上比 SI 結果更為重要,互連仿真的結果可以改變布線,從而調整信號通路的時序。???
在其它應用中,這個過程可以用來確定與系統時序指針不兼容的引腳或者器件的布局。此時,有可能完全確定需要手工布線的節點或者不需要端接的節點。對于可編程器件和 ASIC 來說,此時還可以調整輸出驅動的選擇,以便改進 SI 設計或避免采用離散端接器件。
?