国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于FPGA的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

2020-09-17 05:39簡志
關(guān)鍵詞:上位時(shí)鐘波形

簡志 景 ,梁 昊

(1.中國科學(xué)技術(shù)大學(xué) 核探測與核電子學(xué)國家重點(diǎn)實(shí)驗(yàn)室,安徽 合肥230026;2.中國科學(xué)技術(shù)大學(xué) 近代物理系,安徽 合肥 230026)

0 引言

在低溫等離子體診斷領(lǐng)域,Langmuir單探針方法由于結(jié)構(gòu)簡單、測量范圍大和結(jié)果可靠而被廣泛應(yīng)用。目前以單片機(jī)為主控芯片的傳統(tǒng)診斷設(shè)備采樣率較低,一般不超過400 kS/s[1],甚至只有 38 kS/s[2],這些設(shè)備的ADC數(shù)據(jù)接口通常采用SPI或I2C,數(shù)據(jù)傳輸能力有限,而且數(shù)據(jù)處理大多依賴軟件設(shè)計(jì),難以滿足現(xiàn)在高速、高精度、長時(shí)間和大容量的測量要求[3]。準(zhǔn)確高效地獲取這些數(shù)據(jù)對等離子體特性的研究有重要意義。

為了提高診斷結(jié)果的準(zhǔn)確性,需要采集大量的實(shí)驗(yàn)數(shù)據(jù)。本文提出了一套基于FPGA的四通道數(shù)據(jù)采集硬件系統(tǒng),每通道采樣率為65 MS/s,硬件中的ADC與FPGA之間采用高速LVDS信號進(jìn)行數(shù)據(jù)傳輸,并且完成了基于.net框架下WPF技術(shù)的上位機(jī)可視化軟件開發(fā),實(shí)現(xiàn)了高速、大容量的數(shù)據(jù)采集、處理和顯示。該系統(tǒng)可以由上位機(jī)靈活控制并長期穩(wěn)定運(yùn)行。

1 系統(tǒng)總體架構(gòu)設(shè)計(jì)

FPGA作為主控芯片控制數(shù)模轉(zhuǎn)換器(DAC)輸出激勵(lì)波形如三角波、鋸齒波和正弦波等,波形的幅度、頻率和相位等均可由用戶在上位機(jī)設(shè)置。DAC產(chǎn)生的波形信號經(jīng)過電壓放大和功率放大后施加在等離子體上進(jìn)行掃描。通過采樣電阻將微弱的電流信號轉(zhuǎn)換為電壓信號,放大后的電壓信號被模數(shù)轉(zhuǎn)換器(ADC)采集、傳輸給FPGA并緩存在DDR2中,當(dāng)緩存達(dá)到所要求的數(shù)據(jù)量時(shí),上位機(jī)控制FPGA將DDR2中的數(shù)據(jù)通過USB上傳、保存、處理和顯示。系統(tǒng)總體結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)總體框圖

2 器件選型

2.1 FPGA選型

FPGA作為系統(tǒng)控制的核心,為系統(tǒng)提供了足夠強(qiáng)大的可重構(gòu)能力,選型時(shí)需要兼顧性能與成本。本設(shè)計(jì)選用了Intel公司Cyclone III系列的EP3C25F324C6芯片[4],該芯片成本低,具有豐富的邏輯資源,包括24 624個(gè)邏輯單元,608 256 bit片上存儲空間,4個(gè)鎖相環(huán),215個(gè)可用I/O,其中高速差分引腳 83對,最高數(shù)據(jù)速率 875 Mb/s,C6系列速度等級最高,可支持最高200 MHz時(shí)鐘頻率的DDR2,完全能夠滿足系統(tǒng)的要求。

為FPGA設(shè)計(jì)了JTAG和AS兩種配置接口,JTAG可以將配置邏輯下載到FPGA并使用 SignalTap讀回?cái)?shù)據(jù),方便調(diào)試,但由于SRAM工藝的FPGA掉電后數(shù)據(jù)不能保存,因此需要AS方式將配置邏輯燒錄到非易失性的EPCS中存儲。

2.2 ADC選型

為了實(shí)現(xiàn)對等離子體數(shù)據(jù)的高速數(shù)字化,系統(tǒng)采用了 ADI公司的AD9219模數(shù)轉(zhuǎn)換芯片[5],AD9219是內(nèi)置 4個(gè)獨(dú)立通道的ADC,采樣率為 65 MS/s,分辨率10 bit。AD9219的模擬輸入和數(shù)字輸出都是差分信號,輸出為650 Mb/s的高速LVDS信號,差分輸入范圍為2 Vpp。

