在硬件設計過程中,在很多高速串行信號中,都會使用到AC耦合電容,既然在設計高速串行電路時,任何一個小小的不同都會引起信號完整性問題,爲什麼要在串行鏈路中加入一個AC耦合電容呢?這個電容不僅會導致信號邊沿變得緩慢,還有可能會引起阻抗不連續。如下:
圖1 USB3.0接口信號中TX信號的0.1uF電容
圖2 PCIe接口信號中TX信號的0.1uF電容
圖3 mSata接口信號中RX、TX信號的0.01uF電容
而常見的低速信號如232和LPC等卻沒有AC耦合電容的加入,如下:
圖4 UART、LPC接口信號中無電容
這個問題主要從以下幾個方面進行分析:
1、爲什麼要在鏈路中加入一個AC耦合電容呢?
最開始要先明白AC耦合電容的作用。
-
1, source和sink端DC不同,所以隔直流;
-
2, 信號傳輸時可能會串擾進去直流分量,所以隔直流使信號眼圖更好;
-
3, AC耦合電容還可以提供直流偏壓和過流的保護。說到底:AC耦合電容的作用就是提供直流偏壓,濾除信號的直流分量,使信號關於0軸對稱。
-
4, 增加AC耦合電容肯定是使兩級之間更好的通信,可以改善噪聲容限。
那麼怎麼改善噪聲容限?
我們有時候可能在選擇電容時會選擇小電容,覺得這樣可能會將直流成分濾的更乾淨,但是這樣會導致信號變形並且引起基線漂移。如果選擇較大的電容,電容端的電壓穩定的時間需要的比較長,原來一個小小的電容要求有這麼多,那我們應該如何來選擇這個電容呢?首先要看電容的頻率、溫度等特性並且選擇低ESR/ESL的電容。對於電容值的選擇是要通過計算來選的,如下所示:
這裏的F是截止頻率(定義電壓爲輸入電壓的0.707倍時的頻率),R是傳輸線的阻抗,C是AC耦合電容。
當然在選擇電容時,其通帶的最小頻率要比傳輸信號的最小頻率要小纔好,假設信號的最小頻率爲Fmin,則頻率值爲F:
F=Fmin/20
當取值爲F時,99.88%的信號均會通過。
前面介紹了,雖然AC耦合電容有其好處,也會導致邊沿變緩慢,放置AC耦合電容時,會引起阻抗的變化,就存在一個阻抗不連續點。同時,也會引入碼型相關抖動,即當電路傳輸的信號中出現連續的“1”或“0”時,會出現下圖所示的直流電平壓降,這就會影響眼高。
如何才能減小這個直流壓降降低呢?
這和RC時間常數有關,RC值越大(充電時間越長,單位時間電容充電少,分壓小),能通過的直流分量就越多直流壓降越小。由於鏈路中等效電阻是相對固定的,只能調節耦合電容值了。如下圖所示電容值越大,壓降越小。
曲線說明:紫色的電容值最大,紅色的電容值次之,粉色的電容值最小。
那我們就把電容無限加大吧!
答案是:No,不行!因爲,實際安裝後的電容不是理想電容,除了ESR,ESL,還有安裝電感,所以就存在一個串聯諧振頻率。電容在串聯諧振頻率之前呈容性,之後呈感性。如下圖所示:
電容值越大,諧振頻率越小,電容在較低頻率就會呈現感性,這樣會造成信號高頻分量衰減增大,同樣會使眼高減小,上升沿變緩,jitter增加。
所以選擇AC耦合電容時要綜合以上兩點考量,一般業界都推薦0.01uF~0.2uF,最常見的就是0.1uF的電容。對於電容封裝的選擇不建議使用大於0603的封裝,最好是0402的,或者更小。
2、鏈路中AC耦合電容放置的位置?
一般來講,我們用AC耦合電容來提供直流偏壓,就是濾出信號的直流分量,使信號關於0軸對稱。既然是這個作用,那麼這顆電容是不是可以放在通道的任何位置呢?
這裏拿一個常遇到典型的通路來分析。
圖1:AC耦合電容典型通路
在低速電路設計中,這顆電容可以等效成理想電容。而在高頻電路中,由於寄生電感的存在以及板材造成的阻抗不連續性,實際上這顆電容不能看作是理想電容。這裏信號頻率2.5G,通道長度4000mil,AC耦合電容的位置分別在距離發送端和接收端200mil的位置。我們看一下仿真出的眼圖的變化。
圖2:AC耦合電容靠近發送端的眼圖
圖3:AC耦合電容靠近接收端的眼圖
顯然,這顆AC耦合電容靠近接收端的時候信號的完整性要好於放在發送端。我的理解是這樣的,非理想電容器阻抗不連續,信號經過通道衰減後反射的能量會小於直接反射的能量,所以絕大多數串行鏈路要求這顆AC耦合電容放在接收端。但也有例外,筆者之前做板對板連接時遇到過這個問題,查PCIE規範發現如果是兩個板通常放置在發送端上,此時還利用到了AC耦合電容的另外一個作用——過壓保護。比如說SATA,所以通常要求靠近連接器放置。
解決了放置的問題,另一個困擾大家的就是容值的選取了。這樣說,我們的整個串行鏈路等效出的電阻R是固定的,那麼AC耦合電容C的選取將會關係到時間常數(RC),RC越大,過的直流分量越大,直流壓降越低。既然這樣,AC耦合電容可以無限增大嗎?顯然是不行的。
圖4:AC耦合電容增大後測量到的眼圖
同樣的位置,與圖3相比可以看出增大耦合電容後,眼高變低。原因是“高速”使電容變的不理想。感應電感會產生串聯諧振,容值越大,諧振頻率越低,AC耦合電容在低頻情況下呈感性,因此高頻分量衰減增大,眼高變小,上升沿變緩,相應的JITTER也會增大。通常建議AC耦合電容在0.01uf~0.2uf之間,項目中0.1uf比較常見。推薦使用0402的封裝。
最後,解決了以上兩個問題,再從PCB設計上分析一下這顆電容的優化設計。實際在項目中,與AC耦合電容的位置、容值大小這些可見因素相比,更加難以捉摸的是板材本身(包括焊盤的精度、銅箔的均勻度等)以及焊盤處的寄生電容對信號完整性的影響。我們知道,高頻信號必須沿着有均勻特徵阻抗的路徑傳播,如果遇到阻抗失配或者不連續的情況時,部分信號會被反射回發射端,造成信號的衰減,影響信號的完整性。項目中,這種情況通常會出現在焊盤或者是板載連接器處。筆者最初涉及的高速電路設計時,經常遇到這個問題。
解決這個問題要從兩個方面入手。首先在板材的選取上,我們在應用中通常選用高性能的ROGERS板材,羅傑斯的板材在銅箔厚度的控制上非常精確,均勻的銅箔覆蓋大大降低了阻抗的不連續性;然後在消除焊盤處的寄生電容上,業內常見的辦法是在焊盤處做隔層處理(挖空位於焊盤正下方的參考平面區域,在內層創建銅填充),通過增大焊盤與其參考平面(或者是返回路徑)之間的距離,減小電容的不連續性。在筆者的項目中多采用介質均勻、銅箔寬度控制精確的ROGERS板材也有效提高了焊盤的加工精度。
通過仿真對比一下ROGERS板材做精確隔層處理前後的信號完整性。
圖5:做隔層處理前的TDR
圖6:做隔層處理後的TDR
圖5圖6對比,發現未處理之前阻抗的跳躍很明顯,隔層處理後的阻抗改善很多,幾乎沒有任何階躍與不連續。
圖7:做隔層處理前的回波損耗
圖8:做隔層處理後的回波損耗
圖7圖8對比,在用ROGERS板材做隔層處理之後,相比未做隔層處理回波損耗下降到-30dB之內,大大降低了回波損耗,保證了信號傳輸的完整。
綜上,做個總結:
- 第一,一些協議或者手冊會提供設計要求,我們按照design guideline
要求放置。(分析:一般來講AC耦合電容的位置和容值大小都是由信號的協議或者芯片供應商去提供,對於不同信號和不同芯片,其位置和容值大小都是不一樣的。比如PCIE信號要求AC耦合電容靠近通道的發送端,SATA信號要求AC耦合電容靠近連接器處,對於10GBASE-KR信號要求AC耦合電容靠近信號通道的接收端。)。
如果第一沒有我們執行第二條。
- 第二,如果是IC 到IC,請靠近接收端放置。
(分析一,電容看成一個阻抗不連續點(所以要求儘量跟傳輸線匹配),如果靠近接收端放,相同的反射係數下,信號經過通道衰減之後再反射會比一開始就反射的能量小。所以大多數的串行鏈路都要求靠接收端放;分析二,在信號傳輸過程中,也可能串擾進去一些直流分量,導致接收出問題,所以靠近接收端。分析三,經過AD仿真也發現放在接收端眼圖質量效果更好)
如果是第三種情況,請執行第三條。
- 第三:如果是IC 到連接器,請靠近連接器放置。
(分析:我們知道AC耦合電容還有另外一個作用,就是提供過電壓和過流的保護。那麼在有連接器的情況下,剛好就起到了這個作用。所以更多的要求是靠近連接器放) - 最最後,總結一下ac 耦合電容擺放注意事項:
1,按照design guideline 要求放置
2,沒有guideline,如果是IC 到IC,請靠近接收端放置
3,如果是IC 到連接器,請靠近連接器放置
4,儘可能選擇小的封裝尺寸,減小阻抗不連續
那AC耦合電容在PCB設計時需要注意什麼?
萬變不離基礎原理。AC耦合電容一般是高速信號阻抗不連續的點,圍繞這個問題解決即是它設計上的注意點。比如AC耦合電容優化,比如高速板材的選取等等。
3、特別說明:
- 1、在SATA 信號傳輸的過程中會有衰減,傳的距離越長衰減會越厲害,所以會給他一個載波(也就是直流分量),在進入IC 或者SATA device 後再用串電容的方法把直流分量濾掉,這樣做會有比較好的信號質量,也就是隔直作用。
- 2、PCIE 放在發送端是協議規定的, 記得放在近端TX 是給detector 做充電檢測device 用的。
- 3、有人又問了,可是爲什麼PCIE 是要求放發送端啊?其實仔細看PCIE 規範是說如果是兩塊板連接時,要發在發送的那塊板上。如果發送接收在同一塊板上,那麼就隨意吧