裴永浩,蘇淑靖*
(1.中北大學電子測試技術重點實驗室,山西 太原030051;2.中北大學儀器科學與動態測試教育部重點實驗室,山西太原030051)
欠采樣多用于對高于奈奎斯特頻率的信號進行數據采集的應用。 根據奈奎斯特-香農采樣定理,在使用帶通濾波器限制數據采集系統帶寬,并且在已知數據采集系統的奈奎斯特頻率和目標信號帶寬的前提下,可以對此種特殊情況下的目標信號進行重構,而不會造成信息損失。 對于主要關注目標信號相位和幅值的相關應用,逐次逼近寄存器(Successive Approximation Register,SAR)型ADC 采樣系統可配置為欠采樣來實現系統性能目標。
在應用于高精度時基校準器的數字式鎖相環結構中,鎖相環參考時鐘輸入由欠采樣下對時基信號的量化結果輸出提供,ADC 采樣時鐘由鎖相環輸出提供,因此面臨鎖相環鎖定前采樣時鐘的動態變化問題。 為解決信號采集系統欠采樣頻率動態變化的問題,設計提出一種能夠自適應動態采樣頻率的欠采樣數據采集系統,通過FPGA 對ADC 芯片進行精確時序控制,可實現對時基信號的自適應頻率采樣,有效保證了鎖相環穩定的參考時鐘輸入。
在數字鎖相環中,被采時基信號源為恒溫晶體振蕩(OCXO),輸出波形為10 MHz 正弦波,頻率穩定性為±1.00 ppb(1 ppb =10-9),負載為50 Ω 情況下,溫度變化速度小于2 ℃/min,可為時基校準系統提供穩定精準的時基信號輸入。 時基信號的輸出被欠采樣保持電路欠采樣,然后通過ADC 量化到數字域。
根據奈奎斯特采樣定理,對于頻率為f0的周期性信號,采樣頻率需滿足fs>2f0。 然而在欠采樣條件下, fs<2f0,采樣頻率與通帶發生的混疊使得采樣數據中被疊加進入多種頻率的諧波成分,此時采集產生信號的頻率即為混疊頻率。 通過計算混疊頻率fout可確定欠采樣后采集信號的時域狀態,根據混疊機理及混疊頻率計算公式,確定欠采樣后輸出信號頻率為:

采樣系統的總體結構主要由FPGA 控制單元、A/D 轉換單元、電源、高速差分放大電路及OCXO 時基源構成,如圖1 所示。 高速差分放大電路將10 MHz 標準信號轉換至差分輸出,FPGA 產生時序控制信號CLK±,AD7626 接收時序控制信號后,產生回波時鐘DCO±,FPGA 根據回波時鐘依次讀取ADC 返回的串行數據D±。 FPGA 采用Xillix 公司的AIRTIX-7系列XC7A100T 芯片,適合高速數據通信和高速數據采集等應用,可以很好地滿足欠采樣時序控制需求。

圖1 系統設計方案框圖
設計所使用的單端轉差分放大電路如圖2 所示。使用差分運放驅動ADC,信號源之后配置的帶通濾波器以抑制諧波。 信號源的特性阻抗為50 Ω,通過帶通濾波器交流耦合到ADA4932,將信號源施加于ADA4932-1 的正輸入時,要求信號源也以50 Ω 正確端接。 選中端接電阻R2,以使R2與ADA4932 輸入阻抗的并聯組合等于50 Ω。 ADA4932 輸入阻抗RIN計算公式如下:

圖2 ADA4932 驅動AD7626 電路

