《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于RTOS與DSPs的微機保護裝置
基于RTOS與DSPs的微機保護裝置
摘要:  目前運行的微機保護裝置大多數為16位單片機,,對于常規(guī)的保護其性能基本能滿足。但16位單片機往往受到運算速度等因素的影響,,不易實現更復雜的算法和更高采樣速率。隨著微電子和半導體技術的發(fā)展,,DSPs已運用在了眾多領域。由于DSPs的強大數字信號處理能力,,越來越受到開發(fā)人員的青睞,。
關鍵詞: DSP RTOS
Abstract:
Key words :
  1 引言

  我國電力系統(tǒng)的微機型保護得到迅速發(fā)展,,已在電力系統(tǒng)得到了廣泛應用,。從早期的8位機,到現在16/32位機,,性能得到了提高,,運算能力也大大加強了。

  微機保護的性能及其可靠性取決于軟,、硬件,,因此軟件的編寫和硬件的選擇是一項關鍵性的工作。我們在編寫軟件時,,通常先畫好流程圖,,然后按著流程圖來編程,,一般是一個無限循環(huán),,循環(huán)中調用相應的函數(子程序)完成相應的操作(稱為后臺行為或任務級);用中斷來處理隨機事件(稱為前臺行為或中斷級)。程序流程如圖1所示,。任務的響應時間取決于后臺循環(huán)執(zhí)行的時間(在不同的狀態(tài)或運行方式下,,執(zhí)行時間不同),程序經過某一點的時間不能確定,程序修改了,,循環(huán)時序就受到影響,。這種編程方法,使得程序開發(fā)周期長,,修改困難,,任何一處受到破壞,就會死機,。在8位機時代,,還不算明顯,隨著16/32位機的使用及系統(tǒng)復雜性的增加,,表現的越來越明顯了。這種傳統(tǒng)的前臺/后臺程序開發(fā)機制已不能滿足日益復雜和多樣化的微機保護的應用需求,,采用RTOS來開發(fā)微機保護應用程序,,現已成為開發(fā)人員的發(fā)展方向。

  目前運行的微機保護裝置大多數為16位單片機,,對于常規(guī)的保護其性能基本能滿足,。但16位單片機往往受到運算速度等因素的影響,,不易實現更復雜的算法和更高采樣速率,。隨著微電子和半導體技術的發(fā)展,DSPs已運用在了眾多領域,。由于DSPs的強大數字信號處理能力,,越來越受到開發(fā)人員的青睞。

  2 關于RTOS(Real Time Operating System)實時操作系統(tǒng)

  實時操作系統(tǒng)是一段在系統(tǒng)啟動后,,首先執(zhí)行的背景程序,。用戶的應用程序是運行于RTOS之上的各個任務,RTOS根據各個任務的要求,,進行資源管理,、消息管理,、任務調度,,異常處理等工作,。實時多任務內核是RTOS的關鍵部分,,基本功能包括任務管理、定時器管理、存儲管理,、資源管理,、事件管理、系統(tǒng)管理,、消息管理等,。RTOS與其它OS相比主要特征是規(guī)模小、可裁剪,、微內核。

  在RTOS機制下開發(fā)多任務程序,,CPU的運行時間被劃分為許多小的時間片,RTOS按照某種調度算法分別分配給不同的任務,,多個任務分別在自己的時間片內訪問CPU,,達到微觀上輪流運行,宏觀上并發(fā)運行的多任務效果,。程序流程如圖2所示,。

  任務是單線程序列指令形成的一個無限循環(huán),它有五種狀態(tài):休眠,、就緒,、運行、等待和中斷,。實時內核是通過任務控制塊(TCB)來管理任務的,。程序調用內核服務創(chuàng)建任務,并在任務中分配一個任務控制塊,,進行初始化,,使任務進入就緒狀態(tài)。實時內核以事件為基礎,,根據任務執(zhí)行的狀態(tài),,對任務進行切換,狀態(tài)也隨之變化,。在實時任務中,,內存中存在多個任務控制模塊,以及各個任務獨立的私有堆棧,。

  任務進行切換,,首先要保存CPU寄存器內容到當前任務的任務控制塊中,然后從新任務的任務控制塊裝載堆棧指針,,并將新任務的上下文裝載到CPU寄存器中,,這樣就從一個任務切換到另一個任務運行,。

  我們將要開發(fā)的系統(tǒng)功能進行分解,構造成幾個不同的任務,,每個任務負責完成系統(tǒng)應用要求的一部分功能,,并根據其重要性,決定它的優(yōu)先級,,它們彼此獨立運行,。

  RTOS的使用,可以提高系統(tǒng)的可靠性,。傳統(tǒng)的線性程序,,在遇到強烈的干擾時,程序任何一處產生死循環(huán)或破壞,,都會引起死機,,只有靠硬件(看門狗),進行復位,、重新啟動系統(tǒng),。在這種情況下,對于RTOS管理的系統(tǒng),,只會引起若干個進程中的一個破壞,并可用另外的進程對其進行修復,。還可以提高產品的開發(fā)效率,,縮短開發(fā)周期。一個復雜的應用程序,,可以分解成若干個任務,,每個任務的調試、修改幾乎不影響其它模塊,。

  使用RTOS,,使得應用程序的設計、擴展變得容易,,不需要大的改動,,就可以增加新的功能;且能使系統(tǒng)資源能得到更好的管理。但需增加額外的ROM/RAM的開銷,,增加2~5個百分點的CPU額外負荷,,以及開發(fā)成本的增加(RTOS的價格)。

  當今市場上有許多RTOS商家生產面向8位,、16位,、32位,甚至64位的CPU的RTOS產品,。如:VRTX,、QNX,、VxWorks、Nucleus PLUS,、OS—9,、PSOSys-tem、LynxOS,、WindowsCE及國內的Hopen等,。RTOS除包含實時多任務內核外,還包括輸入輸出管理,、視窗系統(tǒng),、文件系統(tǒng)、網絡語言接口庫,、調試軟件,,以及交叉編譯平臺等。RTOS已在各行各業(yè)應用,,如:航空,、軍事、電力,、通信及工業(yè)控制等領域,。

  3 關于DSPs(DiginalSignalProcessors)數字信號處理芯片

  傳統(tǒng)上,微控制器MCU和微處理器MPU是微機發(fā)展的兩大分支,,而DSPs是MCU的一種特殊變形,。它是一種具有哈佛結構,精簡指令(RISC)的CPU,。

  DSPs片內有多條地址,、數據和控制總線,可進行流水線操作,,提高了CPU的處理能力;有硬件乘法器,,乘法計算可由一條指令來完成;有專門的指令,進行數據處理;有DMA傳輸通道,。其外部硬件部分和MCU相同,,由地址、數據和控制三總線組成,。在軟件開發(fā)上,,能更好地支持模塊化編程。

  市場上有多種DSPs可供我們選擇,。如:TI公司的TMS320系列,、ADI公司的ADS系列、MOTOROLA公司的DSP系列等,。

  DSPs的使用,,可極大地縮短數據處理的計算時間,,不但可以完成數據采集、信號處理功能,,還可完成運算,、控制等功能。

  4 RTOS與DSPs在微機保護裝置中的應用

  我們采用美國ATI公司的Nucleus Plus實時操作系統(tǒng),,DSPs選用美國TI公司的TMS320C32,,開發(fā)了一系列的中低壓保護裝置。

  Nucleus Plus是實時,、搶先,、多任務的內核。大約95%的Nucleus Plus程序是用ANSIC編寫的,,容易移值,。我們以Nucleus Plus為開發(fā)平臺,采用C語言和匯編語言混合編程,,進行軟件開發(fā),。

  我們針對保護裝置的實際情況,把整個系統(tǒng)分成保護,、自檢,、顯示、通信等幾個任務,,并把保護任務設置成最高優(yōu)先級,。各任務間彼此獨立運行,任務間的通信通過全局數據或發(fā)送消息來實現,,任何一個任務出現運行異常,其它任務正常運行,。任務程序的結構如下代碼所示:

  TMS320C32是32位的芯片,,可進行浮點數運算。圖3是以TMS320C32為核心構成的微機保護裝置硬件系統(tǒng)原理圖,,在這個系統(tǒng)中,,TMS320C32完成采樣、計算,、保護邏輯判斷及控制等功能,。

  在保護裝置開發(fā)中,通過使用RTOS,,可進行并行開發(fā),,縮短了開發(fā)周期;任務間彼此獨立,系統(tǒng)的可靠性得到了提高,。DSPs的使用,,提高了運算精度和速度,。總之,,保護裝置的整體性能上了一個臺階,。

  5 結束語

  計算機化,保護,、控制,、測量、數據通信一體化和人工智能化是繼電保護技術發(fā)展的趨勢,。RTOS和DSPs應用在繼電保護裝置中,,會使保護性能更加完善、可靠,,更有效地擔當起確保電網安全的重任,。



 

此內容為AET網站原創(chuàng),未經授權禁止轉載,。