a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 汽車電子 > 設計應用 > 基于交流采樣的實時微內核的設計

基于交流采樣的實時微內核的設計

作者:■ 西安交通大學工業自動化系 余群兵 陳剛 魏巍 潘超軍 時間:2005-04-27 來源:eaw 收藏

摘    要:本文從的等間隔要求出發,提出了基于的實時的設計方法,詳細介紹了實時設計中保證等間隔采樣的具體措施,并給出了該內核的具體應用實例。
關鍵詞:

引言
在微機型電力設備中,系統一般通過交流采樣獲取信號,然后采用傅氏濾波或快速傅立葉變換(FFT)等有等間隔采樣要求的濾波算法提取信號特征量。在采樣率為幾十Ksps及以下時,定時觸發A/D實現等間隔采樣可通過簡單硬件電路或微控制器內部定時器來實現。在傳統的前后臺軟件設計方法中,一般是在定時器周期性中斷服務程序中執行交流采樣任務,其它功能絕大部分在后臺的無限循環內完成。隨著微控制器集成度的增加和應用要求的復雜化,前后臺系統在大量的片內外設的使用和管理、任務實時性保證、程序可靠性和可移植性等方面顯得力不從心。RTOS可以有效的解決上述諸多問題,它體現了一種新的程序設計思想和開放的框架,降低了程序的復雜度。
目前許多廠商提供的RTOS對中小應用系統成本影響較大,單片機、及有限的硬件資源也難于支撐整個系統的正常運行,且保證精確、頻繁的等間隔交流采樣也較困難。基于以上考慮,為了在保證等間隔采樣的同時確保系統中計算、測頻、保護、控制輸出、數據存儲、通訊、按鍵、液晶顯示、實時時鐘等諸多任務的實時性和降低軟件設計的難度,本文提出了以采樣間隔為內核粒度的微內核軟件設計方法,并在TMS320LF2407A上實現了內核的代碼級設計,代碼約1K字,關鍵部分用匯編語言實現。

基本硬件配置
實時微內核采用了RTOS的任務調度方法,把CPU時間分成若干時間片,并根據某種調度算法把時間片分配給各個任務。微機型電力設備大都具備繁重的測量和運算任務,且響應時間非常重要,是典型的實時工業控制系統,因此采用搶先式微內核結構。
在搶先式內核的多任務處理中,用中斷來實現任務環境(context)切換是一種較理想的機制。圖1所示的是一個基于搶先式多任務內核的基本硬件配置。
定時器周期性地產生中斷,強制CPU把控制權交給內核,周期中斷服務程序調用任務調度函數,并切換至處在就緒態的最高優先級任務。定時器周期性中斷產生時鐘節拍(Clock Tick) 或內核粒度,時鐘節拍是任務定時、任務延時和任務超時判斷的時鐘源,也是多任務調度實現和系統正常運行的基礎。
為了嚴格滿足交流采樣等間隔的要求,可利用片內外設的特點對基本硬件配置做圖2所示的改進。詳細過程為:定時器GP Timer1周期性連續增計數,周期性的觸發片內A/D轉換,并在轉換結束產生中斷。由于A/D轉換結束中斷對等間隔要求不高,而等間隔采樣通過上述方式已嚴格保證,因此滿足微機型電力設備測量和運算的基本要求。

內核設計與實現
每個任務都是一個無限循環,它們具有各自獨立的堆棧空間和不同的靜態優先級。在實時微內核根據任務的狀態進行任務調度時,任務狀態也相應改變。因此,可用OSTSW和OSTID兩個unsigned int變量來標識任務狀態,并采用位影像法表示,每一位對應一個任務的狀態:掛起、就緒或運行。任務狀態字OSTSW可理解為任務就緒表,標識任務的就緒與否,其中高位表示高優先級任務,運行任務號OSTID則標識當前運行的任務。為了提高系統運行的穩定性和可移植性,任務堆棧及任務狀態字等內核相關的數據區都放在DSP內部RAM中。考慮到DSP片內的RAM容量和實際應用要求,系統最多可容納8個任務。
任務調度
內核進行任務調度時總是把CPU時間分配給就緒態任務中優先級最高的任務,調度過程如下:先將被掛起任務的微處理器寄存器壓棧,然后找出處在就緒態的最高優先級任務,并對任務狀態作相應改變,最后把它的寄存器值從棧中恢復到寄存器中并返回,實現任務的切換。任務調度分中斷級調度和任務級調度兩種,前者在周期性中斷結束時調用,后者則在每個任務執行完成時調用。事實上,在中斷級任務調度中,任務調度所做的僅僅是改變了恢復時的堆棧指針,而任務級調度則人為模仿了一次中斷,因此兩者調度部分基本相同,代碼也是共用的。
由于等間隔采樣是系統通過中斷方式實現的,因此中斷級任務調度僅增加了找出就緒態中最高優先級任務的執行代碼。下面給出內核關鍵部分即任務調度的匯編實現。
OSCtxSw: CALL I$$SAVE,*
;任務環境保存
OSCtxSw_0: LDP #0
  CLRC SXM
  LACC _OSTSW,15
