基于NI智能FPGA板卡的通用數(shù)據(jù)采集系統(tǒng)設(shè)計
摘要:基于NI公司的智能FPGA板卡以及圖形化編程軟件LabVIEW設(shè)計并實現(xiàn)了一種通用數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)與傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)相比結(jié)構(gòu)簡單、開發(fā)周期短、可靠性高、實時性好,并且對于不同應(yīng)用場合,在FPGA邏輯單元足夠多的情況下可以很簡便地依據(jù)實際情況對其做相應(yīng)調(diào)整,具有較強(qiáng)的通用性。
本文引用地址:http://www.ex-cimer.com/article/201610/309092.htm0 引言
數(shù)據(jù)采集是信號分析和處理的重要環(huán)節(jié),在導(dǎo)彈半實物仿真過程中快速可靠的實驗數(shù)據(jù)為提高仿真精度發(fā)揮著重要的作用。傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)各種數(shù)字、模擬信號相互交織,相應(yīng)的外圍電路龐大,接口復(fù)雜,要占用較大的電路板空間,無法滿足系統(tǒng)的小型化要求,同時硬件成本也很高。當(dāng)系統(tǒng)性能指標(biāo)發(fā)生變化時,相應(yīng)的功能電路和與之對應(yīng)的隔離、濾波等電路以及相關(guān)程序都要改變。這種牽一發(fā)而動全身的結(jié)構(gòu)導(dǎo)致系統(tǒng)的可擴(kuò)展性比較低,系統(tǒng)的通用性比較差。另一方面,早期數(shù)據(jù)采集系統(tǒng)多是基于復(fù)雜可編程邏輯器件(CPLD)設(shè)計的,數(shù)據(jù)的采樣速度和精度都不是很高。
隨著集成電路技術(shù)的發(fā)展,NI公司的FPGA板卡以其IO引腳多、片內(nèi)資源豐富、結(jié)構(gòu)靈活、具有嵌入式控制器的特點(diǎn)獲得了越來越多的應(yīng)用,其納秒級的速度可以較大地提高數(shù)據(jù)采樣的速度和精度。因此,基于NI公司FPGA板卡的數(shù)據(jù)采集系統(tǒng)和傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)相比更能實時、快速地監(jiān)測信號量的變化。而且該系統(tǒng)結(jié)構(gòu)簡單、開發(fā)周期短、可靠性高、實時性好,能夠完成導(dǎo)彈半實物仿真的數(shù)據(jù)采集任務(wù),具有較強(qiáng)的通用性。
1 系統(tǒng)方案設(shè)計
設(shè)計該數(shù)據(jù)采集系統(tǒng)的主要目的是在導(dǎo)彈半實物仿真系統(tǒng)中采集導(dǎo)彈的舵信號,將其傳給上位機(jī)進(jìn)行運(yùn)算和仿真。該系統(tǒng)的可擴(kuò)展性比較好,可以靈活地適應(yīng)不同的應(yīng)用場合,具有較強(qiáng)的通用性。
系統(tǒng)結(jié)構(gòu)圖如圖1所示,系統(tǒng)實物圖如圖2所示,將具有數(shù)據(jù)采集功能和數(shù)據(jù)通信功能的前端接口電路板卡集成在一個機(jī)箱里面,連接在同一塊背板上由獨(dú)立電源統(tǒng)一供電。背板上的四個接口通過NI公司專用數(shù)據(jù)線和安裝在工控機(jī)里面的FPGA板卡相連接。通過FPGA板卡與LabV IEW圖形化編程開發(fā)平臺,實現(xiàn)工控機(jī)與半實物硬件系統(tǒng)之間的數(shù)據(jù)采集和控制信號的傳輸。NI公司FPGA板卡的I/O端口從C0~C3共分為四個接口,每個接口40個端口。通過LabVIEW平臺進(jìn)行設(shè)置可以方便地自由支配、定義任何一個端口的read/write功能,很好地解決了高速數(shù)據(jù)采集系統(tǒng)的控制問題。也可以由FPGA板卡向前端接口電路提供統(tǒng)一的時鐘信號和命令字,使不同功能的電路板卡同步進(jìn)行數(shù)據(jù)操作。
由碼盤、旋轉(zhuǎn)變壓器/自整角機(jī)等傳感器測量到的舵偏角信息輸入系統(tǒng)之后,按照相應(yīng)的功能需要接入不同的前端接口板卡進(jìn)行光耦隔離或者經(jīng)過濾波、放大等處理,經(jīng)由機(jī)箱背板電路到達(dá)FPGA端口。通過FPGA分析和處理的信號之后再被傳入上位機(jī)中進(jìn)行存儲、分析、計算、顯示等處理。
在FPGA的邏輯單元足夠的情況下,對于不同的應(yīng)用場合可以很簡便地通過增刪不同功能的前端接口電路板實現(xiàn)相應(yīng)的使用要求,從而不會對系統(tǒng)的其他部分產(chǎn)生影響。因此,該系統(tǒng)的可擴(kuò)展性比較好,可以靈活地適應(yīng)不同的應(yīng)用場合,具有較強(qiáng)的通用性。
2 硬件設(shè)計
以前端接口板a的實現(xiàn)為例,其主要構(gòu)成為16位的D/A轉(zhuǎn)換器DAC7731模塊、14位A/D轉(zhuǎn)換器TLC3574模塊及其他輔助電路。
2.1 D/A轉(zhuǎn)換電路
DAC7731為16位的數(shù)字模擬轉(zhuǎn)換芯片,其內(nèi)部提供+10 V的參考電壓。將其模擬量輸出通過引腳設(shè)置為-10~+10 V的電壓范圍。DAC7731具有帶雙緩沖的標(biāo)準(zhǔn)三線SPI串行接口,允許模擬輸出的異步更新。如圖3所示,它還有一個串行數(shù)據(jù)輸出線以實現(xiàn)多片DAC7731的鏈接。系統(tǒng)工作時由LabVIEW圖形化編程開發(fā)平臺通過FPGA生成和發(fā)送DAC7731芯片的SPI接口和時序控制信號,通過SDI信號依次將需要轉(zhuǎn)換的數(shù)據(jù)以從最后一片到第一片的順序發(fā)送給每片DAC7731,之后通過
和LADC信號實現(xiàn)多片DAC7731的同步轉(zhuǎn)換輸出。
2.2 A/D轉(zhuǎn)換電路
綜合考慮系統(tǒng)的分辨率、通道數(shù)、采樣率、采樣范圍和接口等要求,系統(tǒng)的ADC選用TI公司的14位8通道高性能逐次逼近型模數(shù)轉(zhuǎn)換器TLC3574。該器件工作頻率高達(dá)25 MHz,采用偽差分的模擬輸入電路,將采樣信號的動態(tài)范圍擴(kuò)展為±10V,其內(nèi)含的采樣和保持功能使得外圍電路大為簡化。在輸出接口上,該器件采用SPI/DSP兼容的串行接口方式,從而極大地減少了接口的連線數(shù)量。A/D轉(zhuǎn)換電路原理如圖4所示,由FPGA生成TLC3574的SPI接口和時序信號,控制其將外部的模擬信號轉(zhuǎn)換后輸入到FPGA,進(jìn)行相應(yīng)的計算和處理。由于TLC3574片內(nèi)沒有電壓基準(zhǔn),可選用TI公司的三端可凋分流基準(zhǔn)源TL431組成外圍電路為其提供一個高精度的4 V電壓基準(zhǔn)。
考慮到信號的阻抗匹配需要,ADC的輸入前端需要有一個緩沖運(yùn)放,其性能必須與ADC的性能相匹配,否則會影響和限制ADC的性能。在數(shù)據(jù)采集過程中如果信號的變化幅度比較大,則需要根據(jù)信號的變化相應(yīng)調(diào)整放大器的增益。否則,單一的增益放大會使得放大后的信號幅值很有可能超過ADC的轉(zhuǎn)換量程。這里所采集的信號其變化幅度不是很大,采用TI公司高轉(zhuǎn)換率的輸入端運(yùn)算放大器TL084就可以滿足系統(tǒng)的使用要求。
2.3 數(shù)字量輸入/輸出設(shè)計
直接將通用背板的FPGA端口引到前端接口板,根據(jù)測試對象的接口電路,如27 V/開、地/開等形式,選擇繼電器、OC門、光耦隔離等方式,實現(xiàn)數(shù)字量的輸入和輸出。
2.4 串口電路設(shè)計
由于FPGA板卡具有便利的輸入輸出控制功能,利用FPGA板卡可以很方便的通過連接不同的接口芯片選擇相應(yīng)的串口模式。MAX490是低功耗收發(fā)器,用于RS 485與RS 422通信。它具有一個驅(qū)動器和一個接收器,驅(qū)動器擺率不受限制,可以實現(xiàn)最高2.5 Mb/s的傳輸速率。驅(qū)動器具有短路電流限制,并可以通過熱關(guān)斷電路將驅(qū)動器輸出置為高阻狀態(tài),防止過度的功率損耗。接收器輸入具有失效保護(hù)特性,當(dāng)輸入開路時,可以確保邏輯高電平輸出。如圖5所示,通過連接低功耗收發(fā)器MAX490可以實現(xiàn)RS 422通信,而改接SP3223芯片后就可以實現(xiàn)RS 232通信,區(qū)別只是在于FPGA中建立的UART邏輯模塊有所不同,進(jìn)一步顯示了系統(tǒng)良好的通用性。
2.5 電氣隔離設(shè)計
由于該系統(tǒng)為模擬/數(shù)字混合信號系統(tǒng),電路中的噪聲會對數(shù)模和模數(shù)轉(zhuǎn)換精度造成影響,因此在電路的實現(xiàn)上應(yīng)該對板卡芯片進(jìn)行降噪和隔離保護(hù),這樣既避免了不同信號之間的相互影響,提高了系統(tǒng)的共模抑制能力,也使得一些比較昂貴的芯片不會因為外部信號的不穩(wěn)定而燒毀。
傳統(tǒng)的隔離方式是對每個通道都使用電容耦合模擬隔離芯片ISO124等進(jìn)行隔離。這類隔離方式其輸入和輸出分別由兩組直流電源供電,而且存在較大的漂移,輸出信號通常存在紋波,尤其當(dāng)信號比較小時,輸出的相對誤差會增大。因此,還需要對輸出信號進(jìn)行濾波、調(diào)零等調(diào)理措施,使得系統(tǒng)電路比較復(fù)雜。
光電耦合器性能優(yōu)越,具有良好的抗干擾能力,因而被廣泛地應(yīng)用于輸入和輸出信號的電氣隔離。使用HCPL2630等高速光耦進(jìn)行光耦隔離,只需要一組直流供電電源,電路十分簡單。其良好的電絕緣能力和抗干擾能力使得模擬地和數(shù)字地分開,消除了共模電壓影響。系統(tǒng)選用串行而非并行的ADC和DAC,只需要隔離三路的SPI總線數(shù)字信號,這樣進(jìn)一步簡化了電路設(shè)計。
3 軟件設(shè)計
3.1 FPGA邏輯
FPGA智能板卡是整個數(shù)據(jù)采集系統(tǒng)的核心,由其產(chǎn)生和發(fā)送DAC與ADC的SPI接口和工作時序。其內(nèi)部的邏輯單元主要包括:DAC控制器、ADC控制器、接口單元等。DAC和ADC控制器是FPGA內(nèi)部的主要執(zhí)行單元,它按照DAC和ADC工作時序進(jìn)行相應(yīng)的工作。
DAC控制器:對于發(fā)送過程,在建立周期,DAC控制器初始化控制信號CS(置“1”);在命令周期,使能CS信號(置“0”),同時按照時鐘節(jié)拍,將16 b命令字以串行方式發(fā)送至DAC;在采樣周期,對CS信號進(jìn)行保持;轉(zhuǎn)換周期,置位CS信號(置“1”);對于接收過程,在建立周期LDAC處于鎖定狀態(tài)(置“1”);在接收周期,以串行方式接收上次轉(zhuǎn)換的16 b數(shù)據(jù);在存儲周期,控制器將LADC置“0”,改變寄存器內(nèi)容;在空閑周期,復(fù)位LADC(置“1”)恢復(fù)寄存器的鎖定狀態(tài)。
ADC控制器:對于發(fā)送過程,在建立周期,ADC控制器初始化控制信號CS(置“1”);在命令周期,使能CS信號(置“0”),同時按照時鐘節(jié)拍,將16 b命令字以串行方式發(fā)送至ADC;在采樣周期,對CS信號進(jìn)行保持;在轉(zhuǎn)換周期,置位CS信號(置“1”),并載入下一通道的命令字,同時,計算下一次接收數(shù)據(jù)的存儲地址。對于接收過程,在建立周期,控制器清零各接收寄存器,同時復(fù)位內(nèi)部RAM的寫信號WR(置“0”);在接收周期,控制器按照時鐘節(jié)拍,接收ADC上一次轉(zhuǎn)換的14 b串行數(shù)據(jù);在存儲周期,控制器使能WR信號(置“1”),并將接收到的數(shù)據(jù)寫入ADC通道對應(yīng)的RAM單元;在空閑周期,控制器復(fù)位WR信號(置“0”)。
3.2 LabVIEW程序設(shè)計
根據(jù)FPGA內(nèi)部的邏輯單元結(jié)構(gòu)和功能,通過NI公司的LabVIEW圖形化編程開發(fā)平臺對上述邏輯進(jìn)行了設(shè)計,并進(jìn)行了功能仿真。給出ADC控制器LabVIEW程序?qū)崿F(xiàn),如圖6所示。
NI公司的LabVIEW圖形化編程開發(fā)平臺具有一系列的優(yōu)點(diǎn),它不同于VHDL等基于時序的語言,而是一種基于信號流向的語言,程序運(yùn)行過程和真實硬件電路運(yùn)行原理相似,用LabVIEW編程的過程就像設(shè)計電路圖一樣。另外它有不需要預(yù)先編譯就存在語法檢查和調(diào)試過程使用的數(shù)字探針,其豐富的函數(shù)、數(shù)值分析、信號處理和設(shè)備驅(qū)動等功能,都是十分優(yōu)越的。LabVIEW將廣泛的數(shù)據(jù)采集、分析與顯示功能集中在了同一個環(huán)境中,可以在自己的平臺上無縫地集成一套完整的應(yīng)用方案。
將由LabVIEW圖形化編程開發(fā)平臺通過FPGA生成的正弦信號經(jīng)D/A電路輸出,經(jīng)過A/D電路進(jìn)行采集。分別選定四路不同的D/A通道和A/D通道進(jìn)行輸出和輸入顯示,圖形一致,程序運(yùn)轉(zhuǎn)正常,波形顯示清晰。限于DAC和ADC轉(zhuǎn)換速度,采集到的波形存在著微小的相位延遲。如圖7所示。
4 結(jié)語
基于NI公司FPGA板卡設(shè)計和實現(xiàn)的通用數(shù)據(jù)采集系統(tǒng)原理簡單,易于實現(xiàn)。該系統(tǒng)可靠性、實時性、快速性比較好,使得數(shù)據(jù)處理能力得到了極大的提高,可完全勝任大容量、高精度數(shù)據(jù)的高速采集。對于采集到的信號可以進(jìn)行實時處理或保存,也可通過串行口將其送至上位機(jī)進(jìn)行后續(xù)分析處理。對于不同應(yīng)用場合,在FPGA的邏輯單元足夠的情況下可以很簡便地依據(jù)實際情況對其做相應(yīng)調(diào)整,具有較強(qiáng)的通用性,實用價值比較高。
評論