信號完整性之「過沖「(振鈴)深度分析

 信號在傳輸的過程當中,每每不是標準的矩形波信號,尤爲在高速信號中,保證信號的完整性是十分重要的,影響信號完整性最主要的因素之一,就是阻抗不匹配,一般表如今傳輸線上,而阻抗不匹配直接致使信號的反射,反射信號與原始信號疊加,就會產生過沖、回溝、臺階等信號完整性問題。本文將主要對因傳輸線阻抗不匹配致使信號產生過沖(上衝overshoot、下衝undershoot)進行深度分析,並提出部分可行的解決方案。ide

1、過沖的定義spa

  過沖是振鈴的一部分,信號電平發生跳變後,第一個峯值電壓或谷值電壓超過設定的標準電壓,主要表現爲一個尖端脈衝。3d

  通常描述過沖的影響,主要考慮:過沖的最大幅值、過沖的持續時間、過沖的發生頻率這三個要素。excel

 

2、過沖和振鈴的危害code

  一、當過衝幅值較大或持續時間較長時,可能回致使電路元器件的失效;blog

  二、振鈴產生的電壓波動,可能回屢次跨越邏輯電平的電壓閾值,形成接收端的誤判ci

 

3、過沖產生緣由io

  本質緣由是:傳輸線阻抗不匹配形成信號的反射,多個反射信號和原信號疊加致使過沖和振鈴。class

一、反射及反射係數cli

  以下圖所示,設區域1阻抗爲Z1,區域2阻抗爲Z2,信號通過兩個阻抗不一樣的區域,在交界處A處,電壓和電流不能產生突變(若電壓不連續,將產生無窮大的電場;若電流不連續,將產生無窮大的磁場)。                 

 

 

 

 

 

 

  

  若Z1 ≠ Z2,則關係式 V1 =I1 ×Z1 ;  V2 =I2 ×Z2   沒法同時知足電壓和電流連續的條件V1 = V2,I1 = I2 ,故只能從電磁波反射的角度進行分析,以下所示。

  信號由區域1往區域2傳輸的過程當中,入射(incident)信號、反射信號(reflect)、傳輸信號(transfer)分別以下圖表示:

               

   分界面兩側的電壓相等,有 Vinc + Vref = Vtra  ;

   分界面兩側的電流相等,有Iinc - Iref = Itra     ;

   再有 Iinc  × Z1 = Vinc    ;Iref  × Z1 = Vref    ;Itra × Z1 = Vtra    ;

   由以上5個等式能夠推導得出:

 

              

 

 

 

二、創建傳輸模型

 

 

 

 

 

 

  通常理想狀況下,末端接收端的輸入阻抗無窮大,源端輸出端的輸出阻抗趨近於0。設源端串接的匹配電阻阻抗爲Rs,傳輸線(即PCB走線)阻抗爲Rz。

   信號在線上由A往B傳送時,在B點信號的反射係數爲1,即全反射;

  由B往A傳送時,在A點信號的反射係數爲 (Rs-Rz)/(Rs+Rz)。

 

三、展開時間軸,計算實時反射波形

