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