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