《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的多路同步實時數據采集系統
基于FPGA的多路同步實時數據采集系統
侯朝勇, 胡學浩, 莊 童
(中國電力科學研究院, 北京100192)
摘要: 結合數據采集系統在電力系統中的應用,設計了一種基于FPGA的多路同步實時數據采集系統,該系統將多個功能模塊集成到一片FPGA中,構成片上可編程系統,使用一片FPGA完成對A/D轉換和雙口RAM等模塊的控制;給出了系統的硬件原理框圖,并結合系統的設計方案對其中的主要功能模塊進行了闡述;以此構成的多路同步實時數據采集系統具有性能穩(wěn)定、實時性強、集成度高、擴展性靈活等特點。
關鍵詞: FPGA 雙口RAM 多通道
Abstract:
Key words :

摘   要: 結合數據采集系統在電力系統中的應用,設計了一種基于FPGA的多路同步實時數據采集系統,該系統將多個功能模塊集成到一片FPGA中,構成片上可編程系統,使用一片FPGA完成對A/D轉換和雙口RAM等模塊的控制;給出了系統的硬件原理框圖,并結合系統的設計方案對其中的主要功能模塊進行了闡述;以此構成的多路同步實時數據采集系統具有性能穩(wěn)定、實時性強、集成度高、擴展性靈活等特點。
關鍵詞: FPGA; A/D; 雙口RAM; 多通道

  隨著可再生能源應用的日益增多,以此建立的分布式發(fā)電系統也逐漸增加。為了更好地對分布式電源進行控制,通常需要對多個模擬信號進行實時數據采集,同時為了保證數據的一致性,必須同時對數據進行采樣[1-2]。常用的數據采集方案往往以單片機為控制核心,控制A/D(模數轉換器)對多路信號進行采集及處理,但由于單片機本身的指令周期以及處理速度的影響,難以達到對多通道高速數據實時采集的要求;并且單片機控制的各種功能模塊要靠軟件的運行來實現,軟件運行時間在整個采樣時間中占很大的比例,對并行的多路高速數據采集的速度和效率較低;而FPGA在高速數據采集方面相比單片機具有較好的優(yōu)勢,全部控制邏輯由硬件來完成,適合對時序要求嚴格的多路高速實時數據采集系統[3]。
1 系統結構圖
  分布式電源通常通過并網逆變器接入電網,為了實現對分布式發(fā)電的靈活控制,需要采集電網側的電壓電流信號、分布式電源逆變器側的電壓電流信號以及逆變器直流母線側的電壓和電流。采集系統整體結構如圖1所示。主要包括電壓電流互感器、強電隔離電路、模擬信號處理電路、模數轉換(A/D)電路、A/D控制電路、FFT運算電路、頻率測量電路、三相PLL相位鎖定電路、雙口RAM控制模塊以及CPU對FPGA控制的邏輯控制模塊等[4]。


  設計的采集系統主要采用Altera公司的FPGA(Cyclone II EP2C20Q240)來實現[6]。在FPGA內部,集成了大部分的控制模塊,主要有A/D轉換控制模塊、雙口RAM控制模塊、頻率測量模塊及FFT運算模塊等,采集到的數據存儲到外部的雙口RAM中,以便與CPU共享數據。
2 系統模塊設計
2.1 模擬信號處理電路

  模擬信號處理電路如圖2所示,主要處理傳感器輸出的模擬信號,并送入A/D模塊。電阻R1的阻值選擇10 kΩ,可以減少整個電路對干擾的敏感性;電容C1可以減少高頻干擾電流的差模和共模的干擾,為了使信號不產生延時,電容值一般選取100 pF以下;為了使整個電路有很強的抗共模干擾能力,在運算放大器的同相輸入端接2R2的電阻以使整個電路保持較好的對稱性;輸入端的2個分裂電阻之間接篏位二極管以對整個電路保護,防止突然的過電壓,篏位二極管應該選擇具有低反向電流的快速二極管,在本設計中選用安捷倫的HSMS2702。


