信號完整性研究

信號完整性研究

默認分類 2009-09-17 01:35:03 閱讀102 評論0 字型大小:大中小

多年前,在我開始研究信號完整性問題時也曾經有過這樣的疑問,隨著對信號完整性理解的深入,便沒有再仔細考慮。後來在產品開發過程中,朋友、同事經常向我提出這一問題。有些公司製作複雜電路板時,硬體總也調不通,於是找到我,當我解決了問題,並告訴他們,原因就在於沒有處理好信號完整性設計,負責開發的硬體工程師也會提出同樣的問題。他們通常的說法是:高速電路中會有問題,可是什麼情況下必須進行專門的信號完整性設計?

不斷的有人問我,我不得不作更深入的思考。說實話,這個問題很難回答,或者說他們這種問法很難回答。他們的意思可以解釋為,速度高了就要考慮信號完整性,低速板不存在這個問題,那總要有個臨界頻率,這個頻率是多少?有人曾提出過這樣的論點,當外部匯流排頻率超過80MHz時,就要進行專門的分析設計,低於這一頻率,不用考慮信號完整性問題。對這一論點,我不敢苟同。仔細分析,他們這種問法的背後是對信號完整性的一種誤解。

如果必須有一個答案的話,我想答案應該是:只要信號畸變到了無法容忍的程度就要考慮信號完整性問題。呵呵,看起來像是在胡說八道,不過這確實是能找到的最好的答案了。

要想弄清這個問題,必須先了解信號完整性的實質到底是什麼。產生信號完整性的原因很多,頻率(值得推敲,暫且借用提問者的說法)只不過是其中的一個而已,怎麼能單單用頻率來強行地劃分界線!順便說一句,很多人說頻率的影響,其實這個詞很值得推敲。頻率到底指的是哪個部分的頻率?電路板上有主時鐘頻率,晶元內部主頻,外部匯流排帶寬,數字信號波形帶寬,電磁輻射頻率,影響信號完整性的頻率到底指的是哪一個?問題根源在於信號上升時間。如果你不是很理解,可以到於博士信號完整性研究網學習。

信號完整性最原始的含義應該是:信號是否能保持其應該具有的波形。很多因素都會導致信號波形的畸變,如果畸變較小,對於電路板不會產生影響,可是如果畸變很大,就可能影響電路的功能。系統頻率(晶元內部主頻以及外部頻率)、電磁干擾、電源波紋雜訊,數字器件開關雜訊、系統熱雜訊等都會對信號產生影響,頻率並不具有特殊的地位,你不能把所有的注意力都放在頻率這個因素上。

那麼這裡又會出現另一個問題,波形畸變多大,會對電路板功能產生影響。這沒有確定統一的指標,和具體應用以及電路板的其他電氣指標有關。對於數字信號而言,對畸變的容忍度較大。能有多大的容忍度,還要考慮電路板上的電源系統供電電壓波紋有多大,系統的雜訊餘量有多大,所用器件對於信號建立時間和保持時間的要求是多少等等。對於模擬信號,相對比較敏感,容忍度較小,至於能容忍多大的畸變,和系統雜訊,器件非線性特性,電源質量等等有關。

是不是聽起來很晦澀!確實,要說清楚這個問題並不容易,因為牽扯到了太多的因素在內。下面這個數字信號波形的例子能讓你有一個簡單直觀的理解。

這是一個受反射影響的方波數字信號,波形的畸變僅僅是反射的結果,沒有迭加其他雜訊。假設低電平邏輯小於0.7v,高電平大於2v。對於高電平來說,震蕩的低谷部分可能會衝到2v以下,此時電路處於不定態,可能引起電路誤動作。所以,迭加在高電平上的波紋幅度不能太大。由於電路存在雜訊,電源也有波紋,這些最終都會迭加到信號波形上,所以你計算波紋幅度的時候要考慮這些因素,而這些因素和你的電路板其他部分設計有關。所以你無法確定一個統一的畸變標準,只能根據你具體電路的設計和應用綜合考慮。最終的原則只有一個:通過信號完整性設計、電源完整完整性設計等手段,將總的信號畸變控制在一定範圍內,保證電路板正常穩定工作。

