《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的交流電測量儀的設(shè)計
基于FPGA的交流電測量儀的設(shè)計
來源:微型機(jī)與應(yīng)用2010年第18期
胡懷偉,石凡魯
(西安工程大學(xué) 電子信息學(xué)院,,陜西 西安710048)
摘要: 根據(jù)交流采樣的原理,,設(shè)計出基于FPGA開方算法,,解決了實時計算電壓有效值和頻率的問題。充分發(fā)揮FPGA硬件并行計算的特性,,實現(xiàn)高速運算和可靠性的結(jié)合, 能夠較好地解決精度與速度的問題,。為穩(wěn)定控制裝置快速判斷元件故障提供了充足時間,滿足電力系統(tǒng)實時性,、可靠性的要求,。
關(guān)鍵詞: FPGA ADS7804 交流采樣 LED
Abstract:
Key words :

摘  要: 根據(jù)交流采樣的原理,設(shè)計出基于FPGA開方算法,,解決了實時計算電壓有效值和頻率的問題,。充分發(fā)揮FPGA硬件并行計算的特性,,實現(xiàn)高速運算和可靠性的結(jié)合, 能夠較好地解決精度與速度的問題。為穩(wěn)定控制裝置快速判斷元件故障提供了充足時間,,滿足電力系統(tǒng)實時性,、可靠性的要求。
關(guān)鍵詞: 交流采樣,;FPGA,;ADS7804;逐次比較開方算法

在電力調(diào)度自動化系統(tǒng)中,,測量電壓和頻率是最重要的功能,。如何快速、準(zhǔn)確地采集顯得尤為重要,。目前根據(jù)采集信號的不同,可分直流采樣和交流采樣兩種方式,,直流采樣雖然設(shè)計簡單,,但無法實現(xiàn)實時信號的采集;變送器的精度和穩(wěn)定性對測量精度有很大影響,,無法滿足電力系統(tǒng)實時性,、可靠性的要求 。交流采樣法按照一定規(guī)律對被測信號的瞬時值進(jìn)行實時采樣, 再按設(shè)計的算法進(jìn)行數(shù)值處理, 從而獲得測量值,。與直流采樣法相比更易獲得高精度,、高穩(wěn)定性的測量結(jié)果。由于FPGA運行速度快,、內(nèi)部程序并行運行,,具有處理更復(fù)雜功能的能力,因此FPGA[1-3]和交流采樣相結(jié)合,,可以滿足電力系統(tǒng)實時性,、可靠性的要求。
1 系統(tǒng)硬件電路組成
    以日常照明所用的交流電(電壓為220 V,,頻率為50 Hz)為測量對象,,測量系統(tǒng)的組成電路主要包含供電、互感變壓器(TV),、A/D轉(zhuǎn)換電路以及FPGA,、顯示電路和報警電路。測量系統(tǒng)框圖如圖1所示,。

    220 V交流電壓經(jīng)過互感變壓器(TV)后的輸出電壓為-10 V~+10 V,,滿足電壓芯片ADS7804輸入端的要求,通過ADS7804將輸入的模擬量轉(zhuǎn)換成數(shù)字量送到FPGA,,得到量化電壓值,。一方面在一個周期(0.02 s)內(nèi)對電壓的采樣值采用計算均方根的方法計算出交流的有效值即電壓的大?。涣硪环矫鎸α炕碾妷褐颠M(jìn)行分析,,計算出2個正弦波的時間,,并算出頻率。通過顯示電路分別顯示電壓值和頻率值,。如果電壓低于正常電壓的80%或達(dá)到正常電壓的120%,,或者頻率低于49.00 Hz或高于51.00 Hz時,啟動報警電路,。