2.3 其他器件選型

DAC采用了雙通道12位的AD5405,刷新頻率可以達(dá)到21.3 MS/s。DAC電路設(shè)計(jì)為單極性輸出,輸出電壓符合:

其中VREF為DAC的參考電壓,D為從 0到4 095的數(shù)字碼值,分辨率 n為 12。

DDR2 SDRAM存儲芯片選用了Micro公司的MT47H32M16NF顆粒。DDR2在與FPGA進(jìn)行連接時(shí),應(yīng)將DDR2的DQS管腳和DM管腳與FPGA中相關(guān)管腳相連,因?yàn)橥ㄟ^這些管腳的信號工作頻率較高,對信號完整性要求也比較高。FPGA不同Bank所能支持DDR2的最大工作頻率不同[6],使用底部或頂部 Bank可以支持到 200 MHz,而左右Bank僅能支持到167 MHz。本設(shè)計(jì)選擇了底部Bank放置相關(guān)接口,在200 MHz工作頻率下理論帶寬可達(dá)6 400 Mb/s,可以滿足四通道ADC共計(jì)2 600 Mb/s的數(shù)據(jù)傳輸要求。容量為512 Mb,用來緩存獲取的大量數(shù)據(jù)。

3 FPGA邏輯

本設(shè)計(jì)采用Verilog語言在Quartus II 13.0上實(shí)現(xiàn)了ADC數(shù)據(jù)采集、DDR2控制和直接數(shù)字合成(DDS)等功能,在完成仿真、綜合、布局布線后,生成了下載文件。FPGA總體邏輯框圖如圖2所示。

圖2 FPGA總體邏輯框圖

3.1 ADC數(shù)據(jù)采集邏輯

FPGA在接收ADC輸出的高速LVDS串行信號時(shí),需要考慮數(shù)據(jù)輸出時(shí)鐘(Data Clock Output,DCO)邊沿與數(shù)據(jù)邊沿所存在的相位差,這種相位差主要來自ADC自身,AD9219中約為770 ps,此外不同的電路板走線長度也會產(chǎn)生延時(shí)差,在硬件布局布線設(shè)計(jì)中可以對板上走線延時(shí)設(shè)置約束,本設(shè)計(jì)中時(shí)鐘和數(shù)據(jù)走線延時(shí)差小于5 ps。知道了時(shí)鐘與數(shù)據(jù)間的相位關(guān)系,便可以設(shè)置合理的時(shí)序約束,以滿足建立時(shí)間和保持時(shí)間,消除亞穩(wěn)態(tài)。Intel提供了串并轉(zhuǎn)換IP核LVDS_RX,只需要確定通道數(shù)、串并比例、輸入時(shí)鐘頻率和相位關(guān)系等參數(shù)即可調(diào)用,極大地提高了開發(fā)效率。

圖4 FCO各寄存器比特序列調(diào)整

除了需要與數(shù)據(jù)確定相位關(guān)系,DCO也要和幀輸出時(shí)鐘(FCO)確定相位關(guān)系,因?yàn)閮H靠 DCO采集到的數(shù)據(jù)雖然是正確的,但只是一串比特流,而不能確定數(shù)據(jù)的最高位(MSB)或最低位(LSB),只有通過FCO進(jìn)行比特序列調(diào)整才可以恢復(fù)數(shù)據(jù)。比特調(diào)整的原理依據(jù)如圖3所示[5],數(shù)據(jù)與 FCO的相位基本同步,F(xiàn)CO的上升沿與數(shù)據(jù)的MSB對應(yīng),上升沿是指FCO由0轉(zhuǎn)1的比特位,此時(shí)采集的數(shù)據(jù)就是MSB。對FCO的各寄存器進(jìn)行比特序列調(diào)整如圖4所示,將圖中寄存器fco_reg打拍得到寄存器fco_reg_1,然后拼接得到的寄存器fco_reg_2就符合要求的正確序列。對數(shù)據(jù)比特流進(jìn)行同樣的序列調(diào)整和拼接操作,得到的就是從MSB到LSB依次排列的數(shù)據(jù)。

