国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

微控制器程序設計實時性與效率分析

2013-05-14 03:40
韶關學院學報 2013年2期
關鍵詞:實時控制功能模塊表達式

謝 杰

(韶關學院 物理與機電工程學院,廣東 韶關512005)

本文主要是定量分析在制作一個微控制器實時處理系統(tǒng)程序時,程序結(jié)構(gòu)形式和程序長短分配與控制實時性的關系,從實時控制的時間角度,相對處理器而言,定義了程序的時間效率,從實時效率角度揭示和度量了程序的時間可擴展性.

1 實時程序的幾個時間定義

在實時控制系統(tǒng)中,程序的目的就是實時控制對象,這個實時控制時間設為,由控制對象決定,實時程序的執(zhí)行時間與程序的實時控制時間是相等的,程序的執(zhí)行過程就是控制過程,因此程序的執(zhí)行時間也為T.

程序由指令構(gòu)成,程序的執(zhí)行時間取決于程序的指令速度與程序的長度,有些處理器指令速度是一樣的,如ARM系列等,有些處理器指令速度是不一樣的,如51系列[1],AVR系列[2].定義概念,程序的平均指令周期TZ,程序的運行長度為n,n包含程序中循環(huán)過程,子程序過程,中斷過程,根據(jù)上面分析可得表達式(1).

程序的執(zhí)行時間等于程序的指令長度乘以平均指令周期.在表達式1中可以發(fā)現(xiàn)程序?qū)懙迷蕉?,實時控制時間越短.從另一個角度來說,實時控制時間存在最小值.由于實時控制時間是固定的,那么實時控制程序的執(zhí)行時間T也是固定的,微處理器的指令平均周期TZ也是固定的,由表達式(1)可知,實時控制程序的指令長度n也是固定的.

程序可分為兩類作用的指令,一類指令用來實現(xiàn)控制邏輯的指令,這一類指令程序段的運行時間設為TL,另一類指令用來保證實時控制時間而加入的延時指令,這類指令構(gòu)成的程序段的運行時間設為TL,這樣程序的執(zhí)行時間可表示為表達式(2).

從表達式(2)中,程序的控制邏輯過程越短,需要延時的時間就越長,也就是說微處理器的剩余時間越多,反過來,程序的控制邏輯過程時間TL必須小于實時控制時間T,既要滿足表達式(3),否則控制超時,程序就失去了控制意義.

根據(jù)表達式(1)可得:

表達式(4)表明實時控制時間固定的程序,那么程序的的運行長度也是固定的.

表達(1)代入表達式(2)可得表達式(5).

表達式(5)中,TLZ為算術(shù)邏輯運算及控制指令平均周期,TYZ為延時指令平均周期.有些微處理器的指令周期是相等的,指令周期不相同的微處理器的大多數(shù)指令是單周期或者雙周期指令,在程序比較長的時候,根據(jù)概率可以認為指令周期是相等的[6],表達事(5)可變成表達式(6).

表達式(6)表明延時程序長度nY與控制邏輯程序nL之和是固定的,控制邏輯程序越短,延時程序就越長.同樣,控制邏輯程序長度不能大于實時程序的固定長度,表達式(7),否則就失去了控制意義.

在編寫實時控制程序之前,上面七個表達式可以對程序的長度和時間起到估算作用.

2 實時控制程序效率與時間擴展性分析

在實時程序設計過程中,邏輯控制指令程序時間TL代表微處理器對控制對象的處理時間,延時指令程序時間TY表示微處理器的空閑時間,這樣就可以定義微處理器在時間上的控制效率ηT,表達式如下.

表達式(8)表明了效率越高,微處理器的空閑時間就越多,控制對象占有微處理器的時間資源就越少,同時,邏輯控制時間越短,程序的效率就越高.根據(jù)表達式(6),表達式(8)可變成表達式(9).

表達式(9)表明了程序的時間效率等于延時程序長度除以實時控制程序的固定長度,邏輯控制程序段越短程序的效率就越高.定義實時控制程序的空閑時間與處理時間的比值K為擴展度,可得表達式(10)如下.

表達式(10)表明了微處理器在時間上還可以再控制K個同等的對象,給出了微處理器的具體時間擴展程度,也衡量的設計者的程序設計能力,可擴展度數(shù)值越大,表明設計者程序編寫能力越強.

3 微處理器的程序方式與有關定義