式中:RG=R3=R5,RF=R6=R7。 該差分驅動電路的配置增益為1,但基于50 Ω 信號源和ADA4932 輸入端匹配的端阻抗的作用,相對于戴維南等效信號源電壓,通道的凈總增益約為0.5。
通過配置為單位增益緩沖器的運放AD8031 來緩沖AD7626 的VCM 輸出電壓,完成輸出共模電壓的設定。 在電路中,對應于4.096 V 的內部基準電壓,AD7626 的輸出共模電壓為2.048 V,輸入(IN+、IN-)在0 和+4.096 V 之間擺幅,發生180°反相。
被采時基信號頻率為10 MHz,數字鎖相環前端需要以6 MHz~10 MHz 的動態變化采樣頻率對時基信號進行欠采樣。 本文選用Analog Devices 公司的AD7626 作為模數轉換芯片,AD7626 有著10 MHz的采樣率、16 位數字信號輸出和精準的內部參考電壓,能夠滿足系統對采樣率及分辨率的要求。AD7626 的典型配置連接電路如圖3 所示,AD7626所接收的2.5V-LVDS 格式CNV 信號,由外部采樣時鐘驅動,配置可選擇采用內部4.096 V 基準電壓,差分信號CNV、D、DCO 和CLK 為ADC 與FPGA 之間的時序交互及數據輸入輸出端口。

圖3 AD7626 典型連接電路原理圖
ADC 的模數轉換由CNV 信號控制,在其上升沿啟動轉換。 上電后產生的第一個轉換結果為無效數據,隨后轉換結果有效。 回波時鐘接口模式下時序配置圖如圖4 所示,AD7626 與FPGA 之間有三個LVDS引腳,其中時鐘DCO 與數據時鐘D 同步,鎖存數據信號D 在DCO 的上升沿更新。 FPGA 應在DCO 的上升沿捕捉數據D,且須在下一轉換階段的tCLKL時間內產生16 個CLK 脈沖。 從tCLKL至tMSB時間,信號D 和DCO 置0,且CLK 脈沖沿之間為空閑低電平狀態。

圖4 回波時鐘模式下接口時序圖
和同步時序邏輯設計方法相比,異步時序邏輯中,標志信號flag_2 在敏感信號CNV 的驅動下產生,而CLK 在系統時鐘倍頻信號(500 MHz)下驅動產生,因而此方法屬于典型的異步時序邏輯,所使用FPGA 芯片在異步邏輯環境下,時鐘最高運行至600 MHz,但在綜合并布局布線之后,時序急劇惡化,建立時間裕量嚴重不足,時序仿真結果也表明,CLK時鐘沿出現丟失或添加,時序狀態也出現極大的紊亂,嚴重與ADC 時序要求不符,故需采用同步時序設計方式。 不論是同步時序邏輯的設計思想還是異步邏輯的設計方式,中心目的都是為了識別出轉換驅動信號CNV 的上升沿,以適應CNV 信號頻率的變化。 同步時序邏輯下CLK 時鐘控制產生的程序流圖如圖5 所示。

圖5 CLK±時鐘產生控制流程圖
設計主要由iobufgds 緩沖單元、PLL 倍頻/分頻單元、Moudle_ADC 時序控制單元組成,如圖6 所示。 其中ibufgds 和obufgds 單元分別將輸入及輸出進行差分至單端和單端至差分轉換;PLL IP 核將系統時鐘倍頻至設計所需頻率的時鐘;時序主控模塊在CNV 和系統時鐘的驅動下進行時序配合和串行數據讀取。

