《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 改進(jìn)的時(shí)鐘偏斜誤差校正方法的FPGA實(shí)現(xiàn)
改進(jìn)的時(shí)鐘偏斜誤差校正方法的FPGA實(shí)現(xiàn)
2016年微型機(jī)與應(yīng)用第07期
聶偉,王天明,邱蓉
(北京化工大學(xué) 計(jì)算機(jī)系統(tǒng)與通信實(shí)驗(yàn)中心, 北京 100029)
摘要: 利用改進(jìn)的完美重構(gòu)方法對(duì)多A/D采樣系統(tǒng)的時(shí)鐘偏斜誤差校正方法進(jìn)行了FPGA實(shí)現(xiàn)。采用自頂向下和模塊化的設(shè)計(jì)方法,實(shí)現(xiàn)了多路采樣數(shù)據(jù)的相位同步模塊、數(shù)據(jù)位置映射模塊、并行多相濾波器組模塊以及多路數(shù)據(jù)合成模塊。對(duì)完美重構(gòu)方法中的濾波器組運(yùn)用多相分解技術(shù)將其化為并行結(jié)構(gòu)濾波器組,對(duì)輸出數(shù)據(jù)采用流水線結(jié)構(gòu)加法器組進(jìn)行處理,降低了系統(tǒng)運(yùn)算延遲,提高了系統(tǒng)的實(shí)時(shí)性。在MATLAB和ModelSim中進(jìn)行仿真,結(jié)果表明了該實(shí)現(xiàn)的正確性和有效性。
Abstract:
Key words :

  聶偉,王天明,邱蓉

 ?。ū本┗ご髮W(xué) 計(jì)算機(jī)系統(tǒng)與通信實(shí)驗(yàn)中心, 北京 100029)

     摘要:利用改進(jìn)的完美重構(gòu)方法對(duì)多A/D采樣系統(tǒng)的時(shí)鐘偏斜誤差校正方法進(jìn)行了FPGA實(shí)現(xiàn)。采用自頂向下和模塊化的設(shè)計(jì)方法,實(shí)現(xiàn)了多路采樣數(shù)據(jù)的相位同步模塊、數(shù)據(jù)位置映射模塊、并行多相濾波器組模塊以及多路數(shù)據(jù)合成模塊。對(duì)完美重構(gòu)方法中的濾波器組運(yùn)用多相分解技術(shù)將其化為并行結(jié)構(gòu)濾波器組,對(duì)輸出數(shù)據(jù)采用流水線結(jié)構(gòu)加法器組進(jìn)行處理,降低了系統(tǒng)運(yùn)算延遲,提高了系統(tǒng)的實(shí)時(shí)性。在MATLAB和ModelSim中進(jìn)行仿真,結(jié)果表明了該實(shí)現(xiàn)的正確性和有效性。

  關(guān)鍵詞:時(shí)間交替采樣;時(shí)鐘偏斜誤差;多相分解;FPGA

0引言

  在模擬信號(hào)采集中采樣速率是其重要指標(biāo)。傳統(tǒng)單一A/D采樣的不足是采樣速率低,不能滿足實(shí)際需求。為提高采樣速率,現(xiàn)多采用時(shí)間交替并行采樣技術(shù),即TIADC(TimeInterleaved ADC)[14]。但是在多A/D采樣系統(tǒng)中,由于時(shí)鐘抖動(dòng)以及A/D器件的離散性,系統(tǒng)存在時(shí)鐘相位偏斜、增益和偏置誤差,這些誤差都具有隨機(jī)性。

  在這三個(gè)誤差中,增益誤差和偏置誤差只需簡(jiǎn)單運(yùn)算即可消除,而校正時(shí)鐘偏斜誤差卻比較困難[35]。文獻(xiàn)[5]提出的分?jǐn)?shù)延遲濾波器法,需要過采樣,占用很多的輸入信號(hào)帶寬;文獻(xiàn)[6]提出了插值法,該方法運(yùn)算量大,難以進(jìn)行實(shí)時(shí)處理,主要用于離線校正;文獻(xiàn)[7]中提出完美重構(gòu)修正方法,其并行實(shí)現(xiàn)方式可帶來很高的數(shù)據(jù)處理速率;文獻(xiàn)[8]在完美重構(gòu)基礎(chǔ)上利用濾波器多相分解構(gòu)建濾波陣列,對(duì)數(shù)據(jù)處理速率進(jìn)行了有效提高。

  本文在文獻(xiàn)[8]的基礎(chǔ)上,在FPGA中實(shí)現(xiàn)利用改進(jìn)的完美重構(gòu)方法實(shí)時(shí)校正時(shí)鐘偏斜誤差的系統(tǒng)結(jié)構(gòu)。該系統(tǒng)利用FIFO對(duì)采樣數(shù)據(jù)進(jìn)行緩存及相位對(duì)齊,然后進(jìn)行降速處理并對(duì)數(shù)據(jù)位置映射重置,再通過多相分解方法構(gòu)建濾波器陣列對(duì)采樣數(shù)據(jù)進(jìn)行重構(gòu),最終將處理數(shù)據(jù)合成輸出。這樣不但有利于實(shí)時(shí)處理,還減少了系統(tǒng)的運(yùn)算量[9]。