微處理機提供的程序運行方式都可以歸結(jié)見圖1,圖中的箭頭表示程序流程,當程序初始化后進入主程序,主程序是一個循環(huán)程序,在主程序中可能產(chǎn)生的斷點是子程序、各種中斷程序,子程序產(chǎn)生的斷點是預先可知的,中斷程序產(chǎn)生的斷點是隨機的,不同的微處理器中斷個數(shù)是不一樣的,所有實時系統(tǒng)運行方式都是一樣的,包括帶實時操作系統(tǒng)的控制系統(tǒng)[3].

可以認為凡是要重復運行的程序稱為循環(huán)程序,那么微處理器提供的程序運行方式都是是循環(huán)程序,主程序和定時中斷程序都可以看作是循環(huán)程序,外中斷程序可以看作是周期比較長的循環(huán)程序,因為他是隨機的程序,它的循環(huán)周期是可變的,一次性運行的程序,可以看作是循環(huán)一次的循環(huán)程序.原則上微處理器運行的程序都可以歸結(jié)為循環(huán)程序.

絕大多數(shù)微處理器是單線程工作,各種程序不可能同時運行,因此每個功能程序運行有先有后[4-5].

圖1 微處理器程序結(jié)構(gòu)圖

一個實時控制系統(tǒng)常常包含著多個功能模塊,不同的程序方式一般對應著不同的功能模塊,每個功能模塊都有自己固定的實時控制時間.每個功能模塊程序的運行時間就是它們循環(huán)的時間,用T功能模塊表示,由于程序的運行過程代表著控制過程,那么功能模塊的實時控制時間也是T功能模塊,事實上,由表達式(1)可知,時間與功能模塊程序的長度有關,用n功能模塊表示功能模塊程序長度,整個系統(tǒng)的綜合實時性反應時間用T表示.

4 微處理器實時程序分析

在實時控制系統(tǒng)中,一般由多個功能模塊組成,建立一個多模塊控制系統(tǒng)模型,根據(jù)圖1,可是功能模塊主程序為A,其它中斷模塊依次為B、C、D、E、F,也就是說,實時控制系統(tǒng)程序由這幾部分組成,當然根據(jù)實際要求和微處理器程序結(jié)構(gòu)模塊可多可少,可以擴展到n個功能模塊,本文只選擇了6個.

功能模塊程序中也可分為兩類指令,一類是完成功能控制指令,另一類是為了滿足時序的延時指令.設這兩類指令時間分別用 T功能模塊L、T功能模塊Y表示.

根據(jù)圖1提供的程序結(jié)構(gòu)模型,如前所述,程序功能模塊依次為A、B、C、D、E、F.不同模塊控制的對象實時性要求不一樣,因此不同模塊有不同模塊的實時時間.用N表示模塊A、B、C、D、E、F,根據(jù)(6)表達式可得:

每個模塊都有不同的實時控制時間,但是整個程序是由每個功能模塊組成的一個整體,因此程序的效率要從整體上來分析.

每個功能模塊程序可分為邏輯運算控制和延時等待兩部分時間,單片機是單線程工作的,有可能在A模塊的等待時間里面運行B模塊的邏輯運算控制工作,同樣的道理,在B模塊延時等待的時間里,運行C模塊的邏輯運算控制指令,也就是說,A模塊運行時間包含B模塊運行時間,B模塊運行時間包含C模塊運行時間,得出結(jié)論,程序運行的方式是包含,實時控制時間最長的功能模塊程序運行,包含了其它所有功能模塊程序的運行,因此整個程序的的執(zhí)行時間T不等于各功能模塊運行時間之和,即:

由于包含關系,整個程序的運行時間應該是功能模塊中運行時間最長的,也就是實時控制周期最長的那一個模塊的時間,這個模塊也是整個系統(tǒng)的程序的運行時間,即可列如下表達式:

由于系統(tǒng)中程序運行的包含性,系統(tǒng)模塊的運行時間包含了每個功能模塊的邏輯控制處理部分TNL,為了保證程序的實時性,各功能模塊實現(xiàn)邏輯控制的處理時間之和必須小于等于系統(tǒng)的實時控制時間,可列得表達式(12)如下.

根據(jù)表達式(1)表達式(5),表達式(14)可變成表達式(15):