工程中,解決信號完整性的問題是一個系統的工程,並不是一兩種方法就可以包打天下的。什麼時候會碰到信號完整性問題也不是可以硬性的劃一道線來區分,一句話,要根據你的實際情況來定。

可能你會感覺,這麼多不確定的因素,還怎麼在最初設計的時候考慮信號完整性問題?嗯,沒問題的,其實對於所有影響信號質量的因素,你都可以通過一定的設計技術來控制。對於電源波紋問題,那是電源完整性的問題,又是一個系統的工程。而其他的電磁干擾,電磁兼容等則是另外一個系統工程。

總之,信號完整性問題涉及的知識較多,是一個跨學科的知識體系。網上關於信號完整性基礎知識講解很多,但很少有講得很深入的。要想學好信號完整性,你需要有一定的精力投入,但可以告訴你,只要掌握學習方法,其實不難。一旦你學好它,回報是非常高的,畢竟這方面的人才現在是奇缺阿,很多公司給信號完整性工程師開價都在25W以上,如果你很牛的話,呵呵,決不是這個價。

好了,廢話就不多說了。對於信號完整性技術問題,我會在於博士信號完整性研究網的博士講壇欄目進行深入探討。

1:地彈

所謂「地彈」,是指晶元內部「地」電平相對於電路板「地」電平的變化現象。以電路板「地」為參考,就像是晶元內部的「地」電平不斷的跳動,因此形象的稱之為地彈(ground bounce)。當器件輸出端有一個狀態跳變到另一個狀態時,地彈現象會導致器件邏輯輸入端產生毛刺。

那麼「地彈」是如何產生的呢?

首先我們要明白,對於任何封裝的晶元,其引腳會存在電感電容等寄生參數。而地彈正是由於引腳上的電感引起的。

我們可以用下圖來直觀的解釋一下。圖中開關Q的不同位置代表了輸出的「0」「1」兩種狀態。假定由於電路狀態裝換,開關Q接通RL低電平,負載電容對地放電,隨著負載電容電壓下降,它積累的電荷流向地,在接地迴路上形成一個大的電流浪涌。隨著放電電流建立然後衰減,這一電流變化作用於接地引腳的電感LG,這樣在晶元外的電路板「地」與晶元內的地之間,會形成一定的電壓差,如圖中VG。這種由於輸出轉換引起的晶元內部參考地電位漂移就是地彈。

晶元A的輸出變化,產生地彈。這對晶元A的輸入邏輯是有影響的。接收邏輯把輸入電壓和晶元內部的地電壓差分比較確定輸入,因此從接收邏輯來看就象輸入信號本身疊加了一個與地彈雜訊相同的雜訊。

現在,集成電路的規模越來越大,開關速度不斷提高,地彈雜訊如果控制不好就會影響電路的功能,因此有必要深入理解地彈的概念並研究它的規律。

本文只是概念性的闡述,對地彈的深入剖析將在後續文章中進行。

2 反射

前面講過,對於數字信號的方波而言,含有豐富的高頻諧波分量,邊沿越陡峭,高頻成分越多。而pcb上的走線對於高頻信號而言相當於傳輸線,信號在傳輸線中傳播時,如果遇到特性阻抗不連續,就會發生反射。反射可能發生在傳輸線的末端,拐角,過孔,元件引腳,線寬變化,T型引線等處。總之,無論什麼原因引起了傳輸線的阻抗發生突變,就會有部分信號沿傳輸線反射回源端。

反射形成機理很複雜,這包含了很多電磁領域的複雜的知識,本文不準備深入討論,如果你真的很想知道,可以給我留言,我專門講解。