1時(shí)間交替并行采樣系統(tǒng)時(shí)鐘偏斜誤差校正方法

  1.1完美重構(gòu)校正方法原理

  時(shí)間交替并行采樣對(duì)任意波形的采樣示意圖如圖1所示。理想的多A/D器件采樣時(shí)鐘之間有相同的頻率和固定的等間隔相差,但實(shí)際采樣過程中,由于時(shí)鐘抖動(dòng)、傳輸路徑延遲等因素使得各個(gè)通道間相對(duì)理想相差存在著一定的相位偏離,從而產(chǎn)生時(shí)鐘偏斜差。

  

001.jpg

  時(shí)鐘相位偏差會(huì)引起雜散頻譜,經(jīng)采樣后的輸出信號(hào)頻域表示為:

  1.jpg

  其中,As(k,rm)=1M∑M-1m=0e-jω0rme-j(2πmkMTs),M為通道數(shù)。由于時(shí)鐘相位偏差引起雜散頻譜(在頻點(diǎn)2πkMTs±ω0上),現(xiàn)一般用完美重構(gòu)方法來對(duì)采樣后的數(shù)據(jù)進(jìn)行校正,圖2所示是基于完美重構(gòu)方法校正時(shí)鐘相位偏斜誤差的原理框圖。

002.jpg

  如圖2所示,帶限模擬信號(hào)經(jīng)多路A/D并行采樣后將采樣數(shù)據(jù)輸入到濾波器組Fm(z)中,將每路輸出數(shù)據(jù)累加就可以得到重構(gòu)數(shù)據(jù)。圖2中,F(xiàn)m(z)可表示為:

 2.png

  其中,m=0,1,...,M-1,fm[k]是其濾波器系數(shù),可以表示為:

  3.png

  式(3)中,di=i·Ts+ΔTiTs,其中Ts為系統(tǒng)采樣時(shí)鐘周期,ΔTi為第i個(gè)采樣通道與第1個(gè)采樣通道之間的時(shí)間偏差,d為常整數(shù),wi(k)為凱撒窗函數(shù),通過調(diào)節(jié)其參數(shù)來改變過渡帶大小,降低紋波,2L為濾波器階數(shù),M為采樣通道數(shù)。

  1.2改進(jìn)的完美重構(gòu)校正方法

  為了使完美重構(gòu)校正方法在數(shù)字電路實(shí)現(xiàn)高速實(shí)時(shí)的數(shù)據(jù)校正,把圖2中的濾波器組用多相結(jié)構(gòu)實(shí)現(xiàn)??砂袴m(z)表示為:

 4.png

  