圖6 采樣時序控制FPGA 數字邏輯設計圖
巧妙地利用FPGA 在進行寄存器值賦值過程中的時間差,將CNV 進行兩次賦值操作:flag_1 <=CNV;flag_2<=flag_1;flag<=flag_1 &(~flag_2)。 取flag_2 信號的反信號與flag_1 信號做“與”,以得到CNV 識別狀態信號flag(如圖7 所示的脈沖沿)。
根據AD7626 芯片的工作要求:CNV 至D(MSB)就緒時間tMSB最大值為100 ns。 因此當tMSB小于100 ns 時,可能存在ADC 輸出數據未完全就緒的情況。fCNV為9 MHz,設置tMSB的時間為33 ns,FPGA 采集回數據有誤,DCO 返回波形為CLK 的包絡;若硬性設置tMSB的時間為100 ns,則CNV 的一個周期內無法覆蓋,中間會跳過一個上升沿(16 時鐘沿必須持續輸出完畢才能啟動下一次識別),不符合時序要求;設置fCNV為5 MHz,此時設置就緒時間為105 ns,在線邏輯(ILA)分析顯示返回的DCO 可見清晰的16 個時鐘沿,但采集的16 位二進制數結果存在較大量化誤差。fCLK的典型值為250 MHz,則16 個時鐘沿所需消耗的時間至少為64 ns,加之至少100 ns 的就緒時間tMSB,大大超過了轉換信號CNV 的周期111 ns,因此必然會存在ADC 手冊時序圖中所呈現的時序狀態,而無法做到如5 MHz 采樣率時的一個CNV 周期覆蓋16個CLK 時鐘沿的情況。
有效做法是兩路做交替采樣后,再進行數據拼接。 對CNV 轉換信號進行計數并標號,當標號為“1”時進行第一路采集轉換,當標號為“2”時進行第二路采集轉換,如圖8 所示,信號“e”為計數標志。 每當相應的計數標志來臨,在選通信號“CLK_flag”下進行該通道的時鐘信號輸出,與此同時,啟動更高速敏感信號(500 MHz)下的進程,將兩路產生的CLK 信號進行拼接,由此產生滿足ADC 時序要求的CLK 信號。

圖8 同步時序邏輯CLK 信號產生狀態圖

圖7 同步時序邏輯標志信號產生狀態圖
被采信號源恒溫晶體振蕩器(OCXO)在3.3 V 供電電壓下,有高穩的10 MHz 正弦信號輸出,如圖9 所示。 單端轉差分模塊輸出測試結果如圖10 所示,轉換輸出信號成180°反相。 由于單端轉差分模塊差分放大實際增益配置約為0.43,故差分輸出信號測量幅值為700 mV,共模電壓2.04 V,均在AD7626 允許輸出入范圍。

圖9 OCXO 時鐘源10 MHz 正弦信號輸出(a)

圖10 單端至差分高速轉換模塊輸出
對波形數據的采集結果,可采用FPGA 內嵌邏輯分析儀ILA,在工程中添加相應的測試Probes,對16位數據(串行/并行)輸出、AD7626 的回波時鐘及串并轉換使能信號enable_test 進行測試。 如圖11 所示,Waveform-hw_ila 窗口中顯示,DCO 時鐘頻率250 MHz,每隔16 個時鐘沿有固定時間的低電平,D 為串行數據輸出,在DCO 時鐘的驅動下對串行數據D 進行讀取并經串并轉換后得到輸出數據data_out[15:0],可對數據進行模擬化顯示,如圖12 得到時域平滑的正弦波形。 為進一步分析輸出數據,將ILA 數據導出.csv 文件,通過MATLAB 對該文件進行讀取并Plot,如圖12 所示。 由于采樣率較低,在原始信號時域內,一個周期內只能采集一個數據,可以看出波形周期為1 μs(1 MHz),在一個周期內的采樣點數為9點,符合欠采樣理論。 鎖相環頻率輸出由碼型信號發生器81131A 代替,改變轉換驅動信號CNV 的頻率(采樣頻率),對采集波形進行抓取。 在不同采樣率下對波形周期進行測量,匯總結果如表1 所示,其周期值較理論值在容許誤差范圍內。

圖11 FPGA 內嵌邏輯分析儀(ILA)對采集信號的抓取結果(采樣率9 MHz)

圖12 欠采樣過程的Plot 結果(采樣率9 MHz)

表1 自適應采樣率下采集輸出測試表
本文利用FPGA 對AD7626 進行時序控制,根據AD7626 所接收的頻率變化的轉換驅動信號CNV,對輸入信號進行自適應采樣頻率的數據采集,通過FPGA 內嵌邏輯分析儀對采集數據進行頻率分析,切合了理論結果。 設計充分利用了欠采樣技術的特點,能夠動態適應采樣頻率的變化,在有效獲取高穩時基源信號信息的同時,降低了信號采集系統的帶寬要求,能夠滿足高精度時基校準器的要求,具有一定的工程應用價值。