基于FPGA的數(shù)據(jù)采集系統(tǒng)設(shè)計
掃描二維碼
隨時隨地手機(jī)看文章
摘要:隨著信息技術(shù)的飛速發(fā)展,各種數(shù)據(jù)的采集和處理在現(xiàn)代工業(yè)控制和科學(xué)研究中已成為必不可少的部分。數(shù)據(jù)采集系統(tǒng)是計算機(jī)智能儀器與外界物理世界聯(lián)系的橋粱,是獲取信息的重要途徑。以Xilinx公司的Spartan-3系列FPGA芯片XC3S400為核心,采用TI公司的TLC0820型號的A/D轉(zhuǎn)換器作為模數(shù)轉(zhuǎn)換器件,設(shè)計了一個基于FPGA的數(shù)據(jù)采集系統(tǒng),并用Verilog HDL語言作為描述語言實現(xiàn)了對TLC0820的采樣控制和FPGA的數(shù)據(jù)處理等過程的控制,以Xilinx ISE9.1i軟件為平臺,進(jìn)行了設(shè)計輸入、分析與綜合、仿真與驗證等過程仿真實現(xiàn)了這一系統(tǒng)。
關(guān)鍵詞:數(shù)據(jù)采集;FPGA;模數(shù)轉(zhuǎn)換;vetilog HDL
常用的數(shù)據(jù)采集方案往往采用單片機(jī)或DSP(數(shù)字信號處理器)作為控制器,控制ADC(模數(shù)轉(zhuǎn)換器)、存儲器和其他外圍電路的工作。但由于單片機(jī)本身的指令周期以及處理速度的影響,難以達(dá)到多通道高速數(shù)據(jù)采集系統(tǒng)的要求,DSP雖然可以實現(xiàn)較高速的數(shù)據(jù)采集,但其速度提高的同時,也提高了系統(tǒng)的成本;并且單片機(jī)和DSP的各種功能要靠軟件的運(yùn)行來實現(xiàn),執(zhí)行的速度和效率較低,軟件運(yùn)行時間在整個采樣時間中占很大的比例。而FPGA(現(xiàn)場可編程門陣列)在高速數(shù)據(jù)采集方面有單片機(jī)和DSP無法比擬的優(yōu)勢,F(xiàn)PGA具有時鐘頻率高,內(nèi)部延時小,全部控制邏輯由硬件完成,速度快,效率高,組成形式靈活等特點(diǎn)。因此,本文以FPGA作為核心處理器件,進(jìn)行了數(shù)據(jù)采集的過程。
1 數(shù)據(jù)采集系統(tǒng)原理
圖1是一個模擬信號的數(shù)據(jù)采集系統(tǒng)框圖。
由圖可知,系統(tǒng)主要由以下5個部分組成:
第1部分是放大器電路。程控放大器的作用是將傳感器產(chǎn)生微弱的模擬信號進(jìn)行放大處理。放大器把信號放大到與A/D轉(zhuǎn)換器滿量程電壓相應(yīng)的電平值,以便充分利用A/D轉(zhuǎn)換器的分辨率,放大器的放大倍數(shù)可以通過設(shè)計放大電路來進(jìn)行實時控制。
第2部分是A/D模數(shù)轉(zhuǎn)換電路。其功能是將放大后的模擬信號轉(zhuǎn)換為計算機(jī)能夠識別的數(shù)字信號。A/D轉(zhuǎn)換器是采樣通道的核心,所以A/D轉(zhuǎn)換器是影響數(shù)據(jù)采集系統(tǒng)采樣速率和精度的主要因素之一。
第3部分是數(shù)據(jù)緩存電路。A/D轉(zhuǎn)換后的數(shù)據(jù)信息一般不能直接傳送到計算機(jī),所以在讀入計算機(jī)或其他處理設(shè)備之前應(yīng)該增加數(shù)據(jù)緩存模塊,這樣能有利于將數(shù)據(jù)連續(xù)的送人計算機(jī)。
第4部分是時序邏輯控制電路。它可以控制程控放大器、A/D模數(shù)轉(zhuǎn)換器、數(shù)據(jù)緩存等單元,并實現(xiàn)與計算機(jī)的通信。
第5部分是接口電路。接口電路是數(shù)據(jù)緩存區(qū)的數(shù)據(jù)傳輸至計算機(jī)等設(shè)備的紐帶。
2 系統(tǒng)硬件設(shè)計
本系統(tǒng)主要研究對模擬信號的數(shù)據(jù)采集,根據(jù)系統(tǒng)的要求與功能的實現(xiàn),F(xiàn)PGA數(shù)據(jù)采集系統(tǒng)的總體方案設(shè)計結(jié)構(gòu)框圖如圖2所示。
在模擬信號采集的過程中,模擬信號輸入給A/D轉(zhuǎn)換器,然后經(jīng)模數(shù)轉(zhuǎn)換之后將8bit的數(shù)字信號直接輸出給FPGA進(jìn)行處理。在FPGA中設(shè)計了數(shù)據(jù)緩沖器FIFO和數(shù)據(jù)存儲器RAM以及和各級電路對應(yīng)的的時鐘信號,以保證能夠?qū)崟r的將ADC轉(zhuǎn)換過來的數(shù)據(jù)進(jìn)行處理。其中,液晶屏可用于顯示被采集的波形,串口通信用于FPGA的在線調(diào)試與配置程序的加載,鍵盤用于控制操作。
2.1 數(shù)據(jù)采集模塊
根據(jù)本系統(tǒng)對數(shù)據(jù)采集精度以及速度方面的要求,采用Texas Instruments改進(jìn)快閃技術(shù)的先進(jìn)的LinCMOS高速8位A/D轉(zhuǎn)換芯片TLC082 0AC來完成采集過程。它由2個4位快閃轉(zhuǎn)換器,一個4位數(shù)模轉(zhuǎn)換器,一個加法(誤差)放大器,控制邏輯及一個結(jié)果鎖定電路構(gòu)成。改進(jìn)的快閃技術(shù)可使低功率集成電路在整個溫度范圍內(nèi)(0~70℃)以1.18 μs(轉(zhuǎn)換率>1 M)完成8位轉(zhuǎn)換。該芯片內(nèi)部采樣和保持電路具有100 ns采樣窗,允許這些器件以高達(dá)100 mV/μs的斜升速率轉(zhuǎn)換連續(xù)模擬信號而無須外部采樣器件。TTL兼容的3態(tài)輸出驅(qū)動器及兩種工作方式允許與不同微處理器接口。單-5 V電源,無須外部時鐘或振蕩器,最大功耗75 mV,兩種工作方式可選。具有差分基準(zhǔn)輸入,數(shù)據(jù)轉(zhuǎn)化及存取時間為2.5個時鐘周期(MCU晶振選用12 M),最高采樣率20 M。其工作方式連接圖如圖3所示。
2.2 數(shù)據(jù)處理模塊
FPGA在高速數(shù)據(jù)采集處理方面有單片機(jī)和DSP無法比擬的優(yōu)勢,F(xiàn)PGA具有時鐘頻率高,內(nèi)部延時小,全部控制邏輯由硬件完成,速度快,效率高,組成形式靈活等特點(diǎn)。因此我們選擇使用FPGA來進(jìn)行數(shù)據(jù)的處理與控制。市場上FPGA的型號與類型非常多,根據(jù)本系統(tǒng)的要求,我們這里選擇Xilinx公司生產(chǎn)的Spartan-3系列XC3S400型號的芯片。Spartan-3系列是基于Virtex-II FPGA構(gòu)架,采用90 nm技術(shù),8層金屬工藝,系統(tǒng)門數(shù)超過500萬,內(nèi)嵌了硬核乘法器和數(shù)字時鐘管理模塊。從結(jié)構(gòu)上看,Spartan-3系列將邏輯、存儲器、數(shù)學(xué)運(yùn)算、數(shù)字處理器、I/O以及系統(tǒng)管理資源完美地集合在一起,使之有更高層次、更廣泛的應(yīng)用。其主要特性為:采用90 nm工藝,密度高達(dá)74880邏輯單元;最高系統(tǒng)時鐘為340 MHz;具有18x18的專用乘法器;核電壓為1.2V,端口電壓為3.3 V、2.5 V、1.2 V,支持24種I/O標(biāo)準(zhǔn);高達(dá)520 kB的分布式RAM和18 972 kB的塊RAM;有片上時鐘管理模塊(DCM);具有嵌入式XtremeDSP功能,每秒可執(zhí)行3 300億次乘加。
2.3 輸出模塊
輸出模塊主要負(fù)責(zé)利用液晶顯示器顯示采集到的數(shù)據(jù)以便進(jìn)入后續(xù)的處理,因此,需要連接有顯示模塊。液晶顯示屏常常采用12864,本系統(tǒng)選用了HS12864_15系列中文圖形液晶模塊,文字圖形可混合顯示且?guī)в凶謳?,其特征主要由其控制器ST7920決定,ST7920同時作為控制器和驅(qū)動器,它可提供33路com輸出和64路seg輸出。在驅(qū)動器ST7921的配合下,最多可以驅(qū)動256x32點(diǎn)陣液晶。
[!--empirenews.page--]
3 系統(tǒng)軟件設(shè)計
3.1 總體方案設(shè)計
FPGA數(shù)據(jù)采集系統(tǒng)的軟件總體方案設(shè)計流程圖如圖4所示。當(dāng)FPGA、ADC以及12864顯示器初始化完畢之后,判斷是否有模擬信號輸入到ADC器件中,如果沒有,則等待信號的輸入;如果有,則ADC開始采集數(shù)據(jù)并轉(zhuǎn)換。轉(zhuǎn)換完成之后,送到FPGA芯片進(jìn)行數(shù)據(jù)處理。然后,傳送到12864顯示器中進(jìn)行波形的顯示。最后,再次判斷有無信號輸入到ADC中,如果有,則繼續(xù)進(jìn)行下次的采集流程;如果沒有,則結(jié)束程序。
3.2 FIFO緩存設(shè)計
由于A/D轉(zhuǎn)換器、FPGA以及12864顯示器之間處理數(shù)據(jù)的速度不同,為了消除不必要的數(shù)據(jù)丟失與毛刺現(xiàn)象或者重復(fù)讀取,可以將處理后的數(shù)據(jù)暫時存入FIFO中。FIFO是一個先入先出的堆棧,利用FPGA內(nèi)部強(qiáng)大的寄存器功能,設(shè)計了一個FIFO的數(shù)據(jù)緩沖器。
如圖5所示,A/D轉(zhuǎn)換器將轉(zhuǎn)換好的數(shù)據(jù)存入FIFO緩存中,F(xiàn)PGA檢測顯示器12864有無讀信號,如果有讀信號,則FIFO輸出信號給顯示器;如果沒有,則數(shù)據(jù)繼續(xù)存儲在FIFO中,等待被取走。
4 結(jié)束語
基于FPGA在高速數(shù)據(jù)采集方面有單片機(jī)和DSP無法比擬的優(yōu)勢,F(xiàn)PGA具有時鐘頻率高,內(nèi)部延時小,全部控制邏輯由硬件完成,速度快,效率高,組成形式靈活等特點(diǎn)。因此,本文研究并開發(fā)了一個基于FPGA的數(shù)據(jù)采集系統(tǒng)。本文中所提出的數(shù)據(jù)采集系統(tǒng)設(shè)計方案,就是利用FPGA作為整個數(shù)據(jù)采集系統(tǒng)的核心來對系統(tǒng)時序和各邏輯模塊進(jìn)行控制。依靠FPGA強(qiáng)大的功能基礎(chǔ),以FPGA作為橋梁合理的連接了ADC、顯示器件以及其他外圍電路,最終實現(xiàn)了課題的要求,達(dá)到了數(shù)據(jù)采集的目的。