2.2 A/D轉換控制模塊
  A/D轉換電路采用德州儀器(TI)公司生產的ADS7864[5],該芯片是高速6通道全差分輸入雙12位A/D轉換器,內部含有2個500 kHz采樣速率的逐次逼近模數轉換器,可以同時進行采樣和轉換,2個模數轉換器分別對應三路輸入通道(第一個模數轉換器對應的通道為A0、B0、C0,第二個模數轉換器對應的通道為A1、B1、C1),芯片含有三路差分采樣/保持放大器和一個多路模擬開關。六路通道被分為三對,各由HOLDA、HOLDB、HOLDC三個信號控制為采樣或保持模式,輸入信號在進入采樣保持電路之前經過全差分電路運算,使其在500 kHz采樣率的情況下仍能保持高達80 dB的共模抑制比,對于高噪聲環(huán)境下輸入噪聲的抑制起到了非常重要的作用。
  ADS7864有三種讀出模式,設計中通過CPU設置FPGA中的寄存器來確定采取何種模式,這樣CPU可以根據實際需要單獨地對某一路信號進行采樣。在此設置為循環(huán)模式,在第一個讀信號RD到來時讀取通道A0的數據,第二個讀信號RD到來時讀取通道A1的數據,隨后是B0、Bl、C0和C1, A/D轉換時序圖如圖3所示,每個讀操作將使ADS7864輸出16位信息,其中D15用于表明讀出數據是否有效(“1”有效),D14、D13、D12 用于表示所讀出數據的通道,D0~D11為該通道采樣結果數據。

  根據系統要求,采用3片6通道的ADS7864構成A/D轉換電路,FPGA和A/D的硬件接口如圖4所示。通過FPGA進行同步控制,實現對18路輸入信號的同步快速采樣。本系統將被測的三相電壓分別接至A0、B0、C0;三相電流分別接至A1、B1、C1;通過對HOLDA、HOLDB、HOLDC三個信號同時置低電平,實現三相電壓、電流的同步采樣,采樣轉換后的值被保存在6個寄存器中。


  根據ADS7864的時序圖,在FPGA芯片EP2C20Q240中采用狀態(tài)機來設計A/D轉換控制模塊,在Quartus II 7.2中進行了仿真,數據讀取方式為循環(huán)模式,仿真結果如圖5所示。


2.3 頻率測量模塊
  在頻率測量模塊中,首先對電壓信號進行濾波和整形,經過比較器后得到一個方波信號,輸出的方波信號作為頻率測量模塊的輸入信號。常用的頻率測量方法有直接測頻法、測周期法和等精度測頻法。直接測頻法的基本原理是在單位時間T內對被測脈沖信號進行計數,若脈沖數為N,被測信號的頻率為f=N/T;測周法是用被測信號作為測量時間閘門,在被測脈沖的一個周期內,對周期為T的標準信號進行計數,得到的計數值為N,則所測信號的頻率為f=1/(T×N)。但是這兩種方法都會產生±1的誤差,直接測頻法側重于高頻應用,而測周法側重于低頻應用。本文采用等精度測頻法,等精度頻率測量方法是在直接測頻方法基礎上發(fā)展而來的,它的實際閘門時間是不固定的,而是被測信號周期的整數倍,故與被測信號同步,因此又稱為多周期同步法。此方法消除了對被測信號計數時產生的±1個數字誤差,測量精度大大提高,而且實現了在整個測量期間的等精度測量,具有精度高及在測量過程中精度保持恒定的特點,且不隨被測號變化而變化。等精度測頻法的基本原理如圖6所示。


