位宴賓,黃 祥,蔡樂才
(四川理工學(xué)院自動化與電子信息學(xué)院,四川自貢 643000)
基于S3C2440的電力諧波數(shù)據(jù)采集系統(tǒng)設(shè)計
位宴賓,黃 祥,蔡樂才
(四川理工學(xué)院自動化與電子信息學(xué)院,四川自貢 643000)
電力諧波的數(shù)據(jù)采集是通過基于嵌入式系統(tǒng)軟硬件相結(jié)合來實現(xiàn)的.硬件核心是AR M9的S3C2440處理器,為主控制芯片;實時操作系統(tǒng)μ C/OS-II為軟件操作平臺.設(shè)計了信號調(diào)理電路等模塊,編寫了相關(guān)的驅(qū)動與應(yīng)用程序.采集到的數(shù)據(jù)經(jīng)過快速傅里葉變換分析處理,最后對處理后的諧波分量進(jìn)行顯示與存儲.
電力諧波;數(shù)據(jù)采集;S3C2440;調(diào)理電路;快速傅里葉變換
目前,嵌入式技術(shù)因其體積小、可靠性高、功能強(qiáng)、靈活方便等諸多優(yōu)點而被廣泛應(yīng)用到工業(yè)、農(nóng)業(yè)、科研以及日常生活等各個領(lǐng)域.而在眾多的嵌入式操作系統(tǒng)中,Linux操作系統(tǒng)擁有開放的源代碼、豐富的軟件資源、功能強(qiáng)大的內(nèi)核和支持多種體系結(jié)構(gòu)等優(yōu)點而受到使用者的青睞[1].本設(shè)計針對電網(wǎng)上的諧波數(shù)據(jù)采集要求,提出了一種基于S3C2440的電力諧波數(shù)據(jù)采集系統(tǒng),該系統(tǒng)在ARM 32位高性能嵌入式處理器S3C2440A中移植了μ C/OS-II實時操作系統(tǒng),通過μ C/OS-II操作系統(tǒng)中的消息機(jī)制,使用信號調(diào)理電路、A/D轉(zhuǎn)換電路,實現(xiàn)了對電壓、電流信號的多通道的數(shù)據(jù)采集功能.
S3C2440[2]是一款A(yù)RM920T核的32位集成了指令、數(shù)據(jù)分開的 14 K Cache、4通道 DMA、3通道UARTIIC總線、IIS總線、PWM 定時器、看門狗、LCD控制器、觸摸屏控制器、USB、紅外接口、SD存儲卡接口、AC97數(shù)字音頻接口等手持式產(chǎn)品必備的功能模塊,其電源管理功能能對核心模塊和各接口功能模塊的供電電源分別管理,并具有系統(tǒng)休眠和喚醒功能,為應(yīng)用系統(tǒng)最大限度地降低功耗提供了完備的硬件條件.同時,S3C2440是一個高度集成的片上系統(tǒng)微低功耗嵌入式處理器,是主頻為400 MHz的并行處理器,非常適合于工業(yè)控制和過程控制.
電力諧波數(shù)據(jù)采集系統(tǒng)采用模塊化的結(jié)構(gòu)設(shè)計思想,主要分為主控模塊、信號調(diào)理模塊、A/D轉(zhuǎn)換模塊等.系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示.
圖1 系統(tǒng)總體框圖
系統(tǒng)完成的功能包括:首先由電壓(電流)互感器采集3路被測量的電壓、電流信號;然后對實測的電壓、電流信號進(jìn)行濾波放大;再經(jīng)過A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號后送微處理器處理.微處理器通過快速傅里葉變換(Fast Fourier Transform,F(xiàn)FT)計算出各路電壓諧波含有率、電流諧波含有率、電壓畸變率等各種參數(shù),各參數(shù)可經(jīng)液晶屏顯示[3],最終存儲在存儲器中.
信號調(diào)理電路設(shè)計是數(shù)據(jù)采集系統(tǒng)的重要部分,它直接影響到系統(tǒng)的性能,只有合理設(shè)計才能提高采集速度、模數(shù)轉(zhuǎn)換精度與簡化電路.信號調(diào)理電路的結(jié)構(gòu)框圖如圖2所示.
圖2 信號調(diào)理電路示意圖
通常傳感器的模擬信號在變換為數(shù)字信號之前必須進(jìn)行調(diào)理.調(diào)理的具體要求是放大、緩沖或定標(biāo)模擬信號等,使其適合于模/數(shù)轉(zhuǎn)換器(ADC)的輸入,然后,ADC對模擬信號進(jìn)行數(shù)字化,并把數(shù)字信號送到微處理器(Micro-Control Unit,MCU)或其他數(shù)字器件,以便用于系統(tǒng)的數(shù)據(jù)處理.此外,由于電力諧波中包含無限次大的諧波分量,在數(shù)據(jù)采集時會發(fā)生頻譜混疊現(xiàn)象,所以還要將信號送入抗混疊濾波器.本設(shè)計所選用的A/D轉(zhuǎn)換器模擬信號輸入值范圍為0~3.3 V,所以還必須將采集的信號經(jīng)過一個電平偏移電路,然后將偏移后得到的電壓信號送給A/D轉(zhuǎn)換器,把連續(xù)的模擬量轉(zhuǎn)換成離散的數(shù)字量,最后由微處理器對數(shù)據(jù)進(jìn)行處理、存儲和顯示.
按照系統(tǒng)設(shè)計的技術(shù)要求及芯片的性能、性價比,本設(shè)計中模數(shù)轉(zhuǎn)換器采用S3C2440處理器內(nèi)部集成的10位COMS ADC(模數(shù)轉(zhuǎn)換器),是一個8通道模擬輸入的再循環(huán)類型設(shè)備,支持片上采樣—保持功能和掉電模式的操作.由于所選用處理器自帶的A/D轉(zhuǎn)換器滿足采樣需求,同時簡化了硬件設(shè)計,提高了系統(tǒng)穩(wěn)定性,也降低了成本.
S3C2440芯片外接了2片32 MB的SDROM內(nèi)存芯片,它們并接在一起形成32-bit的總線數(shù)據(jù)寬度,這樣可以增加訪問的速度.因為是并接,故它們都使用了nGCS6作為片選,這就決定了它們的物理起始地址為0x30000000.S3C2440芯片還外接了2種Flash:一種是 NOR Flash,型號為 SST39VF1601,大小為2 MB;另一種是NAND Flash,型號為 K9F1G08,大小為128 MB.S3C2440支持這兩種Flash啟動系統(tǒng),通過撥動開關(guān)S2,就可以選擇從NOR還是NAND啟動系統(tǒng).
在系統(tǒng)的軟件設(shè)計上,本設(shè)計采用模塊化、結(jié)構(gòu)化設(shè)計思想,以便于程序及各功能模塊的移植與擴(kuò)展.按照本系統(tǒng)的功能,把系統(tǒng)軟件分成2部分:其一為Linux驅(qū)動程序;另一為應(yīng)用程序.
Linux驅(qū)動程序主要為A/D驅(qū)動程序.ADC設(shè)備在Linux中可以看作是簡單的字符型設(shè)備,也可以看作是一混雜設(shè)備(misc設(shè)備).本軟件用misc設(shè)備實現(xiàn)ADC的驅(qū)動,其中斷的方式為,當(dāng)AD轉(zhuǎn)換完成后產(chǎn)生AD中斷,在中斷服務(wù)程序中讀取ADC DAT0的第0~9位的值(即AD轉(zhuǎn)換后的值).
ADC設(shè)備的驅(qū)動程序開發(fā)分為4個步驟:
①編寫驅(qū)動程序文件my2440 adc .c,實現(xiàn)驅(qū)動的初始化和退出;
②定義adc miscdev 結(jié)構(gòu)體并實現(xiàn)內(nèi)部各接口函數(shù);
③編寫用戶應(yīng)用程序測試my2440 _adc 驅(qū)動,并建立應(yīng)用程序adc test .c;
④驅(qū)動程序的編譯與加載.
編寫完驅(qū)動程序形成my2440 adc .c 文件 ,采用makefile文件進(jìn)行編譯生成.ko可執(zhí)行文件,然后使用insmod命令加載驅(qū)動程序.
應(yīng)用程序在Linux系統(tǒng)下用C語言編程來實現(xiàn).由于ADC設(shè)備已加載到內(nèi)核中,可以如同普通文件一樣操作.對電力諧波數(shù)據(jù)進(jìn)行采集時,首先打開ADC驅(qū)動的設(shè)備文件,然后讀取電壓值(該電力諧波數(shù)據(jù)采集系統(tǒng)也支持對電流值的操作,在此僅以電壓值為主),緊接著進(jìn)行快速傅里葉處理,最后進(jìn)行數(shù)據(jù)存儲和顯示.應(yīng)用程序的流程如圖3所示.
圖3 應(yīng)用程序流程圖
需說明的是,本設(shè)計在完成諧波電壓的數(shù)據(jù)采集后,還要對其進(jìn)行快速傅里葉變換(FFT)分析.根據(jù)奈奎斯特采樣定理,一個周期采樣點個數(shù)是128個.在一個周期波128個數(shù)據(jù)采集結(jié)束后,進(jìn)入FFT算法程序.本設(shè)計采用按時間抽取(Decimation In Time,DIT)的基-2 FFT算法.
本設(shè)計以S3C2440處理器為控制核心,構(gòu)建了數(shù)據(jù)采集系統(tǒng)的信號調(diào)理、模數(shù)轉(zhuǎn)換和數(shù)據(jù)存儲等功能模塊的硬件電路,并編寫了相關(guān)硬件設(shè)備的驅(qū)動和應(yīng)用程序.系統(tǒng)實現(xiàn)了多路通道的電力諧波數(shù)據(jù)采集功能,并對數(shù)據(jù)進(jìn)行了快速傅里葉變換分析,能簡單明了地觀察到所提取信號的諧波含量.將該諧波采集系統(tǒng)應(yīng)用于電網(wǎng)中,可以方便地檢測電網(wǎng)中的諧波分量,然后對諧波進(jìn)行處理可達(dá)到改善電網(wǎng)質(zhì)量的目的.系統(tǒng)可以脫離主機(jī)運行,在使用過程中便于攜帶,且功耗低、成本低,具有較高的實際應(yīng)用價值.同時,由于S3C2440和Linux操作系統(tǒng)的強(qiáng)大功能及豐富的外設(shè)接口,對系統(tǒng)還可以做進(jìn)一步擴(kuò)展開發(fā),如結(jié)合RS485通訊進(jìn)行遠(yuǎn)程監(jiān)測,結(jié)合數(shù)字信號處理器(Digital Signal Processor,DSP)對電力諧波處理算法進(jìn)行優(yōu)化,以進(jìn)一步提高處理精度等.
:
[1]陳璞,劉文波.基于AR M和嵌入式Linux的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計[J].測控技術(shù),2007,26(9):54-56.
[2]三星公司.S3C2440全套中文手冊.[2011-04-02].http://ishare.iask.sina.com.cn/f/14358689.html.
[3]翟紅葉,符影杰.基于ARM的電網(wǎng)電壓諧波檢測儀的研制[J].中國儀器儀表,2006,26(10):33-35.
[4]巢麗娟,鞠勇.基于嵌入式的電力諧波數(shù)據(jù)采集設(shè)計[J].機(jī)械與電子,2010 ,28(S1):215-217.
[5]程佩青.數(shù)字信號處理教程[M].北京:清華大學(xué)出版社,2008.
Design of Data Acquisition System for Power Harmonic Based on S3C2440
WEI Yanbin,HUANGXiang,CAI Lecai
(School of Automation and Electronic Information,Sichuan University of Science&Engineering,Zigong 643000,China)
Data acquisition for harmonic power is realized by combination of embedded system's hardware and software.The core of hardware isS3C2440 of ARM9 as the main control chip and the software takes real-time embedded operating system(μ C/OS-II)as operation platform.Signal conditioning circuit module and others were designed and the driver and application programs were written.Acquitted data were analyzed and processed after Fast Fourier Transform and processed harmonic component was shown and saved to realize the function of this system.
power harmonic;data acquisition ;S3C2440 ;conditioning circuit;Fast Fourier Transform(FFT)
TP274+.2
A
1004-5422(2012)04-0375-03
2012-09-12.
位宴賓(1985—),男,碩士研究生,從事計算機(jī)嵌入式系統(tǒng)研究.