趙昊晨,熊 淳,肖鵬程,張榮福
(1.上海理工大學(xué) 光電信息與計算機工程學(xué)院,上海 200093;2.復(fù)旦大學(xué) 微電子學(xué)院,上海 201203)
現(xiàn)代自動化技術(shù)中少不了距離測量儀器,激光測距儀利用激光對目標(biāo)位置進行測量從而實現(xiàn)精準(zhǔn)定位[1],在軍事、民用和工業(yè)各領(lǐng)域都有重要的應(yīng)用。激光測距為主動式測距,其原理是主動發(fā)射激光,測量從激光發(fā)射到接收反射激光之間的時間間隔,從而將距離的測量轉(zhuǎn)換為時間的測量[2],顯然,測時的精度會直接影響最終的結(jié)果。時序發(fā)生器應(yīng)用于激光測距儀,可對輸入的參考時鐘信號進行可編程延時,根據(jù)控制信號產(chǎn)生相應(yīng)的時序信號,提供激光測距儀所需的高頻率與高分辨率,從而提高測量精度。
時序發(fā)生器主要使用專用集成電路(ASIC)設(shè)計方法,也有少部分基于進階精簡指令集機器(ARM)微處理器的設(shè)計方法[3],隨著現(xiàn)場可編程門陣列(FPGA)技術(shù)的發(fā)展,出現(xiàn)了基于FPGA的設(shè)計方法,雖然性能遠比不上ASIC 設(shè)計,但具有開發(fā)周期短、可重復(fù)編程、制造成本低、可實時在線檢測等優(yōu)點,適用于集成電路(IC)開發(fā)與驗證階段的測試。
早前有人使用Xilinx 的Virtex-4 芯片作為時序發(fā)生器核心控制器[4],采用多路復(fù)用并由外部時鐘芯片提供2.5 GHz 的時鐘,實現(xiàn)了400 皮秒(ps)的分辨率,但具有高速時鐘抖動較大、速率不能改變的缺點。相比之下,較為成熟的ASIC設(shè)計方法很容易實現(xiàn)100 ps[5]甚至幾皮秒的分辨率[6-7]。文獻[8]基于Altera 的Cyclone系列FPGA,實現(xiàn)了100 Mbit/s 的數(shù)據(jù)速率與20 ps 的分辨率,文獻[9]則實現(xiàn)了最小13 ps 的分辨率。
近幾年,F(xiàn)PGA 性能逐漸提升,使用Xilinx Spartan-6 芯片實現(xiàn)了3.2 Gbit/s 的數(shù)據(jù)速率,分辨率達到了35 ps[10],文獻[11]同樣使用該芯片實現(xiàn)了200 ps 的時序分辨率。最近我國學(xué)者提出了一種稱為“時間折疊”的新方法,使用高性能的Xilinx Virtex-7 芯片實現(xiàn)了5 ps 的分辨率[12],經(jīng)過進一步研究后又將分辨率提升至3 ps[13]。
本文基于FPGA 開發(fā)激光測距儀的時序發(fā)生器模塊,并進行了性能測試與分析。
已有的一些基于FPGA 開發(fā)的時序發(fā)生器主要對FPGA 內(nèi)部資源進行編程,作為時標(biāo)電路的延遲線,已經(jīng)能實現(xiàn)幾百皮秒甚至幾十皮秒的分辨率,但容易受溫度和干擾等影響,精度無法進一步提高??梢?,想要利用FPGA 的資源實現(xiàn)更高的分辨率是有一定界限的,雖然有提升時鐘頻率的方法,但FPGA 在時鐘頻率方面同樣會有限制。本文設(shè)計的時序發(fā)生器關(guān)鍵在于使用外部延遲鏈芯片作為延遲線。這種延遲線位于FPGA 芯片外部的方法,能降低一部分溫度、串?dāng)_等因素對延遲線精度的影響,同時這一類專用延時芯片能達到很高的分辨率。
時序發(fā)生器的系統(tǒng)硬件架構(gòu)如圖1 所示。FPGA 作為核心控制器,連接各部分外圍電路。以外部的高精度晶振作為參考,在FPGA內(nèi)部產(chǎn)生初始時鐘信號;外接延遲芯片提供最小延時,由FPGA 將原始信號輸出至延遲芯片后再返回;通用異步收發(fā)傳輸器(UART)串口芯片使得FPGA 能夠與上位機(PC)進行通信,通過傳送延遲數(shù)據(jù)可以實時地改變信號的延時。
圖1 系統(tǒng)硬件架構(gòu)Fig.1 System hardware architecture
圖2 所示為時序發(fā)生器電路設(shè)計簡化框圖,主要由鎖相環(huán)、時標(biāo)、數(shù)據(jù)處理電路和組合邏輯電路組成。晶振的時鐘信號輸入鎖相環(huán)后,經(jīng)過倍頻輸出至?xí)r標(biāo)電路;數(shù)據(jù)處理電路在接收到PC 經(jīng)由串口傳送的延遲數(shù)據(jù)后,生成控制信號;時標(biāo)電路在接收到控制信號后改變延時,最后通過組合邏輯電路輸出。
圖2 電路設(shè)計簡化框圖Fig.2 Simplified block diagram of circuit design
鎖相環(huán)電路與傳統(tǒng)結(jié)構(gòu)基本相同,主要由相位頻率檢測器(PFD)、電荷泵(CP)、環(huán)路濾波器(LF)和壓控振蕩器(VCO)構(gòu)成。PFD 比較輸入時鐘和反饋時鐘的上升沿的相位和頻率,生成與兩個時鐘之間的相位和頻率成比例的信號。這個信號用于驅(qū)動CP 和LF 為VCO 生成一個參考電壓,以確定VCO 是否應(yīng)該以更高或更低的頻率運行。在兩路信號進行比較前各有一個分頻器M0和M1,其作用是使輸出信號的頻率達到分?jǐn)?shù)倍的倍頻,擴大了可變頻率范圍。當(dāng)相位、頻率一致時,鎖相環(huán)進入鎖定狀態(tài),輸出變頻變相的信號。
所設(shè)計的時標(biāo)主要由可編程延遲線與電平轉(zhuǎn)換電路兩部分組成。延遲線部分使用ON Semiconductor公司的NB6L295M 延遲芯片,該芯片具有兩個通道的延遲線,分辨率為11 ps。芯片內(nèi)部主要電路如圖3 所示,一共有9 階延遲,對應(yīng)9 位鎖存器,通過改變0 或1 決定是否選通來改變最終對信號產(chǎn)生的延遲,移位寄存器則用于存放接收的11 位延遲數(shù)據(jù),除去9 位剩下的2 位為模式選擇與通道選擇。該芯片有兩個工作模式:雙通道模式下,兩條延遲線互相獨立,為兩個通道的信號分別提供延時;擴展模式下,將兩條延遲線級聯(lián),以擴大可變延遲范圍,但只能用于一路信號。
圖3 延遲線電路圖Fig.3 Delay line circuit
信號經(jīng)延遲芯片輸出后需要傳送至FPGA進行下一步處理,該芯片的輸出信號為CML 電平,需要將其轉(zhuǎn)換為FPGA 支持的LVDS 電平。不同電平標(biāo)準(zhǔn)之間的區(qū)別在于電壓所在區(qū)間范圍的差異,主要由該電平的直流分量決定。電平轉(zhuǎn)換電路如圖4 所示,采用交流耦合,用電容隔去直流分量后,經(jīng)電阻網(wǎng)絡(luò)分壓提供LVDS電平所需的+1.2 V 直流分量。其中,使用阻值較大的電阻以減小電阻網(wǎng)絡(luò)對100 Ω 差分阻抗線的影響。
圖4 電平轉(zhuǎn)換電路Fig.4 Level conversion circuit
經(jīng)串口接收的延時數(shù)據(jù)需要根據(jù)一定的時序傳送至延遲芯片,控制芯片延時數(shù)據(jù)加載的一共有4 路信號:使能信號/EN、時鐘SCLK、串行數(shù)據(jù)SDIN 和加載信號SLOAD,其時序關(guān)系如圖5 所示。
圖5 控制信號周期時序圖Fig.5 Period sequence diagram of control signals
1)/EN 置高電平,芯片進入數(shù)據(jù)讀取狀態(tài),開始接收SCLK、SDIN 和SLOAD;
2)在每個SCLK 的上升沿保存1 位數(shù)據(jù),經(jīng)過11 個SCLK 周期后,延時數(shù)據(jù)全部保存至芯片內(nèi)的11 位移位寄存器;
3)SLOAD 置高電平,選定工作模式與通道,把9 位延遲數(shù)據(jù)D0~D8 賦值給控制通道延遲的鎖存器,信號的延遲立即改變;
4)SLOAD 置低電平,/EN 置低電平,延遲數(shù)據(jù)加載完畢,進入等待狀態(tài),準(zhǔn)備加載下一組延遲數(shù)據(jù)。
組合邏輯電路的作用是組合輸出延時信號。傳統(tǒng)方法使用的是多路器,使用異或邏輯門電路是另一種方法,其優(yōu)點在于不需要時鐘信號且電路簡單,對原信號的影響較小。圖6 所示為信號組合輸出的簡化電路圖,設(shè)計為單沿觸發(fā)。
圖6 組合邏輯電路Fig.6 Combination logic circuit
本文設(shè)計的時序發(fā)生器通過Xilinx Spartan-7 芯片實現(xiàn),使用Vivado 設(shè)計套件對制作的FPGA 開發(fā)板進行編程并下載,分別對200,400,600 Mbit/s 三種速率下的延時、抖動(Jitter)、分辨率、線性度(Linearity)等指標(biāo)進行測試,并對測試結(jié)果進行分析。
圖7 所示為延時與抖動的儀器測試結(jié)果,其中,圖7(a)、7(c)、7(e)分別對應(yīng)200,400,600 Mbit/s 的時序信號波形圖。在示波器余輝模式下對信號進行若干次等間距延時。根據(jù)測試結(jié)果,在三種數(shù)據(jù)速率下都明顯實現(xiàn)了延時的功能。
圖7 時序信號波形圖與相位噪聲頻譜圖Fig.7 Timing waveform and phase noise spectrum
抖動與相位噪聲實際是對同一種現(xiàn)象在時域和頻域的兩種不同定量方式,通過對選定的區(qū)間進行積分能將相位噪聲轉(zhuǎn)換為抖動[14]。抖動是體現(xiàn)時序發(fā)生器性能的重要指標(biāo)之一,它描述了信號邊沿實際位置與理想位置之間的偏差。圖7(b)、7(d)、7(f)分別對應(yīng)使用信號分析儀測得200,400,600 Mbit/s 時的相位噪聲頻譜圖,取積分區(qū)間100 Hz 至40 MHz,得到抖動結(jié)果分別為7.4,8.9,9.1 ps。經(jīng)多次測量對比三種情況分析得出:不同數(shù)據(jù)速率情況下,速率越快,相位噪聲與抖動越大;相同數(shù)據(jù)速率的情況下,不同時延下的抖動結(jié)果也會有差異,特別是當(dāng)兩個邊沿相距很近時抖動會大幅增加,造成這個現(xiàn)象的原因是此區(qū)域為非線性區(qū),信號還未從低電平上升至高電平便開始下降,與理論位置產(chǎn)生很大偏差,降低驅(qū)動電壓的幅度和增大驅(qū)動電流可以改善該現(xiàn)象。
分辨率是時序發(fā)生器另一個重要的指標(biāo),如圖8(a)、8(b)、8(c)所示,分別對應(yīng)間隔1、2、10 step 情況下的測試結(jié)果,其中,1 step=11 ps。綜合多次測量對比分析得出:在1 step 情況下兩個邊沿之間距離明顯粗細不均勻,且會出現(xiàn)下一個邊沿出現(xiàn)在上一個邊沿之前的情況。結(jié)合抖動測試結(jié)果來看該情況只可能發(fā)生在1 step 情況下,這種現(xiàn)象從2 step 開始起沒有再出現(xiàn),相鄰邊沿之間的距離逐漸趨于均勻,直到10 step,相鄰邊沿間距均勻,差異不明顯。
線性度體現(xiàn)了實際曲線偏離理想曲線的程度,常用積分非線性(INL)表示,其表達式為
式(1)表示第i+1 個點與理想曲線的偏差。 τi為第i+1 個點的值; τ0為第1 個點的值;LSB 是單位,為最低有效位,τLSB為LSB 對應(yīng)的具體數(shù)值,表示兩個相鄰點之間的理想差值,即1 LSB= τLSB。
圖8 分辨率測試結(jié)果Fig.8 Resolution test results
圖9 所示為線性度的測試結(jié)果,其中,點線、短劃線和直線分別對應(yīng)200,400,600 Mbit/s 下的測試結(jié)果,1 step=110 ps,圖9(a)為測試結(jié)果的線性擬合,圖9(b)為INL 測試結(jié)果的折線圖。 τLSB取對實際測試數(shù)據(jù)進行直線擬合后的斜率值,測得其結(jié)果分別為最大2.6 LSB,2.2 LSB,3.2 LSB。
圖9 線性度測試結(jié)果Fig.9 Linearity test results
本文提出了激光測距儀時序發(fā)生器的一種設(shè)計方案,對方案進行仿真與驗證,制作了FPGA 開發(fā)板并進行測試。測試結(jié)果表明,設(shè)計的時序發(fā)生器具有11 ps 的可變延時分辨率與最高600 Mbit/s的數(shù)據(jù)速率,具有一定的可靠性與穩(wěn)定性,實現(xiàn)了預(yù)期功能。但在噪聲的抑制和印刷電路板布局以及電路的優(yōu)化等方面仍有可改進的地方,還能進一步提高精度,是后期繼續(xù)著重研究的方向。