003.jpg

  如圖3所示為濾波器組的多相實(shí)現(xiàn)結(jié)構(gòu)。

  它將每一路的重構(gòu)濾波器分解為若干子濾波器,其中Fkm(z)就是Fm(z)的多相分量。圖3中的F(b)(z)是m×m矩陣,可表示為:

  5.png

  最終的輸出可表示為:

  Y(z)=F(b)(z)X(z)(6)

  其中,

  X(z)=[X0(z)X1(z)X2(z)...Xm(z)]T(7)

  Y(z)=[Y0(z)Y1(z)Y2(z)...Ym(z)]T(8)

  這里的X(z)是該系統(tǒng)的輸入序列,Y(z)是X(z)經(jīng)過多相結(jié)構(gòu)濾波器組校正后的輸出序列。

  2校正系統(tǒng)的FPGA設(shè)計(jì)實(shí)現(xiàn)

  2.1校正系統(tǒng)的FPGA設(shè)計(jì)實(shí)現(xiàn)

  本設(shè)計(jì)選用Altera公司CycloneII系列的EP2C5芯片,采用原理圖與VHDL(VeryHighSpeed,Integrated Circuit Hardware Description Language)進(jìn)行模塊化設(shè)計(jì)。軟件環(huán)境采用QuartusII,仿真工具為Modelsim。

  利用前面介紹的改進(jìn)方法在FPGA中進(jìn)行設(shè)計(jì),根據(jù)現(xiàn)有實(shí)驗(yàn)條件,設(shè)A/D通道數(shù)為4路,每路A/D轉(zhuǎn)換精度為12位,每個(gè)通道的采樣速率為50 MHz,系統(tǒng)最高采樣頻率200 MHz,輸入信號(hào)頻率為12.5 MHz。

  根據(jù)參數(shù)及數(shù)據(jù)降速要求,現(xiàn)給出如圖4所示的時(shí)間交替并行采樣時(shí)鐘偏斜誤差校正電路的總體設(shè)計(jì)框圖。

  

004.jpg

  如圖4所示,帶限模擬信號(hào)xin(t)同時(shí)輸入到4個(gè)采樣時(shí)鐘相位依次相差90°的A/D進(jìn)行采樣,然后將A/D的輸出數(shù)據(jù)x0[n]、x1[n]、x2[n]、x3[n]送入FPGA進(jìn)行數(shù)字處理。FPGA主要由數(shù)據(jù)緩存同步模塊、數(shù)據(jù)映射模塊、多相濾波器組、數(shù)據(jù)合路模塊以及時(shí)鐘產(chǎn)生模塊組成。

  2.2校正系統(tǒng)各模塊詳細(xì)設(shè)計(jì)

  2.2.1數(shù)據(jù)緩存同步模塊的設(shè)計(jì)

005.jpg

  圖5四個(gè)通道寫時(shí)鐘的控制結(jié)構(gòu)圖在該模塊中采用四個(gè)FIFO來完成數(shù)據(jù)緩存和數(shù)據(jù)相位對(duì)齊,其中每個(gè)FIFO的寫時(shí)鐘與它對(duì)應(yīng)通道的采樣時(shí)鐘一致。如圖5所示,WEN為寫使能信號(hào),Wclk0、Wclk1、Wclk2、Wclk3分別是四個(gè)采樣通道對(duì)應(yīng)的寫時(shí)鐘,為使從4個(gè)FIFO中讀出的數(shù)據(jù)同步并且保證第一個(gè)數(shù)據(jù)是從FIFO0中讀出的,故在寫使能信號(hào)有效之后用Wclk3作為同步的讀時(shí)鐘。

  2.2.2數(shù)據(jù)映射模塊設(shè)計(jì)

  此模塊主要完成串并轉(zhuǎn)換及數(shù)據(jù)順序重置。串并轉(zhuǎn)換的本質(zhì)就是移位寄存并行讀出的過程,該模塊實(shí)現(xiàn)比較簡(jiǎn)單,每個(gè)通道只需要利用4個(gè)D觸發(fā)器外加計(jì)數(shù)器即可。需要注意的是,輸出數(shù)據(jù)是按照采樣的先后順序進(jìn)行合成,所以第一路輸入數(shù)據(jù)經(jīng)串并轉(zhuǎn)換后四路輸出數(shù)據(jù)應(yīng)為x0,x4,x8,x12;同理,得到其他三個(gè)通道共16路數(shù)據(jù)。

  2.2.3多相濾波器組的設(shè)計(jì)

  該模塊設(shè)計(jì)的重點(diǎn)是多相濾波器的參數(shù),其電路實(shí)現(xiàn)比較簡(jiǎn)單。根據(jù)提供的時(shí)鐘相位誤差信息,在MATLAB中仿真確定濾波器的階數(shù)為64。

  利用式(3)可以計(jì)算出4個(gè)A/D通道每個(gè)通道對(duì)應(yīng)的濾波器組的系數(shù),對(duì)這16個(gè)濾波器的系數(shù)進(jìn)行多相分解,得到16×16=256個(gè)子濾波器的系數(shù),每個(gè)系數(shù)不為零的子濾波器的階數(shù)都是4。

  此16×16的濾波器陣列由式(5)可以表示為:

  9.png

  其中,每個(gè)元素Fj,i(z)代表一個(gè)子濾波器,可以由濾波器組里的Fi(z)計(jì)算得到,即:

  1011.png

  式(10)中,F(xiàn)i(z)代表每個(gè)通道的重構(gòu)濾波器,式(11)中,fi[j+16·m]為濾波器系數(shù),可以根據(jù)式(3)進(jìn)行計(jì)算。依照式(6),濾波校正過程可表示為:

  12.png

  其中,Xi(z)表示16路輸入數(shù)據(jù),Yi(z)表示濾波后的16路輸出數(shù)據(jù)。

  分析可得,這個(gè)16×16的濾波器陣列只有3/4的濾波器系數(shù)不為零,故只需在FPGA中實(shí)現(xiàn)192個(gè)子濾波器即可。

  依照式(12),在圖6中給出了校正濾波器陣列數(shù)據(jù)流的示意圖,在FPGA中易于實(shí)現(xiàn)。每個(gè)輸出數(shù)據(jù)流由16個(gè)濾波器的輸出相加得到,在FPGA中用流水線型加法器組實(shí)現(xiàn)16輸入加法。

  

