本發(fā)明專利技術提供了一種動態(tài)重載定時長度的軟件定時方法,包括步驟:a:創(chuàng)建一個硬件定時器,同時設定最小基準時基,并對硬件定時器初始化;b:獲得一個硬件定時器的對象成功后,初始化服務層的軟定時器模塊;c:創(chuàng)建一個軟定時器,設置定時時間,啟動軟定時器;d:根據(jù)定時時間,進行相應的線程處理,在對應軟件定時器的任務里,對接收到的消息進行判斷,如果是定時器消息,就處理軟定時器的消息。本發(fā)明專利技術軟件定時方法及軟件定時器,由硬件定時器為基礎,利用硬件定時器的定時中斷來實現(xiàn)。其定時時間長,使用靈活方便,在復雜系統(tǒng)或定時器工作方式復雜的應用場合,解決硬件資源不足的問題,大大簡化軟件復雜性,加快設計進程。
【技術實現(xiàn)步驟摘要】
本專利技術涉及嵌入式系統(tǒng)領域,尤其涉及。
技術介紹
在高速數(shù)據(jù)采集及工業(yè)控制系統(tǒng)中,為滿足可靠性和實時性的要求,作為時間基準的高精度定時一直都是非常關鍵的問題。Nucleus PLUS是為實時嵌入系統(tǒng)設計的可擴展的多任務的,是一種基于優(yōu)先級的搶占式操作系統(tǒng),實時性很強,方便移植。使其在諸多領域都有較好的應用。在嵌入式系統(tǒng)的設計中,時間特性在很多應用中都是一個很重要的參數(shù),很多控制邏輯和協(xié)議的實現(xiàn),需要用到計時、超時和統(tǒng)計功能,時間長短的計時及精度、周期定時和超時的設定成為某些控制邏輯和協(xié)議的關鍵條件。任務的延時功能及軟件定時器功能,都需要底層有一個硬件的計數(shù)器支持。 當前,嵌入式系統(tǒng)的軟件代碼日趨復雜。然而,由于存儲器、定時器等硬件資源仍然相對有限。如何在不影響系統(tǒng)整體性能的情況下,為嵌入式系統(tǒng)提供優(yōu)異的定時性能,使系統(tǒng)能夠高效運行,已是一個值得關注的問題。
技術實現(xiàn)思路
本專利技術的目的在于提供,其具有資源多,定時時間長,使用靈活方便等優(yōu)點。本專利技術的另一目的在于提供,以解決硬件資源不足的問題,大大簡化軟件復雜性,加快設計進程。本專利技術的目的是通過以下技術方案實現(xiàn)的。,包括步驟 a :創(chuàng)建一個硬件定時器,同時設定最小基準時基,并對硬件定時器初始化; b :獲得一個硬件定時器的對象成功后,初始化服務層的軟定時器模塊; c :創(chuàng)建一個軟定時器,設置定時時間,啟動軟定時器; d:根據(jù)定時時間,進行相應的線程處理,在對應軟件定時器的任務里,對接收到的消息進行判斷,如果是定時器消息,就處理軟定時器的消息。優(yōu)選的,步驟b具體包括注冊軟定時器的事件監(jiān)聽,設置基準時基,為服務層軟定時器創(chuàng)建信號量、互斥所和創(chuàng)建處理軟定時器消息的任務。優(yōu)選的,步驟C具體包括 Cl :判斷是否是硬件定時到,如果定時沒到,就繼續(xù)計時等待;如果是,進入步驟c2;c2 :判斷軟件定時器的鏈表是否為空,如果為空,就回到硬件定時到的判斷;如果不為空,則進入步驟c3; c3 :從鏈表里取出一個指定ID的軟件定時器,軟件定時器的計數(shù)值減一; c4:判斷當前計數(shù)值是否為零,如果不為零,則回到硬件定時到的判斷;如果為零,則進入步驟c5; c5 發(fā)送一個軟定時器的消息處理對應軟件定時器的任務。優(yōu)選的,步驟d中,對接收到的消息進行判斷,如果不是定時器消息,則相應處理其他的消息。本專利技術與現(xiàn)有技術相比,有益效果在于本專利技術提供的動態(tài)重載定時長度的軟件定時方法及軟件定時器,由硬件定時器為基礎,利用硬件定時器的定時中斷來實現(xiàn)。軟件定時器需要占用CPU資源,但它資源多,定時時間長,使用靈活方便,在復雜系統(tǒng)或定時器工作方式復雜的應用場合,解決硬件資源不足的問題,大大簡化軟件復雜性,加快設計進程。附圖說明圖I為本專利技術軟件定時器結構框圖。圖2為本專利技術動態(tài)重載定時長度的軟件定時方法流程圖。圖3為軟件定時器根據(jù)定時時間處理流圖。具體實施例方式本專利技術核心思想本專利技術在軟件定時器中加入優(yōu)先級,提供一種事件通知-監(jiān)聽的機制,為操作系統(tǒng)的中斷管理模塊使用。在中斷產生后,中斷管理模塊會回調用戶的函數(shù),用戶判斷是否需要通過中斷管理的任務去分發(fā),如果不需要則由用戶處理,否則它會觸發(fā)中斷管理模塊分發(fā)任務,該任務會把該中斷號相應的事件通知出去。中斷管理模塊會根據(jù)不同的需要去調度中斷產生時是直接回調用戶的處理函數(shù)還是放到任務中處理。而對定時器到時判斷與處理,創(chuàng)建了一個優(yōu)先級比較高的定時器管理任務,在這個任務中進行定時器的到時判斷和處理。事件監(jiān)聽函數(shù)通過信號釋放信號量給這個高優(yōu)先級的任務,使其獲得信號量。這種方法縮短了中斷服務程序的執(zhí)行時間,從而提高系統(tǒng)的實時性。為了使本專利技術的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對 本專利技術進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本專利技術,并不用于限定本專利技術。軟件定時器是一組定時器實體的集合,是一種針對不同定時服務進行統(tǒng)一管理的多任務鏈表類型數(shù)據(jù)結構。軟件定時器可使系統(tǒng)在某一確定時刻執(zhí)行指定操作。它以可編程定時/計數(shù)器或單穩(wěn)延時電路為基礎,利用硬件定時器產生的定時中斷來實現(xiàn)。請參閱圖I所示,本專利技術軟件定時器包括 I、軟件定時器的創(chuàng)建創(chuàng)建一個軟件定時器,同時獲得一個軟件定時器的ID號,ID號在0-128之內,不能超過,否則視為創(chuàng)建不成功。有單次使用或循環(huán)使用兩種方式。2、設置軟定時器的基準時基即最小定時單位。可以根據(jù)系統(tǒng)對定時的要求設定。同樣時間長度的定時,不同的時基有不同的定時精度。3、啟動軟定時器創(chuàng)建了一個定時器后獲得相應的ID號開始計時工作。不同的應用場合有不同的啟動條件脈沖、電平、事件、中斷等。4、停止軟定時器停止軟件定時器的計時,即復位。5、軟件定時器的預置值給軟定時器設定計時初始值。啟動軟定時器后,在此基礎上開始計時。6、獲得軟定時器當前值獲得軟定時器在計時過程中當前時刻的計數(shù)值??梢杂脕頊y試定時時間等。軟件定時器的實現(xiàn)主要是由硬件定時器產生的定時中斷,硬件定時器提供兩種中斷處理方式,一種是在直接模式下則直接回調函數(shù),另外一種是非直接模式則需要調用中斷管理類的成員函數(shù)添加事件函數(shù) ,就進入事件-監(jiān)聽機制實現(xiàn)中斷機制。而在這里軟件定時器實現(xiàn)的方式主要是事件-監(jiān)聽機制。它通過在事件中斷處理函數(shù)里釋放信號量,在線程里獲得信號量來處理各種事件。軟件定時器在創(chuàng)建之前,先通過硬件定時器設置一個時基值即(最小Tick),然后生成一個軟件定時器,設置指定軟件定時器計時時間,啟動定時器,如果定時時間到了,就進入相應的線程里去處理,首先通過判斷是否是定時器的消息,如果是定時器的消息就去處理定時器的消息函數(shù),如果不是,就做其他的處理。請參閱圖2所示,本專利技術動態(tài)重載定時長度的軟件定時方法,包括 步驟201 :創(chuàng)建一個硬件定時器,同時設定最小基準時基。啟動硬件定時器,同時對給定的硬定時器基類對象進行定時器封裝初始化。步驟202 :獲得一個硬件定時器的對象成功后,初始化服務層的軟定時器模塊。包括注冊軟定時器的事件監(jiān)聽,設置基準時基,為服務層軟定時器創(chuàng)建信號量、互斥所和創(chuàng)建處理軟定時器消息的任務等等。步驟203 :創(chuàng)建一個軟定時器,設置定時時間,啟動軟定時器。步驟204 :根據(jù)定時時間,進行相應的線程處理。如圖3所示,具體線程處理包括 步驟301 :判斷是否是硬件定時到,如果定時沒到,就繼續(xù)計時等待;如果是,進入步驟302。步驟302 :判斷軟件定時器的鏈表是否為空,如果為空,就回到硬件定時到的判斷;如果不為空,則進入步驟303。步驟303 :從鏈表里取出一個指定ID的軟件定時器,軟件定時器的計數(shù)值減一。步驟304 :判斷當前計數(shù)值是否為零,如果不為零,則回到硬件定時到的判斷;如果為零,則進入步驟305。步驟305 :發(fā)送一個軟定時器的消息處理對應軟件定時器的任務。步驟205 :在對應軟件定時器的任務里,對接收到的消息進行判斷,如果是定時器消息,就處理軟定時器的消息;如果不是,就相應處理其他的消息。本專利技術中,硬件定時器(0MAP-L137)為具有ARM926EJ-S和C674x浮點DSP內核的處理器,各核主頻可達到300MHz時鐘,該硬件定時器的定時器/計數(shù)器模塊含有兩個功能完全相同的64位定時器/計數(shù)器通道。該定時器有四種定時本文檔來自技高網...
【技術保護點】
一種動態(tài)重載定時長度的軟件定時方法,其特征在于,包括步驟:a:創(chuàng)建一個硬件定時器,同時設定最小基準時基,并對硬件定時器初始化;b:獲得一個硬件定時器的對象成功后,初始化服務層的軟定時器模塊;c:創(chuàng)建一個軟定時器,設置定時時間,啟動軟定時器;d:根據(jù)定時時間,進行相應的線程處理,在對應軟件定時器的任務里,對接收到的消息進行判斷,如果是定時器消息,就處理軟定時器的消息。
【技術特征摘要】
【專利技術屬性】
技術研發(fā)人員:溫權,陳新,
申請(專利權)人:科立訊通信股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。