數據監(jiān)測模塊的實時性分析與設計
——
實時數據監(jiān)測是保證大中型旋轉機械安全運行的重要手段。隨著工業(yè)自動化程度的日益提高,對旋轉機械的實時數據監(jiān)測的實時性、可靠性也提出了更高的要求。
筆者在S3C44B0上基于μC/OS-II進行通用實時數據監(jiān)測模塊的設計,并將其應用在旋轉機械監(jiān)視保護系統(tǒng)中,實現了很好的實時性。該監(jiān)測模塊具有對32個模擬量測點進行采集、顯示、通信與管理的功能。
1 系統(tǒng)實時性需求
該實時數據監(jiān)測模塊是基于μC/OS-II進行設計的,而保證系統(tǒng)實時性的重要策略是系統(tǒng)的中斷處理機制。下面首先對系統(tǒng)設計的中斷處理機制進行分析。
1.1 中斷處理機制分析
實時系統(tǒng)最根本的特點是實時性,而中斷處理程序是實時系統(tǒng)的重要組成部分,是RTOS實時性的重要體現。系統(tǒng)通過中斷機制了解外部世界,并對外部事件立刻作出響應。實時系統(tǒng)的反應速度取決于系統(tǒng)對于中斷的響應速度和中斷處理程序的處理速度。為了獲取對外部事件的最短反應時間,μC/OS-II系統(tǒng)中斷響應過程如圖1所示。
第①階段是中斷延遲時間,從出現中斷請求到當前任務開中斷這一過程。實時系統(tǒng)在進入臨界區(qū)代碼段之前都要關中斷,執(zhí)行完臨界代碼之后再開中斷。關中斷的時間越長,中斷延遲就越長。
第②階段是內核保存當前任務的狀態(tài),將CPU寄存器壓棧,以便為中斷服務。
第③階段調用OSIntEnter()函數或把中斷嵌套層數計數器直接加1,用OSIntExit()函數,將中斷嵌套層數計數器減1,當嵌套計數器減到零時,μC/OS-II要判定有沒有優(yōu)先級較高的任務被中斷服務子程序喚醒。如果有優(yōu)先級高的任務進入了就緒態(tài),μC/OS-II就返回到那個優(yōu)先級高的任務B。如果中斷嵌套層數計數器大于0,μC/OS-II將被返回到被中斷了的任務A。OSIntExit()函數的作用是進行中斷級的任務調度。
第④階段恢復已壓棧的寄存器值;最后執(zhí)行中斷返回指令,結束中斷。
圖1 系統(tǒng)中斷處理機制分析
根據上述中斷處理機制,中斷響應時間是影響中斷實時性的最重要指標,而中斷延遲是其主要因素,延遲時間主要由系統(tǒng)時鐘和關中斷的時間決定。由于系統(tǒng)存在對任務和多中斷的調度,所以中斷延遲是個變量,一般為4~28個處理器周期。
1.2 實時數據監(jiān)測模塊實時性需求分析
該實時數據監(jiān)測模塊最多同時對32個測點的數據進行實時監(jiān)測。下面就以32個測點數目對該系統(tǒng)的實時性進行分析,并從系統(tǒng)測量時間、功能要求兩個方面說明系統(tǒng)保證實時性的時間條件。
1.2.1 功能要求
?、?nbsp;32同步采樣,即系統(tǒng)能夠進行多通道采樣,并且系統(tǒng)的A/D轉換芯片對采樣信號可以進行高速動態(tài)采集波形的要求,通道采集頻率高達240 Hz。
?、?nbsp;A/D轉換位數,不小于16位。
③ 要求系統(tǒng)必須與計算機接口進行通信,并且接口具有足夠的傳輸速率來滿足系統(tǒng)的實時性要求。
④ 要求該系統(tǒng)具有即插即用功能,在即插即用的同時,系統(tǒng)能夠實時更新測點的數據以及狀態(tài)參數。
⑤ 該系統(tǒng)必須具有報警延時和報警保持功能。各個通道的報警延時用戶可以根據自己的需要設定,并且報警狀態(tài)可以被保持。
1.2.2 測量時間
因為每個測點就是需要采集的一個數據源,因此系統(tǒng)需要同時對32個數據源的數據進行采集。每個測點可以分為多個通道(假設都為2個通道),系統(tǒng)需要同時采集的數據有64個。這樣可以計算出系統(tǒng)測量周期t為:
t=64
評論