2.4 雙口RAM控制模塊
  在本設計中,應用FPGA采集多路數據,還需要把采集到的部分數據上傳到CPU,同時CPU也會和FPGA交換數據,因此FPGA和CPU之間首先要解決兩者之間的通信方式。常用的數據交換主要有串行通信、并行通信、直接存儲器存取(DMA)、共享存儲器等方式。串行通信方式是利用處理器本身提供的串行口或者在芯片的基礎上用軟件或硬件開發(fā)一個串行口實現處理器之間的通信。這種方式相對來說比較簡單,適合處理器之間通信量不是很大或者較遠距離傳輸的場合。并行數據傳輸技術是提高數據傳輸率的重要手段,但是,由于并行傳送方式的前提是用同一時序傳輸信號和接收信號,而過分提升時鐘頻率將難以讓數據傳送的時序與時鐘合拍,布線長度稍有差異,數據就會以與時鐘不同的時序送達,導致傳輸錯誤,同時提升時鐘頻率還容易引起信號線間的相互干擾,因此,并行方式難以實現高速化。直接存儲器存取是一種完全由硬件執(zhí)行數據交換的工作方式,在這種方式中,DMA控制器從CPU完全接管對總線的控制,數據交換不經過CPU,而直接在內存與設備之間進行;DMA方式一般用于高速地傳送成組的數據,但是兩個處理器不能同時訪問存儲器。共享存儲器的方式通常采用雙口RAM來實現,雙口RAM是一種性能優(yōu)越的快速通信器件,它提供兩套完全獨立的端口,每個端口都有完整的地址、數據和控制線,此時兩個處理器可以同時訪問雙口RAM(當然不能同時訪問同一個地址單元),具有很快的存取速度,可以實現高速的數據交換。
  本設計中采用共享存儲器的方式,選用一片CY7C026,是一個16 KB×16的雙口靜態(tài)RAM,硬件接口結構框圖如圖7所示,使用FPGA分配片選、讀/寫和BUSY信號,防止FPGA和DSP同時對同一地址空間存取造成的沖突。


2.5 邏輯控制模塊
  DSP通過邏輯控制模塊向FPGA發(fā)一些指令,同時讀取FPGA的狀態(tài);系統中把FPGA看做DSP的一個外設,使用DSP的XZCS0AND1作為FPGA的片選信號,這樣,CPU既可以向FPGA發(fā)送命令,也可以從FPGA中讀一些狀態(tài)。
  在Quartus II 7.2軟件平臺中包括一個專用模塊庫,稱之為IP Core,其中的各種硬件功能模塊都是經過EDA廠商周密設計并且通過驗證的。設計中FFT運算模塊采用Altera公司自帶的FFT IP Core來實現,在FPGA中以硬件邏輯實現FFT運算的功能,簡化設計并提高了系統的可靠性。
  本文設計了一種多路數據同步實時采集系統,應用FPGA控制采集系統的各個模塊,其最大的特點是結構靈活,有較強的通用性,適于模塊化設計,適合于實時信號處理,從而能夠提高整個系統的采集和處理效率。分析了各個子模塊的硬件結構框圖和控制實現方法。實際應用表明,采用該方法設計的系統能有效地完成多路同步實時數據采集任務。
參考文獻
[1]     楊淑英.電能質量測量方法及其檢測裝置研究[J]. 華北電力大學學報, 2003,30(5).
[2]     曹暉,劉曉華,袁世英. 電能質量測量系統中數據采集要求的定量分析[J]. 電測與儀表, 2004,41(463).
[3]     金燕,葛遠香,梁凌飛,等.基于SOPC的電能質量在線監(jiān)測儀的設計[J]. 浙江工業(yè)大學學報,2008,36(6).
[4]     余祖俊,朱力強,孫浩青,等.基于FPGA的多路視頻圖像高速同步采集系統[J].北京交通大學學報,1998,22(4).
[5]     Texas Instruments Corporation. ADS7864 Data sheet[DB/OL]. 2005. http://focus.ti.com/lit/ds/symlink/ads7864.pdf.
[6]     Altera Corporation.Cyclone II Device Handbook[DB/OL].2007.  http://www.altera.com/literature/hb/cyc2/cyc2_cii5v1_01.pdf
[7]     夏宇聞.Verilog 數字系統設計教程[M]. 北京:北京航空航天大學出版社,2004.

此內容為AET網站原創(chuàng),未經授權禁止轉載。