唐新懿 ,曹 平 ,解立坤 ,李 超 ,黃錫汝 ,安 琪
(1.中國科學技術大學 核探測與核電子學國家重點實驗室,安徽 合肥230026;2.中國科學技術大學 近代物理系,安徽 合肥230026)
數(shù)據(jù)采集技術是信息技術的重要內(nèi)容,它研究數(shù)據(jù)的采集、存儲、處理和控制問題[1]。 現(xiàn)如今,多通道數(shù)據(jù)采集系統(tǒng)已經(jīng)被廣泛應用于諸如核物理、高能物理、航空航天、醫(yī)療衛(wèi)生、通信等各個領域中。 隨著數(shù)據(jù)采集需求的日趨復雜[2],人們對采集系統(tǒng)性能指標的要求也越來越高, 例如高采樣率、高精度等[3]。 IC 工藝的飛速發(fā)展使得ADC 芯片的性能不斷提升[4],這讓數(shù)據(jù)采集系統(tǒng)同時具備高采樣率與高精度成為可能。 本文設計了一種基于FPGA 的 八 通 道、500 MS/s 采 樣 率、14 bit 采 樣 精 度的數(shù)據(jù)采集模塊,該模塊為標準的PXIe 插卡模塊,通過PXIe 機箱背板總線以及機箱控制器與上位機進行通信,最終實現(xiàn)了上位機與FPGA 協(xié)同完成數(shù)據(jù)采集與性能測試。
數(shù)據(jù)采集卡采用子母板的結(jié)構(gòu):ADC 子板和數(shù)據(jù)讀出母板,子板主要負責對模擬信號進行調(diào)理和采集,母板負責將數(shù)據(jù)傳輸?shù)缴衔粰C,兩塊板通過FPGA Mezzanine Card(FMC)連 接 器 相 連。 FMC 標 準是一種針對FPGA 的夾層卡標準,通過它可以使設計更具模塊化與可拓展性[5]。 模擬信號從子板輸入,首先會經(jīng)過模擬調(diào)理電路,對信號進行放大、偏置調(diào)整、單端轉(zhuǎn)差分、濾波后進入ADC 進行模數(shù)轉(zhuǎn)換,采集下來的數(shù)據(jù)通過高速串行接口JEDEC Standard No.204B(JESD204B)經(jīng)由FMC 連接器傳輸?shù)侥赴宓腇PGA,再通過Peripheral Component Interconnect Express(PCIe)總線傳輸至PXIe 機箱控制器,最后可通過控制器網(wǎng)口傳輸?shù)缴衔粰C。 采集卡的參數(shù)配置與數(shù)據(jù)上傳可通過上位機進行靈活控制。 采集系統(tǒng)總體結(jié)構(gòu)如圖1 所示。
圖1 采集系統(tǒng)總體結(jié)構(gòu)
子板電路結(jié)構(gòu)如圖2 所示,主要包含兩級放大電路、時鐘模塊、電源模塊、ADC 和DAC。 其中,兩級放大電路包含一級單端放大器(AD8099)和一級單端轉(zhuǎn)差分放大器(ADA4927-1),DAC 產(chǎn)生的模擬電平輸送到差分放大器的反相輸入端,可調(diào)節(jié)信號的直流偏置。 單片ADC 為四通道差分輸入,因此共有2 片ADC,對應8 通道模擬信號輸入。 時鐘模塊為2 片ADC 提供必要的采樣時鐘(CLK_IN1、CLK_IN2)和參考時鐘(SYSREF1、SYSREF2),同時為母板的FPGA提供系統(tǒng)時鐘(DEVCLK)、參考時鐘(SYSREF)和數(shù)據(jù)傳輸時鐘(GTHCLK)。 電源模塊需要為子板所有的芯片供電,提 供了3 V、1.9 V、1.15 V、3.3 V、±5 V 等多種供電電壓,此外,還為單端轉(zhuǎn)差分放大器提供了2 V 的共模電壓,以適配ADC 的輸入要求。
為了實現(xiàn)8 個采集通道的同步,需要滿足2 片ADC 接收到的采樣時鐘、參考時鐘、SYNC 信號各自都對齊[6]。 因此,在設計中讓2 片ADC 的時鐘來源于同一個時鐘芯片,并且在PCB 布線時通過等長處理來保證時鐘模塊輸出到2 片ADC 的采樣時鐘、參考時鐘各自的相位對齊。 由FPGA 給到ADC 的SYNC 信號,可在邏輯設計時由同一個核產(chǎn)生,以保證相位的對齊。
模擬信號從子板輸入后,需要經(jīng)過兩級放大電路的模擬調(diào)理,調(diào)理包含線性放大、直流偏置調(diào)節(jié)、單端轉(zhuǎn)差分、濾波,兩級放大電路的具體結(jié)構(gòu)如圖3所示(NC 表示不連接)。 所選用的單端放大器(AD8099)和差分放大器(ADA4927-1)均為極低噪聲的放大器,AD8099 輸入噪聲密度為輸入噪聲密度為除此之外,兩款放大器還擁有較好的諧波失真性能[7-8]。
兩級放大的電路結(jié)構(gòu)讓增益選擇更加靈活,可以通過更換電阻的阻值來適應不同的增益需求。 第一級放大器AD8099 的增益為:
第二級放大器ADA4927-1 的增益約為:
圖2 子板結(jié)構(gòu)框圖
圖3 兩級放大電路
圖3 電路中第一級放大增益為3,第二級放大增益為2。 在只需要一級放大或需要小于1 的增益時,也可通過調(diào)整電阻阻值將第一級放大器旁路掉。 在只使用ADA4927-1 時,需要增加匹配電阻R18,以保證輸入阻抗為50 Ω。 差分放大器輸入阻抗為:
為了達到50 Ω 的輸入阻抗匹配,需滿足:
同時,反相輸入端的匹配電阻也需做相應的更改:
DAC 產(chǎn)生的模擬電平從差分放大器反相端輸入,它與差分放大器增益乘積的相反數(shù)即為對最終信號的直流偏置調(diào)節(jié)。 在此模擬電平接入處設置了一個下拉電阻R15,當它存在時,可大大減小DAC接入所造成的信號諧波失真。 選用此下拉電阻是對比測試后的結(jié)果,具體可見4.1.1 小節(jié)。
R16、R17、C4 組成了低通濾波網(wǎng)絡,其傳遞函數(shù)為[9]:
由于高精度的采集系統(tǒng)對前端模擬電路的噪聲非常敏感,因此需要盡可能地降低噪聲。 除了選用極低噪聲的放大器之外,放大器周圍的電阻取值在保證環(huán)路穩(wěn)定的前提下需要盡可能小,以減少電阻熱噪聲,此外,在保證信號能夠正常通過的前提下,可盡量減小模擬帶寬,以進一步減小噪聲。模擬帶寬主要通過調(diào)整放大器反饋電阻與RC 濾波網(wǎng)絡來實現(xiàn)。
DAC 選型為LTC2666-12,精度為12 bit,通過Serial Peripheral Interface(SPI)接口進行配置,支持8 通道獨立配置、獨立輸出。 DAC 輸出電路如圖4 所示(僅畫出了一個輸出通道),其中ADA4004-4 為一款4 通道運算放大器, 可提高模擬電平的驅(qū)動能力,R19的設置可進一步減小噪聲的引入。DAC 輸出電路的設計也是對比測試的結(jié)果,具體可見4.1.2 小節(jié)。
圖4 DAC 輸出電路
ADC 自身的信噪比主要被三個因素制約:量化噪聲、熱噪聲、時鐘抖動。 對于流水線ADC,量化噪聲通??珊雎裕粺嵩肼曋饕诘皖l時限制信噪比,而當頻率升高時,時鐘抖動就成了限制ADC 信噪比的主要因素。 因此對于高速高精度的數(shù)據(jù)采集系統(tǒng)來說,時鐘的質(zhì)量尤為重要,低抖動的時鐘信號才能保證ADC 的分辨率。 采樣時鐘抖動對ADC 信噪比(Signal-to-Noise Ratio,SNR)的影響可用如下關系表示[10]:
其中,總的時鐘抖動(TJitter)包含兩部分:內(nèi)部孔徑抖動(TAperture_ADC)和外部時鐘抖動(TJitter,Ext_Clock_Input)。 總的時鐘抖動可用下式計算:
設計所選ADC 的內(nèi)部孔徑抖動約為120 fs,在信號頻率為10 MHz 時信噪比典型值為70.8 dB,根據(jù)式(8)、(9)推算,外部時鐘的抖動至少應小于4.6 ps。由于ADC 前端還包含模擬調(diào)理電路,會額外引入一部分噪聲,為保證信噪比,需使用較高質(zhì)量的時鐘源和抖動清除器。 設計選用了支持JESD204B、具有雙環(huán)路Phase Locked Loop(PLL)的超低抖動合成器和抖動清除器——LMK04821,在12 kHz ~20 MHz范圍內(nèi),抖動的均方根值可低至88 fs。LMK04821 包含14 路可配置的差分時鐘輸出,2 片ADC 所需的采樣時鐘(500 MHz)、參考時鐘(7.812 5 MHz),F(xiàn)PGA所需的數(shù)據(jù)傳輸時鐘(250 MHz)、系統(tǒng)時鐘(250 MHz)、參考時鐘(7.812 5 MHz)共8 路時鐘均由LMK04821提供。
母板的主要功能是接收來自ADC 子板采集的數(shù)據(jù), 并將其通過PCIe 總線傳輸?shù)缴衔粰C。 FPGA是母板的核心器件, 也是整個采集卡的控制單元。FPGA 內(nèi)部的邏輯框圖如圖5 所示。
其中,Xilinx DMA/Bridge Subsystem for PCI Express(XDMA)是Xilinx 公司的一款IP 核[11],它實現(xiàn)了高性能、可配置的離散聚合式存儲器直接訪問(Direct Memory Access,DMA),并且具有PCIe 協(xié)議中物理層、數(shù)據(jù)鏈路層和事務層的邏輯功能。 此IP 提供了可選的AXI4 Memory Mapped 或者AXI4-Stream 兩種用戶接口,實現(xiàn)了與用戶邏輯的直接連接,每種接口均可提供PCIe 地址空間和Advanced eXtensible Interface(AXI)地址空間之間的高性能數(shù)據(jù)傳輸。 此外,XDMA 還提供了配置管理接口、中斷控制信號、時鐘信號(AXI_CLK)等可供用戶配置使用[12]。 AXI4-Lite 是AXI4 的簡化版,是一種簡單的、低吞吐量的內(nèi)存映射總線,主要用于內(nèi)核和外設寄存器之間的通信。 AXI4-Stream 總線不包含地址項,因此可以允許無限制的數(shù)據(jù)突發(fā)傳輸規(guī)模,主要用于高速數(shù)據(jù)流傳輸。 XDMA 的運用使得用戶可以通過上位機軟件進行在線參數(shù)配置與數(shù)據(jù)上傳控制。
數(shù)據(jù)接收模塊用到了Xilinx 公司的IP 核——JESD204,用于接收ADC 通過JESD204B 發(fā)送的采集數(shù)據(jù), 此IP 包含JESD204B 協(xié)議中的物理層和鏈路層,物理層用于以比特速率接收經(jīng)過編碼的數(shù)據(jù),鏈路層負責處理鏈路的同步、建立和保持,并對數(shù)據(jù)進行8B/10B 譯碼[13]。 緊隨其后的解碼模塊負責對數(shù)據(jù)進行順序調(diào)整、補碼/原碼轉(zhuǎn)換等處理,使得處理后的數(shù)據(jù)便于重建為原始波形。 觸發(fā)判選模塊用于對采集到的信號進行“篩選”,篩選依據(jù)為用戶配置的通道使能、觸發(fā)閾值、采集長度等參數(shù),最終將各個使能后的采集通道超過一定閾值的、一定長度的信號“篩選”出來,送入數(shù)據(jù)打包模塊,按照用戶自定義的格式進行打包處理,數(shù)據(jù)包中可包含用戶感興趣的數(shù)據(jù)類型、通道號、時間、數(shù)據(jù)包長度等信息。 系統(tǒng)配置模塊主要負責通過SPI 接口對各個芯片進行參數(shù)的配置,也可對JESD204B 鏈路進行重置。 ADC 間的同步通過FPGA 分發(fā)相位對齊的ADC_SYNC 信號實現(xiàn)。
圖5 FPGA 邏輯框圖
采集卡的測試主要包括兩大部分:偏置調(diào)節(jié)電路測試與采集卡性能測試。
偏置調(diào)節(jié)電路包括差分放大器反相輸入端電路與DAC 輸出電路。 傳統(tǒng)的單端轉(zhuǎn)差分電路,反相輸入端的參考平面通常為地平面,為了實現(xiàn)對信號直流偏置的調(diào)節(jié),本設計用DAC 輸出的模擬電平來代替地平面。 然而,DAC 的使用會引入額外的噪聲并且會增大信號的諧波失真。 為了盡可能減小DAC 對采集卡性能的影響,通過一系列對比測試來確定電路結(jié)構(gòu)。
4.1.1 差分放大器反相輸入端電路測試
在差分放大器反相輸入端、DAC 輸出的模擬電平接入處設置了一個下拉電阻(見圖3 中的R15),對比測試了此下拉電阻取不同阻值時采集信號的諧波失真。 測試方法為:用信號發(fā)生器產(chǎn)生一個頻率為8 MHz、幅度接近ADC 滿量程(約-0.5 dB)的正弦波輸入采集卡進行采集,DAC 輸出模擬電平為0 V,用Fast Fourier Transform(FFT)做出采集信號的頻譜圖,并計算其諧波失真[14]。在同等條件下,僅改變下拉電阻R15 的阻值,測得相應的諧波失真參數(shù),見表1。
表1 下拉電阻對諧波失真的影響
從對比結(jié)果來看,下拉電阻的阻值越小,信號的諧波失真性能越好。 因此,在電路結(jié)構(gòu)中保留了下拉電阻R15 的設置。 與此同時,下拉電阻的存在對DAC 的驅(qū)動能力是一個考驗。 經(jīng)過測試,當R15為22 Ω 時,DAC 能 夠 為 放 大 器 提 供±479 mV 的 模擬電平,能夠滿足使用需求。
4.1.2 DAC 輸出電路測試
在圖4 的DAC 輸出電路中,模擬電平輸出的方式可以有三種:(1)DAC 直接輸出(R19 取0 Ω、無電壓跟隨器);(2)DAC 經(jīng)由電壓跟隨器輸出(無R19);(3)DAC 與電壓跟隨器“同時輸出”(R19 取0 Ω)。 對比測試了三種輸出方式下采集信號的信噪比。 測試方法與4.1.1 小節(jié)類似,在同等條件下,僅改變模擬電平的輸出方式,用FFT 測得相應的信噪比參數(shù),如表2 所示。
從對比結(jié)果來看,當模擬電平采用方式(3)輸出時,有更好的信噪比。
表2 模擬電平輸出方式對信噪比的影響
采集卡性能測試主要包含:模擬帶寬測試、噪聲測試、ADC 動態(tài)性能測試。 測試時采集卡模擬調(diào)理電路的增益設置為1,直流偏置為0 V。
4.2.1 模擬帶寬測試
帶寬描述的是模擬前端可精確測量的頻率范圍。 帶寬定義為正弦波輸入信號的幅度衰減到原幅度的0.707 時的頻率,也稱為-3 dB 帶寬。 采集卡模擬前端帶寬的測試方法為:用信號發(fā)生器(R&S SMA100A)產(chǎn)生一個幅度為Vi(不超過ADC 滿量程1.9 Vpp)的正弦波輸入到采集卡,逐漸增加輸入信號的頻率,同時記錄每一個頻點下ADC 采集到的信號的幅度Vo,Vo/Vi即為模擬前端電路的增益,將其轉(zhuǎn)換為對數(shù),并取初始頻點的增益為0 dB,當增益衰減到-3 dB 時輸入信號的頻率即為采集卡的模擬帶寬[15]。 作出增益與輸入信號頻率的關系曲線如圖6 所示。
圖6 增益-頻率變化曲線
模擬帶寬的實測結(jié)果為136 MHz,已能滿足眾多直流耦合的應用場景。
4.2.2 噪聲測試
由于采集卡所測信號均為電壓信號,因此所測噪聲為輸入端接地時的電壓噪聲。 由于采集卡信號輸入端有對地的端接電阻R3(見圖3),因此無需額外做接地措施。 測試方法為:將采集卡輸入端懸空, 用ADC 采集此時的波形, 對所有采樣點的碼值取其標準差,即為采集卡的噪聲。 具體計算公式如式(10)、(11)所示:
其中,Vi為每一個采樣點的碼值,為所有碼值的平均值,n為采樣點個數(shù),Vδ為所有采樣點的標準差。ADC 能識別的最小刻度表示為最低有效位(Least Significant Bit,LSB),其碼值的單位通常用LSB 表示。一共測量了122 880 個采樣點,計算得到其標準差為2.172 LSB。 由于14 位ADC 總 共包含16 384 LSB,滿量程為1.9 Vpp, 因此2.172 LSB 對應為0.252 mV。因此,采集卡的噪聲為0.252 mV。
4.2.3 ADC 動態(tài)性能測試
ADC 的動態(tài)性能參數(shù)主要包含:無偽峰動態(tài)范圍(Spurious Free Dynamic Range,SFDR)、信噪比(Signalto-Noise Ratio,SNR)、總諧波失真(Total Harmonic Distortion,THD)、信納比(Signal-to-Noise and Distortion Ratio,SINAD)、有效位(Effective Number of Bits,ENOB)[16]。目前通常采用FFT 頻譜分析法來測試ADC 的動態(tài)性能,它可以將ADC 采樣結(jié)果中各個頻率成分的幅度計算出來,然后依據(jù)ADC 各個動態(tài)性能參數(shù)的定義進行計算。
具體測試方法為:用信號發(fā)生器(R&S SMA100A)產(chǎn)生一個幅度接近ADC 滿量程的正弦波(約-1 dB),經(jīng)過對應頻率的帶通濾波器后輸入到采集卡,將ADC 采集到的數(shù)據(jù)用FFT 進行分析,得到各個動態(tài)性能參數(shù)。 選取了采集卡模擬帶寬內(nèi)的9 個頻點,選取動態(tài)性能參數(shù)中的4 個進行了測試,測試結(jié)果如表3 所示。 其中10 MHz 的時域波形如圖7 所示,頻譜圖如圖8 所示。
所測得的ADC 有效位接近11 bit,略低于手冊的參考值,考慮到性能測試時包含了前端模擬調(diào)理電路,因此測試結(jié)果符合預期。
表3 ADC 動態(tài)性能參數(shù)測試結(jié)果
圖7 ADC 采集信號典型時域波形(10 MHz)
圖8 ADC 采集信號典型頻譜圖(10 MHz)
本文設計了一種8 通道14 位500 MS/s 的數(shù)據(jù)采集卡,使用時可調(diào)整模擬調(diào)理電路以適應不同信號特征,在其模擬調(diào)理電路增益設置為1、直流偏置為0 V 時進行測試,ADC 動態(tài)性能良好,有效位約為11 bit,接近芯片指標。 對于經(jīng)過測試驗證的ADC,后續(xù)設計可在本文所提框架不變的前提下,將其直接放在母板上,子板上僅放置模擬調(diào)理電路,根據(jù)不同的信號特征準備相應的子板即可,不需要頻繁更換電阻,使用起來更方便。 本文所設計的采集卡為標準的PXIe 模塊,通過PXIe 機箱擴展及同步授時,可進一步構(gòu)建規(guī)模更大的多通道高精度的信號采集儀器,在實驗物理、信號采集、通信、電子信息等領域有著廣泛的應用。