1.2 ADS7804芯片
    ADS7804芯片是12位A/D轉(zhuǎn)換器,,以其較高的性能價格比在儀器儀表中得到廣泛的應(yīng)用。ADS7804芯片內(nèi)部含有采樣保持,、電壓基準(zhǔn)和時鐘等電路,,可極大簡化用戶的電路設(shè)計,減少硬件開銷,,并可提高系統(tǒng)的穩(wěn)定性,。該A/D轉(zhuǎn)換器采用逐次逼近式工作原理,單通道輸入,,模擬輸入電壓的范圍為±10 V,,采樣速率為100 kHz,可以完全滿足電力系統(tǒng)中50 Hz交流電的采樣需要,。
    ADS7804芯片的VIN(1腳)為輸入的模擬信號,,輸入模擬量大小為-10 V~+10 V,6~18腳為輸入模擬信號轉(zhuǎn)換的數(shù)字量并行輸出口,,用于將轉(zhuǎn)換的數(shù)字量輸出,,CS(25腳)為片選信, R/C(24腳)為讀取結(jié)果/模數(shù)轉(zhuǎn)換控制信號,BUSY(26腳)用于指示轉(zhuǎn)換是否完成,。讀取時首先將R/C腳電平變低,;然后在CS腳輸人一個脈沖并在其下降沿啟動A/D轉(zhuǎn)換,此脈沖的寬度要求在40 ns之內(nèi),;這時BUSY腳電平拉低表示正在進(jìn)行轉(zhuǎn)換,;在經(jīng)過大約40 ns~6 μs以后,轉(zhuǎn)換完成,,BUSY腳電平相應(yīng)變高,;再把R/C腳電平拉高,這樣,,CS腳脈沖的下降沿即把轉(zhuǎn)換結(jié)果輸出到數(shù)據(jù)總線,。
    ADS7804芯片將模擬電壓轉(zhuǎn)換為數(shù)字量,以二進(jìn)制的補(bǔ)碼輸出,。該芯片電壓分辨率高達(dá)4.88 mV,。
1.3 FPGA芯片
    現(xiàn)場可編程門陣列(FPGA)作為專用集成電路(ASIC) 領(lǐng)域中的一種半定制電路而出現(xiàn),,是當(dāng)今數(shù)字系統(tǒng)設(shè)計的主要硬件平臺,其主要特點就是完全由用戶通過軟件進(jìn)行配置和編程,,從而完成某種特定的功能,。在修改和升級時,不需額外地改變PCB 電路板,,只是在計算機(jī)上修改和更新程序,,使硬件設(shè)計工作轉(zhuǎn)變?yōu)檐浖_發(fā)工作,縮短了系統(tǒng)設(shè)計的周期,,提高了實現(xiàn)的靈活性并降低了成本,,因此得到廣泛的應(yīng)用。
    本設(shè)計中FPGA主要負(fù)責(zé)控制A/D采樣芯片ADS7804,,并讀取轉(zhuǎn)換后的數(shù)字碼,,然后按交流采樣原理進(jìn)行實時計算,分別算出交流電壓的有效值,、交流電壓的頻率,,驅(qū)動顯示電路將電壓和頻率顯示出來,當(dāng)出現(xiàn)電壓偏離正常值20%,,或者頻率低于49 Hz或高于51 Hz時進(jìn)行報警,,供主處理器進(jìn)行故障判斷,。
    本設(shè)計采用FPGA做處理器有以下優(yōu)點:
    (1)由于FPGA并行處理的特點,,可同時運算多路模擬量,即多路交流量對應(yīng)的各個模塊可以同時采樣計算,,所以計算速度上有了質(zhì)的飛躍,;
    (2)在FPGA 設(shè)計中,F(xiàn)PGA可以并行地處理采樣,、計算,、顯示、報警等模塊,,大大提高了運行速度,,并滿足電力系統(tǒng)實時性、可靠性的需要,。
1.4 LED顯示
    LED數(shù)碼顯示管有共陰極和共陽極兩種接線方法,,本設(shè)計采用共陽極,低電平有效,,其中abcdefg組成數(shù)碼管顯示,,dp為小數(shù)點顯示。s1,、s2,、s3,、s4、s5,、s6,、s7、s8分別為選擇端,,當(dāng)其為高電平時選擇相應(yīng)的數(shù)碼管,。本設(shè)計主要采用兩組顯示,其中s1,、s2,、s3、s4為第一組顯示,,用于顯示電壓,;s5、s6,、s7,、s8為第二組顯示,用于顯示頻率,。例如要讓第一組第一個碼管顯示0時,,其他數(shù)碼管燈滅,則abcdefg=0000001,,dp為小數(shù)點位置0,,s1=1,s2=0,,s3=0,,s4=0。