數(shù)據(jù)進(jìn)行比特序列調(diào)整的驅(qū)動(dòng)時(shí)鐘為65 MHz,而DDR2控制模塊工作在100 MHz,因此需要異步FIFO進(jìn)行跨時(shí)鐘域處理,以防止因亞穩(wěn)態(tài)產(chǎn)生的數(shù)據(jù)錯(cuò)誤或數(shù)據(jù)丟失。

3.2 DDR2控制邏輯

DDR2內(nèi)存讀寫控制邏輯包括DDR2控制器IP核和用戶驅(qū)動(dòng)模塊。控制器IP核負(fù)責(zé)DDR2內(nèi)存初始化,完成預(yù)充電、刷新和Bank激活等操作,并提供讀寫命令和數(shù)據(jù)接口給本地用戶,以方便調(diào)用。用戶驅(qū)動(dòng)模塊則根據(jù)讀寫需求向IP核下發(fā)命令和數(shù)據(jù)。IP核的工作方式有全速或半速兩種,前者工作頻率為 200 MHz,用戶接口位寬為 32;后者100 MHz,位寬 64,所以半速工作方式是將時(shí)鐘減半而數(shù)據(jù)位寬加倍。兩者不會產(chǎn)生讀寫效率的差異,但半速工作方式因?yàn)楣ぷ黝l率低,時(shí)序要求更容易滿足,故本設(shè)計(jì)采用了半速工作方式。

圖3 數(shù)據(jù)流與時(shí)鐘相位關(guān)系

3.3 DDS邏輯

該系統(tǒng)在數(shù)據(jù)獲取時(shí),需要產(chǎn)生掃描電壓信號。模擬合成產(chǎn)生波形的方法只能針對特定幾種波形,而且每種波形都需要特定的電路設(shè)計(jì),不僅結(jié)構(gòu)復(fù)雜而且難以實(shí)時(shí)控制。因此數(shù)字化的方法逐漸得到越來越多的應(yīng)用,其中DDS是一種常用的產(chǎn)生波形的方法[7]。DDS主要由相位累加器、波形存儲器、數(shù)模轉(zhuǎn)換器和波形重建濾波器組成。工作時(shí),上位機(jī)通過USB將波形數(shù)據(jù)下發(fā),存儲在由雙端口RAM組成的波形存儲器中。相位累加器會在每個(gè)時(shí)鐘周期更新,其值作為地址在波形存儲器中進(jìn)行查詢,查得樣本數(shù)據(jù)通過數(shù)模轉(zhuǎn)換器生成模擬波形,再經(jīng)過重建濾波器得到所需波形。

4 上位機(jī)軟件開發(fā)

上位機(jī)的主要功能是控制波形輸出、數(shù)據(jù)讀回、保存和顯示等。在Visual Studio平臺上開發(fā)了一套基于Windows客戶端程序框架(Windows Presentation Foundation,WPF)的軟件平臺。WPF包含大量文本、圖形和布局控件,可支持2D/3D圖形動(dòng)態(tài)渲染,控件的功能可用C#語言實(shí)現(xiàn),軟件界面則由可擴(kuò)展應(yīng)用程序標(biāo)記語言(eXtensible Application Markup Language,XAML)進(jìn)行描述,上位機(jī)界面如圖5所示。

上位機(jī)工作流程如圖6所示,用戶首先在軟件界面設(shè)置波形的類型、頻率、幅度和相位等參數(shù),據(jù)此生成波形數(shù)據(jù)并通過USB下發(fā)至FPGA;其次將ADC采集的數(shù)據(jù)讀回,當(dāng)讀回一定量的數(shù)據(jù)之后,進(jìn)行存盤;最終將最近一次讀回的數(shù)據(jù)作圖并顯示在屏幕上。

圖6 上位機(jī)工作流程圖

5 系統(tǒng)測試

系統(tǒng)在完成硬件裝配、邏輯調(diào)試下載之后,進(jìn)行了上板測試,包括DDR2讀寫測試、USB通信測試、ADC性能測試和DAC輸出測試。

5.1 DDR2讀寫測試

DDR2讀寫測試包括數(shù)據(jù)讀寫正確性測試和讀寫速度測試,測試原理如圖7所示。

圖7 DDR2讀寫測試原理框圖

數(shù)據(jù)讀寫正確性測試由數(shù)據(jù)源、DDR2驅(qū)動(dòng)器和檢測模塊構(gòu)成。數(shù)據(jù)源持續(xù)寫入DDR2驅(qū)動(dòng)器直到寫滿,然后將DDR2中數(shù)據(jù)依次讀出,送至檢測模塊確認(rèn)數(shù)據(jù)正確性。在連續(xù)讀寫超過680 Gb數(shù)據(jù)后,即將容量512 Mb的DDR2反復(fù)讀寫 1 300余次,未發(fā)現(xiàn)錯(cuò)誤。

