亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于嵌入式系統(tǒng)的定時器裝置及定時方法

文檔序號:9929389閱讀:606來源:國知局
基于嵌入式系統(tǒng)的定時器裝置及定時方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于嵌入式系統(tǒng)的定時器裝置及定時方法,具體闡述了嵌入式系 統(tǒng)控制器的定時器裝置的設(shè)計方法及應(yīng)用層定時器算法。
【背景技術(shù)】
[0002] 隨著工業(yè)自動控制技術(shù)的規(guī)?;l(fā)展,控制過程中多任務(wù)、多層次的復(fù)雜控制要 求向各工業(yè)控制系統(tǒng)提出了新的挑戰(zhàn)。要使系統(tǒng)穩(wěn)定、可靠地運行,控制內(nèi)容常常要求控制 系統(tǒng)延時或定時向外設(shè)發(fā)出各種不同的控制信號,以滿足不同時序、不同功能的控制要求。 因此,需要控制系統(tǒng)具有多個相互獨立而又標(biāo)準(zhǔn)相同的定時器來實現(xiàn)控制功能。
[0003] 嵌入式系統(tǒng)集成了輸入輸出口、RS232和485通信串口,是一款功能豐富的一體控 制器(以下簡稱控制器)。其硬件系統(tǒng)結(jié)構(gòu)精簡、內(nèi)核小、成本低、靈活方便且實時性高,已逐 漸發(fā)展成為嵌入式系統(tǒng)開發(fā)研究中的主流部件。然后,控制器有可供用戶使用的相互獨立 的定時器,例如timerO~4,除此之外,若控制系統(tǒng)還要求實現(xiàn)其他更多的延時、定時功能, 則多是通過使用for函數(shù)進(jìn)行一定次數(shù)的空循環(huán)來達(dá)到延時、定時效果,這種方式不但定時 時間難以精確判定,而且在延時時間未結(jié)束時,CPU始終停留在延時功能程序段內(nèi),不會掃 描其他程序段內(nèi)容,可見,這種定時方式不僅占用了大量系統(tǒng)內(nèi)存,還拖慢了 CPU處理事件 的時間進(jìn)程。然而,由于硬件資源的限制,不可能為每一個定時應(yīng)用單獨配置一個硬件定時 器。這種有限的定時器個數(shù)和日益復(fù)雜的自動控制要求之間的矛盾,無疑成了控制器在嵌 入式開發(fā)領(lǐng)域中發(fā)展的泮腳石。為了解決這個問題,本文提出一種基于嵌入式系統(tǒng)的定時 器的設(shè)計方法,基于ADS編譯器在單個硬件定時器的基礎(chǔ)上創(chuàng)建多個定時器,以實現(xiàn)在硬件 資源有限的情況下滿足多點同時定時的控制要求。

【發(fā)明內(nèi)容】

