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