工程中重要的是反射量的大小。表徵這一現象的最好的量化方法就是使用反射係數。反射係數是指反射信號與入射信號幅值之比,其大小為:(Z2-Z1)/ (Z2+Z1)。Z1是第一個區域的特性阻抗,Z2是第二個區域的特性阻抗。當信號從第一個區域傳輸到第二個區域時,交界處發生阻抗突變,因而形成反射。舉個例子看看反射能有多大,假設Z1=50歐姆,Z2=75歐姆,根據公式得到反射係數為:(75-50)/(75+50)=20%。如果入射信號幅度是3.3v,反射電壓達到了3.3*20%=0.66v。對於數字信號而言,這是一個很大的值。你必須非常注意他的影響。 實際電路板上的反射可能非常複雜,反射回來的信號還會再次反射回去,方向與發射信號相同,到達阻抗突變處又再次反射回源端,從而形成多次反射,一般的資料上都用反彈圖來表示。多次的反彈是導致信號振鈴的根本原因,相當於在信號上疊加了一個雜訊。為了電路板能正確工作,你必須想辦法控制這個雜訊的大小,雜訊預算是設計高性能電路板的一個非常重要的步驟。

3 理解臨界長度

很多人對於PCB上線條的臨界長度這個概念非常模糊,甚至很多人根本不知道這個概念,如果你設計高速電路板卻不知道這個概念,那可以肯定,最終做出的電路板很可能無法穩定工作,而你卻一頭霧水,無從下手調試。

臨界長度在業界說法很混亂,有人說3英寸,有人說1英寸,我還聽說過很多其他的說法,多數是因為對這個概念理解有誤造成的。很多人說,奧,走線太長會引起信號反射,走線很短的話不會產生反射。這種說法是非常錯誤的,把好幾個概念像攪漿糊一樣混在一起。那麼臨界長度到底是什麼,是多少,為什麼要關注臨界長度?

理解臨界長度的最好方法就是從時間角度來分析。信號在pcb走線上傳輸需要一定的時間,普通FR4板材上傳輸時間約為每納秒6英寸,當然表層走線和內層走線速度稍有差別。當走線上存在阻抗突變就會發生信號反射,這和走線長度無關。但是,如果走線很短,在源端信號還沒上升到高電平時,反射信號就已經回到源端,那麼發射信號就被淹沒在上升沿中,信號波形沒有太大的改變。走線如果很長,發射端信號已經到達高電平,反射信號才到達源端,那麼反射信號就會疊加在高電平位置,從而造成干擾。那麼走線長度就有一個臨界值,大於這個值,返回信號疊加在高電平處,小於這個值反射信號被上升沿淹沒。這個臨界值就是臨界長度,注意,這種定義非常不準確,因為只考慮了一次反射情況,這裡只是為了理解概念需要,暫時這樣說。

那麼準確的定義是什麼?實際中反射都是發生多次的,雖然第一次信號反射回到源端的時間小於信號上升沿時間,但是後面的多次反射還會疊加在高電平位置,對信號波形造成干擾。那麼,臨界長度的合理定義應該是:能把反射信號的干擾控制在可容忍的範圍內的走線長度。這一長度上的信號往返時間要比信號上升時間小很多。試驗中發現的經驗數據為,當信號在pcb走線上的時延高於信號上升沿的20%時,信號會產生明顯的振鈴。對於上升時間為1ns的方波信號來說,pcb走線長度為0.2*6=1.2inch以上時,信號就會有嚴重的振鈴。所以臨界長度就是1.2inch,大約3cm。

你可能注意到了,又是信號上升時間!

4 信號上升時間與帶寬

2009-06-30 12:34

在前文中我提到過,要重視信號上升時間,很多信號完整性問題都是由信號上升時間短引起的。本文就談談一個基礎概念:信號上升時間和信號帶寬的關係。

對於數字電路,輸出的通常是方波信號。方波的上升邊沿非常陡峭,根據傅立葉分析,任何信號都可以分解成一系列不同頻率的正弦信號,方波中包含了非常豐富的頻譜成分。

