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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于μC/OS-II+NiosII的電力諧波分析儀的研究

          基于μC/OS-II+NiosII的電力諧波分析儀的研究

          作者: 時間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

          近年來,隨著電力電子技術(shù)的快速發(fā)展,各種電力電子裝置在電力系統(tǒng)、工業(yè)、交通及家庭中的應(yīng)用日益廣泛,加之隨著高壓直流輸電技術(shù)的應(yīng)用和整流器、變頻調(diào)速器等大量非線性負(fù)載的使用,使電網(wǎng)中產(chǎn)生了大量的高次諧波,造成了電壓電流波形發(fā)生嚴(yán)重的畸變。當(dāng)電網(wǎng)中存在的諧波成分超過限制標(biāo)準(zhǔn)時,將嚴(yán)重影響電力系統(tǒng)和用電設(shè)備運(yùn)行的安全性、可靠性、穩(wěn)定性和經(jīng)濟(jì)性,同時也嚴(yán)重污染了周圍的電氣環(huán)境。而關(guān)于諧波的問題涉及許多方面,其中諧波檢測是諧波問題的一個重要分支,也是解決其他諧波問題的重要前提[1]。因此,對于諧波分析裝置的研究對諧波污染的治理具有重要的意義。

          目前,在對電網(wǎng)的諧波進(jìn)行在線檢測和分析時,常采用采樣數(shù)字式分析裝置,在其系統(tǒng)軟件設(shè)計中,多采用單任務(wù)無順序機(jī)制。這種機(jī)制使系統(tǒng)的安全性得不到完全保證,常常出現(xiàn)安全性差的問題[2]。而這個問題對于穩(wěn)定性、實時性、準(zhǔn)確性、快速性要求很高的諧波分析裝置來說是不允許的。因此,在系統(tǒng)設(shè)計中,引入具有強(qiáng)實時性和搶占式多任務(wù)的嵌入式操作系統(tǒng)μC/OS-II作為操作平臺,可以使系統(tǒng)的穩(wěn)定性有很大的改善,使應(yīng)用程序模塊化,從而提高代碼的可讀性、可擴(kuò)展性和可移植性,加快了程序開發(fā)的速度[3]。
          本文分析了電力系統(tǒng)諧波測量要求以及μC/OS-II在上的移植來實現(xiàn)精確的諧波檢測。

          1 系統(tǒng)設(shè)計

          1.1 μC/OS-II實時操作系統(tǒng)簡介

          μC/OS-II是基于優(yōu)先級的搶占式實時多任務(wù)內(nèi)核,優(yōu)先級算法效率高,任務(wù)切換速度快,其性能與其他商業(yè)內(nèi)核類似,其特點(diǎn)與優(yōu)勢可以概括為以下幾個方面[4]:

          (1)公開源代碼:源代碼清晰易讀且結(jié)構(gòu)協(xié)調(diào),注解詳盡,組織有序。

          (2)可移植性:μC/OS-II源碼絕大部分是用移植性很強(qiáng)的ANSI C編寫的,而與微處理器硬件相關(guān)部分則采用匯編語言編寫,并且壓到了最低限度。只要該處理器有堆棧指針,有CPU內(nèi)部寄存器入棧出棧指令就可以移植μC/OS-II。

          (3)可裁剪:可以只使用μC/OS-II中應(yīng)用程序需要的那些系統(tǒng)服務(wù)。這種可裁剪性是靠條件編譯實現(xiàn)的。

          (4)占先式:μC/OS-II完全是占先式實時內(nèi)核,即總是運(yùn)行就緒條件下優(yōu)先級最高的任務(wù)。

          (5)多任務(wù):可以管理64個任務(wù),但系統(tǒng)保留了8個任務(wù),應(yīng)用程序最多可以有56個任務(wù)。賦予每個任務(wù)的優(yōu)先級必須是不相同的。

          (6)可確定性:全部μC/OS-II的函數(shù)調(diào)用和服務(wù)的執(zhí)行時間具有可確定性,即它們的執(zhí)行時間是可知的,也就是說,μC/OS-II系統(tǒng)服務(wù)的執(zhí)行時間不依賴于應(yīng)用程序任務(wù)的多少。

          (7)任務(wù)棧:每個任務(wù)有自己單獨(dú)的棧,μC/OS-II允許每個任務(wù)有不同的??臻g。

          (8)系統(tǒng)服務(wù):μC/OS-II提供多種系統(tǒng)服務(wù),如郵箱、消息隊列、信號量、塊大小固定的內(nèi)存的申請與釋放、時間相關(guān)函數(shù)等。

          (9)中斷管理:中斷可使正在執(zhí)行的任務(wù)暫時掛起,中斷嵌套層數(shù)可達(dá)255層。

          (10)穩(wěn)定性與可靠性:μC/OS-II是基于μC/OS的,μC/OS自1992年以來己有好幾百個商業(yè)應(yīng)用。

          1.2 硬件平臺簡介

          在本系統(tǒng)中,其中包括嵌入式微處理器(嵌入式軟核處理器)、FFT運(yùn)算單元和對采集數(shù)據(jù)進(jìn)行處理的信號處理電路,該信號處理電路包括信號獲取電路、調(diào)理電路和采樣轉(zhuǎn)換電路,其中:信號獲取電路包括精密電壓互感器和精密電流互感器,精密電壓電流互感器的輸入端用于接收采集的電壓電流信號,輸出端接調(diào)理電路輸入端,如圖1所示。

          從現(xiàn)場取來的電壓和電流信號,首先進(jìn)入精密電壓、電流互感器組U1,電壓和電流信號經(jīng)其進(jìn)行降壓限流處理后進(jìn)入信號調(diào)理電路U2;信號調(diào)理電路U2可由精密電阻和電位器配合高精度集成運(yùn)放AD574組成,以完成對電壓信號的電平調(diào)整;經(jīng)過精密電壓、電流互感器U1、信號調(diào)理電路U2處理后,從現(xiàn)場取來的高壓、大電流信號就轉(zhuǎn)換成適合后續(xù)電路處理的弱電信號,接著該弱電信號進(jìn)入低通抗混疊濾波電路U3,低通抗混疊電路U3主要由低通抗混疊濾波器組成,用于濾除高頻信號成分,使輸入到后級電路中的AD轉(zhuǎn)換器的信號為有限帶寬信號,該電路U3是以很小的衰減讓有效的頻率信號通過,而抑制這個頻帶以外的頻率信號,從而防止信號的頻譜發(fā)生混疊及高頻干擾。在本系統(tǒng)中,低通抗混疊濾波電路U3采用低通抗混疊濾波集成電路Max293低通濾波器,再由后級電路中AD轉(zhuǎn)換器本身各通道都具有內(nèi)置的抗混疊濾波器并采用∑-△以及過采樣技術(shù),使得本系統(tǒng)具有良好的抗干擾能力和抗混疊性能,保證了FFT運(yùn)算能夠得到準(zhǔn)確的結(jié)果。

          本文引用地址:http://www.ex-cimer.com/article/201706/349142.htm

          1.3 μC/OS-II文件結(jié)構(gòu)與硬件平臺關(guān)系

          μC/OS-II的內(nèi)核文件結(jié)構(gòu)與硬件平臺的關(guān)系如圖2所示。可以看出,μC/OS-II內(nèi)核介于硬件平臺和用戶應(yīng)用程序之間,通過與CPU相關(guān)的幾個模塊與硬件平臺進(jìn)行交互,為用戶應(yīng)用程序提供良好的應(yīng)用程序接口(API)[5]。

          操作系統(tǒng)把系統(tǒng)軟件和硬件部分隔離開來,這樣就使得系統(tǒng)的設(shè)備操作程序與硬件設(shè)備無關(guān),從而大大提高了系統(tǒng)的可移植性。而且軟硬件的測試工作都可分別基于操作系統(tǒng)來完成,使得軟硬件系統(tǒng)并行進(jìn)行測試成為可能。

          2 μC/OS-II內(nèi)核向的移植操作

          所謂移植,就是使一個實時內(nèi)核在某個微處理器或微控制器上運(yùn)行,為了方便移植,μC/OS-II大部分的代碼用C語言寫,但仍需要用匯編語言寫一些與處理器相關(guān)的代碼,這是因為μC/OS-II在讀寫處理器寄存器時只能通過匯編語言來實現(xiàn)。

          μC/OS-II可以看作是一個多任務(wù)的調(diào)度器,在這個任務(wù)調(diào)度器上添加了和多任務(wù)操作系統(tǒng)相關(guān)的一些系統(tǒng)服務(wù)。μC/OS-II的設(shè)計分為與處理器類型無關(guān)的代碼、與處理器類型相關(guān)的代碼和與應(yīng)用程序有關(guān)的配置代碼三部分。這也是μC/OS-II具有良好的可移植性的原因。移植工作主要集中在多任務(wù)切換的實現(xiàn)上。這部分代碼主要是用來保存和恢復(fù)處理器現(xiàn)場(即相關(guān)寄存器),因此不能用C語言,只能使用特定處理器的匯編語言完成。在NiosII上移植μC/OS-II只需修改三個和Nios體系結(jié)構(gòu)相關(guān)的文件即可[6,7]。下面分別介紹這三個文件的移植工作。

          2.1 OS_CPU.H文件

          這部分的移植是和所用的編譯器相關(guān)的,本文使用的編譯器是nios-elf-gcc。需要定義的數(shù)據(jù)類型包括無符號和有符號的8 bit、16 bit和32 bit整型變量等。

          因為處理器現(xiàn)場的寄存器在任務(wù)切換時都將被保存在當(dāng)前運(yùn)行任務(wù)的堆棧中,所以O(shè)S_STK數(shù)據(jù)類型應(yīng)該與處理器的寄存器長度一致。

          typedef unsigned int OS_STK;
          堆棧由高地址向低地址增長,這和選擇的編譯器有關(guān)。
          #define OS_STK_GROWTH 1
          宏定義(包括開、關(guān)中斷的宏定義,以及進(jìn)行任務(wù)切換的宏定義):
          #define OS_ENTER_CRITICAL()disable_interrupt();
          #define OS_EXIT_CRITICAL()enable_interrupt();
          #define OS_TASK_SW()OSCtxSw

          2.2 OS_CPU_C.C文件

          該文件必須實現(xiàn)任務(wù)初始化時的堆棧設(shè)計,也就是在堆棧增長方向上如何定義每個需要保存的寄存器的位置。本文將堆??臻g設(shè)計為按任務(wù)堆??臻g由高至低依次保存寄存器ra、ISTATUS、r1~r31。
          該文件還需要實現(xiàn)幾個操作系統(tǒng)規(guī)定的hook函數(shù),通常都實現(xiàn)為空函數(shù)。

          2.3 OS_CPU A.ASM文件

          (1)OSStartHighRdy()函數(shù)

          此函數(shù)是在OSStart()多任務(wù)啟動后,負(fù)責(zé)從最高優(yōu)先級任務(wù)的TCB控制塊中獲得該任務(wù)的堆棧指針sp,通過sp依次將CPU現(xiàn)場恢復(fù)。這時系統(tǒng)就將控制權(quán)交給用戶創(chuàng)建的該任務(wù)進(jìn)程,直到該任務(wù)被阻塞或者被其他更高優(yōu)先級的任務(wù)搶占CPU。該函數(shù)僅僅在多任務(wù)啟動時被執(zhí)行一次,用來啟動優(yōu)先級最高的任務(wù)執(zhí)行,以后多任務(wù)的調(diào)度和切換就由下面的函數(shù)來實現(xiàn)。

          (2)OSCtxSw()函數(shù)

          任務(wù)級的上下文切換。它是當(dāng)任務(wù)因被阻塞而主動請求CPU調(diào)度時被執(zhí)行的。它的工作是先將當(dāng)前任務(wù)的CPU現(xiàn)場保存到該任務(wù)堆棧中,然后獲得最高優(yōu)先級任務(wù)的堆棧指針,從該堆棧中恢復(fù)此任務(wù)的CPU現(xiàn)場,使之繼續(xù)執(zhí)行。

          (3)OSIntCtxSw()函數(shù)

          中斷級的任務(wù)切換,它是在ISR(中斷服務(wù)例程)中執(zhí)行任務(wù)切換。當(dāng)發(fā)現(xiàn)有高優(yōu)先級任務(wù)就緒,則在中斷退出后并不返回被中斷的任務(wù),而是直接調(diào)度就緒的最高優(yōu)先級任務(wù)執(zhí)行。這樣做的目的是能夠盡快地讓高優(yōu)先級的任務(wù)得到響應(yīng),保證系統(tǒng)的實時性。其原理基本上與任務(wù)級的切換相同,但是由于進(jìn)入中斷時已經(jīng)保存過被中斷任務(wù)的CPU現(xiàn)場,因此這里就不用再保存。

          (4)OSTickISR()函數(shù)

          時鐘中斷處理函數(shù)。它的主要任務(wù)是負(fù)責(zé)處理時鐘中斷,調(diào)用系統(tǒng)實現(xiàn)的OSTimeTick函數(shù),如果有等待時鐘信號的高優(yōu)先級任務(wù),則需要在中斷級別上調(diào)度其執(zhí)行。

          (5)OS_ENTER_CRITICAL和OS_EXIT_CRITICAL()函數(shù)

          該函數(shù)分別是進(jìn)入臨界區(qū)和退出臨界區(qū)的宏指令。主要用于在進(jìn)入臨界區(qū)之前關(guān)中斷,在退出臨界區(qū)的時候恢復(fù)原來的中斷狀態(tài)。

          本文將實時嵌入式操作系統(tǒng)μC/OS-II作為操作平臺,實現(xiàn)在NiosII上的移植,用于在電力系統(tǒng)諧波分析中的精確檢測。該儀不但可以對電網(wǎng)進(jìn)行實時在線諧波分析,而且可以對數(shù)據(jù)進(jìn)行遠(yuǎn)傳,具有精度高、運(yùn)行穩(wěn)定、實時性好、抗干擾能力強(qiáng)、性價比高等特點(diǎn),特別是它具有高穩(wěn)定性和強(qiáng)實時性,為解決電力諧波問題提供了一種有效的分析裝置。



          關(guān)鍵詞: μC/OS-II NiosII 電力諧波分析

          評論


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