2 系統(tǒng)軟件設(shè)計
2.1 軟件設(shè)計流程

    由離散化公式可知,, 根據(jù)一個周期內(nèi)不同時刻的電壓采樣值及采樣點數(shù)可計算出電壓的有效值[5],。為了提高計算精度,本設(shè)計在一個周期內(nèi)采樣128個點用于計算有效值,。同時通過對128個采樣點進(jìn)行分析計算出頻率,。
    在實際設(shè)計時,F(xiàn)PGA晶振為40 MHz,,用于準(zhǔn)確定時,,以確定每個采樣的間隔時間,從而準(zhǔn)確地啟動A/D轉(zhuǎn)換,,同時ADS7804芯片的轉(zhuǎn)換時間為10 μs左右,,本采樣周期為156.25 μs,本設(shè)計完全滿足FPGA及時精確的采樣要求,。
    本軟件設(shè)計主要包括一個定時器t1,、兩個計數(shù)器c1和c2,,定時器t1用于確定采樣時間,控制采樣,;計數(shù)器c1用于確定一個交流電周期共采樣128次,,利用交流電采樣原理公式計算交流電一個周期內(nèi)電壓的有效值;計數(shù)器c2用于計算頻率,。通過正弦的規(guī)律,,計算出3次從正值到負(fù)值或者3次從負(fù)值到正值這段時間(即2個周期內(nèi))采樣點的個數(shù),通過采樣點的間隔時間,,得出2個周期的時間,,從而計算出頻率的大小??傮w軟件設(shè)計流程圖如圖2所示,。

2.2 計算有效值的軟件設(shè)計
    根據(jù)本文介紹的交流電采樣原理[6-7]和有效值的計算方法,要計算交流電必須進(jìn)行平方和開方的運算,,由于FPGA沒有現(xiàn)成的開方運算方法,,設(shè)計FPGA開方運算方法成為本設(shè)計的關(guān)鍵。
    常用的開方算法有牛頓—萊福森算法,、逐次比較算法等,。牛頓—萊福森算法比較復(fù)雜, 占用資源比較多, 且迭代次數(shù)不確定, 不太適合FPGA運算。本設(shè)計采用逐次比較算法,充分發(fā)揮FPGA執(zhí)行速度快的優(yōu)點,。逐次比較算法先將實驗值進(jìn)行平方運算, 然后與輸入值相比較, 通過比較結(jié)果,,修正實驗值, 從而得到輸出值。
    本設(shè)計開方算法流程如圖3所示,。采用12位設(shè)計,,由于正負(fù)的關(guān)系,,計算時將負(fù)數(shù)求補(bǔ)轉(zhuǎn)換成正數(shù),,所以實際只有11位,需進(jìn)行11次運算比較,。

    首先,,令n=1,A=S=10000000000也即將11位的最高位置1,,其他位置0,,然后將它賦給A、S,,然后對A求平方后,,把A賦給B。B和一個周期內(nèi)128個采樣值的平方和的平均數(shù)C(平方和右移7位即可)比較大小,。當(dāng)C大于B時A=A+(S>>n),,同時調(diào)整n的值,,令n=n+1;若當(dāng)C等于B時,,則A即為所求的開方值,,當(dāng)C小于B時,A=[A-(S>>n-1)+(S>>n)],,同時調(diào)整n的值,,令n=n+1,開始下一次循環(huán)比較,。直到最后一位比較完后,,強(qiáng)行結(jié)束。例如:設(shè)C為49(二進(jìn)制為110001),,首先,,將n=1,A=S=10000000000,,對A平方并賦給B,,C<B,則執(zhí)行A=(A-(S>>n-1)+(S>>n)),。此時A=01000000000,,循環(huán)執(zhí)行平方、比較后A=00100000000,,繼續(xù)循環(huán)A=00100000000,,直到第9次循環(huán),平方,、比較后,,當(dāng)C大于B時,A=A+(S>>n),,A=00000000110,,繼續(xù)循環(huán);平方,、比較后A=00000000111,,繼續(xù)循環(huán);平方,、比較后A=00000000111,。即得出平方根為00000000111。經(jīng)過11次比較得出正確的結(jié)果,。
