摘 要: 結(jié)合數(shù)據(jù)采集系統(tǒng)在電力系統(tǒng)中的應(yīng)用,,設(shè)計了一種基于FPGA的多路同步實時數(shù)據(jù)采集系統(tǒng),,該系統(tǒng)將多個功能模塊集成到一片F(xiàn)PGA中,構(gòu)成片上可編程系統(tǒng),使用一片F(xiàn)PGA完成對A/D轉(zhuǎn)換和雙口RAM等模塊的控制,;給出了系統(tǒng)的硬件原理框圖,,并結(jié)合系統(tǒng)的設(shè)計方案對其中的主要功能模塊進行了闡述;以此構(gòu)成的多路同步實時數(shù)據(jù)采集系統(tǒng)具有性能穩(wěn)定,、實時性強,、集成度高、擴展性靈活等特點,。
關(guān)鍵詞: FPGA,; A/D; 雙口RAM,; 多通道
隨著可再生能源應(yīng)用的日益增多,,以此建立的分布式發(fā)電系統(tǒng)也逐漸增加。為了更好地對分布式電源進行控制,,通常需要對多個模擬信號進行實時數(shù)據(jù)采集,,同時為了保證數(shù)據(jù)的一致性,必須同時對數(shù)據(jù)進行采樣[1-2],。常用的數(shù)據(jù)采集方案往往以單片機為控制核心,,控制A/D(模數(shù)轉(zhuǎn)換器)對多路信號進行采集及處理,但由于單片機本身的指令周期以及處理速度的影響,,難以達到對多通道高速數(shù)據(jù)實時采集的要求,;并且單片機控制的各種功能模塊要靠軟件的運行來實現(xiàn),軟件運行時間在整個采樣時間中占很大的比例,,對并行的多路高速數(shù)據(jù)采集的速度和效率較低,;而FPGA在高速數(shù)據(jù)采集方面相比單片機具有較好的優(yōu)勢,全部控制邏輯由硬件來完成,適合對時序要求嚴格的多路高速實時數(shù)據(jù)采集系統(tǒng)[3],。
1 系統(tǒng)結(jié)構(gòu)圖
分布式電源通常通過并網(wǎng)逆變器接入電網(wǎng),,為了實現(xiàn)對分布式發(fā)電的靈活控制,需要采集電網(wǎng)側(cè)的電壓電流信號,、分布式電源逆變器側(cè)的電壓電流信號以及逆變器直流母線側(cè)的電壓和電流,。采集系統(tǒng)整體結(jié)構(gòu)如圖1所示。主要包括電壓電流互感器,、強電隔離電路,、模擬信號處理電路、模數(shù)轉(zhuǎn)換(A/D)電路,、A/D控制電路,、FFT運算電路、頻率測量電路,、三相PLL相位鎖定電路、雙口RAM控制模塊以及CPU對FPGA控制的邏輯控制模塊等[4],。
設(shè)計的采集系統(tǒng)主要采用Altera公司的FPGA(Cyclone II EP2C20Q240)來實現(xiàn)[6],。在FPGA內(nèi)部,集成了大部分的控制模塊,,主要有A/D轉(zhuǎn)換控制模塊,、雙口RAM控制模塊、頻率測量模塊及FFT運算模塊等,,采集到的數(shù)據(jù)存儲到外部的雙口RAM中,,以便與CPU共享數(shù)據(jù)。
2 系統(tǒng)模塊設(shè)計
2.1 模擬信號處理電路
模擬信號處理電路如圖2所示,,主要處理傳感器輸出的模擬信號,,并送入A/D模塊。電阻R1的阻值選擇10 kΩ,,可以減少整個電路對干擾的敏感性,;電容C1可以減少高頻干擾電流的差模和共模的干擾,為了使信號不產(chǎn)生延時,,電容值一般選取100 pF以下,;為了使整個電路有很強的抗共模干擾能力,在運算放大器的同相輸入端接2R2的電阻以使整個電路保持較好的對稱性,;輸入端的2個分裂電阻之間接篏位二極管以對整個電路保護,,防止突然的過電壓,篏位二極管應(yīng)該選擇具有低反向電流的快速二極管,,在本設(shè)計中選用安捷倫的HSMS2702,。
2.2 A/D轉(zhuǎn)換控制模塊
A/D轉(zhuǎn)換電路采用德州儀器(TI)公司生產(chǎn)的ADS7864[5],該芯片是高速6通道全差分輸入雙12位A/D轉(zhuǎn)換器,,內(nèi)部含有2個500 kHz采樣速率的逐次逼近模數(shù)轉(zhuǎn)換器,,可以同時進行采樣和轉(zhuǎn)換,,2個模數(shù)轉(zhuǎn)換器分別對應(yīng)三路輸入通道(第一個模數(shù)轉(zhuǎn)換器對應(yīng)的通道為A0、B0,、C0,,第二個模數(shù)轉(zhuǎn)換器對應(yīng)的通道為A1、B1,、C1),,芯片含有三路差分采樣/保持放大器和一個多路模擬開關(guān)。六路通道被分為三對,,各由HOLDA,、HOLDB、HOLDC三個信號控制為采樣或保持模式,,輸入信號在進入采樣保持電路之前經(jīng)過全差分電路運算,,使其在500 kHz采樣率的情況下仍能保持高達80 dB的共模抑制比,對于高噪聲環(huán)境下輸入噪聲的抑制起到了非常重要的作用,。
ADS7864有三種讀出模式,,設(shè)計中通過CPU設(shè)置FPGA中的寄存器來確定采取何種模式,這樣CPU可以根據(jù)實際需要單獨地對某一路信號進行采樣,。在此設(shè)置為循環(huán)模式,,在第一個讀信號RD到來時讀取通道A0的數(shù)據(jù),第二個讀信號RD到來時讀取通道A1的數(shù)據(jù),,隨后是B0,、Bl、C0和C1, A/D轉(zhuǎn)換時序圖如圖3所示,,每個讀操作將使ADS7864輸出16位信息,,其中D15用于表明讀出數(shù)據(jù)是否有效(“1”有效),D14,、D13,、D12 用于表示所讀出數(shù)據(jù)的通道,D0~D11為該通道采樣結(jié)果數(shù)據(jù),。
根據(jù)系統(tǒng)要求,采用3片6通道的ADS7864構(gòu)成A/D轉(zhuǎn)換電路,,F(xiàn)PGA和A/D的硬件接口如圖4所示。通過FPGA進行同步控制,,實現(xiàn)對18路輸入信號的同步快速采樣,。本系統(tǒng)將被測的三相電壓分別接至A0、B0,、C0,;三相電流分別接至A1、B1、C1,;通過對HOLDA,、HOLDB、HOLDC三個信號同時置低電平,,實現(xiàn)三相電壓,、電流的同步采樣,采樣轉(zhuǎn)換后的值被保存在6個寄存器中,。
根據(jù)ADS7864的時序圖,,在FPGA芯片EP2C20Q240中采用狀態(tài)機來設(shè)計A/D轉(zhuǎn)換控制模塊,在Quartus II 7.2中進行了仿真,,數(shù)據(jù)讀取方式為循環(huán)模式,,仿真結(jié)果如圖5所示。
2.3 頻率測量模塊
在頻率測量模塊中,,首先對電壓信號進行濾波和整形,,經(jīng)過比較器后得到一個方波信號,輸出的方波信號作為頻率測量模塊的輸入信號,。常用的頻率測量方法有直接測頻法,、測周期法和等精度測頻法。直接測頻法的基本原理是在單位時間T內(nèi)對被測脈沖信號進行計數(shù),,若脈沖數(shù)為N,被測信號的頻率為f=N/T,;測周法是用被測信號作為測量時間閘門,,在被測脈沖的一個周期內(nèi),對周期為T的標準信號進行計數(shù),,得到的計數(shù)值為N,,則所測信號的頻率為f=1/(T×N)。但是這兩種方法都會產(chǎn)生±1的誤差,,直接測頻法側(cè)重于高頻應(yīng)用,,而測周法側(cè)重于低頻應(yīng)用。本文采用等精度測頻法,,等精度頻率測量方法是在直接測頻方法基礎(chǔ)上發(fā)展而來的,,它的實際閘門時間是不固定的,而是被測信號周期的整數(shù)倍,故與被測信號同步,,因此又稱為多周期同步法,。此方法消除了對被測信號計數(shù)時產(chǎn)生的±1個數(shù)字誤差,測量精度大大提高,,而且實現(xiàn)了在整個測量期間的等精度測量,,具有精度高及在測量過程中精度保持恒定的特點,且不隨被測號變化而變化。等精度測頻法的基本原理如圖6所示,。
2.4 雙口RAM控制模塊
在本設(shè)計中,,應(yīng)用FPGA采集多路數(shù)據(jù),還需要把采集到的部分數(shù)據(jù)上傳到CPU,同時CPU也會和FPGA交換數(shù)據(jù),,因此FPGA和CPU之間首先要解決兩者之間的通信方式,。常用的數(shù)據(jù)交換主要有串行通信、并行通信,、直接存儲器存取(DMA),、共享存儲器等方式。串行通信方式是利用處理器本身提供的串行口或者在芯片的基礎(chǔ)上用軟件或硬件開發(fā)一個串行口實現(xiàn)處理器之間的通信,。這種方式相對來說比較簡單,,適合處理器之間通信量不是很大或者較遠距離傳輸?shù)膱龊稀2⑿袛?shù)據(jù)傳輸技術(shù)是提高數(shù)據(jù)傳輸率的重要手段,,但是,,由于并行傳送方式的前提是用同一時序傳輸信號和接收信號,而過分提升時鐘頻率將難以讓數(shù)據(jù)傳送的時序與時鐘合拍,布線長度稍有差異,,數(shù)據(jù)就會以與時鐘不同的時序送達,,導致傳輸錯誤,同時提升時鐘頻率還容易引起信號線間的相互干擾,,因此,,并行方式難以實現(xiàn)高速化。直接存儲器存取是一種完全由硬件執(zhí)行數(shù)據(jù)交換的工作方式,,在這種方式中,,DMA控制器從CPU完全接管對總線的控制,數(shù)據(jù)交換不經(jīng)過CPU,,而直接在內(nèi)存與設(shè)備之間進行,;DMA方式一般用于高速地傳送成組的數(shù)據(jù),但是兩個處理器不能同時訪問存儲器,。共享存儲器的方式通常采用雙口RAM來實現(xiàn),,雙口RAM是一種性能優(yōu)越的快速通信器件,它提供兩套完全獨立的端口,,每個端口都有完整的地址,、數(shù)據(jù)和控制線,此時兩個處理器可以同時訪問雙口RAM(當然不能同時訪問同一個地址單元),,具有很快的存取速度,,可以實現(xiàn)高速的數(shù)據(jù)交換。
本設(shè)計中采用共享存儲器的方式,,選用一片CY7C026,,是一個16 KB×16的雙口靜態(tài)RAM,,硬件接口結(jié)構(gòu)框圖如圖7所示,使用FPGA分配片選,、讀/寫和BUSY信號,,防止FPGA和DSP同時對同一地址空間存取造成的沖突。
2.5 邏輯控制模塊
DSP通過邏輯控制模塊向FPGA發(fā)一些指令,,同時讀取FPGA的狀態(tài),;系統(tǒng)中把FPGA看做DSP的一個外設(shè),使用DSP的XZCS0AND1作為FPGA的片選信號,,這樣,,CPU既可以向FPGA發(fā)送命令,也可以從FPGA中讀一些狀態(tài),。
在Quartus II 7.2軟件平臺中包括一個專用模塊庫,,稱之為IP Core,其中的各種硬件功能模塊都是經(jīng)過EDA廠商周密設(shè)計并且通過驗證的,。設(shè)計中FFT運算模塊采用Altera公司自帶的FFT IP Core來實現(xiàn),,在FPGA中以硬件邏輯實現(xiàn)FFT運算的功能,簡化設(shè)計并提高了系統(tǒng)的可靠性,。
本文設(shè)計了一種多路數(shù)據(jù)同步實時采集系統(tǒng),,應(yīng)用FPGA控制采集系統(tǒng)的各個模塊,其最大的特點是結(jié)構(gòu)靈活,,有較強的通用性,,適于模塊化設(shè)計,適合于實時信號處理,,從而能夠提高整個系統(tǒng)的采集和處理效率,。分析了各個子模塊的硬件結(jié)構(gòu)框圖和控制實現(xiàn)方法。實際應(yīng)用表明,,采用該方法設(shè)計的系統(tǒng)能有效地完成多路同步實時數(shù)據(jù)采集任務(wù)。
參考文獻
[1] 楊淑英.電能質(zhì)量測量方法及其檢測裝置研究[J]. 華北電力大學學報, 2003,30(5).
[2] 曹暉,劉曉華,袁世英. 電能質(zhì)量測量系統(tǒng)中數(shù)據(jù)采集要求的定量分析[J]. 電測與儀表, 2004,41(463).
[3] 金燕,葛遠香,梁凌飛,等.基于SOPC的電能質(zhì)量在線監(jiān)測儀的設(shè)計[J]. 浙江工業(yè)大學學報,2008,36(6).
[4] 余祖俊,朱力強,孫浩青,等.基于FPGA的多路視頻圖像高速同步采集系統(tǒng)[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 數(shù)字系統(tǒng)設(shè)計教程[M]. 北京:北京航空航天大學出版社,2004.