基于FPGA/CPLD的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
0 引 言
本文引用地址:http://www.ex-cimer.com/article/262536.htm傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)一般采用單片機(jī),系統(tǒng)大多通過(guò)PCI總線完成數(shù)據(jù)的傳輸。其缺點(diǎn)是數(shù)學(xué)運(yùn)算能力差;受限于計(jì)算機(jī)插槽數(shù)量和中斷資源;不便于連接與安裝;易受機(jī)箱內(nèi)電磁環(huán)境的影響。這些問(wèn)題遏制了基于PCI總線的數(shù)據(jù)采集系統(tǒng)的進(jìn)一步開(kāi)發(fā)和應(yīng)用。因此,需要一種更為簡(jiǎn)便通用的方式完成采集系統(tǒng)和計(jì)算機(jī)數(shù)據(jù)的交互。
數(shù)據(jù)采集系統(tǒng)性能的好壞,主要取決于它的精度和速度。在保證精度的條件下應(yīng)盡可能地提高采樣速度,以滿足實(shí)時(shí)采集、實(shí)時(shí)處理和實(shí)時(shí)控制的要求。實(shí)踐表明,采用ARM 32位嵌入式微處理器作為控制器,用USB(通用串行總線)和上位機(jī)連接構(gòu)成的數(shù)據(jù)采集系統(tǒng)能大大提高系統(tǒng)數(shù)據(jù)處理的能力,降低對(duì)PC機(jī)和接口速度的依賴。
1 系統(tǒng)硬件設(shè)計(jì)
實(shí)現(xiàn)系統(tǒng)功能的基本思路是:以CPLD/FPGA實(shí)現(xiàn)儀器的數(shù)字平臺(tái),和ARM嵌入式處理器及單片機(jī)一起實(shí)現(xiàn)對(duì)整機(jī)的智能控制和高速的數(shù)據(jù)處理。
1.1 系統(tǒng)框圖
系統(tǒng)原理方框圖如圖1所示,該系統(tǒng)主要由微處理器、數(shù)字邏輯平臺(tái)、輸入控制、A,B通道輸入處理、C通道輸入處理、整形、A/D轉(zhuǎn)換、采樣時(shí)序控制、鍵盤液晶顯示、存儲(chǔ)器擴(kuò)展等模塊構(gòu)成。
?
1.2 系統(tǒng)結(jié)構(gòu)圖
系統(tǒng)硬件如圖2所示,利用一片規(guī)模較小的CPLD和一片規(guī)模較大的FPGA組合構(gòu)成系統(tǒng)的數(shù)字邏輯平臺(tái)。CPLD主要用作輸入控制,FPGA則連接了系統(tǒng)的其他各個(gè)部分。CPLD/FPGA可實(shí)現(xiàn)現(xiàn)場(chǎng)編程,使用CPLD/FPGA可使設(shè)計(jì)方便,利用它靈活、校驗(yàn)快以及設(shè)計(jì)可隨意改變的特點(diǎn),可大大縮短研制時(shí)間。
?
1.3 主要部分功能
1.3.1 微處理器
系統(tǒng)采用由Philips公司生產(chǎn)的ARM 32位微處理器LPC2105作為主CPU,進(jìn)行高速的數(shù)據(jù)處理,用8位單片機(jī)P89C51RD2作為輔CPU,進(jìn)行速度較慢的數(shù)據(jù)處理,控制其他外圍芯片和模塊實(shí)現(xiàn)A,B通道模擬帶寬100 MHz、峰值電壓±100 V和C通道二極管通斷、電壓、電流、電阻值的數(shù)據(jù)采集功能。
1.3.2 A,B通道部分
通過(guò)自動(dòng)增益電路(AGC)即程序控制放大器,將被測(cè)模擬信號(hào)調(diào)理到適合ADC芯片(AD9288)采樣的范圍。根據(jù)頻率的大小和觸發(fā)方式,運(yùn)用實(shí)時(shí)采樣或等效采樣對(duì)調(diào)理后的模擬信號(hào)進(jìn)行采樣(A/D轉(zhuǎn)換)。利用高速FIFO存貯器(IDT72V261LAl0A)存儲(chǔ)采樣后得到的數(shù)據(jù)。
結(jié)合鍵盤操作和系統(tǒng)設(shè)置,對(duì)采樣后的數(shù)據(jù)進(jìn)行數(shù)學(xué)運(yùn)算,將還原后的波形數(shù)據(jù)和參數(shù)送液晶顯示器顯示或存入閃存里面或通過(guò)USB接口傳送給PC機(jī),從而實(shí)現(xiàn)了A,B通道高速數(shù)據(jù)采集的功能。
1.3.3 C通道部分
C輸入通道為多功能輸入通道,系統(tǒng)通過(guò)控制繼電器矩陣來(lái)選擇不同的模塊測(cè)量電壓、電流或二極管的通斷和電阻。被測(cè)元件參數(shù)或電壓、電流經(jīng)過(guò)多功能轉(zhuǎn)換電路處理后,其信號(hào)送24 b的A/D轉(zhuǎn)換器ADS1211采樣后送單片機(jī)P89C51RD2,分析被測(cè)元件或電壓、電流的參數(shù)值,從而實(shí)現(xiàn)了C通道高精度數(shù)據(jù)采集的功能。
1.3.4 鍵盤、液晶顯示接口電路
本系統(tǒng)采用4×8的鍵盤和320×240不帶驅(qū)動(dòng)器的液晶顯示模塊,驅(qū)動(dòng)器和顯存設(shè)計(jì)在FPGA內(nèi)。以上系統(tǒng)通過(guò)USB接口與PC機(jī)通信,在上位機(jī)的控制下,實(shí)現(xiàn)可視化人機(jī)交互界面。同時(shí)系統(tǒng)也保留了傳統(tǒng)的RS 232接口,但只是用于ARM和單片機(jī)的編程下載。
2 軟件設(shè)計(jì)流程
LPC2105芯片作為系統(tǒng)主控制中心及數(shù)據(jù)處理中心,整個(gè)系統(tǒng)的運(yùn)轉(zhuǎn)受到它的控制,例如響應(yīng)用戶的按鍵操作,發(fā)出通道控制,A/D采樣時(shí)鐘控制,F(xiàn)IFO寫時(shí)鐘的選擇,菜單及系統(tǒng)狀態(tài)顯示,F(xiàn)IFO數(shù)據(jù)的處理,信號(hào)或參數(shù)的自動(dòng)測(cè)試等。
數(shù)據(jù)采集卡的軟件程序結(jié)構(gòu)如圖3所示,可分為系統(tǒng)初始化模塊、鍵語(yǔ)分析模塊、系統(tǒng)核心控制模塊、通道控制模塊、觸發(fā)控制模塊、A/D采樣控制模塊、FIFO讀寫控制模塊、讀取頻率字模塊、參數(shù)測(cè)試模塊、狀態(tài)顯示模塊、波形顯示模塊、存儲(chǔ)控制模塊、其他功能模塊。
?
系統(tǒng)的初始化模塊包括開(kāi)機(jī)自檢、硬件參數(shù)初始化、系統(tǒng)狀態(tài)初始化(如通道的波形顯示狀態(tài)初始化)等。鍵語(yǔ)分析模塊對(duì)面板上的用戶輸入進(jìn)行分析處理,通過(guò)核心控制模塊調(diào)用相應(yīng)的功能處理模塊,通過(guò)對(duì)通道控制模塊、觸發(fā)控制模塊、A/D采樣控制模塊、FIFO讀寫控制模塊、讀取頻率字模塊、參數(shù)測(cè)試模塊、狀態(tài)顯示模塊、波形顯示模塊、存儲(chǔ)控制模塊、其他功能模塊的函數(shù)調(diào)用來(lái)實(shí)現(xiàn)對(duì)來(lái)自鍵語(yǔ)分析的處理功能。狀態(tài)顯示模塊顯示程序運(yùn)行時(shí)的各種狀態(tài),如當(dāng)前數(shù)據(jù)采集的掃描速率、通道的垂直靈敏度等。波形顯示模塊顯示采集的波形。
整個(gè)系統(tǒng)的程序又可分成底層驅(qū)動(dòng)和上層軟件。底層驅(qū)動(dòng)指對(duì)本系統(tǒng)其他外設(shè)或器件直接控制或訪問(wèn)的程序部分,包括LPC2105和單片機(jī)的初始化(即對(duì)片內(nèi)各核心寄存器的操作賦值、對(duì)片上外設(shè)的初始化賦值、對(duì)片內(nèi)各外設(shè)中斷及外部中斷的控制操作)。上層軟件主要指:菜單的設(shè)計(jì)及顯示、數(shù)據(jù)的處理、波形的恢復(fù)及平滑等。
3 系統(tǒng)性能指標(biāo)
3.1 A,B通道的性能指標(biāo)
(1)模擬信號(hào)帶寬:100 MHz(40 dB);
(2)最高實(shí)時(shí)采樣率:100.MS/s;
(3)最高等效采樣率:5 GS/s;
(4)垂直分辨率:8 b;
(5)垂直靈敏度:5 mV/div~25 V/diV;
(6)水平掃描:5 ns/div~10 s/diV;
(7)最大輸入電壓:(AC+DC)±100 Vpp;
(8)輸入RC:1 MΩ±1.5%/20 pF±3 pF;
(9)耦合方式:直流、交流、接地;
(10)觸發(fā)模式:交流、直流、高頻抑制、低頻抑制;
(11)觸發(fā)源:A,B;
(12)存儲(chǔ)深度:16K/通道;
(13)顯示模式:A,-A,B,-B,A-B,A+B;
(14)測(cè)量信號(hào)參數(shù):周期、頻率、平均值、有效值、峰值、均方根值、最小值、最大值、上升時(shí)間、下降時(shí)、正頻寬、負(fù)頻寬、占空比;
(15)測(cè)量精度:±5%;
(16)校準(zhǔn)信號(hào):1 kHz/3.3 V。
2 C通道性能指標(biāo)
(1)測(cè)量電阻:100 Ω,1 kΩ,10 kΩ,100 kΩ,1 MΩ;
(2)測(cè)量電壓:10 mV,30 mV,1 V,3 V,lO V,V:
(3)測(cè)量電流:200 mA,1 A;
(4)二極管:通斷測(cè)量;
(5)測(cè)量精度:±3%。
4 結(jié) 論
本系統(tǒng)采用ARM+單片機(jī)+CPLD/FPGA的設(shè)計(jì)方案,其高速數(shù)據(jù)處理的任務(wù)可以由下位機(jī)獨(dú)立完成,并且系統(tǒng)帶有大屏幕液晶顯示器,因而脫離PC機(jī)在斷電的情況下也可以正常使用。該采集卡具備實(shí)時(shí)采集、自動(dòng)存儲(chǔ)、即時(shí)顯示、即時(shí)反饋、自動(dòng)處理、自動(dòng)傳輸?shù)裙δ堋楝F(xiàn)場(chǎng)數(shù)據(jù)的真實(shí)性、有效性、即時(shí)性、可用性提供了保證,并能方便地輸入計(jì)算機(jī),可以應(yīng)用于智能儀器儀表、工業(yè)、農(nóng)業(yè)、商業(yè)、交通、物流、倉(cāng)儲(chǔ)等行業(yè)。
fpga相關(guān)文章:fpga是什么
評(píng)論