下面舉個栗子

  設傳輸線阻抗Rz=30Ω,源端串接的匹配電阻Rs=10Ω,則傳輸線左端A點反射係數爲 (10 - 30)/(10 + 30) = -0.5,右端B點反射係數爲 (+∞ - 30)/(+∞ + 30) = 1。

  設初始狀態都爲低電平0.0V,T0時刻源端跳變爲3.3V,發送邏輯高電平信號,末端B點的電壓變化以下。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  T1時刻,因爲電阻分壓,傳輸線左端A點電壓爲3.3*30/(10+40)=2.475V,抽象理解爲T1時刻有一個+2.475V的信號在傳輸線上向B點傳播;

  T2時刻,該信號在B點產生全反射(反射係數爲1),T2時刻B點電壓爲原始信號、入射信號、反射信號的疊加,即0+2.475+2.475 = 4.95V;

  T3時刻,末端的一次反射信號到達A點,因爲阻抗不匹配,反射電壓爲2.475 * (-0.5)=-1.2375V,此時A點電壓也爲原始信號、入射信號、反射信號的疊加;

  T4時刻,源端的一次反射信號到達B點,同理計算末端B點電壓爲4.95-1.2375-1.2375 = 2.475V;

  T5時刻,末端的二次反射信號到達A點........

  T6時刻,源端的二次反射信號達到B點,如上圖所示計算B點電壓爲 3.7125V

  .......................................................................

  在理想狀況(無損傳輸)下,信號會在傳輸線A、B兩端無休止的反射振盪,反射電壓的幅值愈來愈趨近於0,在實際中信號在傳輸過程當中有衰減,最終趨於穩態。

  下面我計算了約50多個數據,反應末端B點的電壓變化,以下圖所示:(左圖爲理論數據計算做圖,右圖爲示波器測得實際波形) 


                   

   由以上理論推導和數據可知,當源端信號發生跳變後,因爲阻抗不匹配,末端會產生多個超過或低於指望電平的脈衝,這就是振鈴現象,第一個脈衝就是過沖。

   在下寫了一小段C語言代碼用於生成數據,copy到excel繪製散點圖,代碼以下:

 1 #include <stdio.h>
 2 #define DataNum 100    //100個數據模擬波形
 3 #define StartNum 30    //30個起始數據,方便對比
 4 int main()
 5 {
 6     //系統初始條件,參數可改
 7     float SourceRes=10.0;//源端電阻
 8     float LineRes=30.0;//傳輸線電阻
 9     float StartVoltage=0.0;//初始電平
10     float TailVoltage=3.3;//跳變後電平
11 
12     float ReflectTail = 1.0;//末端反射係數,    假設接收端輸入阻抗無窮大,爲全反射
13     float ReflectSource;//源端反射係數
14     float StartTransferVoltage;
15     float VoltageReflectSource;
16     float OutputData[DataNum]={0};
17     int i,j;
18     ReflectSource = (SourceRes-LineRes)/(SourceRes+LineRes);//計算源端反射係數
19     VoltageReflectSource = (TailVoltage-StartVoltage)*LineRes/(SourceRes+LineRes);//計算傳輸線起始端電壓
20 
21     for(i=0;i<StartNum;i++)//添加初始數據
22         OutputData[i]=StartVoltage;
23     for(;i<DataNum;i++)//開始計算保存數據
24     {
25         OutputData[i] = OutputData[i-1] + (VoltageReflectSource + VoltageReflectSource*ReflectTail);
26         VoltageReflectSource *= (ReflectSource*ReflectTail);
27     }
28     for(j=0;j<DataNum;j++)//輸出數據用於Excel繪圖
29         printf("%f\r\n",OutputData[j]);
30     system("pause");
31     return 0;
32 }
View Code

 

四、改變阻抗匹配條件對比分析波形

  經過改變源端匹配電阻 Rs 的阻值,獲得以下一部分模擬數據

       

 

       

 

  能夠發現,當源端電阻小於傳輸線電阻時,信號變化比較快(上升時間較短),可是會伴隨着過沖的產生,影響信號的完整性;

  當源端電阻大於傳輸線電阻時,信號上升相對比較平緩,能有效解決過沖問題,可是增大了上升時間,限制了信號的傳輸速度;

  只有當源端電阻和傳輸線電阻相等時(即阻抗匹配狀態),信號質量最接近理想狀態。

     注:當源端電平發生由1到0的負跳變時,分析方法同上,這裏再也不重複闡述,用於生成模擬數據的代碼仍然可用

 

 

4、解決方案

  一、減少驅動端的輸出電流

  二、端接電阻進行阻抗匹配,本質上是消除信號路徑端點的阻抗突變

    大多數狀況下在源端串聯一個匹配電阻,使傳輸線阻抗與源端阻抗匹配,在PCB走線時,該電阻儘量靠近源端器件的輸出管腳;

    也有部分狀況在末端並聯一個匹配電阻到電源或地,以消除信號在末端的一次反射,但這種方式增大了電路的功耗,通常不建議採用;

  三、增長TVS二極管限制峯值

相關文章
相關標籤/搜索