[0004] 本發(fā)明涉及一種基于嵌入式系統(tǒng)的軟件定時器設(shè)計,針對工業(yè)控制過程中經(jīng)常需 要在不同之處同時使用定時功能,而嵌入式系統(tǒng)中有的相互獨立的定時器,例如timerO~ 4,提出一種基于嵌入式系統(tǒng)的軟件定時器的設(shè)計方法。
[0005] 本發(fā)明公開了一種基于嵌入式系統(tǒng)的定時器設(shè)計方法,包括定時啟動、運行、停止 三個階段,分別對應(yīng)軟件定時系統(tǒng)的請求定時模塊、數(shù)據(jù)處理模塊和定時器休眠模塊。三個 階段分別由不同的API函數(shù)完成。
[0006] -種基于嵌入式系統(tǒng)的定時器裝置,包括:定時器、請求定時模塊、時間數(shù)據(jù)處理 模塊和定時器休眠模塊,其中:
[0007] 請求定時模塊用于接收控制系統(tǒng)的定時請求,根據(jù)該請求創(chuàng)建定時請求信號,并 向時間數(shù)據(jù)處理模塊發(fā)送定時請求信號;
[0008] 時間數(shù)據(jù)處理模塊,用于接收請求定時模塊發(fā)來的定時請求信號,讀取定時器的 當(dāng)前定時參數(shù),然后根據(jù)時間差值算法對定時器的定時時長進(jìn)行實時檢測判斷,當(dāng)定時時 長達(dá)到預(yù)定定時時長時,創(chuàng)建定時結(jié)束信號,并將其傳遞給控制系統(tǒng)和定時器休眠模塊;
[0009] 定時器休眠模塊用于接收時間數(shù)據(jù)處理模塊發(fā)來的定時結(jié)束信號,根據(jù)該信號清 除相應(yīng)的定時請求信號,為下一次定時請求做初始化準(zhǔn)備。
[0010] 所述的定時器裝置,優(yōu)選的:
[0011] 所述定時器包括遞減計數(shù)器和定時計數(shù)緩沖寄存器,
[0012] 時間數(shù)據(jù)處理模塊包括定時中斷次數(shù)計數(shù)器、計數(shù)結(jié)束標(biāo)志位、中斷溢出位、中斷 溢出計數(shù)器;
[0013]所述定時請求信號包括:①定時器編號T_num,②預(yù)定定時時*C_time,③定時初 始參數(shù)P_init;
[0014] 所述時間數(shù)據(jù)處理模塊對定時器的定時時間進(jìn)行實時檢測包括,實時讀取當(dāng)前定 時參數(shù)P_curt,然后根據(jù)時間差值算法對定時時長進(jìn)行實時檢測判斷:時間差值=當(dāng)前定 時參數(shù)-初始定時參數(shù),當(dāng)時間差值大于等于請求的定時時長,即A =P_curt-P_init 2 C_ time時,定義"計數(shù)結(jié)束"標(biāo)志變量?_〖即為T,并輸出給控制系統(tǒng);
[0015] 所述中斷溢出位?_#在定時中斷次數(shù)計數(shù)器的計數(shù)值未發(fā)生溢出時為0,發(fā)生溢 出時置為1。
[0016] 所述的定時器裝置,優(yōu)選的:
[0017]所述定時初始參數(shù)P_init和當(dāng)前定時參數(shù)?_〇111~1:都是結(jié)構(gòu)體變量,P_init包括定 時器遞減計數(shù)器的初始計數(shù)值P_〇,定時中斷次數(shù)計數(shù)器的初始計數(shù)值P_C0以及中斷溢出 計數(shù)器的初始計數(shù)值P_0C0; P_curt包括定時器遞減計數(shù)器的當(dāng)前計數(shù)值?_1:,定時中斷次 數(shù)計數(shù)器的當(dāng)前計數(shù)值?_(^以及中斷溢出計數(shù)器的當(dāng)前計數(shù)值P_0Ct。
[0018] 所述的定時器裝置,優(yōu)選的:請求信號發(fā)出后,請求定時模塊將計數(shù)結(jié)束標(biāo)志位中 的標(biāo)志變量F_tup設(shè)為"0",每接收一個脈沖遞減計數(shù)器的值P_t減1,每當(dāng)P_t減為0時,定時 器向時間數(shù)據(jù)處理模塊發(fā)送信號,根據(jù)該信號,定時中斷次數(shù)計數(shù)器的計數(shù)值P_Ct的值加 1,定時計數(shù)緩沖寄存器中的值自動重載到遞減計數(shù)器中;iP_Ct的值達(dá)到其上限值P_Climit 時,中斷溢出計數(shù)器的計數(shù)值P_〇Ct加1,時間數(shù)據(jù)處理模塊將中斷溢出位置1,同時將P_ct 清零。
[0019] 所述的定時器裝置,優(yōu)選的:所述時間數(shù)據(jù)處理模塊按如下方式對定時器的定時 時長進(jìn)行計算:
[0020] l)iF_of = 0時,表示定時器中斷次數(shù)累計沒有發(fā)生溢出,當(dāng)前定時時長按如下公 式計算:
(1) (2)
[0023] 2)iF_of=l時,表示定時器中斷次數(shù)累計有溢出現(xiàn)象發(fā)生,當(dāng)前時間長度計算公 式如下式: (3)
[0025] 其中:
(奪)
[0026] 式(1)、(2)、(3)和(4)中:
[0027] Tbase表示定時器的時間計數(shù)time base,即定時計數(shù)緩沖寄存器中用于自動重載 到遞減計數(shù)器中的值;設(shè)控制系統(tǒng)定時器中斷頻率為Tirpt,則Tbase按式(5)計算:
(5)
[0029] P_Climit表示定時參數(shù)P_C不發(fā)生溢出的最大極限值;
[0030] 此外,用T0表示初始定時參數(shù)、Tt表示當(dāng)前定時參數(shù)、上角標(biāo)表示結(jié)構(gòu)體成員編 號、下腳標(biāo)表示數(shù)組成員編號。
[0031] 根據(jù)計算式(1)和(3)計算出An值后,做下式判斷:
[0032] A n > C_time (6)。
[0033 ] -種基于嵌入式系統(tǒng)的定時器方法,包括如下步驟:
[0034] 接收控制系統(tǒng)的定時請求,根據(jù)該請求創(chuàng)建定時請求信號,并發(fā)送定時請求信號;
[0035] 接收定時請求信號,讀取定時器的當(dāng)前定時參數(shù),然后根據(jù)時間差值算法對定時 器的定時時長進(jìn)行實時檢測判斷,當(dāng)定時時間達(dá)到預(yù)定定時時長時,倉ll建定時結(jié)束信號,并 將其傳遞給控制系統(tǒng);
[0036]接收定時結(jié)束信號,根據(jù)該信號清除相應(yīng)的定時請求信號,為下一次定時請求做 初始化準(zhǔn)備。
[0037]所述的定時器裝置,優(yōu)選的:
[0038] 所述定時器包括遞減計數(shù)器和定時計數(shù)緩沖寄存器,
[0039]所述定時請求信號包括:①定時器編號T_num,②預(yù)定定時時*C_time,③定時初 始參數(shù)P_init;
[0040] 對定時器的定時時長進(jìn)行實時檢測包括,實時讀取當(dāng)前定時參數(shù)P_curt,然后根 據(jù)時間差值算法對定時時長進(jìn)行實時檢測判斷:時間差值=當(dāng)前定時參數(shù)-初始定時參數(shù), 當(dāng)時間差值大于等于預(yù)定的定時時長,即A =P_cu
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1