圖5 上位機(jī)軟件界面

讀寫速度測試是在正確性測試的基礎(chǔ)上進(jìn)行計(jì)時(shí),同時(shí)統(tǒng)計(jì)讀寫數(shù)據(jù)量和工作時(shí)間,得到長時(shí)間工作的平均速度。測試結(jié)果如表1所示。DDR2寫入速度大于ADC需求速度是因?yàn)橹虚g采用異步FIFO緩存,減少了DDR2寫入的等待時(shí)間。

表1 DDR2讀寫速度測試結(jié)果

5.2 USB通信測試

USB通信測試[8]包括上位機(jī)下發(fā)波形數(shù)據(jù)測試和數(shù)據(jù)讀回測試。上位機(jī)下發(fā)的波形數(shù)據(jù)通過SignalTap在線抓取,經(jīng)過連續(xù)多次下發(fā)測試,驗(yàn)證了數(shù)據(jù)在經(jīng)過USB芯片后可以被FPGA正確接收。數(shù)據(jù)讀回測試是在FPGA中構(gòu)建測試源并將數(shù)據(jù)傳輸?shù)缴衔粰C(jī),在上位機(jī)中進(jìn)行數(shù)據(jù)對比檢測,經(jīng)過約100 Gb數(shù)據(jù)讀回測試,沒有發(fā)現(xiàn)錯(cuò)誤。

5.3 ADC性能測試

ADC的性能基本決定了整個(gè)系統(tǒng)的性能,其測試包括靜態(tài)性能測試和動(dòng)態(tài)性能測試[9]。靜態(tài)性能指標(biāo)包括微分非線性(DNL)和積分非線性(INL),測試信號源為490 kHz的正弦波,由泰克AFG3252C提供,連續(xù)采樣點(diǎn)數(shù)1 228 800,非線性測試結(jié)果如圖8所示,DNL范圍為-0.3 LSB到 0.2 LSB,INL范圍為-0.4 LSB到1.3 LSB。ADC采集的波形與頻譜如圖9所示。

常用的動(dòng)態(tài)性能指標(biāo)包括信噪比(SNR)、無偽峰動(dòng)態(tài)范圍(SFDR)和有效位(ENOB)等,測試結(jié)果如表2所示,整體性能符合要求。

表2 ADC性能測試結(jié)果

圖8 ADC微分非線性與積分非線性測試結(jié)果

圖9 ADC采集的490 kHz正弦波形與頻譜圖

5.4 DAC輸出測試

DAC輸出測試由上位機(jī)依次給定要轉(zhuǎn)換的數(shù)字碼值,并由安捷倫34 401 A萬用表測量DAC輸出的直流電壓和噪聲(RMS)。測量直流電壓與式(1)計(jì)算的理論值進(jìn)行比較計(jì)算誤差,參考電壓為-2.037 V,最大直流誤差小于 0.1%,噪聲電壓(RMS)6.6 mV,可以滿足要求。

6 結(jié)論

本文設(shè)計(jì)了一種多通道數(shù)據(jù)采集系統(tǒng),包括硬件和上位機(jī)軟件。經(jīng)過長時(shí)間連續(xù)板上測試,得到DDR2寫入速度為3 100.8 Mb/s,讀出速度為3 043.4 Mb/s,ADC的 ENOB可達(dá) 9.08,SNR為 60.0 dB,典型 DNL小于 0.3 LSB,INL小于 1.3 LSB,DAC輸出直流誤差小于0.1%。整個(gè)系統(tǒng)運(yùn)行穩(wěn)定,可由用戶靈活控制,證明了設(shè)計(jì)方案的可行性。

表3 DAC輸出測試結(jié)果

猜你喜歡
上位時(shí)鐘波形
基于時(shí)域波形掩護(hù)的間歇采樣干擾對抗研究
基于Halbach陣列磁鋼的PMSM氣隙磁密波形優(yōu)化
古代的時(shí)鐘
用于SAR與通信一體化系統(tǒng)的濾波器組多載波波形
全新邁騰B7L車噴油器波形測試
這個(gè)時(shí)鐘一根針
特斯拉 風(fēng)云之老阿姨上位
有趣的時(shí)鐘
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
時(shí)鐘會開“花”