《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于VxWorks平臺的快速交流信號采樣及計算
基于VxWorks平臺的快速交流信號采樣及計算
來源:電子技術應用2011年第2期
鐘 銳,虞翠萍,徐宇柘
東南大學 國家ASIC工程中心,江蘇 南京210096
摘要: 針對在電力系統保護中的交流信號采樣實時性問題,采用VxWorks平臺實現了快速交流信號采樣及有效值計算,并對其中的關鍵程序——離散傅里葉算法進行了優化設計,包括快速查表、定點乘法、快速開方運算等。通過32位RISC內核微處理器硬件平臺的驗證結果顯示,優化后的數據處理結果仍保持了較高精度,但時間大幅度縮短。
關鍵詞: Vxworks 交流 采樣 計算
中圖分類號: TM930.12
文獻標識碼: A
文章編號: 0258-7998(2011)02-0026-03
Fast sampling and computing of alternate current signal based on VxWorks platform
Zhong Rui,Yu Cuiping,XU Yuzhe
National ASIC System Engineering Research Center, Southeast University, Nanjing 210096,China
Abstract: A relay protecting equipment system is designed based on VxWorks platform, in order to ensure real-time performance of alternate current sampling of the system. The proposed system achieves rapid sampling and RMS calculation. The key program of the system——DFT algorithm is optimized through fast look-up table, fixed multiplication, rapid root operation and so on. The system is verified by hardware platform based on 32-bit RISC core. The results show that the optimized data processing results still maintain high accuracy, and the calculation cost is greatly reduced.
Key words : VxWorks;alternate current;sampling;computing


    上世紀90年代,以微處理器為核心的數字式保護已成為繼電保護的主流產品,電力系統繼電保護技術進入了微機保護時代。隨著電力系統對繼電保護的要求不斷提高,微機保護系統需要具有強實時性、高可靠性和擴展性[1]。
    系統的實時性由硬件系統和嵌入式軟件系統共同決定。
    在實時性要求較高且任務較多的應用中,適合引入嵌入式實時操作系統RTOS(Real-Time Operating System)。RTOS高效的多優先級任務管理、強大的可移植性和擴展性以及微秒級的中斷管理等特性,更加有利于控制效率的提高。VxWorks是硬實時特性最優越的RTOS,且具有高可靠性和可擴展性,能夠為繼電保護裝置提供更好的性能保障。
1 繼電保護裝置軟件系統
1.1 工作原理及流程

    目前典型的繼電保護裝置應用軟件系統均采用模塊化設計思想,根據繼電保護功能的要求分成8個部分:操作系統、交流采樣、數據處理、保護控制、數據通信、人機交互及信息記錄。各模塊根據各自特點完成相應任務,使系統軟件結構清晰,便于調試、連接、修改和移植。
1.2 系統軟件框架設計
    根據所要實現的功能和軟件模塊化設計的要求,設計了基于VxWorks的系統軟件,包括硬件驅動程序模塊、板級支持包(BSP)模塊、VxWorks RTOS模塊、中斷處理模塊、保護控制模塊、人機交互模塊、通信任務模塊、信息記錄模塊等。系統軟件框圖如圖1所示。


2 交流采樣功能設計與實現
2.1 中斷服務

    由于A/D采樣對實時性要求極高,因此采用中斷服務子程序的方式實現。本設計利用Timer的定時中斷控制A/D采樣的頻率,利用VxWorks提供的接口函數intConnet()將A/D的采樣函數掛靠到定時中斷Timer1的中斷向量上。
    繼電保護的交流采樣可以分為數據采樣和采樣數據處理兩部分。數據采樣在采樣定時周期控制下,將A/D轉換好的數據通過SPI總線送到CPU采樣數據存儲區。采樣數據處理則是CPU對已采樣數據進行傅氏濾波、提取交流信號的各電氣量參數。該部分軟件的計算量需求是所有程序中最多的,因此是優化的關鍵部分。
2.2 數據采樣
    數據采樣首先要考慮AD采樣精度和采樣率。采用ADI公司的12 bit ADC AD7940,針對所要采樣波形的最高頻率是工頻5次諧波的要求,選擇了1 kHz采樣率,即每周波采樣20個點。
    在采樣定時周期中斷到來時, ADC開始啟動13路模數轉換。一路采樣完畢之后,通過SPI總線傳送到定義的采樣數據存儲區;當13路數據傳送完畢,就可以進行采樣數據的傅氏濾波處理,計算出三相交流電的電流、電壓的幅值和相位。
2.3 數據處理
2.3.1 離散傅氏算法

    交流采樣數據的處理是系統計算工作的核心,它的實時性和精度決定了保護任務的實時性和系統響應的準確性,從而影響整個系統的性能實現。因此,交流采樣數據處理算法的選擇十分重要。雖然快速傅氏算法(FFT)理論上要比離散傅氏算法(DFT)具有更高的速度[4],但在繼電保護應用中,考慮到采樣點數、計算量以及系統的實時性需求,采用了DFT作為處理算法。
    根據傅氏級數原理,各次諧波分量的實部和虛部的時域表達式為:
    
    當傅氏分析方法應用于計算機處理時,即為DFT形式。設信號x(t)每周期的采樣點數為N,則采樣間隔將是Ts=T/N,則式(1)、式(2)離散化后得到DFT的公式可表達為:

    從式(3)和式(4)得出,使用DFT算法計算信號的一個諧波分量,共需 2N次乘法和(2N-1)次加法,這樣每次抽樣所需計算的數據量非常大,而且隨著N的增長,計算量將顯著增加。
    根據一般電力系統繼電保護的應用,本文對13個通道的電流和電壓信號進行采樣,在每周波采樣20個點的情況下,為了得到每個通道的幅值和相位,總共需要計算520次正余弦、520次乘法、507次加法、13次開平方和13次反正切,因此需要采用優化措施以減小計算量。