;找出優先級最高的就緒態任務
  MAR  *,AR2 
  LAR AR2,#0
  RPT #7
  NORM *+  ;用NORM指令逐位查找
  LAR AR0,_OSTID
  CMPR  0
  BCND NSwR,TC  
  SAR  AR2,_OSTID
;設置優先級最高的就緒態
;任務的任務號為當前任務號
  LAR  AR2,
#_OSStkPtr
  MAR *0+
  SAR  AR1,*  ;保存被切換任務的棧頂指針
  MAR *0-
  LAR  AR0,_OSTID
  MAR    *0+
  LAR    AR1,*  ;裝載待運行任務的棧頂指針
NSwR: B I$$REST,*,AR1 ;任務環境恢復
任務定時和延時
當任務延時精確度要求較高或延時要求比較固定時,可采用任務定時的方法,由內核為任務直接提供延時服務;而當任務延時要求低或者延時要求比較靈活時,可由任務提出延時申請,再由內核處理延時操作。區分任務定時和延時將進一步提高內核的效率和實時性。
任務通訊
有多種方法可以保護任務之間共享數據和提供任務之間的通訊,但根據實際需要,僅設若干標志位作為任務信號,實現任務間的同步與互斥、標志事件發生與否等等。為了簡化設計,讓系統易于把握,盡量將關系密切的任務合并,從而盡可能減少任務間的通訊。

交流采樣與內核粒度
由于微機型電力設備中交流采樣是設備功能實現的基礎,因此實時微內核的設計要以確保等間隔采樣為前提。通過圖2所示的方法,采樣等間隔得到有效保證。其中,A/D轉換結束中斷取代定時器周期性中斷,提供給實時微內核作為周期性中斷實現時鐘節拍。當某次時鐘節拍被延遲,并不會影響到下一個時鐘節拍的到來,因而整體上仍滿足系統要求。周期性A/D轉換結束中斷處理程序內,系統要完成A/D轉換結果處理以及多任務調度等系統調用。
在這里,內核粒度與交流采樣的時間間隔對應,而周波(工頻周期為20ms)采樣點數一般為幾十至幾百個點,故內核粒度為幾十ms至幾百ms不等。但內核粒度越小,加在系統上的開銷就越大,對存儲空間也有更高的要求。mC/OS-II 內核粒度要求在10ms~200ms之間。但在某些要求較高的場合,大多數任務需要在周波內精確控制,且延時精度要求到ms級甚至更高,mC/OS-II難以滿足要求。而使用采樣間隔作為內核粒度,并對內核進行簡化設計,可滿足大多數交流采樣系統的應用要求。

微內核的設計實例
圖3為中壓微機型繼電保護裝置的結構框圖。為了突出微內核結構使編程模塊化、簡單化的優點,作為系統基礎部分的交流采樣在實例中不再列出,僅以總線式按鍵和液晶實現人機交互的一個簡單例子來說明。
液晶屏上一般都要求顯示實時時鐘,為了秒位走時均勻,需要每隔1s重新繪制屏幕。當有按鍵操作時,則要求立即更新屏幕,否則產生延遲,反應顯得遲緩,影響交互效果。系統每隔20ms檢測是否有鍵按下,檢測到按鍵時讓按鍵響應任務就緒。按鍵響應任務處理完按鍵事件后,向內核提出恢復顯示任務請求,然后掛起。當沒有更高優先級就緒態任務時,執行顯示任務。在沒有按鍵的情況下,顯示任務執行完當前操作后向內核提出延時服務申請,1s延時結束后任務重新運行,自動刷新屏幕。實現的示意性代碼如下:
void Task_Display(void)
file://顯示任務,6號任務
{ while (1)   
 { if(EnableShow)
ShowWindow(); file://顯示單窗口
  OSTimeDly(1600);     file://延時1s
 }
}
void Task_KeyEvent(void)    file://按鍵響應任務,5號任務
{ while(1)
 { KeyHandle();        file://按鍵處理
  OSTimeDly
Resume(6); file://顯示更新,撤銷顯示任務的延時
  OSTaskSuspend(5);    file://鍵盤響應任務掛起
 }
}
void OSTime20msHook(void)    file://20ms定時的Hook
{   if(KeyPressed&&EnableHandle)  file://如果有鍵按下并允許處理
 OSTSW|=OSTSM5;    file://讓按鍵響應任務就緒
}

結語
本文提出了基于交流采樣的實時微內核的設計方法,并在基于DSP的中壓繼電保護、絕緣在線檢測等多個系統中得到實際應用。內核設計充分考慮了微機型電力設備信號測量和實時性要求以及資源有限的特點,吸收了諸多商用RTOS的優點,因而能夠滿足大部分交流采樣系統的要求。同時,DSP在電力設備中的廣泛使用使得上述設計方法具有一定的通用性,可以作為基于DSP的微機型電力設備的嵌入式軟件開發平臺。■

參考文獻
1孫玉芳.嵌入式計算設計原理.北京:機械工業出版社,2002.2
2袁勤勇.嵌入式系統構件.北京:機械工業出版社,2002.2
3 朱一凡.面向關鍵任務實時嵌入式操作系統設計技術研究.儀器儀表標準化與計量, 2002.6



評論


相關推薦

技術專區

關閉