• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2011-07-25 00:33:48張文婷宋澤琳馬令坤
      關(guān)鍵詞:堆棧多任務(wù)中斷

      張文婷 ,宋澤琳 ,馬令坤

      (1.中國(guó)人民解放軍第四三二八工廠,山西 長(zhǎng)治 046011;2.陜西科技大學(xué) 電氣與信息工程學(xué)院,陜西 西安 710021)

      近年來(lái),隨著電力電子技術(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)時(shí),將嚴(yán)重影響電力系統(tǒng)和用電設(shè)備運(yùn)行的安全性、可靠性、穩(wěn)定性和經(jīng)濟(jì)性,同時(shí)也嚴(yán)重污染了周圍的電氣環(huán)境。而關(guān)于諧波的問題涉及許多方面,其中諧波檢測(cè)是諧波問題的一個(gè)重要分支,也是解決其他諧波問題的重要前提[1]。因此,對(duì)于諧波分析裝置的研究對(duì)諧波污染的治理具有重要的意義。

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

      本文分析了電力系統(tǒng)諧波測(cè)量要求以及μC/OS-II在NiosII上的移植來(lái)實(shí)現(xiàn)精確的諧波檢測(cè)。

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

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

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

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

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

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

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

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

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

      (7)任務(wù)棧:每個(gè)任務(wù)有自己?jiǎn)为?dú)的棧,μC/OS-II允許每個(gè)任務(wù)有不同的棧空間。

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

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

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

      1.2 硬件平臺(tái)簡(jiǎn)介

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

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

      圖1 硬件電路

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

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

      圖2 μC/OS-II硬件/軟件體系結(jié)構(gòu)

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

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

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

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

      2.1 OS_CPU.H文件

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

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

      堆棧由高地址向低地址增長(zhǎng),這和選擇的編譯器有關(guān)。

      宏定義(包括開、關(guān)中斷的宏定義,以及進(jìn)行任務(wù)切換的宏定義):

      2.2 OS_CPU_C.C文件

      該文件必須實(shí)現(xiàn)任務(wù)初始化時(shí)的堆棧設(shè)計(jì),也就是在堆棧增長(zhǎng)方向上如何定義每個(gè)需要保存的寄存器的位置。本文將堆??臻g設(shè)計(jì)為按任務(wù)堆棧空間由高至低依次保存寄存器 ra、ISTATUS、r1~r31。

      該文件還需要實(shí)現(xiàn)幾個(gè)操作系統(tǒng)規(guī)定的hook函數(shù),通常都實(shí)現(xiàn)為空函數(shù)。

      2.3 OS_CPU A.ASM文件

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

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

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

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

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

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

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

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

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

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

      [1]肖雁鴻,毛筱,周靖林,等.電力系統(tǒng)諧波測(cè)量方法綜述[J].電網(wǎng)技術(shù),2002,26(6):61-64.

      [2]吳茂存.基于 FPGA的電力系統(tǒng)諧波檢測(cè)[D].濟(jì)南:山東科技大學(xué),2002.

      [3]潘松.SOPC技術(shù)實(shí)用教程[M].西安:西安電子科技大學(xué)出版社,2006:220-222.

      [4]王建校,危建國(guó).SOPC設(shè)計(jì)基礎(chǔ)與實(shí)踐[M].北京:中國(guó)標(biāo)準(zhǔn)出版社,1993:2-13.

      [5]黃燕平.μC/OS-II ARM移植要點(diǎn)詳解[M].北京:北京航空航天大學(xué)出版社,2005:9-18.

      [6]陳桂.μC/OS-II的內(nèi)核結(jié)構(gòu)及系統(tǒng)研究[D].重慶:重慶大學(xué),2005.

      [7]孫愷.NiosII系統(tǒng)開發(fā)設(shè)計(jì)與應(yīng)用實(shí)例[M].北京:北京航空航天大學(xué)出版社,2007:259-262.

      猜你喜歡
      堆棧多任務(wù)中斷
      基于中心化自動(dòng)加權(quán)多任務(wù)學(xué)習(xí)的早期輕度認(rèn)知障礙診斷
      嵌入式軟件堆棧溢出的動(dòng)態(tài)檢測(cè)方案設(shè)計(jì)*
      跟蹤導(dǎo)練(二)(5)
      千里移防,衛(wèi)勤保障不中斷
      解放軍健康(2017年5期)2017-08-01 06:27:44
      基于堆棧自編碼降維的武器裝備體系效能預(yù)測(cè)
      基于判別性局部聯(lián)合稀疏模型的多任務(wù)跟蹤
      電測(cè)與儀表(2016年5期)2016-04-22 01:13:46
      未知環(huán)境下基于粒子群優(yōu)化的多任務(wù)聯(lián)盟生成
      AT89C51與中斷有關(guān)的寄存器功能表解
      FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
      福泉市| 米易县| 资阳市| 舟曲县| 大足县| 迁西县| 临清市| 天津市| 东丽区| 瑞安市| 红桥区| 从化市| 揭阳市| 松潘县| 榆树市| 安陆市| 万盛区| 吴旗县| 新田县| 资溪县| 东乡县| 哈巴河县| 东城区| 岗巴县| 论坛| 隆昌县| 正定县| 望谟县| 富川| 德安县| 湘潭市| 凤冈县| 乐安县| 抚顺市| 浦北县| 航空| 永清县| 上蔡县| 敦化市| 仁布县| 蕲春县|