利用FIR濾波器去除傳輸線效應(yīng)
網(wǎng)絡(luò)串行解串器(SERDES)的串行數(shù)據(jù)輸出速度已經(jīng)高達28Gbps,并且還在繼續(xù)發(fā)展。在如此高數(shù)據(jù)速率的條件下,即使很短的PCB走線也會起到傳 輸線的作用,進而通過衰減和散射降低信號完整性。在芯片的焊球上監(jiān)視SERDES發(fā)送器輸出信號很難做到。通常信號會引到SMA或SMP連接器后再用示波 器進行監(jiān)測。然而,信號特性會因為IC和連接器之間的傳輸線而發(fā)生改變。因此,真正的挑戰(zhàn)是在SERDES引腳處監(jiān)視信號性能,而這可以通過去除傳輸線效應(yīng)來實現(xiàn)。本設(shè)計實例介紹了一種去除傳輸線的方法。
假設(shè)H(s)是走線的沖激響應(yīng),如果X(s)是輸入信號,那么從數(shù)學(xué)角度看:
Y(s)=H(s)×X(s)
X(s)=Y(s)×H-1(s)
可以將H-1(s)實現(xiàn)為有限沖激響應(yīng)(FIR)濾波器,并使用MATLAB確定濾波系數(shù)(參考文章最后的文檔)。
走線的H(s)可以用網(wǎng)絡(luò)分析儀進行測量,測量的對象是Sdd21。首先需要確定FIR濾波器(hf(t))的系數(shù),其頻率響應(yīng)(Hf(s))接近上述測量的Sdd21的倒數(shù),即Hf(s)=H-1(s)。計算濾波器系數(shù)的方法是先從特定系數(shù)開始計算頻率響應(yīng),然后計算H(s)和Hf(s)之間的幅度誤差。最后使用優(yōu)化算法改變系數(shù),直到使和方差最小。
參考FIR_filter_design.m,nc是FIR濾波器中的系數(shù)值,drate是單位為Gbps的輸入串行數(shù)據(jù)的數(shù)據(jù)速率。選擇合適的fs,使fs/drate為整數(shù)。這樣將定義用1個比特表示的系數(shù)值。Ncbit給出了相鄰系數(shù)間的時間差。假設(shè)N是頻率響應(yīng)Hf(s)中的點數(shù),numfpts=N/2是奈奎斯特范圍內(nèi)的頻點數(shù)。濾波器傳遞函數(shù)的奈奎斯特頻率就是fs/2。然后定義finmin到finmax的頻率范圍,這樣就可以計算這個范圍內(nèi)的幅度誤差了。
對應(yīng)奈奎斯特的濾波器頻率點為:
Hz1=(k×fs)/(2×numfpts),k=0~numpts-1
插 值運算是通過計算Hz1頻率點處的Sdd21幅度完成的。將濾波系數(shù)初始化為某個值。使用freqz MATLAB函數(shù)計算濾波器的頻率響應(yīng)幅度,然后確定插值后獲得的Sdd21幅度數(shù)據(jù)間的誤差。使用MATLAB fminbnd函數(shù)可以最大程度地減小和方差,最小化算法有許多實現(xiàn)方式,本文提供的代碼只是其中一種。
實驗結(jié)果
為了演示FIR濾波器的效果,使用一臺Keysight 86100D采樣示波器和 一臺Tektronix的BERTScope,生成了速率為10.3125Gbps的圖案。BERTScope的輸出連接到DS0,波形存儲在示波器內(nèi)存 中,如圖1所示(洋紅色)。然后將BERTScope輸出連接到PCB上的傳輸線;通道的SDD21(dB)的變化如圖2所示。將通道的輸出連接到 DS0(黃線)。通道引起的衰減和散射顯著劣化了波形。在示波器的數(shù)學(xué)功能選項中有一個線性均衡器模塊,它的輸入是濾波系數(shù)。在信號路徑中插入該線性均衡 器模塊,然后輸入濾波系數(shù)。該模塊的輸出用綠線表示。FIR濾波器消除了通道的ISI效應(yīng),而且恢復(fù)的波形相當完美。
圖1:BerScope PRBS7輸出(洋紅色);PCB走線輸出端的信號(黃色);FIR濾波器輸出(綠色)。
圖2:PCB走線的Sdd21。
從MATLAB代碼獲得的FIR系數(shù)是:
0.766, -0.115, -0.097, -0.119, -0.090, -0.099,-0.083, -0.033, 0.028, 0.015, 0.042, 0.013, 0.024,-0.008, 0.002, -0.019, 0.000, -0.025, 0.005,-0.014, 0.011, -0.007, 0.021, -0.002, 0.014,-0.009, 0.009, -0.018, 0.003, -0.022。
本文小結(jié)
通過消除PCB走線引起的衰減,濾波器極大地提高了信號完整性。這個過程可以用示波器、離線式或硬件實現(xiàn)等方式進行。
BertScope輸出和濾波器輸出之間存在一些差異,引起這些差異的原因是:
● 第一個用戶界面(UI)中存在一些尖峰。這是濾波系數(shù)a2、a3和a4的值較大引起的。大多數(shù)高頻放大是通過這些系數(shù)完成的,因此會引起尖峰。通過修改算法可以加以糾正。
● 應(yīng)該使用低通濾波(LPF)函數(shù)對H1(s)加以頻帶限制。這將形成頻帶受限的濾波器,并在整個傳遞函數(shù)上盡量減少誤差。這樣也有望減小第一個UI中的峰值。本文中的濾波器是通過定義fmin和fmax實現(xiàn)頻帶受限的,這種方法會引入一定的誤差。
● 在確定濾波器系數(shù)時沒有包含相位信號,這也會引入一定的誤差。
通過在設(shè)計算法中采取這些校正措施,可以改進濾波系數(shù)的計算。