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