拋開枯燥的理論分析,我們用實驗來直觀的分析方波中的頻率成分,看看不同頻率的正弦信號是如何疊加成為方波的。首先我們把一個1.65v的直流和一個100MHz的正弦波形疊加,得到一個直流偏置為1.65v的單頻正弦波。我們給這一信號疊加整數倍頻率的正弦信號,也就是通常所說的諧波。3次諧波的頻率為300MHz,5次諧波的頻率為500MHz,以此類推,高次諧波都是100MHz的整數倍。圖1是疊加不同諧波前後的比較,左上角的是直流偏置的100MHz基頻波形,右上角時基頻疊加了3次諧波後的波形,有點類似於方波了。左下角是基頻+3次諧波+5次諧波的波形,右下角是基頻+3次諧波+5次諧波+7次諧波的波形。這裡可以直觀的看到疊加的諧波成分越多,波形就越像方波。

圖1

因此如果疊加足夠多的諧波,我們就可以近似的合成出方波。圖2是疊加到217次諧波後的波形。已經非常近似方波了,不用關心角上的那些毛刺,那是著名的吉博斯現象,這種模擬必然會有的,但不影響對問題的理解。這裡我們疊加諧波的最高頻率達到了21.7GHz。

圖2

上面的實驗非常有助於我們理解方波波形的本質特徵,理想的方波信號包含了無窮多的諧波分量,可以說帶寬是無限的。實際中的方波信號與理想方波信號有差距,但有一點是共同的,就是所包含頻率很高的頻譜成分。

現在我們看看疊加不同頻譜成分對上升沿的影響。圖3是對比顯示。藍色是基頻信號上升邊,綠色是疊加了3次諧波後的波形上升邊沿,紅色是基頻+3次諧波+5次諧波+7次諧波後的上升邊沿,黑色的是一直疊加到217次諧波後的波形上升邊沿。

圖3

通過這個實驗可以直觀的看到,諧波分量越多,上升沿越陡峭。或從另一個角度說,如果信號的上升邊沿很陡峭,上升時間很短,那該信號的帶寬就很寬。上升時間越短,信號的帶寬越寬。這是一個十分重要的概念,一定要有一個直覺的認識,深深刻在腦子裡,這對你學習信號完整性非常有好處。

這裡說一下,最終合成的方波,其波形重複頻率就是100MHz。疊加諧波只是改變了信號上升時間。信號上升時間和100MHz這個頻率無關,換成50MHz也是同樣的規律。如果你的電路板輸出數據信號只是幾十MHz,你可能會不在意信號完整性問題。但這時你想想信號由於上升時間很短,頻譜中的那些高頻諧波會有什麼影響?記住一個重要的結論:影響信號完整性的不是波形的重複頻率,而是信號的上升時間。

本文的模擬代碼很簡單,我把代碼貼在這裡,你可以自己在matlab上運行一下看看。

clc; clear all; pack;

Fs = 10e9;

Nsamp = 2e4;

t = [0:Nsamp-1].*(1/Fs);

f1 = 1e6;

x0 = 3.3/2;

x1 = x0 + 1.65*sin(2*pi*f1*t);

x3 = x0;

for n=1:2:3

x3 = x3 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);

end

x5 = x0;

for n=1:2:5

x5 = x5 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);

end

x7 = x0;

for n=1:2:7

x7 = x7 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);

end

figure

subplot(221)

plot(x1)

subplot(222)

plot(x3)

subplot(223)

plot(x5)

subplot(224)

plot(x7)

x217 = x0;

for n=1:2:217

x217 = x217 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);

end

figure

plot(x217)

figure

plot(x217,"k")

hold on

plot(x1,"b")

plot(x3,"g")

plot(x7,"r")

hold off

axis([8000 12000 -0.5 4])

推薦閱讀:

電源分布網路分解
信號完整性基礎理論
電源分布網路介紹:
PDN網路模型分析

TAG:信號 | 研究 | 信號完整性 |