2.3 計算頻率的軟件設(shè)計
    頻率參數(shù)的實時測量一直是電力系統(tǒng)參數(shù)測量中的重點和難點,。由于電力系統(tǒng)的頻率時刻都有微小的變化, 精確的測頻手段成為實時控制的重要組成部分。在實際應(yīng)用中通常包括硬件測頻法和軟件測頻法兩種。本文軟件測頻主要采用基于電網(wǎng)電壓交流采樣技術(shù), 通過相應(yīng)的數(shù)值算法,經(jīng)過計算機(jī)處理計算獲得頻率量的大小, 其算法相當(dāng)豐富而且還在不斷發(fā)展,。本設(shè)計中的控制器采用過零法進(jìn)行軟件測頻,。
    如圖4所示,當(dāng)采樣值出現(xiàn)有負(fù)值到正值的變化,,表示正弦值過了0點,,為了排除干擾和誤判,且隨后需出現(xiàn)3個正值則代表正弦值確實過了零點,,進(jìn)入正值區(qū)間,,此時計數(shù)器開始對采樣個數(shù)數(shù)進(jìn)行計數(shù),經(jīng)過一定的采樣值后,,當(dāng)采樣值第3次出現(xiàn)由負(fù)值到正值的變化,,表示正弦值過了0點,且隨后需出現(xiàn)3個正值則代表正弦值確實過了0點,,進(jìn)入正值區(qū)間,,此時停止計數(shù)器對采樣個數(shù)進(jìn)行計數(shù);或者當(dāng)采樣值出現(xiàn)由正值到負(fù)值的變化,,表示正弦值過了0點,,為了排除干擾和誤判,且隨后需出現(xiàn)3個負(fù)值則代表正弦值確實過了0點,,進(jìn)入負(fù)值區(qū)間,,此時計數(shù)器開始對采樣個數(shù)進(jìn)行計數(shù),經(jīng)過一定的采樣值后,,當(dāng)采樣值第3次出現(xiàn)正值到負(fù)值的變化,,表示正弦值過了0點,且隨后需出現(xiàn)3個負(fù)值則代表正弦值確實過了0點,,進(jìn)入負(fù)值區(qū)間,,此時停止計數(shù)器對采樣個數(shù)的計數(shù)。判斷出此時計數(shù)器的個數(shù)即為采樣個數(shù),,通過采樣的間隔時間t1,,乘以計數(shù)器的個數(shù)c2,即1個周期的時間為t3=t1×c2,。則頻率為f=1/(0.5×t3),。此設(shè)計2個周期采樣約256個點,,頻率精度相當(dāng)?shù)母?,可以滿足電力系統(tǒng)的需要。

    該系統(tǒng)是基于交流采樣設(shè)計的電力參數(shù)監(jiān)測儀器,,設(shè)計出基于FPGA的開方程序,,通過對交流采樣值進(jìn)行處理和計算,結(jié)合FPGA的高速運算、并行處理的能力,,實現(xiàn)交流電壓有效值和頻率的實時計算,。具有精度高、速度快,、實時性好的特點,,在電力系統(tǒng)中有極高的實用價值。
參考文獻(xiàn)
[1] 劉福奇.FPGA嵌入式項目開發(fā)實戰(zhàn)[M].北京:電子工業(yè)出版社,,2009.
[2] 胡廣書.數(shù)字信號處理[M].北京:清華大學(xué)出版社,,2003.
[3] 王傳新.FPGA設(shè)計基礎(chǔ)[M].北京:高等教育出版社,2007.
[4] BURR BROWN.ADS78O4 DATA BO0K,,1999.
[5] 邁耶-貝斯.數(shù)字信號處理的FPGA實現(xiàn)[M].劉凌,,譯. 北京:清華大學(xué)出版社,2006.
[6] 史鍵芳,,宋正湘,,張國鋼.智能儀器設(shè)計基礎(chǔ)[M].北京:電子工業(yè)出版社,2007.
[7] 王汝文.電器智能化原理及應(yīng)用[M].北京:電子工業(yè)出版社,,2007.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。