006.jpg

  2.2.4數(shù)據(jù)合路模塊的設(shè)計(jì)

  數(shù)據(jù)合路模塊的功能是實(shí)現(xiàn)16路12 bit的數(shù)據(jù)到1路12 bit的數(shù)據(jù)的轉(zhuǎn)換。該模塊工作輸入時(shí)鐘為12.5 MHz。由于最終16路數(shù)據(jù)串行輸出需要200 MHz時(shí)鐘,故通過PLL對(duì)系統(tǒng)輸入時(shí)鐘倍頻,再用一個(gè)4 bit計(jì)數(shù)器作為選通信號(hào)來完成合路。

3仿真及性能分析

  3.1數(shù)據(jù)緩存同步模塊仿真

  采用圖4結(jié)構(gòu),產(chǎn)生4個(gè)相位相差90°的輸入時(shí)鐘,每路輸入數(shù)據(jù)均為兩個(gè)12 bit數(shù)循環(huán)輸入。在QuartusII環(huán)境下進(jìn)行VHDL實(shí)現(xiàn),在Modelsim中對(duì)該模塊進(jìn)行仿真,得到圖7所示仿真波形。

007.jpg

  圖7中,4路數(shù)據(jù)data0~data3分別按照各自對(duì)應(yīng)通道的時(shí)鐘wclk0~wclk3進(jìn)行輸入操作,每個(gè)通道的時(shí)鐘相位依次相差90°,4路輸出數(shù)據(jù)q0、q1、q2、q3是在同一個(gè)讀時(shí)鐘rclk下讀取輸出,它們之間無相位差,rclk與wclk3頻率相位一致,可以看出該模塊程序?qū)崿F(xiàn)了緩存同步功能,達(dá)到設(shè)計(jì)要求。

  3.2數(shù)據(jù)合路模塊仿真

  此模塊需要把誤差處理模塊中的并行數(shù)據(jù)按照順序高速串行輸出,按照前面設(shè)計(jì)要求,在一個(gè)輸入數(shù)據(jù)周期內(nèi)串行輸出16個(gè)數(shù)據(jù)。用VHDL語言描述數(shù)據(jù)合路模塊并進(jìn)行仿真,其結(jié)果如圖8所示。

008.jpg

  圖8數(shù)據(jù)合路模塊仿真波形圖圖8中,clk_in為輸出時(shí)鐘,它是經(jīng)過對(duì)系統(tǒng)輸入時(shí)鐘倍頻得到的,cnt是為了方便觀察引出的計(jì)數(shù)端口,輸出端y_out將16路并行輸入數(shù)據(jù)y0~y15進(jìn)行了串行輸出,輸出16個(gè)數(shù)據(jù)所需的時(shí)間與輸入端單個(gè)數(shù)據(jù)周期相同,輸入數(shù)據(jù)順序與輸出數(shù)據(jù)順序一致,說明該模塊設(shè)計(jì)正確。

  3.3多相濾波器組MATLAB與Modelsim聯(lián)合仿真

  由于在ModelSim中只能進(jìn)行時(shí)域數(shù)據(jù)波形仿真,無法看到頻域變化,故采用ModelSim和MATLAB聯(lián)合仿真。設(shè)置4個(gè)通道時(shí)鐘偏斜誤差分別為[0,-0.01,0.02,0.01]Ts,[0,-0.03,0.03,0.02]Ts,[0,-0.05,0.05,0.05]Ts三種情況。

  在用VHDL實(shí)現(xiàn)了誤差校正模塊后,在Modelsim中對(duì)該模塊進(jìn)行仿真。按照仿真步驟,將MATLAB生成的正弦波采樣數(shù)據(jù)送給ModelSim,得到未經(jīng)校正的輸入信號(hào)和校正后的輸出信號(hào),截圖如圖9所示。

