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