- 相關(guān)推薦
基于FPGA的多路模擬量、數(shù)字量采集與處理系統(tǒng)
摘要:提出一種基于FPGA技術(shù)的多路模擬量、數(shù)字量采集與處理系統(tǒng)的設(shè)計(jì)方案,分析整個(gè)系統(tǒng)的結(jié)構(gòu),并討論FPGA內(nèi)部硬件資源的劃分和軟件的設(shè)計(jì)方案等。本設(shè)計(jì)方案外部電路結(jié)構(gòu)簡(jiǎn)單可靠,特別適用于多路檢測(cè)系統(tǒng)中,而且可以根據(jù)需要容易地對(duì)系統(tǒng)進(jìn)行擴(kuò)展,對(duì)于檢測(cè)系統(tǒng)來講具有一定的通用性。在電氣測(cè)控系統(tǒng)中,常常需要采集各種模擬量信號(hào)、數(shù)字量信號(hào),并對(duì)它們進(jìn)行相應(yīng)的處理。一般情況下,測(cè)控系統(tǒng)中用普通MCU(如51、196等單片機(jī)或控制型DSP)是可以完成系統(tǒng)任務(wù)的。但當(dāng)系統(tǒng)中要采集的信號(hào)量特別多時(shí)(特別是各種信號(hào)量、狀態(tài)量),僅僅靠用普通MCU的資源就往往難以完成任務(wù)。此時(shí),一般只能采取多MCU聯(lián)機(jī)處理模式,或者靠其它芯片擴(kuò)展系統(tǒng)資源來完成系統(tǒng)的監(jiān)測(cè)任務(wù)。這樣做不僅增加了大量的外部電路和系統(tǒng)成本,而且大大增加了系統(tǒng)的復(fù)雜性,因而系統(tǒng)的可靠性就會(huì)受一定的影響,這顯然不是設(shè)計(jì)者所愿意看到的。本文所提出的一種基于FPGA技術(shù)的模擬量、數(shù)字量采集與處理系統(tǒng),利用FPGA的I/O端口多,且可以自由編程支配、定義其功能的特點(diǎn),配以VHDL編寫的FPGA內(nèi)部執(zhí)行軟件,能很好地解決采集的信號(hào)路數(shù)多的問題。因?yàn)橛肰HDL編寫的執(zhí)行軟件內(nèi)部對(duì)各組數(shù)字量是按并行處理的,而且FPGA硬件的速度是ns級(jí)的,這是當(dāng)前任何MCU都難以達(dá)到的速度,因此本系統(tǒng)比其它系統(tǒng)更能實(shí)時(shí)地、快速地監(jiān)測(cè)信號(hào)量的變化。所以在狀態(tài)量特別多的監(jiān)測(cè)系統(tǒng)中,本系統(tǒng)將更能發(fā)揮出自身的優(yōu)勢(shì)。
本系統(tǒng)中的外圍電路設(shè)計(jì)相對(duì)簡(jiǎn)單、可靠,且鑒于FPGA和VHDL語言自身的特點(diǎn),系統(tǒng)具有較好的擴(kuò)展性,在監(jiān)測(cè)和控制系統(tǒng)中也具有一定的通用性。系統(tǒng)主要包括:FPGA芯片區(qū)、多路選擇與A/D采樣電路、交流信號(hào)調(diào)理電路、光耦隔離驅(qū)動(dòng)電路、時(shí)鐘電源區(qū)、PROM代碼下載電路等幾部分。結(jié)構(gòu)示意如圖1所示。
圖1 基于FPGA技術(shù)的多路模擬量、數(shù)字量采集與處理系統(tǒng)框圖
1 FPGA芯片特點(diǎn)分析及資源分配
本系統(tǒng)中的FPGA是采用Xilinx公司的Spantan-II系理XC2S100-5 PQ208。該系列的內(nèi)核采用2.5V供電,工作頻率最高可達(dá)200 MHz;I/O端口供電電壓為3.3V,可以承受5V的輸入高電平。
Spartan-II系列具有豐富的I/O口資源,I/O口輸出緩沖器呆以接收高達(dá)24mA的拉電流和48mA的灌電流。缺省時(shí),I/O輸出口的驅(qū)動(dòng)能力的12mA,也可以設(shè)置成2、4、6、8、16或24mA。
FPGA內(nèi)部資源劃分為四大部分,如圖2所示。
①FPGA邏輯運(yùn)算中心。用來接收其它各部分的數(shù)據(jù),并按照程序中設(shè)定的方案對(duì)所收到的數(shù)據(jù)進(jìn)行相應(yīng)的分析和處理。包括:對(duì)從MCU接收來的數(shù)據(jù)指令進(jìn)行分析,并按其指令要求進(jìn)行相應(yīng)操作;接收A/D采樣來的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行各種處理,如求其有效值,進(jìn)行FFT分析等;接收來自數(shù)字量的各種信息數(shù)據(jù),按設(shè)定的模式對(duì)其進(jìn)行判斷處理,并負(fù)責(zé)按接收的CPU指令輸出相應(yīng)的數(shù)字量。
②A/D控制單元。主要負(fù)責(zé)控制外部A/D芯片和多路開關(guān)的選通時(shí)序,以及實(shí)現(xiàn)對(duì)A/D采要過程的合理控制。因?yàn),在FPGA芯片內(nèi)部,不像在MCU內(nèi)部那樣有豐富的外設(shè)控制資源供用戶使用,要用FPGA來控制A/D采樣過程的動(dòng)作,必須用軟件來模擬實(shí)現(xiàn)各種A/D控制資源。利用這些自設(shè)定的A/D控制管理資源,配以合理的軟件控制時(shí)序,才能保證采樣過程的順利進(jìn)行。
③數(shù)字量監(jiān)測(cè)控制單元。負(fù)責(zé)所有要監(jiān)視和控制的數(shù)字量的狀態(tài)數(shù)據(jù)的采集和控制命令的輸出。這一部分同樣也需要用軟件來模擬實(shí)現(xiàn)各種對(duì)數(shù)字量的管理控制,只有配備較完備的外設(shè)控制管理單元,整個(gè)數(shù)字量的管理控制才能正確合理地進(jìn)行。
④FPGA接口邏輯控制單元。在FPGA內(nèi)部設(shè)計(jì)了FPGA模塊與外界MCU的接口單元,這雖然占去了一定的內(nèi)部資源,但是考慮到在一般的工程系統(tǒng)中不僅僅包括對(duì)各種信息的采集控制,還往往包括通信、顯示以及進(jìn)行一些復(fù)雜算術(shù)運(yùn)行等等。FPGA雖然有其顯著的長(zhǎng)處,但是在這些方面實(shí)現(xiàn)起來就往往不如普通MCU來得容易,因此考慮到本系統(tǒng)的通用性,在設(shè)計(jì)上增加了FPGA模塊與外界MCU的接口單元。
圖2 FPGA內(nèi)部資源分配示意圖
2 交流模擬量采集的控制與管理
在交流模擬量采集外圍電路中,A/D芯片采用的是BB公司的ADS774。多路交流量是通過4051的多路開關(guān)后輸入到ADS774芯片的。交流信號(hào)在進(jìn)入ADS774之前要經(jīng)過信號(hào)調(diào)量電路,調(diào)理成ADS774認(rèn)可的模擬信號(hào)。
FPGA實(shí)現(xiàn)的交流量采樣處理控制軟件由五部分組成:
第一部分為設(shè)定的3個(gè)與A/D采樣有關(guān)的16位指令寄存器組:A/D參數(shù)寄存器(ADPR)、輸出控制寄存器(ADOR)、A/D控制寄存器(ADCR)。
ADPR(XXXXXXXXX XXXXX XX)的各位定義如下:位1、位0選擇每周波采樣的點(diǎn)數(shù)(00表示每周波采16個(gè)點(diǎn),01表示每周波采32個(gè)點(diǎn),10表示每周波采64個(gè)點(diǎn),11表示每周波采128個(gè)點(diǎn))。位6~位2用來表示FPGA的時(shí)鐘頻率,00001表示時(shí)鐘頻率為1MHz,11111表示時(shí)鐘頻率為31MHz,00000表示時(shí)鐘頻率為32MHz。位15~位7表示所采樣信號(hào)的頻率,這9位表示的范圍為1Hz~512Hz。
ADOR是與FPGA輸出有關(guān)的寄存器。該寄存器的作用是:當(dāng)MCU要讀取某通道信號(hào)的信息時(shí),F(xiàn)PGA應(yīng)該輸出該信號(hào)的哪次諧波電壓。如為FFFFH,表示DSP讀到的是該通道信號(hào)的有效值;如果ADOR的值為0010H,那么,DSP讀到的是該通道信號(hào)的2次諧波電壓。
ADCR寄存器控制A/D采樣的通道數(shù)的選擇以及與A/D采樣有關(guān)的寄存器的復(fù)位控制等,這也是考慮到系統(tǒng)的通用性而設(shè)計(jì)的:如000C表示采樣第11路交流模擬量電壓;0011則表示同時(shí)采樣前六路信號(hào)等等。
第二部分為設(shè)計(jì)產(chǎn)生A/D與CD4051芯片的控制信號(hào)。如在圖2中,在采樣12路交流模擬量的情況下,F(xiàn)PGA需要產(chǎn)生7路控制信號(hào),這7路控制信號(hào)應(yīng)該滿足一定的時(shí)序要求。圖3給出了同時(shí)采樣前六路信號(hào)時(shí)FPGA的控制信號(hào)時(shí)序。
Abcs2[0,1,2]總線信號(hào)實(shí)際上是多路開關(guān)通道選擇的3個(gè)控制信號(hào)selA、selB、selC。需要說明的是,因?yàn)橐M(jìn)行修正,在對(duì)6路交流信號(hào)采樣的同時(shí),也對(duì)4051的 5V和AGND進(jìn)行了采樣,所以實(shí)際上測(cè)量的通道數(shù)為8路。
從圖3可看出,abcs2[0,1,2]總線信號(hào)每19.5
【基于FPGA的多路模擬量、數(shù)字量采集與處理系統(tǒng)】相關(guān)文章:
構(gòu)件化的航天用數(shù)據(jù)傳輸處理系統(tǒng)構(gòu)建05-02
試析基于勝任素質(zhì)的薪酬模式構(gòu)建01-03
基于戰(zhàn)略治理的企業(yè)環(huán)境風(fēng)險(xiǎn)研究08-28
基于minigui的網(wǎng)真機(jī)界面的實(shí)現(xiàn)08-05
基于軟交換的固網(wǎng)智能化05-11
基于BP網(wǎng)遙感影像分類研究與應(yīng)用08-10
基于SWOT的我國(guó)社;疬\(yùn)行現(xiàn)狀探析論文04-17
基于MOSFET內(nèi)阻的電流采樣及相電流重構(gòu)方法10-30