009.jpg

  從圖9中可以看到,經(jīng)過該模塊輸出的正弦波相對(duì)于輸入波形只是增加了延時(shí),而輸出的幅值基本不變,這是由濾波器引起的。在此圖中從時(shí)域波形不能夠看出該模塊的校準(zhǔn)性能。為了驗(yàn)證濾波器的校準(zhǔn)功能,將輸出信號(hào)導(dǎo)入到MATLAB中進(jìn)行測(cè)試,得到校準(zhǔn)前后信號(hào)頻譜如圖10~12所示。

  

010.jpg

011.jpg

  從校正前和校正后的頻譜可以看出,時(shí)間偏斜誤差越大,雜散頻譜幅度越高,此時(shí)該校正系統(tǒng)依舊能夠?yàn)V除雜散頻譜,保證采樣的均勻性。

4結(jié)束語

  本文對(duì)改進(jìn)的時(shí)間交替并行采樣時(shí)鐘偏斜誤差校正方法進(jìn)行FPGA設(shè)計(jì)并實(shí)現(xiàn),在Modelsim中仿真表明各模塊均能達(dá)到相應(yīng)功能要求;在MATLAB仿真測(cè)試中可以看到,在不同時(shí)鐘偏斜誤差參數(shù)下,未濾波時(shí)相應(yīng)雜散頻點(diǎn)幅度隨誤差參數(shù)變化,誤差越大,雜散頻譜幅度越大,而經(jīng)多相濾波陣列后均能夠有效濾除雜散頻譜,說明該方法正確有效,可以應(yīng)用于需要多A/D采樣的儀器前端。

參考文獻(xiàn)

 ?。?] 黃武煌,王厚軍,曾浩. 一種超高速并行采樣技術(shù)的研究與實(shí)現(xiàn)[J]. 電子測(cè)量與儀器學(xué)報(bào),2009(8):6771.

 ?。?] BLACK W C, HODGES D. Time interleaved converter arrays[J]. IEEE Journal of SolidState Circuits, 1980, 15(6):1415.

 ?。?] 潘卉青. 高速TIADC并行采樣系統(tǒng)綜合校正技術(shù)研究[D]. 成都:電子科技大學(xué), 2010.

 ?。?] HUANG L, LIN B, ZHANG S. A digitalbackground TIADC calibration architecture and a fast calibration algorithm for timingerror mismatch[C]. ASICON '07. 7th International Conference on. IEEE, 2007:253256.

  [5] 李玉生. 超高速并行采樣模擬/數(shù)字轉(zhuǎn)換的研究[D]. 合肥:中國(guó)科學(xué)技術(shù)大學(xué), 2007.

 ?。?] 王吉林,郭鋼,趙力. 高速數(shù)字示波器中的插值算法的研究[J]. 電子器件,2009,32(3):627630.

 ?。?] 秦國(guó)杰,劉國(guó)滿,高梅國(guó),等. 一種時(shí)間交替ADC時(shí)間失配誤差自適應(yīng)校正方法[J]. 儀器儀表學(xué)報(bào),2013,34(12):27302735.

 ?。?] 聶偉,邱蓉. 一種TIADC系統(tǒng)時(shí)鐘偏斜誤差的全并行校正方法[J]. 實(shí)驗(yàn)技術(shù)與管理,2015,32(4):4751.

  [9] 唐邵春. 基于時(shí)間并行交替技術(shù)的超高速高精度波形數(shù)字化研究[D]. 合肥:中國(guó)科學(xué)技術(shù)大學(xué), 2012.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。