表達式(14)表明各模塊實現(xiàn)邏輯控制的程序段運行時間之和受限于系統(tǒng)的實時控制時間,也就是功能模塊中實時時間最長的時間,程序設計時,一個模塊時間用多了,其它模塊的時間就少了.表達式(13)表明了一個模塊程序設計長了,其它模塊程序就必須設計短一些,所有模塊的程序時間之和必須小于總時間或者說模塊程序長度之和必須小于等于固定的總長n.

根據(jù)(13)表達式,(14)表達式可寫成(14)表達式如下.

根據(jù)表達式(1)和表達式(6),表達式(15)可表示為表達式(17)

(17)式表明模塊中,實時控制最長的時間必須大于等于各功能模塊算術(shù)邏輯運算控制指令時間之和.

實現(xiàn)系統(tǒng)程序邏輯控制的指令時間是每個模塊的實現(xiàn)邏輯控制指令時間之和.

程序的延時指令時間是根據(jù)由程序效率定義可得表達式:TY=max(TA,TB,TC,TD,TE,TF)-TL

表達式(18)反映出實時控制系統(tǒng)的效率與各功能模塊實現(xiàn)邏輯控制的程序時間之和有關,和的時間越小,效率越高,微處理器的空閑時間就越長,時間的擴展性就越好.

根據(jù)表達式(1)和表達(6),表達試(20)可寫成表達式(21).

根據(jù)表達式(11)和表達式(16),表達式(19)可以寫成表達式(20).

表達式(21)實時控制程序的效率與各功能模塊的邏輯控制程序長度有關,各功能模塊的邏輯控制程序長度之和越短,程序的效率就越高.表達式(19)可以估算程序設計之前每個功能模塊可以分配的程序長度.

同樣,在實時程序完成之后評估程序的時間可擴展性,根據(jù)表達式(10)和表達式(18)可寫出多模塊實時系統(tǒng)的時間可擴展度表達式(22)和表達式(23).

表達式(22)和(23)說明程序的時間可擴展度與程序的控制邏輯部分時間或者實現(xiàn)邏輯控制的程序長度之和有關,反過來說,在程序設計過程中,邏輯控制程序?qū)懙迷蕉?,程序的擴展度越高,K的數(shù)值表示微處理器控制的實時系統(tǒng)還可以擴展同樣系統(tǒng)的個數(shù).

5 時間計算與效率的意義

以上分析主要用于微處理器實時程序設計之前的程序長度計算或者估算,以及各功能模塊的時間分配與程序長度的分配,避免花了大量時間編寫實施控制程序之后不滿足時間控制條件,導至必須推倒重來的困境.

可擴展度的建立,度量了設計程序的時間可擴展性,衡量了一個設計程序在時間上的優(yōu)劣性,衡量了程序設計者的一個設計方面的能力,度量了各種微處理器的時間處理能力,通過時間度量來選擇合適的微處理器.

[1]李群芳,肖看,張士軍,單片微型計算機與接口技術(shù)[M].4版.北京:電子工業(yè)出版社,2012.

[2]周立功,ARM嵌入式系統(tǒng)基礎教程[M].2版.北京:北京航空航天大學出版社,2008.

[3]Labrosse.嵌入式實時操作系統(tǒng) uC/OS-II[M].2 版.邵貝貝,譯.北京:北京航空航天大學出版社,2003.

[4]ATMEL 公司.ATmege 系列 User Manual[EB/OL].[2012-05-22].http://www.atmel.com.

[5]PHILIPS 公司.LPC2114/2114/2212/2214 User Manual 2004[EB/OL].[2012-05-22].http://www.zlgmcu.

[6]謝安,李東紅,概率論與數(shù)理統(tǒng)計[M].北京:清華大學出版社,2012.

猜你喜歡
實時控制功能模塊表達式
一個混合核Hilbert型積分不等式及其算子范數(shù)表達式
表達式轉(zhuǎn)換及求值探析
淺析C語言運算符及表達式的教學誤區(qū)
基于LabVIEW微電網(wǎng)實驗平臺監(jiān)控系統(tǒng)的設計與實現(xiàn)
基于ASP.NET標準的采購管理系統(tǒng)研究
探討ERP系統(tǒng)環(huán)境下企業(yè)會計的實時控制
輸電線路附著物測算系統(tǒng)測算功能模塊的研究
M市石油裝備公服平臺網(wǎng)站主要功能模塊設計與實現(xiàn)
功能模塊的設計與應用研究
空間機器人的計算力矩實時控制方法