基于FPGA的USB接口數(shù)據(jù)采集系統(tǒng)設(shè)計
摘 要:介紹了一種高速實時數(shù)據(jù)采集系統(tǒng)的設(shè)計。該系統(tǒng)以FPGA作為邏輯控制的核心,以USB2.0作為與上位機數(shù)據(jù)傳輸?shù)慕涌冢芡瑫r支持單端16路和差分8路模擬信號輸入,最大采樣率為200 kHz,12位的轉(zhuǎn)換精度。描述了系統(tǒng)的主要組成和FPGA模塊化設(shè)計的實現(xiàn)方法,并給出了其核心模塊的時序仿真波形圖。
關(guān)鍵詞: FPGA; USB2.0; 數(shù)據(jù)采集; 轉(zhuǎn)換精度
傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)中通常采用單片機或DSP作為控制模塊,控制A/D轉(zhuǎn)換、存儲和其他外圍電路的工作,利用PCI、ISA等接口與上位機進行通信。隨著數(shù)據(jù)采集對速度、實時性、簡易性的要求越來越高,傳統(tǒng)數(shù)據(jù)采集系統(tǒng)的弊端也日趨明顯。近年來隨著FPGA技術(shù)和USB技術(shù)的應(yīng)用深度和廣度的不斷加大,利用FPGA芯片和USB接口設(shè)計高速數(shù)據(jù)采集系統(tǒng)成為新的研究熱點。FPGA芯片不僅體積小、功耗低、時鐘頻率高、內(nèi)部時延小,而且能夠使用VHDL語言來編程實現(xiàn)程序的并行執(zhí)行,配置靈活,開發(fā)周期短,性能可靠。USB是一種高效、快速、價格低廉、體積小并支持熱插拔的新型串行通信接口,目前USB2.0的高速傳輸速率能夠達(dá)到480 Mb/s,能夠?qū)崿F(xiàn)數(shù)據(jù)的高速傳輸。
1 系統(tǒng)總體結(jié)構(gòu)
本設(shè)計采用FPGA+USB的設(shè)計思路,利用FPGA芯片作為系統(tǒng)的邏輯控制核心,通過USB 2.0接口與上位機通信,實現(xiàn)單端16路/差分8路模擬數(shù)據(jù)的高速、實時、便攜式的采集。本文設(shè)計的數(shù)據(jù)采集系統(tǒng)劃分為A/D轉(zhuǎn)換電路、FPGA采集控制和USB傳輸控制器等若干部分。如圖1所示。
本數(shù)據(jù)采集系統(tǒng)支持單端16路和差分8路模擬信號輸入,每路12 bit的轉(zhuǎn)換精度,最高采樣率為200 kHz。主機應(yīng)用程序首先向USB控制器發(fā)出采樣時控包,在時控包中設(shè)置采集通道及其采樣頻率。進而USB控制器觸發(fā)FPGA采集信息,F(xiàn)PGA根據(jù)時控包開始啟動A/D進行模數(shù)轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后,F(xiàn)PGA接受A/D輸出的12 bit串行數(shù)據(jù),并通過串并轉(zhuǎn)換將它轉(zhuǎn)換成16 bit并行數(shù)據(jù)輸出。然后將采集到的數(shù)據(jù)信息通過USB控制器發(fā)送給主機,最后由主機做進一步信息處理。
2 主要芯片選型
本數(shù)據(jù)采集系統(tǒng)用到的主要芯片包括FPGA芯片、A/D轉(zhuǎn)換芯片和USB傳輸控制芯片。
2.1 FPGA芯片的選取
依據(jù)本系統(tǒng)設(shè)計的需要選用Altera公司的Cyclone II系列EP2C8Q208C8。該芯片內(nèi)部邏輯單元8 256個,有165 888個RAM位,182個可用I/O口,系統(tǒng)時鐘頻率高于260 MHz,只需要3.3 V和1.2 V的工作電壓,完全能夠滿足設(shè)計的要求。
2.2 ADC轉(zhuǎn)換芯片的選取
考慮到系統(tǒng)的采樣率、分辨率、通道數(shù)等要求,本系統(tǒng)選用德州儀器公司(TI)的ADS7817模數(shù)轉(zhuǎn)換器。該器件是12位的低功耗、高阻抗全差分模擬輸入、具有串行輸出接口的模數(shù)轉(zhuǎn)換器,內(nèi)部基準(zhǔn)電壓范圍為100 mV~2.5 V,最高采樣率200 kHz,相應(yīng)輸入分辨率范圍49 μV~1.22 mV。
2.3 USB傳輸控制芯片的選取[1]
本系統(tǒng)選用CYPRESS公司的USB2.0外設(shè)控制器EZ-USB FX2 CY7C68013-56。該芯片包括帶8.5 KB片上RAM的高速8051單片機、4 KB FIFO存儲器以及通用可編程接口(GPIF)、串行接口引擎(SIE)和USB2.0收發(fā)器,可與任何ASIC或DSP進行接合,并且還支持所有通用總線標(biāo)準(zhǔn),性價比較高。USB2.0協(xié)議提供480 Mb/s的傳輸速度,因此CY7C68013是USB2.0的完整解決方案。
3 系統(tǒng)硬件設(shè)計方案實現(xiàn)
3.1 FPGA與ADC及模擬多路開關(guān)的電路設(shè)計
系統(tǒng)選用8通道模擬多路開關(guān)CD4501和SN74LS174集成D觸發(fā)器組合構(gòu)成FPGA信號采集控制的輸入通道。本系統(tǒng)要求支持單端16路和差分8路模擬信號輸入,因此使用2片CD4501來實現(xiàn)最大16路模擬輸入通道的多路復(fù)用。在選擇單端或差分輸入時,通過硬件開關(guān)來實現(xiàn)。在一個采樣周期內(nèi),選擇哪路模擬信號進行A/D轉(zhuǎn)換由FPGA控制D觸發(fā)器SN74LS174其中的5個D輸入端的電平高低來選擇通道實現(xiàn)。每路模擬信號都要經(jīng)過多路模擬開關(guān)選擇通道后,再送入A/D芯片的輸入端,如圖2所示。本方案中,FPGA為采樣通道SN74LS174提供30 MHz的時鐘CLK1及復(fù)位信號CLR,為A/D芯片提供3 MHz的同步時鐘信號DCLK和片選信號CS,從而使A/D芯片對相應(yīng)的通道進行數(shù)據(jù)轉(zhuǎn)換。
評論