<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 基于DSP和CPLD的電力參數(shù)檢測終端的設(shè)計

          基于DSP和CPLD的電力參數(shù)檢測終端的設(shè)計

          作者:■ 南京理工大學 包盛花 時間:2005-04-27 來源:eaw 收藏

          摘    要:本文介紹了電力參數(shù)檢測終端的硬件結(jié)構(gòu)以及參數(shù)的計算,著重講述了采樣脈沖的產(chǎn)生過程、抗混疊、原理、測頻方法和諧波計算原理。
          關(guān)鍵詞:;;;;

          引言
          在供電系統(tǒng)中,對諧波、負荷電流、功率因數(shù)等電力參數(shù)進行合理的估算并采取相應(yīng)的措施是非常必要的。本文設(shè)計了一種基于和CPLD的電網(wǎng)質(zhì)量的監(jiān)控裝置。該裝置通過采集這些參數(shù),計算并判斷電能質(zhì)量的優(yōu)劣,同時與監(jiān)測主站進行通訊,接收主站下達的各種命令,傳送主站所需的各種參數(shù),達到實時監(jiān)控的目的。本文詳細分析了的硬件及軟件實現(xiàn)、算法的實現(xiàn)、、、參數(shù)計算以及由CPLD實現(xiàn)的、采樣脈沖產(chǎn)生、鍵盤消抖、地址譯碼等邏輯實現(xiàn)的問題。

          硬件設(shè)計
          系統(tǒng)框圖如圖1所示。變壓器監(jiān)測終端首先把經(jīng)過CT、PT的三相電壓和電流轉(zhuǎn)換為標稱值為100V和5A的電壓、電流,再把該信號經(jīng)過傳感器轉(zhuǎn)換為跟隨式的標稱值為5V的電壓信號。信號經(jīng)過過零比較器生成頻率相同的方波,以利于測頻和實現(xiàn)缺相檢測。同時由CPLD和DSP控制可同時對ADS7864完成六路信號的數(shù)據(jù)采集。然后由DSP完成軟件濾波、運算以及各電網(wǎng)參數(shù)的計算檢測并進行各種判斷,將需要的數(shù)據(jù)存貯于掉電保護的NVRAM中。系統(tǒng)時鐘由可編程萬年歷時鐘芯片DS2000提供,同時由控制中心精確對時。如果判斷讀出的數(shù)據(jù)值越限,DSP就控制相應(yīng)的輸出繼電器動作,進行外部電容器的投切及報警信息的發(fā)送。終端與主站通過RS-232、RS-485傳送信息,RS-232主要做為當?shù)卣{(diào)試接口,RS-485用于遠程通訊。系統(tǒng)配有鍵盤輸入和LCD顯示。
          信號調(diào)理電路
          RC濾波器的輸出信號范圍為-5V~+5V,而ADS7864的模擬輸入信號范圍為0~+5V,因此需要進行信號的調(diào)理。圖2所示是其調(diào)理電路。
          采樣脈沖的產(chǎn)生
          本系統(tǒng)中采用以數(shù)字鎖相環(huán)為核心的采樣脈沖產(chǎn)生器。將待測信號經(jīng)過過零比較器LM339,得到一個方波作為數(shù)字鎖相環(huán)的輸入。設(shè)輸入信號頻率為fi,反饋頻率為ff,輸出信號的頻率為fo。根據(jù)閉環(huán)控制理論ff=fi,需要128倍頻,通過分頻器選擇分頻比(128倍分頻器由CPLD實現(xiàn)),使ff=(1/128)fo,從而得到f0=128fi。所以采樣信號周期T=156.25ms(設(shè)基頻為50Hz)。將f0=128fi做為采樣頻率送至ADS7864的采樣保持輸入引腳。
          A/D轉(zhuǎn)換器ADS7864
          ADS7864是TI的6通道全差分輸入雙12位A/D轉(zhuǎn)換器。這種模數(shù)轉(zhuǎn)換器能以500kHz的采樣率同時進行六通道信號的采樣。ADS7864的六路輸入通道可以分成三對,分別用于電網(wǎng)的三相電壓和三相電流的輸入,并可將模擬信號轉(zhuǎn)換成DSP或微處理器所需的數(shù)字信號。輸入到片內(nèi)六個采樣-保持放大器的信號經(jīng)過全差分可在ADC輸入期間保持,以使其在50kHz時仍然提供高達80dB的良好模抑制比,這一點對高噪聲時的輸入噪聲抑制可起到非常重要的作用。另外,ADS7864特有的并行接口能夠與六個FIFO寄存器進行連接,從而可以更快速地捕獲數(shù)據(jù)。
          本設(shè)計中將f0=128fi接至ADS7864的采樣保持信號HOLDa、HOLDb、HOLDc。當其為0時,可以同時保持六路輸入信號,然后按工作模式設(shè)定的先后次序分別進行A/D轉(zhuǎn)換。為了提高系統(tǒng)的效率,將ADS7864的/BUSY信號接至CPLD,由其判斷ADS7864產(chǎn)生三個/BUSY信號后產(chǎn)生一個中斷,通知DSP一次性讀走ADS7864的FIFO中六個轉(zhuǎn)換好的數(shù)據(jù)。
          缺相檢測的實現(xiàn)
          解決缺相檢測問題的設(shè)計思想如框圖3所示。CPLD對經(jīng)過過零比較器整成方波的三相信號進行判斷,根據(jù)判斷結(jié)果,選取某一相信號送入到倍頻電路,同時把判斷的結(jié)果傳送給DSP,由DSP根據(jù)結(jié)果發(fā)出報警。在此給出CPLD的A相判斷程序。
          process(reset,f42,Fa) ----------------f42=610.352Hz
          begin
          if reset='0' then
             sum5<=0;
             sd(0)<='1';
          elsif (f42'event and f42='1') then
                     if(Fa='0')then
                          if sum5=9 then
                             sd(0)<='0';
                             sum5<=0;
                           else
                              sum5<=sum5+1;
                           end if;
                     else
                           sd(0)<='1';
                           sum5<=0;
                    end if;
          end if;
          end process;
          假設(shè)在16.384ms內(nèi)沒有高電平信號就判斷為該相無信號,即本系統(tǒng)的測量頻率下限為30.52Hz。
          數(shù)據(jù)結(jié)果的傳輸與判斷
          DSP根據(jù)采樣數(shù)據(jù)進行計算后得到的結(jié)果保存在掉電不丟失的RAM里,根據(jù)上行站點的要求通過GSM引擎模塊發(fā)送出數(shù)據(jù),或通過RS-232串口直接從系統(tǒng)中讀取數(shù)據(jù)。DSP也根據(jù)設(shè)定的參數(shù)標準,用計算所得的數(shù)據(jù)與之比較,判斷各種參數(shù)是否合格。如果不合格則做出相應(yīng)的動作,如控制電容的投切、向上行站點報警、記錄不合格數(shù)據(jù)等,從而實現(xiàn)無人監(jiān)控。

          信號的軟件濾波
          本系統(tǒng)的頻率測量范圍以A級為標準,截止頻率選為2.5kHz,并在頻帶寬度內(nèi)特性應(yīng)盡可能平坦。當頻率高于截止頻率時應(yīng)盡快衰減。
          DSP的FIR濾波器的差分方程為:y(n)=h(k)



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();