孔亞非, 曹以龍
(上海電力學院 電子與信息工程學院, 上海 200090)
?
基于DSP和ARM的電能質(zhì)量監(jiān)測系統(tǒng)
孔亞非, 曹以龍
(上海電力學院 電子與信息工程學院, 上海 200090)
研制了一種由數(shù)字信號處理(DSP)和嵌入式微處理器(ARM)雙系統(tǒng)構(gòu)成的電能質(zhì)量監(jiān)測系統(tǒng),詳細闡述了系統(tǒng)的軟硬件設(shè)計.該系統(tǒng)利用DSP控制信號的同步實時采集和分析計算,采用嵌有Linux系統(tǒng)的ARM通過SPI實現(xiàn)與DSP的通信,獲取電能質(zhì)量的分析數(shù)據(jù)與原始數(shù)據(jù)并傳輸系統(tǒng)指令,采用大容量存儲設(shè)備實現(xiàn)數(shù)據(jù)的本地存儲,提供智能友好的交互界面和無線通信功能.實驗測試結(jié)果表明,該系統(tǒng)實時性好、精度高、可擴展性強,滿足各項指標要求.
電能質(zhì)量; 無線通信; 數(shù)字信號處理; 嵌入式; Linux系統(tǒng)
電能作為一種廣泛使用的能源,其需求量日益增加,由于電網(wǎng)中不對稱性、沖擊性、非線性負荷容量的不斷增長,電能質(zhì)量問題日益突出.同時,越來越多的敏感負載對電能質(zhì)量有著更高的要求.如何提高和保證電能質(zhì)量已經(jīng)成為電力系統(tǒng)面臨的重要問題.為了改善電能質(zhì)量和制定相關(guān)的治理措施,電力部門需要對電能質(zhì)量進行連續(xù)測量,使得開發(fā)和使用新型的高性能、適用性強的電能質(zhì)量監(jiān)測系統(tǒng)成為一種必然[1-2].
本文基于電能質(zhì)量的國家標準,分析了目前國內(nèi)外電能質(zhì)量監(jiān)測系統(tǒng)的現(xiàn)狀[3],提出了一種基于數(shù)字信號處理(Digital Signal Processing,DSP)和嵌入式微處理器(Advanced RISE Machines,ARM)技術(shù)的電能質(zhì)量監(jiān)測系統(tǒng).作為網(wǎng)絡型電能質(zhì)量監(jiān)測與管理平臺的一部分,該系統(tǒng)是一套可靠性高、測量精度高、適用范圍廣的電能質(zhì)量實時監(jiān)測裝置,并在實驗室微電網(wǎng)平臺上得到了驗證.
為滿足電能質(zhì)量監(jiān)測的實時性等要求,本系統(tǒng)采用ARM+DSP雙CPU的主從處理系統(tǒng),其結(jié)構(gòu)如圖1所示.以DSP為核心的數(shù)據(jù)采集處理系統(tǒng),負責對信號的實時采集,并針對基本電量(頻率、電壓/電流有效值、功率等)、諧波、波動及閃變等參數(shù)進行計算和分析,通過串行外設(shè)接口(Serial Peripheral Interface,SPI)完成與以ARM為核心的前置機系統(tǒng)的通信,實現(xiàn)采樣、分析數(shù)據(jù)和命令的傳輸.前置機系統(tǒng)負責完成數(shù)據(jù)的存儲和統(tǒng)計、人機交互、無線通信等.本監(jiān)測設(shè)備具有多功能、小型化、便攜式的特點,可安裝于電網(wǎng)電力線路中或電網(wǎng)中某一節(jié)點,便于進行電能質(zhì)量的實時監(jiān)測,組成分布式網(wǎng)絡型電能質(zhì)量監(jiān)測與管理平臺.
圖1 系統(tǒng)結(jié)構(gòu)示意
2.1 數(shù)據(jù)采集處理系統(tǒng)硬件設(shè)計
設(shè)計中,系統(tǒng)對三相電壓/電流6路信號同時采樣,一個工頻周期內(nèi)采樣128個點,采樣間隔為156.25 μs.數(shù)據(jù)采集處理系統(tǒng)選用TMS320F28335,是TI公司推出的一款浮點型數(shù)字信號處理器,最高主頻為150 MHz,在已有的DSP基礎(chǔ)上增加了浮點運算內(nèi)核,可執(zhí)行復雜的浮點運算,芯片內(nèi)部集成了兩個8通道的模數(shù)轉(zhuǎn)換器(Analog-to-Digital Converter,ADC),采樣轉(zhuǎn)換時間可達80 ns,滿足系統(tǒng)對實時性的需求.
A/D采樣是數(shù)據(jù)采集處理系統(tǒng)的重要部分,系統(tǒng)三相的采樣電壓有效值為220 V,電流有效值為5 A,DSP28335的模數(shù)轉(zhuǎn)換通道輸入電壓范圍為0~3.3 V,需經(jīng)調(diào)理電路和互感器將電網(wǎng)電壓和電流信號轉(zhuǎn)換為處理器能承受的小電壓信號.以某一相的電壓采樣為例,電網(wǎng)電壓需先經(jīng)分壓電路降壓,后經(jīng)用高精度電阻設(shè)計的有效抑制溫漂的差分放大電路的電壓調(diào)理電路,以獲取小電壓信號;電流采樣選用高精度電流互感器,同時起到與主電路隔離的作用.上述電壓調(diào)理電路如圖2所示.
圖2 電壓調(diào)理電路示意
2.2 前置機系統(tǒng)硬件設(shè)計
前置機系統(tǒng)負責整個系統(tǒng)的管理與控制功能,需滿足多任務、高效率、實時性等多方面要求.本文采用TI公司的ARM3358處理器集成模塊,其內(nèi)嵌Linux實時操作系統(tǒng),支持多任務操作,處理器的頻率高達1 GHz,以實現(xiàn)更高的效率和靈活性,并且配有獨立的電源、復位和時鐘管理模塊,以達到降低功耗的目的.
前置機系統(tǒng)的硬件結(jié)構(gòu)如圖3所示.系統(tǒng)通過SPI接口實現(xiàn)與數(shù)據(jù)采集處理系統(tǒng)的通信,并外擴8 G的SD卡用于放置SQLite進行數(shù)據(jù)的存儲.同時,配置可使系統(tǒng)直接連接到Internet公用數(shù)據(jù)網(wǎng)的無線網(wǎng)卡.ARM3358內(nèi)部集成了液晶顯示器(Liquid Crystal Display,LCD)控制器和觸摸屏控制器,其中LCD控制器可以將內(nèi)存中緩存的圖形數(shù)據(jù)傳輸?shù)酵獠康腖CD驅(qū)動器中,實現(xiàn)數(shù)據(jù)顯示功能;觸摸屏控制器可以直接外接4/5/8線電阻屏,實現(xiàn)觸摸功能.本文選擇23.3 cm的TFT液晶屏,設(shè)計了42針轉(zhuǎn)接板,其中4根觸摸屏控制線,24根數(shù)據(jù)線,此外還包括電源線、地線,以及各種LCD控制線.
黑水虻幼蟲在水產(chǎn)飼料方面也有較多的應用研究。胡俊茹等采用等氮等脂方法,將黑水虻幼蟲粉按照不同的比例替代黃顙魚幼魚日糧中的魚粉,結(jié)果發(fā)現(xiàn):當替代量小于30%時,黃顙魚幼魚增重量與對照組無顯著差異,而且血清中谷丙轉(zhuǎn)氨酶、谷草轉(zhuǎn)氨酶、尿素和三酰甘油的含量均得到一定程度的降低。林啟訓等為了代替魚粉,將黑水虻幼蟲粉用于泥鰍飼料中,研究發(fā)現(xiàn),當添加9%~11%的黑水虻幼蟲粉,泥鰍的攝食狀態(tài)和成活率與對照組相近[17]。
圖3 前置機系統(tǒng)的硬件結(jié)構(gòu)
3.1 數(shù)據(jù)采集處理系統(tǒng)的軟件設(shè)計
數(shù)據(jù)采集處理系統(tǒng)的軟件設(shè)計使用模塊化思想,將各個數(shù)據(jù)分析算法封裝于子模塊中,包括計算電壓和電流的有效值、電壓偏差、頻率偏差,以及通過FFT變換得到的基波分量和各次諧波分量等.該模塊計算出各次諧波分量的有效值、相位、含有率和諧波的總畸變率,并且利用快速傅里葉變換結(jié)果計算出功率、三相不平衡度和閃變等電能指標.軟件設(shè)計總體流程如圖4所示.
圖4 數(shù)據(jù)采集處理系統(tǒng)的軟件設(shè)計流程
主程序首先完成對系統(tǒng)的初始化,設(shè)定各種標志位以及狀態(tài)寄存器等,進而執(zhí)行各個功能子模塊.為了消除采樣不同步和周期測量誤差對測量精度的影響,系統(tǒng)采用雙同步坐標系的解耦軟件鎖相環(huán)來跟蹤信號頻率的變化,從而實時調(diào)整采樣頻率.鎖相環(huán)產(chǎn)生的采樣脈沖觸發(fā)A/D采樣,一個工頻周期內(nèi)采樣128個點,每次轉(zhuǎn)換完成后,DSP按照I/O空間譯碼地址讀取A/D轉(zhuǎn)換數(shù)據(jù),進而進行數(shù)據(jù)分析.本文在對傅里葉變換的幾種實現(xiàn)方法進行比較后,采用基8傅里葉變換,基本原理為:
設(shè)信號x(n)是長度為N的實序列,DFT[x(n)]=X(k),令X(k)=X,且:
(1)
式中:XR(k)——X(k)的實部;XI(k)——X(k)的虛部.
由離散傅里葉變換的定義可以得到:
(2)
于是得到:
(3)
(4)
(5)
由上述可知,離散傅里葉變換的計算中利用X(k)實部與虛部的性質(zhì)可以減少近一半的計算量,從而降低了計算復雜度,并且系統(tǒng)在實現(xiàn)此算法時用加法運算代替了部分乘法運算,提高了運算效率,保證了系統(tǒng)的實時性.
3.2 前置機系統(tǒng)軟件設(shè)計
前置機系統(tǒng)主要執(zhí)行整個終端的管理和控制工作,需實現(xiàn)多任務實時調(diào)度功能,以及與監(jiān)控中心的無線通信,因此前置機系統(tǒng)選用支持TCP/IP協(xié)議的Linux系統(tǒng)為軟件開發(fā)平臺.由于python的簡潔性,且其標準庫中有一專門用于SQLite數(shù)據(jù)庫的模塊,系統(tǒng)采用python語言混合C++語言實現(xiàn)各應用程序的開發(fā),有利于提高開發(fā)效率[4-5].
前置機系統(tǒng)的軟件從功能上主要分為兩大部分:一是底層的硬件驅(qū)動程序,包括SPI,無線通訊和LCD的驅(qū)動;二是應用程序,主要通過Qt開發(fā).軟件的實現(xiàn)流程如圖5所示.
圖5 前置機系統(tǒng)軟件實現(xiàn)流程
首先利用Qt Designer編寫可視化界面,進而利用uic工具生成代碼文件,同時使用跨平臺的Qt集成開發(fā)環(huán)境進行其他應用程序的開發(fā).其他應用程序的代碼以子函數(shù)的方式插入uic生成的主函數(shù)中調(diào)用或者另創(chuàng)建線程實現(xiàn),主要包括SPI通訊、無線通信、數(shù)據(jù)存儲等.
3.2.1 Qt界面顯示設(shè)計
人機交互界面是將電能質(zhì)量數(shù)據(jù)以一個更加直觀的形式展現(xiàn),并提供所需的系統(tǒng)控制功能.本文利用Qt提供的開發(fā)工具Qt Designer,調(diào)用其包含的各標準部件,實現(xiàn)界面設(shè)計.程序中對象之間的協(xié)同操作利用信號和槽機制完成,實現(xiàn)多窗口之間的切換,并在對應的槽函數(shù)中實現(xiàn)數(shù)據(jù)的實時顯示和人機交互等功能.如數(shù)據(jù)的實時顯示,采用Python語言編寫其槽函數(shù),函數(shù)中通過引用數(shù)據(jù)庫API,創(chuàng)建連接,獲取游標從而實現(xiàn)對SQLite數(shù)據(jù)庫的操作,提供實時顯示的數(shù)據(jù).人機交互界面提供基波電量、電能質(zhì)量、越限事件、系統(tǒng)設(shè)置、監(jiān)測數(shù)據(jù)管理5個功能菜單.其中,電能質(zhì)量界面包括電壓偏差、頻率偏差、電壓波動、諧波含有量、三相不平衡、電壓短時閃變等,而系統(tǒng)設(shè)置需要管理人員輸入正確的賬號和密碼才能進入,以確保系統(tǒng)的安全性.
3.2.2 基于Qt的SPI通信
前置機系統(tǒng)通過SPI 實現(xiàn)與數(shù)字信號處理系統(tǒng)的數(shù)據(jù)和信息交換.此系統(tǒng)中的SPI通信通過Qt開發(fā),但是Qt中沒有其專有的類,程序中通過QThread類創(chuàng)建多線程.在run函數(shù)中調(diào)用ioctl()函數(shù),設(shè)置SPI的時鐘極性和相位,以及每字的數(shù)據(jù)長度和最大總線速率,調(diào)用read()和write()函數(shù)來實現(xiàn)數(shù)據(jù)的讀寫,同時也實現(xiàn)了SPI通信程序和Qt中各種類函數(shù)的融合,程序的設(shè)計流程如圖6所示.
圖6 SPI程序設(shè)計流程
在通信中,本文自定義了通信協(xié)議,并使用循環(huán)冗余CRC校驗方式以保證數(shù)據(jù)的正確性和完整性,作為主機的前置機系統(tǒng)通過控制SPICLK時鐘來控制通信的完成,而需保證從機與主機時鐘相位的一致.
3.2.3 無線通信的實現(xiàn)
前置機的無線通信模塊實現(xiàn)了系統(tǒng)中監(jiān)控終端與監(jiān)控中心之間數(shù)據(jù)和命令的高效傳輸,本文在Linux操作系統(tǒng)下的無線通信通過Socket實現(xiàn),采用UDP傳輸協(xié)議.為了確保數(shù)據(jù)傳輸?shù)目煽啃?融入了CRC16 和MD5校驗算法,程序?qū)崿F(xiàn)流程如圖7所示.
圖7 基于UDP協(xié)議的無線通信實現(xiàn)流程
其中使用python語言編程時用到的主要函數(shù)和類有:socket.socket(socket.AF_INET,socket.SOCK_DGRAM),函數(shù)返回一個socket類,第2參數(shù)表明連接方式為TCP或者UDP;Sockin.bind((‘local addr’,sockid)),端口監(jiān)視函數(shù),鎖定本機端口,參數(shù)分別為本地IP地址和端口;Sockin.recvfrom(bufflen),接收函數(shù),參數(shù)為緩沖區(qū)最大長度;Sockin.sendto(buff,((‘clientaddr’,sockid))),發(fā)送函數(shù),第1個參數(shù)為要發(fā)送的字符串,第2個參數(shù)為目標的IP地址與端口;Sockin.close(),Socket的關(guān)閉函數(shù).
本文所設(shè)計的由DSP和ARM雙系統(tǒng)構(gòu)成的電能質(zhì)量監(jiān)測系統(tǒng)高效穩(wěn)定,能實時采集、處理監(jiān)測數(shù)據(jù),人機交互系統(tǒng)設(shè)計提供了良好的用戶體驗,無線通信設(shè)計實現(xiàn)了電能質(zhì)量的遠程監(jiān)控,滿足電能質(zhì)量監(jiān)測智能化、網(wǎng)絡化的要求.同時,此系統(tǒng)的設(shè)計簡便、高效,方便接入更多的監(jiān)測點,具有較高的可擴展性,能滿足電能質(zhì)量管理平臺監(jiān)測數(shù)據(jù)海量化的需求.
[1] 林海雪.現(xiàn)代電能質(zhì)量的基本問題[J].電網(wǎng)技術(shù),2001,25(10):5-10.
[2] 張言權(quán).基于嵌入式Linux的電能質(zhì)量在線監(jiān)測系統(tǒng)的研究[J].電力系統(tǒng)保護與控制,2009,37(7):71-75.
[3] 舒雙寶,羅家融,王勤湧,等.基于DSP和ARM便攜式電能質(zhì)量監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[J].電力系統(tǒng)保護與控制,2010,38(24):185-189.
[4] 鄒思鐵.嵌入式Linux系統(tǒng)設(shè)計與應用[M].北京:清華大學出版社,2002:21-38.
[5] BLANCHETTE Jasmin.C++ GUI programming with Qt4[M].北京:電子工業(yè)出版社,2008:33-56.
(編輯 白林雪)
Power Quality Monitoring System Based on DSP and ARM
KONG Yafei, CAO Yilong
(SchoolofElectronicsandInformationEngineering,ShanghaiUniversityofElectricPower,Shanghai200090,China)
A monitoring system composed of the DSP and ARM dual system is developed,and the design of hardware and software is elaborated.This system uses the DSP to control the synchronous and real-time collection and analysis and calculation of signals,ARM embedded Linux system communicates with the DSP via SPI,to obtain the original data of power quality and transmit the instruction of system,and use the large-capacity storage device to store the local data,and provide the intelligent and friendly interface display and wireless communication capabilities.The test results show that the system has good real-time,high precision,strong expandability,and meet the requirements of indicators.
power quality; wireless communication; digtal sigal processing; advanced RISE machines; Linux system
10.3969/j.issn.1006-4729.2017.01.009
2016-03-16
孔亞非(1992-),女,在讀碩士,山東曲阜人.主要研究方向為電力系統(tǒng)電能質(zhì)量.E-mail:879273117@qq.com.
上海市科技創(chuàng)新行動計劃地方院校能力建設(shè)項目(13160500900).
TM73
A
1006-4729(2017)01-0039-05