關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 數據監測模塊的實時性分析與設計

        數據監測模塊的實時性分析與設計

        ——
        作者:武漢理工大學 方安平 周揚 時間:2007-11-24 來源:單片機與嵌入式系統應用 收藏
            在分析實時模塊需求的基礎上,提出一個通用實時模塊系統結構,并闡述該模塊的軟件實現。該系統采用MODBUS_RTU通信協議,采集各個模塊的實時,并在LCD上以圖形方式顯示系統運行的情況。 

          實時數據監測是保證大中型旋轉機械安全運行的重要手段。隨著工業自動化程度的日益提高,對旋轉機械的實時數據監測的、可靠性也提出了更高的要求。 

          筆者在S3C44B0上基于μC/OS-II進行通用實時數據監測模塊的設計,并將其應用在旋轉機械監視保護系統中,實現了很好的。該監測模塊具有對32個模擬量測點進行采集、顯示、通信與管理的功能。 

              1 系統實時性需求 

          該實時數據監測模塊是基于μC/OS-II進行設計的,而保證系統實時性的重要策略是系統的中斷處理機制。下面首先對系統設計的中斷處理機制進行分析。 

               1.1 中斷處理機制分析 

          實時系統最根本的特點是實時性,而中斷處理程序是實時系統的重要組成部分,是RTOS實時性的重要體現。系統通過中斷機制了解外部世界,并對外部事件立刻作出響應。實時系統的反應速度取決于系統對于中斷的響應速度和中斷處理程序的處理速度。為了獲取對外部事件的最短反應時間,μC/OS-II系統中斷響應過程如圖1所示。

                第①階段是中斷延遲時間,從出現中斷請求到當前任務開中斷這一過程。實時系統在進入臨界區代碼段之前都要關中斷,執行完臨界代碼之后再開中斷。關中斷的時間越長,中斷延遲就越長。

                第②階段是內核保存當前任務的狀態,將CPU寄存器壓棧,以便為中斷服務。

                第③階段調用OSIntEnter()函數或把中斷嵌套層數計數器直接加1,用OSIntExit()函數,將中斷嵌套層數計數器減1,當嵌套計數器減到零時,μC/OS-II要判定有沒有優先級較高的任務被中斷服務子程序喚醒。如果有優先級高的任務進入了就緒態,μC/OS-II就返回到那個優先級高的任務B。如果中斷嵌套層數計數器大于0,μC/OS-II將被返回到被中斷了的任務A。OSIntExit()函數的作用是進行中斷級的任務調度。

               第④階段恢復已壓棧的寄存器值;最后執行中斷返回指令,結束中斷。 



        圖1 系統中斷處理機制分析 

               根據上述中斷處理機制,中斷響應時間是影響中斷實時性的最重要指標,而中斷延遲是其主要因素,延遲時間主要由系統時鐘和關中斷的時間決定。由于系統存在對任務和多中斷的調度,所以中斷延遲是個變量,一般為4~28個處理器周期。 

               1.2 實時數據監測模塊實時性需求分析 

          該實時數據監測模塊最多同時對32個測點的數據進行實時監測。下面就以32個測點數目對該系統的實時性進行分析,并從系統測量時間、功能要求兩個方面說明系統保證實時性的時間條件。 

               1.2.1 功能要求 

          ① 32同步采樣,即系統能夠進行多通道采樣,并且系統的A/D轉換芯片對采樣信號可以進行高速動態采集波形的要求,通道采集頻率高達240 Hz。

          ② A/D轉換位數,不小于16位。

          ③ 要求系統必須與計算機接口進行通信,并且接口具有足夠的傳輸速率來滿足系統的實時性要求。

          ④ 要求該系統具有即插即用功能,在即插即用的同時,系統能夠實時更新測點的數據以及狀態參數。

          ⑤ 該系統必須具有報警延時和報警保持功能。各個通道的報警延時用戶可以根據自己的需要設定,并且報警狀態可以被保持。 

               1.2.2 測量時間 

          因為每個測點就是需要采集的一個數據源,因此系統需要同時對32個數據源的數據進行采集。每個測點可以分為多個通道(假設都為2個通道),系統需要同時采集的數據有64個。這樣可以計算出系統測量周期t為: 

          t=64


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 济南市| 石首市| 萨迦县| 海盐县| 安国市| 广汉市| 府谷县| 阳城县| 洞口县| 师宗县| 乐亭县| 文登市| 贡觉县| 塔城市| 天津市| 镇沅| 辛集市| 沿河| 康马县| 三台县| 义乌市| 恭城| 壤塘县| 佳木斯市| 巴中市| 衡水市| 凤山市| 海门市| 苗栗县| 汝城县| 凤庆县| 讷河市| 蓬溪县| 马边| 五寨县| 阿拉善右旗| 健康| 尤溪县| 都匀市| 岑巩县| 大足县|