范 威,樓喜中,邢國鵬,辛崇豐,全大英
(中國計量大學(xué)信息工程學(xué)院,浙江省電磁波信息技術(shù)與計量檢測重點實驗室,浙江杭州 310018)
在聲吶和語音信號處理設(shè)備的科學(xué)實驗、研發(fā)、生產(chǎn)和應(yīng)用中,多通道采集器扮演著重要的角色,用于實驗室和外場數(shù)據(jù)采集、設(shè)備中性能評估和設(shè)備檢驗檢定等。
根據(jù)聲吶和語音信號處理的特點,采集器的采集通道數(shù)一般達到幾十個甚至一百個以上,語音信號和聲吶的頻率范圍在3 Hz~97 kHz之間。為了滿足上述要求,文獻[1]設(shè)計的搭載于自主無人航行器的多波束聲吶接收系統(tǒng),選用16 bit模數(shù)轉(zhuǎn)換器AD7657,實現(xiàn)了最高采樣率為250 KSPS的108通道同步數(shù)據(jù)采集;文獻[2]設(shè)計的多通道采集檢測系統(tǒng)應(yīng)用16 bit ADC芯片AD7606,實現(xiàn)了在強噪聲環(huán)境下采樣率為100 KSPS的128通道并行實時數(shù)據(jù)采集功能。采集器除了通道數(shù)及采樣率的要求外,還應(yīng)考慮到采集器對于通道一致性、存儲帶寬和處理實時性的需求[3-5]。
采集器的主控芯片可以在單片機、DSP和FPGA芯片中選取。FPGA與單片機和DSP對比,具有工作時鐘頻率高、高集成度、實時性強、豐富的內(nèi)部邏輯資源且易于編程和研發(fā)周期短等很多優(yōu)勢[6-8]。采集器的采樣精度和采樣率取決于硬件設(shè)計所采用的ADC芯片,在ADC芯片選擇的時候,需要在采樣率、采樣精度和復(fù)雜度之間折中。
本系統(tǒng)采用高性能FPGA和高集成度的ADC,設(shè)計通道數(shù)為192個、最高采樣率為256 KSPS、采樣精度為24 bit的多通道信號采集器。該采集器能夠同步采集聲吶或語音信號,存儲到存儲板或者從主控板輸出以完成進一步的分析和處理。
多通道采集器的總體架構(gòu)如圖1所示。設(shè)備主要由采集板、存儲板、主控板和標(biāo)準(zhǔn)6U VPX背板組成。將2個硬件上完全一致的96通道采集板配置成主和從采集板組合的方式,實現(xiàn)最多192通道的信號采集。主從采集板間通過SRIO和控制線GPIO接口進行通信。存儲板用于存儲采集數(shù)據(jù),采集板采集的數(shù)據(jù)通過PCIe高速接口傳輸?shù)酱鎯Π濉V骺匕鍖崿F(xiàn)音頻信號采集和上位機功能。上位機控制音頻信號采集和采樣率變換,并完成設(shè)備管理和存儲管理。
圖1 采集器系統(tǒng)總體架構(gòu)
基于多通道采集器的總體架構(gòu),采用高性能FPGA和高精度ADC器件并結(jié)合ANSI標(biāo)準(zhǔn)FMC(FPGA mezzanine card)載板與子卡互聯(lián)結(jié)構(gòu),設(shè)計多通道采集器的硬件平臺。
采集板設(shè)計為96通道,系統(tǒng)采用主、從2塊采集板實現(xiàn)192路同步采集。采集板采用標(biāo)準(zhǔn)6U FMC采集載板加雙寬度FMC子卡組合的模塊化設(shè)計,以實現(xiàn)高集成度和模塊通用化。6U FMC采集載板實現(xiàn)信號調(diào)理和模數(shù)轉(zhuǎn)換等功能;FMC子卡實現(xiàn)數(shù)字信號處理、數(shù)據(jù)傳輸和數(shù)據(jù)緩存等功能。
采集載板根據(jù)功能劃分為96通道輸入信號接口、信號調(diào)理單元、12顆ADC芯片、時鐘單元和同步單元等。圖2給出了采集載板的硬件原理框圖。
圖2 采集載板硬件框圖
圖3為采集載板硬件原型實物圖。
圖3 采集載板硬件原型實物
FMC子卡根據(jù)功能劃分為電源、時鐘單元、Flash模塊和DDR3數(shù)據(jù)存儲單元等。FMC子卡主控芯片選用Kintex-7系列FPGA XC7K410T;DDR3采用MT41J512M8RA顆粒,總?cè)萘繛? GB,最高存取速率支持1 600 MT/s,主要用于采集數(shù)據(jù)的高速緩存;Flash模塊采用NOR Flash 芯片MT25QL256ABA,用于固化和加載FPGA中bit鏡像程序。圖4為FMC子卡硬件實現(xiàn)框圖。
圖4 FMC子卡硬件框圖
圖5為FMC子卡硬件原型實物圖。
圖5 FMC子卡原型實物
信號調(diào)理電路包括直流隔離、單端轉(zhuǎn)差分、衰減和ADC接口匹配,用于系統(tǒng)的信號處理和阻抗變換等。信號調(diào)理電路框圖如圖6所示。
圖6 信號調(diào)理電路原理框圖
圖6中,系統(tǒng)輸入信號頻率為3 Hz~97 kHz,需經(jīng)直流隔離以防止直流偏置在電路中的干擾。ADC芯片輸入信號要求是差分輸入,需將單端信號進行差分處理。外部輸入信號電壓范圍為0~20 V,而ADC芯片支持的單端輸入信號電壓范圍為0~5 V,因此將單端信號進行4倍衰減,以滿足ADC芯片輸入信號電壓范圍的需求。另外,需進行ADC接口適配,以滿足ADC芯片輸入高阻的要求。
由于信號的帶寬近100 kHz,基于工程實現(xiàn)考慮選擇256 kHz的最高采樣率;綜合考慮性能、集成度和成本,選用8通道ADC芯片AD7768。AD7768的高集成度,降低了所需的PCB布局面積。采集單板采用12顆ADC芯片實現(xiàn)96通道采集。根據(jù)ADC芯片每通道單端輸入信號范圍為0~5 V,將基準(zhǔn)參考電壓設(shè)定為5 V。圖7給出了ADC芯片的詳細(xì)電路設(shè)計。
圖7 AD7768配置電路設(shè)計
同步采集要求各ADC的時鐘和同步信號完全同源,以實現(xiàn)多通道同步采集。
2.4.1 時鐘分配電路
主采集板選擇32.768 MHz或24.576 MHz的參考時鐘,該時鐘通過高性能超低抖動緩沖器LMK00105后輸出4路為主、從采集板提供時鐘,主、從采集板再分別采用低抖動緩沖器CDCLVC1112輸出12路為所有ADC芯片提供MCLK(主時鐘)。同源時鐘設(shè)計框圖如圖8所示。
圖8 時鐘同源設(shè)計框圖
在圖8中,LMK00105芯片輸出偏斜為6 ps;時鐘在PCB等長布線設(shè)計中,誤差不超過300 mil,約為50 ps的延遲誤差;CDCLVC1112最大輸出偏斜為50 ps。由此可知,時鐘的總延遲誤差約為106 ps。
2.4.2 同步信號分配電路
主采集板中ADC1產(chǎn)生同步信號SYNC_OUT,該同步信號通過CDCLVC1104輸出2路為主、從采集板提供同步信號,主、從采集板再分別采用CDCLVC1112輸出12路為所有ADC芯片提供同步信號。同步信號同源設(shè)計框圖如圖9所示。
圖9 同步信號同源設(shè)計框圖
在圖9中,CDCLVC1104和CDCLVC1112輸出的最大偏斜為50 ps;同步信號在PCB等長布線設(shè)計中,誤差小于600 mil,約為100 ps的延遲誤差。在同步信號同源電路中,可計算得到同步信號的最大延遲誤差約為200 ps。
FMC子卡中FPGA的I/O引腳數(shù)為900,其中可用的普通I/O引腳數(shù)約350,另有高速接口GTx16x。而單個ANSI57.1-2008標(biāo)準(zhǔn)的HPC(多管腳數(shù))FMC支持4對標(biāo)準(zhǔn)時鐘管腳、80對標(biāo)準(zhǔn)差分管腳或者160個單端管腳、2 對高速時鐘管腳以及20對高速差分管腳。合理安排FPGA與FMC接口的連線后,F(xiàn)PGA的引腳連線分配如圖10所示。
圖10 FMC與FPGA的連線設(shè)計
FMC標(biāo)準(zhǔn)將子卡FPGA與載板I/O口分離設(shè)計,簡化了FPGA接口電路設(shè)計,更好地實現(xiàn)系統(tǒng)的通用性和靈活性,且該設(shè)計支持高速口PCIe和SRIO通信。
采集器軟件主要包括采集板間SRIO數(shù)據(jù)傳輸、DDR3數(shù)據(jù)緩存和上位機軟件。運行于采集板的軟件設(shè)計為主從板兼容的形式,能夠自動識別工作的模式,進而實現(xiàn)代碼的可重用和可移植。設(shè)備工作時,通過VPX背板連線的管腳信息判斷是主96通道還是從96通道采集板,主采集板SRIO配置為接收數(shù)據(jù)模式,從采集板SRIO配置為發(fā)送數(shù)據(jù)模式。DDR3高速緩存主從板采集數(shù)據(jù),上位機通過PCIe接口控制數(shù)據(jù)采集和數(shù)據(jù)處理。
采用的ADC芯片AD7768支持八通道同步采集,采集數(shù)據(jù)的精度為24 bit,最高位為符號位。為了方便上位機處理數(shù)據(jù),軟件設(shè)計中對每個采樣點通過符號位擴展的方式,將采樣數(shù)據(jù)由原本的24 bit位寬擴展成32 bit,故一顆ADC芯片在每個采樣時刻輸出8個32 bit數(shù)據(jù)。設(shè)計使用FIFO作為緩沖區(qū)緩存采集數(shù)據(jù)。如圖11所示,從采集板每顆ADC芯片對應(yīng)一個命名為FIFO0的緩沖區(qū),每個緩沖區(qū)的讀寫數(shù)據(jù)的位寬為256 bit。主采集板建立12個命名為FIFO1的FIFO緩沖區(qū)對傳輸?shù)玫降膹牟杉宀杉瘮?shù)據(jù)進行緩存,主、從采集板之間通過SRIO接口完成FIFO0到FIFO1緩沖區(qū)數(shù)據(jù)傳輸。主、從采集板間數(shù)據(jù)傳輸設(shè)計如圖11所示。
圖11 采集板間數(shù)據(jù)傳輸設(shè)計
2塊采集板FPGA之間通信采用5 Gbps SRIO 4x進行通信。實測SRIO 4x接口的傳輸速率為1.2 GB/s,而從采集板的最大采集數(shù)據(jù)速率約為96 MB/s。SRIO 4x接口傳輸速率超過從采集板數(shù)據(jù)采集速率,可以滿足采集數(shù)據(jù)傳輸?shù)男枨蟆?/p>
為了滿足192通道同時工作的需求,軟件中主采集板一共設(shè)計24個命名為FIFO2的FIFO緩沖區(qū)緩存采集數(shù)據(jù),通過軟件配置使能需要使用的FIFO2。主從采集板一起工作時,從采集板的采集數(shù)據(jù)按照時序通過SRIO接口送到主采集板,主采集板將2塊采集板的采集數(shù)據(jù)整理好并緩存在主采集板的DDR3中,當(dāng)DDR3緩存的數(shù)據(jù)量大于等于1 MB時,上位機開啟PCIe的DMA讀數(shù)據(jù)通道,讀取這1 MB數(shù)據(jù)后關(guān)閉讀數(shù)據(jù)通道,等待DDR3緩存數(shù)據(jù)量再次達到1 MB時重復(fù)以上步驟。同時上位機將數(shù)據(jù)連續(xù)存入存儲板或作進一步處理。192通道采集數(shù)據(jù)存儲設(shè)計如圖12所示。
圖12 采集數(shù)據(jù)存儲設(shè)計
圖12中,當(dāng)設(shè)備192通道全部開啟時,系統(tǒng)最大的并行采集速率約為92 MB/s,而DDR3實際的讀寫速率為10 GB/s??芍?,實時采集數(shù)據(jù)速率遠(yuǎn)遠(yuǎn)小于DDR3的讀寫速率,即DDR3性能滿足系統(tǒng)實時緩存采集數(shù)據(jù)的要求。采用的高性能FPGA芯片XC7K410T支持Gen2 PCIe 4x接口,PCIe 4x接口傳輸速率為2 GB/s,故采用PCIe 4x接口傳輸滿足系統(tǒng)最大的并行采集數(shù)據(jù)速率要求。PCIe接口通信有2種模式:采集板與上位機之間數(shù)據(jù)批量傳輸采用PCIe的DMA通信模式;而對于上位機與采集板之間控制信號的接收和下發(fā),采用PCIe的讀寫寄存器通信模式。
信號源為采集板提供輸入信號,上位機通過PCIe控制系統(tǒng)采樣率并控制處理采集數(shù)據(jù),采集板采集的數(shù)據(jù)通過PCIe保存到存儲板,USB從主控板中導(dǎo)出采集數(shù)據(jù),在調(diào)試PC利用MATLAB分析采集器的性能。用于采集器性能測試的實驗系統(tǒng)如圖13所示。
圖13 采集器性能測試實驗系統(tǒng)
4.1.1 采集板數(shù)據(jù)采集功能測試
按圖13搭建實驗系統(tǒng),配置采集器正常采集數(shù)據(jù),通過FPGA調(diào)試實時采集數(shù)據(jù)。采用Vivado2017.4 ILA抓取2塊采集板ADC數(shù)據(jù)采集時序,其中master_flag為1是主96通道采集板,master_flag為0是從96通道采集板。2塊采集板的數(shù)據(jù)采集時序如圖14所示。
圖14 采集板數(shù)據(jù)采集時序
從圖14可以看出主從采集板能夠正常采集數(shù)據(jù)。進一步通過比較主從采集板間硬件連接的同步信號,可以發(fā)現(xiàn)兩板實現(xiàn)了同步采集。
4.1.2 上位機采集測試
啟動設(shè)備,打開如圖15所示的上位機軟件。圖15中,實測數(shù)據(jù)記錄速率為196 MB/s,與192通道數(shù)據(jù)最大并行采集速率一致。系統(tǒng)選取了ADC的4種抽取工作模式,再結(jié)合FPGA控制ADC所處的PIN模式并選擇ADC芯片的MCLK頻率,能夠?qū)崿F(xiàn)采樣率在256、192 、128、96、64、48、32、24 KSPS之間的任意改變。
圖15 系統(tǒng)上位機采集測試界面
信號源SMA100B提供輸入信號1 kHz正弦波,任意選擇ADC芯片AD7768的一個通道,在采樣率為256 KSPS下采集數(shù)據(jù),導(dǎo)出數(shù)據(jù)后得到如圖16所示的信號頻譜。
(a)沒有加濾波器的頻譜
(b)加濾波器的頻譜圖16 AD7768采集獲得的頻譜
圖16中,有效位數(shù)(ENOB)和信納比(SINAD,單位dBc)的關(guān)系由ENOB=(SINAD-1.763)/6.02(bits)得到。圖16(a)為沒有加濾波器采集結(jié)果,圖16(b)為加濾波器后的結(jié)果,所加的濾波器為8階低通濾波器,其截止頻率為8 kHz。由圖16(a)和圖16(b)的測試結(jié)果對比可知信號源的二次諧波(2 kHz)性能差,導(dǎo)致SFDR(無雜散動態(tài)范圍)指標(biāo)整體偏低。
AD7768在快速工作模式時,最高采樣率為256 KSPS。表1列出了AD7768數(shù)據(jù)手冊針對輸入信號1 kHz正弦波主要的動態(tài)性能參數(shù):信噪比(SNR)、SINAD、SFDR和總諧波失真(THD)。
表1 AD7768數(shù)據(jù)手冊給定的動態(tài)參數(shù)
圖16(b)顯示的結(jié)果與表1對比,雖然在實驗中采用了最大截止頻率為8 kHz的濾波器,但是由于信號源輸出的二次諧波性能差,所以導(dǎo)致AD7768中SFDR和THD的測試結(jié)果與器件手冊給出的參數(shù)相比稍差,而其他動態(tài)性能指標(biāo)與手冊中給出的參數(shù)相當(dāng)。
信號源輸出1 kHz正弦波信號,在功分后輸入ADC完成采樣率為256 KSPS的同步采樣。同步采集得到的信號波形如圖17所示。
(a)32通道同步測試波形(b)放大后32通道同步測試波形圖17 采集數(shù)據(jù)同步波形
因測試條件限制,測試192通道同步時需切換6次完成所有通道間的同步性能測試。以通道1、33、65、97、129、161為參考基準(zhǔn),每次進行FFT分析,并計算正弦波的相位,可以得到其他31個通道與參考基準(zhǔn)間的通道延遲和角度偏差。測試通道間同步性能結(jié)果如表2所示。
表2 通道間同步測試結(jié)果
表2的實測結(jié)果表明,系統(tǒng)通道間同步性能小于25 ns,滿足大部分聲吶及語音信號處理要求。
表3列出了近年來多通道采集器所采用的主控芯片、采集通道數(shù)、最高采樣率和采樣精度。
本文所設(shè)計的采集器的采集通道數(shù)為192個、最高采樣率為256 KSPS且采樣精度為24 bit,與表3列出的設(shè)備比較,該采集器在采集通道數(shù)和采樣精度上有一定的優(yōu)勢,但在采樣率方面作了折中處理。這是由聲吶與語音信號的特點決定的,在大部分場合語音信號對采樣率的要求并不高,本文所設(shè)計的采集器在通道數(shù)、采樣精度和采樣率等方面可以滿足聲吶與語音信號應(yīng)用的需求。
表3 已有多通道采集器性能對比表
采用雙寬度FMC結(jié)構(gòu),選用高性能FPGA和高精度ADC并結(jié)合上位機軟件控制,設(shè)計了一種通用性強的高精度多通道采集器系統(tǒng)。測試結(jié)果表明,該采集器支持192通道并行數(shù)據(jù)同步采集,通道延遲誤差小、采樣率可配置切換、數(shù)據(jù)吞吐速率和實時性高。滿足在聲吶與語音信號處理中的應(yīng)用需求。對多通道采集器的研究設(shè)計與工程實現(xiàn),具有一定的參考價值和借鑒意義。