2.3.2 實時性優化
    (1)快速查表
    為了避免在傅氏運算中計算sin(2πk/N)、cos(2πk/N)(k=0,1,2,…,N)等三角函數的值,在系統初始化時應將這些值事先計算出來并保存到一個表中,運算過程中以查找表的形式直接獲取正余弦函數計算的值。
    (2)定點乘法
    AD7490輸入模擬電壓范圍是0 V~5 V,對應的輸出數字范圍是0x00~0xFFF。由于SEP4020處理器不支持浮點運算,所以對小數的運算將非常耗時。為了避免進行小數運算,采用了小數定點運算方法,用整型替代實型運算。這里定點的定標設為15,整型數0x8000就對應實型數1.0。
    為了保持定點運算,避免sin(2πk/N)、cos(2πk/N)帶來的小數運算,這里對sin(2πk/N)、cos(2πk/N)計算出來的值進行定點化處理,并將其乘以2的15次方取整后得到16 bit的有符號整數。這樣傅氏算法的循環浮點乘操作就轉變成整數乘法,既保留了傅氏算法的高精度特性,又極大地提高了傅氏算法的計算速度。
    (3)快速開方
    在利用傅氏計算得到的實部和虛部求幅值時,需要進行開平方運算。而在RISC內核的嵌入式處理器中,如果不對開平方運算做特殊處理,則CPU的運算時間較長,將影響整個系統的實時性,因此考慮采取快速算法來提高開平方運算的速度。
    本文的開平方運算對象是無符號的整型數,可以采用一種只利用移位、加法實現整數開平方算法的方法。由于RISC內核中有內置的桶型移位器,因此該算法可以用匯編程序實現[6]。
    整數快速開方算法函數的代碼如下:
    unsigned long isqrt(unsigned long x)
    {
        unsigned long temp,Q=0,b=0x8000,bShft=15;
        __asm
        {
            mov        b,#0x8000
            mov        bShft,#15
            mov        Q,#0
            loop:
            add   temp,b,Q,lsl#1
            subs     temp,x,temp,lsl    bShft addge    Q,Q,b
            movgex,temp
            sub     bShft,bShft,#1
            movs b,b,lsr#1
            bne        loop
        }
        return Q;
    }
3 測試及結果分析
3.1 測試環境介紹

    硬件系統以32 bit RISC內核微處理器SEP4020和12 bit ADC AD7490為核心,包括交流采集子模塊、電源子模塊、顯示與鍵盤子模塊和出口繼電器子模塊等。其系統框圖如圖2所示。

3.2 優化結果
    給傅氏算法提供一個理論采樣信號:
  
    精度測試結果如表1所示,計算速度測試結果如表2所示(N=20)。


    可見,改進后的傅氏算法與原有的傅氏算法相比較,數據處理的總時間縮短到原來的44.5%,計算實部、虛部運算時間縮短到優化前的43.4%,幅值部分整型快速開方的計算時間縮短到優化前的87.8%。雖然與原來的傅氏算法相比在誤差方面稍大,但可以滿足精度要求。
    本文提出了基于VxWorks RTOS的電力系統繼電保護裝置的軟件系統,并對其中的交流信號采樣及計算關鍵程序——DFT算法進行了優化設計。優化后的數據處理結果仍保持了較高精度,但時間大幅度縮短。本文研究結果將有助于提高電力系統裝置的實時性,適用于更高采樣率和計算密度下的應用。

參考文獻
[1] 尹項根,曾克娥.電力系統繼電保護原理與應用(上冊)[M].武漢:華中科技大學出版社,2004.
[2] 所旭,張萍.微機繼電保護軟件可靠性探討[J].繼電器,2004,32(12):123-125.
[3] VxWorks real-time kernel[EB/OL].Wind River Systems,Inc.1998.
[4] 黃磊,王登磊.FFT在數據采集中的應用[J].自動化技術與應用,2007,26(12):53-55.
[5] 邱寬民,趙勝凱.DFT與FFT在實際應用時的性能比較[J].北方交通大學學報,2000,24(5):61-63.
[6] ULERY J.Computing integer square roots[EB/OL].http://www.azillionmonkeys.com/qed/ulerysqroot.pdf.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 无边泳池在线观看 | 在线看无码的免费网站 | 久久青青国产 | 国产草莓视频入口免费网站 | 亚洲精品日韩专区在线观看 | 视频精品一区二区三区 | 福利所导航 | 一a一级片| 久久久精品午夜免费不卡 | 日韩中文字幕精品一区在线 | 五月婷综合| 国产91精品高跟丝袜在线 | 九九九国产 | 国产a久久精品一区二区三区 | 一本大道香蕉中文在线高清 | 成人一级毛片 | 国内精品一区二区三区 | a4yy私人毛片 | 中国黄色a | 在线a人片免费观看不卡 | 亚洲综合久久一本伊伊区 | 日韩精品在线观看视频 | 日日夜夜狠狠干 | 免费人成网站免费看视频 | 日韩欧美综合在线二区三区 | 1区1区3区4区产品亚洲 | 国产日本久久久久久久久婷婷 | 全免费a级毛片免费看不卡 全免费a级毛片免费毛视频 | 羞羞免费网站 | 男人女人真曰批的视频动态 | 亚洲精品第一国产综合野 | 免播放器在线视频 | 欧美日韩午夜视频 | 欧美一区二区三区男人的天堂 | 久久精品波多野结衣 | 中文字幕欧美日韩在线不卡 | 黄色网址免费观看视频 | 国产一级一级 | 国产99在线a视频 | 天天干天天日天天射天天操毛片 | 99久9在线 | 免费 |