基于USB通信的FPGA高速數(shù)據(jù)采集系統(tǒng)研究
江蘇安全技術(shù)職業(yè)學(xué)院 吉強(qiáng) 2020/2/16 15:36:58
摘要:現(xiàn)階段,在經(jīng)濟(jì)高速發(fā)展以及科學(xué)技術(shù)不斷進(jìn)步的大背景下,我國各行各業(yè)都得到了快速發(fā)展的良機(jī),對數(shù)據(jù)采集系統(tǒng)的實(shí)際需求也越來越多,也對高速數(shù)據(jù)采集系統(tǒng)的實(shí)用性和精度等都提出了更高的要求;诖,本文主要對基于USB通信的FPGA高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)和研發(fā)進(jìn)行了討論,希望進(jìn)一步推動(dòng)數(shù)據(jù)采集系統(tǒng)的發(fā)展與創(chuàng)新,僅供參考。
關(guān)鍵詞:USB通信;FPGA;高速數(shù)據(jù)采集;硬件;軟件
引言:隨著現(xiàn)代通信技術(shù)的飛速發(fā)展,數(shù)據(jù)采集系統(tǒng)的研發(fā)與設(shè)計(jì)也出現(xiàn)了很大變化,人們對于數(shù)據(jù)采集系統(tǒng)的采集速度和采集精度等方面的要求也在不斷提高。其中,USB接口是一種應(yīng)用十分廣泛的串型接口總線,具有即插即用的特點(diǎn),使用十分方便,并且具有很高的數(shù)據(jù)傳輸速度;而FPGA作為高速數(shù)據(jù)采集系統(tǒng)的核心控制器,可以通過USB接口與上位機(jī)進(jìn)行連接并傳輸數(shù)據(jù),兩者和有效聯(lián)合可以滿足數(shù)據(jù)的高速采集。
一、高速數(shù)據(jù)采集系統(tǒng)的器件選擇
(一)光電轉(zhuǎn)換和A/D轉(zhuǎn)換器件
光電轉(zhuǎn)換器件可以選用低熱噪聲、抗干擾性和雜散電容性好的PINFET器件,可以有效降低外部干擾和熱噪聲,是一種應(yīng)用比較廣泛的PIN器件。PINFET器件的使用無需后續(xù)電路,并且具有模塊化的設(shè)計(jì),使用的過程中產(chǎn)生的噪聲很小,并且輸出電壓小,后續(xù)A/D轉(zhuǎn)換器的數(shù)據(jù)采集電壓可以獲得更加廣泛的工作范圍。A/D轉(zhuǎn)換器件選用的是12位雙通道差分輸入SAR型A/D轉(zhuǎn)換器件,該器件結(jié)構(gòu)簡單,使用便捷。SAR型A/D轉(zhuǎn)換器件的設(shè)計(jì)運(yùn)行電壓為2.5V,與FPGA完全匹配,兩者可以共用電源,精簡數(shù)據(jù)采集系統(tǒng)的供電系統(tǒng)[1]。
(二)FPGA器件
FPGA器件需要對高速數(shù)據(jù)采集系統(tǒng)的16路信號數(shù)據(jù)進(jìn)行緩存,為此,F(xiàn)PGA器件需要比較大的內(nèi)部存儲(chǔ)空間,可以選用XC4VSX25器件,其內(nèi)部模塊的RAM可以達(dá)到2M,分布式的RAM高達(dá)160KB,可以達(dá)到數(shù)據(jù)采集系統(tǒng)的實(shí)際需求[2]。
(三)USB器件
高速數(shù)據(jù)采集系統(tǒng)的USB器件需要具備使用簡單、連接容易的特點(diǎn),但是其通信協(xié)議卻很復(fù)雜。為此,USB外設(shè)必須要使用相應(yīng)的控制芯片,例如集成了8051單片機(jī)的CY7C68013A控制器芯片,該芯片具有很高的數(shù)據(jù)傳輸速率,是現(xiàn)階段USB外設(shè)使用最為廣泛的控制芯片。該控制器芯片主要有USB收發(fā)器、串行引擎以及8051型內(nèi)核和存儲(chǔ)器、I/O接口、數(shù)據(jù)總線與地址總線等組成。該控制芯片的結(jié)構(gòu)十分獨(dú)特,其中的串行接口引擎主要實(shí)現(xiàn)數(shù)據(jù)解碼、位填充等功能,從而減輕了8051型內(nèi)核的運(yùn)行負(fù)擔(dān),將USB固件程序的開發(fā)設(shè)計(jì)進(jìn)行了很好的簡化。
二、高速數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)
基于USB通信的FPGA高速數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)主要由A/D轉(zhuǎn)換電路、系統(tǒng)數(shù)據(jù)高速采集與傳輸控制電路、USB接口電路等硬件組成。其中,高速數(shù)據(jù)采集系統(tǒng)中的A/D轉(zhuǎn)換電路是整個(gè)系統(tǒng)設(shè)計(jì)中的最重要的組成部分,A/D轉(zhuǎn)換電路包括低通濾波器、A/D轉(zhuǎn)換器和多通路轉(zhuǎn)換開關(guān)三個(gè)組件構(gòu)成。濾波器在A/D轉(zhuǎn)換電路的運(yùn)行過程中可以將采集到的模擬信號數(shù)據(jù)進(jìn)行除高頻處理,并通過模擬信號選擇器將FPGA板的地址碼經(jīng)由通路輸送到系統(tǒng)輸出端,最終由A/D轉(zhuǎn)換器將收到的模擬信號數(shù)據(jù)轉(zhuǎn)換成數(shù)字信號數(shù)據(jù)。
高速數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)采集與傳輸控制電路的設(shè)計(jì)主要集中在FPGA上,F(xiàn)PGA的主要作用就是在ADC芯片和USB之間形成有效的緩沖和控制,將ADC接口與USB接口進(jìn)行連接,并實(shí)現(xiàn)數(shù)據(jù)的采集、通道切換以及A/D轉(zhuǎn)換等,從而實(shí)現(xiàn)了數(shù)據(jù)采集系統(tǒng)對數(shù)據(jù)緩存、讀/寫功能、以及ADC的控制。數(shù)據(jù)采集與傳輸控制電路的設(shè)計(jì)需要有FIFO、USB接口控制狀態(tài)機(jī)、ADC接口控制狀態(tài)機(jī)以及控制寄存器和三態(tài)門緩沖器等組件構(gòu)成[3]。數(shù)據(jù)采集系統(tǒng)獲取的數(shù)據(jù)需要在ADC結(jié)構(gòu)控制狀態(tài)機(jī)的協(xié)調(diào)下被輸送到FPGA的FIFO當(dāng)中,在得到緩沖以后再經(jīng)由USB接口控制狀態(tài)機(jī)的協(xié)調(diào),如果三態(tài)門的輸出為高時(shí),則會(huì)呈現(xiàn)開啟狀態(tài),數(shù)據(jù)可以經(jīng)由三態(tài)門傳輸?shù)紽PGA外部的USB結(jié)構(gòu);如果三態(tài)門的輸出為低時(shí),則會(huì)呈現(xiàn)出高阻態(tài),在此狀態(tài)下來自PC機(jī)的控制數(shù)據(jù)則會(huì)被輸送到FPGA中。高速數(shù)據(jù)采集系統(tǒng)的控制信號均由FPGA提供,其工作時(shí)鐘為60MHz,經(jīng)過分頻以后可以作為FPGA組件中其它邏輯的工作時(shí)鐘[4]。
三、高速數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)
高速數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)部分有以下三個(gè)方面,分別為CY7C68013的固件程序、Windows平臺(tái)的USB設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)以及應(yīng)用程度。當(dāng)PC機(jī)連接到新的數(shù)據(jù)采集設(shè)備的時(shí)候,Windows操作系統(tǒng)會(huì)根據(jù)接入的USB設(shè)備返送的相關(guān)信息去自動(dòng)查找和運(yùn)行設(shè)備驅(qū)動(dòng)程序,待USB設(shè)(未完,下一頁)
|