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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP的跟蹤頻率變化的交流有樣技術(shù)

          基于DSP的跟蹤頻率變化的交流有樣技術(shù)

          作者: 時(shí)間:2004-12-06 來(lái)源:網(wǎng)絡(luò) 收藏
          摘要:在電力系統(tǒng)采樣系統(tǒng)中,經(jīng)常要測(cè)量電網(wǎng),再根據(jù)/周期的調(diào)整采樣周期。本文在簡(jiǎn)單分析TMS320F240片內(nèi)定時(shí)器、捕獲器的使用原理后,提出一種全新的采樣。

          關(guān)鍵詞:采樣 頻率 TMS320F240

          在交流采樣系統(tǒng)中,通常是一個(gè)周波采樣64點(diǎn)或128點(diǎn)的電量值,然后對(duì)這些數(shù)據(jù)進(jìn)行處理。如果電網(wǎng)頻率恒定,則采樣間隔t=T/N(T為周期,N為采樣點(diǎn)),而電網(wǎng)的頻率通常有一定的波動(dòng),所以要不斷調(diào)整采樣間隔。

          在單片機(jī)系統(tǒng)中,一般采用過(guò)零觸發(fā)電路和單片機(jī)的外部中斷來(lái)檢測(cè)電量周波的開(kāi)始和結(jié)束時(shí)間,再利用內(nèi)部定時(shí)器計(jì)算出周期和采樣間隔,在采樣間隔定時(shí)中斷程序中啟動(dòng)一次采親。這種方案有兩個(gè)缺點(diǎn):其一,電路實(shí)現(xiàn)復(fù)雜;其二,精度不高,因?yàn)橐紤]中斷能否實(shí)時(shí)響應(yīng)。過(guò)零觸發(fā)電路產(chǎn)生的中斷響應(yīng)具有不確定性。

          我們?cè)谑褂肨MS320F240 開(kāi)發(fā)交流采樣系統(tǒng)時(shí),巧妙地利用該款的定時(shí)器、捕獲器和不中屏蔽中斷(NMI)實(shí)現(xiàn)了頻率變化的交流采樣。

          1 NMI中斷、定時(shí)器、捕獲器的簡(jiǎn)單分析

          (1)NMI中斷

          TMS320F24X系列有一個(gè)不可屏蔽中斷(NMI)引腳。當(dāng)該引腳有跳變信號(hào)時(shí)(可編程為上升沿或下降沿觸發(fā)),立即進(jìn)入中斷程序,可以用于緊急事件的處理。本文中用于被測(cè)電量的頻率。

          (2)定時(shí)器介紹

          TMS320F240有3個(gè)通用定時(shí)器,每個(gè)通用定時(shí)器有6種計(jì)數(shù)方式:①停止/保持模式,模式0;②單增計(jì)數(shù)模式,模式1;③連續(xù)增計(jì)數(shù)模式,模式2;④定向增/減計(jì)數(shù)模式,模式3;⑤單增/減計(jì)數(shù)模式,模式4;⑥連續(xù)增/減計(jì)數(shù)模式,模式5。

          設(shè)fc是CPU的時(shí)鐘頻率,則定時(shí)時(shí)間t=脈沖個(gè)數(shù)/(fc/分頻系數(shù)),脈沖個(gè)數(shù)與定時(shí)周期寄存器的值或比較寄存器的值有關(guān)。工作過(guò)程是:①根據(jù)CPU的頻率、定時(shí)時(shí)間確定計(jì)數(shù)寄存器的初值TxNT、周期寄存器的初值TxPER、比較寄存器的初值TxCMP。②啟動(dòng)定時(shí)器計(jì)數(shù)。③計(jì)數(shù)到比較寄存器的值發(fā)生比較匹配中斷,同時(shí)使TxCMP引腳發(fā)生跳變。本文中利用T3CPU的跳變?nèi)?dòng)一次A/D轉(zhuǎn)換。④計(jì)數(shù)到周期寄存器的值發(fā)生周期匹配中斷。

          定時(shí)器一旦開(kāi)始工作就不受程序影響,準(zhǔn)確性高,保證每隔固定間隔進(jìn)行采樣。

          (3)捕獲器介紹

          捕獲單元用于捕獲引腳上電平的變化并記錄發(fā)生的時(shí)間,記錄事件發(fā)生的時(shí)間以定時(shí)器的計(jì)數(shù)器作時(shí)基。當(dāng)捕獲引腳發(fā)生跳變時(shí),捕獲單元將該時(shí)刻時(shí)基的計(jì)數(shù)寄存器T2CNT的值裝入相應(yīng)的FIFO隊(duì)列中。FIFO隊(duì)列可以裝入兩個(gè)值,第三個(gè)裝入時(shí)會(huì)將第一個(gè)值擠出。如果將捕獲器的跳變輸入信號(hào)和NMI輸入信號(hào)并聯(lián)(見(jiàn)圖2),則可以在NMI中斷程序中讀取跳變時(shí)的時(shí)基值(讀FIFOx寄存器)。例如:以T2作時(shí)基,引腳電平第一次上跳時(shí),T2計(jì)數(shù)寄存器T2CNT的值為X1,第二次為X2,T2分頻系數(shù)為D,CPU頻率為fc,則變化時(shí)間間隔為

          t=D/fc(X2-X1)

          2 設(shè)計(jì)思想

          過(guò)零觸發(fā)電路的輸出接TMS320F240外部不可屏蔽中斷引腳NMI,確保了中斷的實(shí)時(shí)響應(yīng);同時(shí),過(guò)零觸發(fā)電路的輸出還接到捕獲器1的輸入端CAP1,T2定時(shí)器作捕獲器的時(shí)基,捕獲器可以捕獲兩個(gè)脈沖間隔的時(shí)間(用T2計(jì)數(shù)器的變化量表示),這樣可以計(jì)算出周波的周期/頻率。

          用一個(gè)定時(shí)器T3完成定時(shí)觸發(fā)采樣,每隔一個(gè)采樣周期T3定時(shí)器的比較匹配輸出端T3CMP輸出一個(gè)下降沿脈沖去啟動(dòng)ADC進(jìn)行一次A/D轉(zhuǎn)換,所以T3CMP的啟動(dòng)信號(hào)的間隔具有確定性。

          下面對(duì)頻率/周期和采樣間隔的計(jì)算作出推導(dǎo)。

          (1)頻率和周期

          捕獲器用T2作時(shí)基,CAP1端每出現(xiàn)一個(gè)上升沿脈沖表示一個(gè)周波開(kāi)始,同時(shí)立刻進(jìn)入NMI中斷程序,在中斷程序中讀取FIFO1寄存器的值賦給T3的周期寄存器。要注意的是:FIFO1總是初始化為0,所以FIFO1的值是在剛過(guò)去的周波內(nèi)T2計(jì)數(shù)器的增加值;而T2的分頻系數(shù)為128,假設(shè)DSP的工作頻率為20MHz,這樣就可以計(jì)算出上一個(gè)周波的周期T和頻率f:

          T=(1/20) μs128(FIFO1)=

          (128/20)10 -6(FIFO1)s

          f=1/T=(2010 6)/[128(FIFO1)]=156250/(FIFO1)Hz

          (2)跟蹤頻率變化的采樣間隔

          如果T2工作在定時(shí)/計(jì)數(shù)狀態(tài)下,給T2的周期寄存器T2PER賦初值為FIFO1寄存器的值,則T2的周期中斷時(shí)間即是上一個(gè)周波的周期;而在NMI中斷程序中將FIFO1寄存器的值賦給T3的周期寄存器T3PER.注意:T2的分頻系數(shù)為128,T3的分頻系數(shù)為1,所以T3的周期中斷時(shí)間是一個(gè)周期的電量的1/128;而采樣周期用T3作時(shí)基,T3的周期中斷即是采樣中斷。從而實(shí)現(xiàn)了一個(gè)周期的128點(diǎn)采樣,即實(shí)現(xiàn)了跟蹤頻率變化的交流采樣,當(dāng)然,有一個(gè)周波的滯后。

          每個(gè)周期會(huì)產(chǎn)生一次NMI(不可屏蔽中斷),在NMI中斷程序中將T2CNT的增加值(在FIFO寄存器)讀出來(lái)賦給T3的周期寄存器。因?yàn)門2的分頻系數(shù)為128,這樣T3的周期中斷時(shí)間即為一個(gè)周期的1/128,實(shí)現(xiàn)了一個(gè)周期采樣128點(diǎn)的目的。

          3 硬件設(shè)計(jì)

          (1)互感器電路及設(shè)計(jì)注意事項(xiàng)

          利用互感器電網(wǎng)的二次高壓和電流交換成0~5V或-5~+5V的電壓送入A/D轉(zhuǎn)換器,具體電路如圖1所示。

          圖1中,電壓互感器的原邊100V,副邊輸出2mA電流經(jīng)OP07轉(zhuǎn)換成-3.5~+3.5V的電壓量(注意:幅值范圍為-5~+5V)。電流互感器的原邊輸入5A的電流,副邊輸出2mA的電流經(jīng)運(yùn)放轉(zhuǎn)換成-3.5~+3.5V的電壓量。

          D11、D12,D21、D22為運(yùn)放輸入限幅保護(hù)電路;C11、R14,C21、R23為互感器相移補(bǔ)償電路。因采樣時(shí)只要保證一個(gè)周波采樣N點(diǎn),什么時(shí)候開(kāi)始并不重要,所可以省去相移補(bǔ)償電路。

          R11,R12、R13,R21、R22的值可以通過(guò)以上給出的電流、電壓值計(jì)算出來(lái):R11=100V/2mA,R12+R13=R21+R22=3.5V/2mA。運(yùn)放的輸出端可以接一電容進(jìn)行濾波。

          運(yùn)放的輸出可以再接一級(jí)電壓跟隨器(如圖2的U1A)起緩沖、隔離、提高帶載能力的作用。

          (2)過(guò)零觸發(fā)電路

          具體電路如圖2所示。U1A構(gòu)成的電壓跟隨器的作用如上所述,它的正端輸入來(lái)自互感器電路的輸出。U2A構(gòu)成一個(gè)過(guò)零比較電路,D2穩(wěn)壓二極管使比較器的輸出為0~5V,將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)送入DSP的捕獲器輸入端CAP1和不可屏蔽中斷端NMI。

          (3)A/D轉(zhuǎn)換器和DSP的接口電路

          電路原理如圖3所示。ADC芯片采樣14位的MAX125。TMS320F240的定時(shí)比較器輸出端T3CMP接MAX125的啟動(dòng)轉(zhuǎn)換器CONVST;MAX125轉(zhuǎn)換結(jié)束產(chǎn)生中斷,通過(guò)INT腳接DSP的XINT1腳向DSP申請(qǐng)中斷,DSP在中斷程序中讀取轉(zhuǎn)換結(jié)果。DSP對(duì)MAX125的操作是通過(guò)端口訪問(wèn)完成的,MAX125的片選端CS4接譯碼器的一個(gè)輸出端,譯碼器的輸入和使能端由DSP的地址線和I/O信號(hào)LS控制。

          每隔一個(gè)采樣周期(T/N)T3CMP端輸出一個(gè)下降沿脈沖,啟動(dòng)MAX125進(jìn)行一次A/D轉(zhuǎn)換。采樣間隔會(huì)根據(jù)電網(wǎng)頻率的變化自動(dòng)調(diào)整。

          4 軟件設(shè)計(jì)

          下面給出幾個(gè)程序函數(shù)。具體數(shù)據(jù)處理的函數(shù)因系統(tǒng)功能不同而異,限于篇幅這里不作討論。

          (1)定時(shí)器、捕獲器初始化程序:

          void init_TimerCapturet()

          {*T2CNT=0; /*計(jì)數(shù)寄存器初始化*/

          *T3CNT=0;

          *T3CMP=1000;

          *T2PER=30000;

          T3PER=4000; /T2PER、T3PER會(huì)在NMI中斷程序中根據(jù)電量頻率的變化作出相應(yīng)的調(diào)整*/

          *CAPCON=0XBC55; /*設(shè)置捕獲器*/

          *GPTCON=0X186A;

          *T2CON=0X17CA; /*方式2,分頻系數(shù)為128*/

          *T3CON=0X10CA; /*方式2,分頻系數(shù)為1*/

          *NMI_CR=0X64; /*設(shè)置不可屏蔽中斷*/

          }

          (2)ADC轉(zhuǎn)換結(jié)束中斷響應(yīng)程序

          void c_int1()

          {int i;/*其余為全局或靜態(tài)變量*/

          /*程序中讀取ADC的轉(zhuǎn)換結(jié)果*/

          if(AChanel= =1) /*讀A組3路的轉(zhuǎn)換結(jié)果*/

          { outport(0x01,0x03);/*輸出MAX125的控制字*/

          inport(0x01,ADC_Data[0]);

          inport(0x01,ADC_Data[1]);

          inport(0x01,ADC_Data[2]);

          AChanel=0;

          }

          else

          {/*如上讀取B組3路的轉(zhuǎn)換結(jié)果*/

          }

          /*將14位的結(jié)果轉(zhuǎn)換為16位的(初碼存放)*/

          for(i=1;i6;i++)

          ADC_Data[i]=ADC_Data[i]2/4;

          }

          (3)不可屏蔽中斷的中斷程序

          void c_int7() {

          asm("SETC INTM");/*禁止中斷*/

          *T2CNT=0;/*作捕獲器的時(shí)在,一個(gè)周波開(kāi)始時(shí)其值為0*/

          *T3PER=*FIFO1;/*T3的計(jì)數(shù)周期是一個(gè)周波周期的1/128*/

          asm("CLRC INTM");/*使能中斷*/

          }

          本文充分利用了TM320F240的片內(nèi)資源,巧妙地實(shí)現(xiàn)了動(dòng)態(tài)跟蹤頻率變化的交流采樣,希望對(duì)使用該系列DSP進(jìn)行測(cè)控領(lǐng)域開(kāi)發(fā)的人員有所啟發(fā)。



          評(píng)論


          相關(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); })();