www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]引言   隨著工業(yè)的飛速發(fā)展,人們對(duì)系統(tǒng)實(shí)時(shí)性的要求越來(lái)越高。計(jì)算機(jī)技術(shù)的進(jìn)步客觀上也為進(jìn)一步提高實(shí)時(shí)性提供了可能。因此近年來(lái),嵌入式實(shí)時(shí)系統(tǒng)的研究已經(jīng)成為單片同應(yīng)用領(lǐng)域的又一大熱點(diǎn),實(shí)編排軟件也

引言

  隨著工業(yè)的飛速發(fā)展,人們對(duì)系統(tǒng)實(shí)時(shí)性的要求越來(lái)越高。計(jì)算機(jī)技術(shù)的進(jìn)步客觀上也為進(jìn)一步提高實(shí)時(shí)性提供了可能。因此近年來(lái),嵌入式實(shí)時(shí)系統(tǒng)的研究已經(jīng)成為單片同應(yīng)用領(lǐng)域的又一大熱點(diǎn),實(shí)編排軟件也越來(lái)越多,有商業(yè)軟件,也有免費(fèi)的代碼。然而影響系統(tǒng)實(shí)時(shí)性的因素很多,有硬件,也有軟件的。這就決定了提高系統(tǒng)的實(shí)時(shí)性并不是一件十分容易的事情,除了使用高性能的CPU和高效的實(shí)時(shí)內(nèi)核外,在實(shí)時(shí)系統(tǒng)應(yīng)用的過(guò)程中,還要結(jié)合具體情況進(jìn)行具體分析,充分利用CPU的效率,挖掘內(nèi)核的實(shí)時(shí)潛能。

1 任務(wù)與嵌入式多任務(wù)實(shí)時(shí)系統(tǒng)

1.1 任務(wù)與多任務(wù)

  在嵌入式多任務(wù)實(shí)時(shí)系統(tǒng)時(shí),任務(wù)是指一個(gè)程序分段。這個(gè)分段被操作系統(tǒng)當(dāng)作一個(gè)基本單元來(lái)調(diào)度。

  典型地,每個(gè)任務(wù)都是一個(gè)無(wú)限的循環(huán),而且在同一時(shí)刻只能處于以下5種狀態(tài)之一。這5種狀態(tài)是休眠態(tài)、就緒態(tài)、運(yùn)行態(tài)、等待態(tài)和被中斷態(tài),如圖1所示。


  多任務(wù)系統(tǒng)的執(zhí)行過(guò)程實(shí)際上就是一系列任在這5種狀態(tài)中循環(huán)流動(dòng)、輪流被內(nèi)核調(diào)度的過(guò)程。多任務(wù)運(yùn)行使CPU的利用率得到最大的發(fā)揮,并使應(yīng)用程序模塊化。

1.2 嵌入式多任務(wù)實(shí)時(shí)系統(tǒng)

    RTOS本質(zhì)上就是嵌入的實(shí)時(shí)內(nèi)核,它負(fù)責(zé)管理各個(gè)任務(wù),或者說(shuō)是為每上任務(wù)分配CPU時(shí)間,并且負(fù)責(zé)任務(wù)之間的通信。實(shí)時(shí)內(nèi)核可分為可剝奪型和不同剝奪型兩類。因此,按照所使用內(nèi)核的不同,嵌入式實(shí)時(shí)系統(tǒng)也可分為兩類:使用不可剝奪型內(nèi)核的嵌入式實(shí)時(shí)系統(tǒng)和使用可剝奪型內(nèi)核的嵌入式實(shí)時(shí)系統(tǒng)。

2 實(shí)時(shí)系統(tǒng)中的長(zhǎng)任務(wù)問(wèn)題

2.1 長(zhǎng)任務(wù)的定義

  在RTOS中,長(zhǎng)任務(wù)就是指整個(gè)任務(wù)的執(zhí)行時(shí)間較長(zhǎng),超出了RTOS中其它某一個(gè)或某幾個(gè)任務(wù)的實(shí)時(shí)要求容限,而對(duì)整個(gè)RTOS的實(shí)時(shí)性構(gòu)成威脅的那些任務(wù)。

2.2 長(zhǎng)任務(wù)對(duì)RTOS的影響

  當(dāng)使用可剝奪型實(shí)時(shí)內(nèi)核時(shí),長(zhǎng)任務(wù)由于執(zhí)行的時(shí)間較長(zhǎng),因而更容易被高優(yōu)先級(jí)的任務(wù)打斷;一旦高優(yōu)先級(jí)的任務(wù)進(jìn)入了就緒態(tài),當(dāng)前任務(wù)的CPU使用權(quán)就被剝奪了,或者說(shuō)任務(wù)被掛起了,那個(gè)高優(yōu)先級(jí)的任務(wù)立刻得到了CPU的控制權(quán)。這樣會(huì)出現(xiàn)兩個(gè)問(wèn)題:一是長(zhǎng)任務(wù)可能在一次執(zhí)行的過(guò)程中被頻敏打斷,長(zhǎng)時(shí)間得不到一次完整的執(zhí)行;二是長(zhǎng)任務(wù)被打斷時(shí),可能要保存大量的現(xiàn)場(chǎng)信息,其目的是為了保證在高優(yōu)先級(jí)的任務(wù)執(zhí)行完返回后,長(zhǎng)任務(wù)能得以繼續(xù)執(zhí)行。然而,這樣做要占用一定的系統(tǒng)資源,同時(shí)保存現(xiàn)場(chǎng)本身也是要占用CPU時(shí)間的,因此,實(shí)時(shí)性也會(huì)下降。

    當(dāng)使用不可剝奪型實(shí)時(shí)內(nèi)核時(shí),長(zhǎng)任務(wù)對(duì)RTOS的影響更為明顯,因?yàn)樵谶@種內(nèi)核中,任務(wù)級(jí)響應(yīng)時(shí)間取決于最長(zhǎng)的任務(wù)執(zhí)行時(shí)間。這也就是說(shuō)由于長(zhǎng)任務(wù)的存在,任務(wù)級(jí)的響應(yīng)時(shí)間要變長(zhǎng)。其結(jié)果是CPU長(zhǎng)時(shí)間停留在長(zhǎng)任務(wù)中,其它的任務(wù)得不到實(shí)時(shí)的響應(yīng),甚至于根本得不到執(zhí)行,系統(tǒng)的實(shí)時(shí)性勢(shì)必要下降。

總之,無(wú)論是使用可剝奪型內(nèi)核,還是使用不可剝奪型內(nèi)核,長(zhǎng)任務(wù)都會(huì)對(duì)RTOS構(gòu)成嚴(yán)重的威脅。

3 長(zhǎng)任務(wù)問(wèn)題的解決

  解決長(zhǎng)任務(wù)問(wèn)題最有效的途徑是進(jìn)行任務(wù)分割。所謂任務(wù)分割指將影響系統(tǒng)實(shí)時(shí)性的長(zhǎng)任務(wù)分割成若干個(gè)小任務(wù)。這樣單個(gè)任務(wù)的執(zhí)行時(shí)間變短,系統(tǒng)的任務(wù)級(jí)響應(yīng)時(shí)間變短,實(shí)時(shí)性提高。[!--empirenews.page--]

3.1 對(duì)RTOS的分析與計(jì)算

  當(dāng)然,長(zhǎng)任務(wù)的分割必須結(jié)合系統(tǒng)中所使用的內(nèi)核,以及各任務(wù)對(duì)實(shí)時(shí)性的要求情況,進(jìn)行必要的分析計(jì)算,才能保證分割的合理性和有效懷,具體的步驟如下:

①分析系統(tǒng)共有多少個(gè)任務(wù),這些任務(wù)對(duì)實(shí)時(shí)性的要求有多高,求出各個(gè)任務(wù)所要求的最小執(zhí)行頻率f1,f2,f3……fn。

②計(jì)算目前各任務(wù)的實(shí)際執(zhí)行時(shí)間t1,t2,t3……tn。

③確定系統(tǒng)中的長(zhǎng)任務(wù)

如果max(t1,t2,t3……tn)≤min(1/f1,1/f2,1/f3……1/fn)

則此系統(tǒng)中不存在長(zhǎng)任務(wù)。

如果max(t1,t2,t3……tn)>min(1/f1,1/f2,1/f3……1/fn)

則存在長(zhǎng)任務(wù),而且執(zhí)行時(shí)間為max(t1,t2,t3……tn)的那個(gè)任務(wù)就是要找的長(zhǎng)任務(wù)。

④分析此長(zhǎng)任務(wù)是否需要分割

分析一下是什么原因?qū)е聢?zhí)行的時(shí)間過(guò)長(zhǎng),這個(gè)時(shí)間還能夠通過(guò)程序的優(yōu)化來(lái)縮短?如果能,則不需要進(jìn)行任務(wù)分割;否則要對(duì)這個(gè)長(zhǎng)任務(wù)進(jìn)行分割。

    3.2 任務(wù)分割

常用的任務(wù)分割的方法有以下兩種:

①將長(zhǎng)任務(wù)按功能分為若干個(gè)小模塊,每一個(gè)模塊構(gòu)成一個(gè)小任務(wù),每個(gè)小任務(wù)執(zhí)行一個(gè)相對(duì)獨(dú)立的功能,且要保證執(zhí)行時(shí)間t<min(1/f1,1/f2,1/f3……1/fn)。各個(gè)任務(wù)被內(nèi)核順序調(diào)用,合起來(lái)完成整個(gè)任務(wù)的功能。

②有的長(zhǎng)任務(wù)比較特殊,例如鍵盤任務(wù)和動(dòng)態(tài) LED顯示任務(wù),很難按照方法1所說(shuō)的把它分成若干個(gè)功能相對(duì)獨(dú)立的小模塊。這時(shí),一般是按照方便保存現(xiàn)場(chǎng)信息原則,強(qiáng)制將其分割成若干個(gè)小任務(wù),每個(gè)任務(wù)在min(1/f1,1/f2,1/f3……1/fn)時(shí)間內(nèi)主動(dòng)保存現(xiàn)場(chǎng)信息、放棄CPU的控制權(quán),等到再次被內(nèi)核調(diào)度時(shí)繼續(xù)執(zhí)行。

  這種分割方法相對(duì)復(fù)雜,各任務(wù)之間界限不是很明顯,看似未經(jīng)分割,但實(shí)際上它確實(shí)是由多次任務(wù)中斷來(lái)完成。下面就以這種分割方法為例具體說(shuō)明。

4 實(shí)例分析

4.1 系統(tǒng)介紹

    在此,系統(tǒng)的硬件基礎(chǔ)是基于 MC68HC908GP32單片機(jī)系統(tǒng)的,用其普通I/O口作為矩陣式鍵盤的輸入輸出引腳;軟件基礎(chǔ)是在MC68HC908GP32中運(yùn)行 Motorola公司的Joanne Santangeli編寫(xiě)的基于時(shí)間片的不可剝奪的實(shí)時(shí)內(nèi)核,如圖2所示。
 

    此內(nèi)核主要是利用微控制器內(nèi)部的時(shí)間模塊產(chǎn)生恒定的實(shí)時(shí)中斷,將CPU的運(yùn)行時(shí)間分成一個(gè)個(gè)時(shí)間片。內(nèi)核的任務(wù)調(diào)度工作都是在時(shí)間片的開(kāi)始階段完成的,而每個(gè)任務(wù)都必須在單個(gè)時(shí)間片內(nèi)完成。

    在這個(gè)內(nèi)核中,每0.5ms發(fā)生1次時(shí)鐘中斷,而每10次時(shí)鐘中斷組成了1個(gè)時(shí)間片(5ms)。任務(wù)1的優(yōu) 先級(jí)最高,每2個(gè)時(shí)間片(10ms)會(huì)執(zhí)行1次,任務(wù)2每4個(gè)時(shí)間片(20ms)執(zhí)行1次,優(yōu)先級(jí)最低的任務(wù)6則每64個(gè)時(shí)間片(320ms)會(huì)執(zhí)行1次。

4.2 系統(tǒng)中的鍵盤任務(wù)問(wèn)題

   在單片機(jī)系統(tǒng)中,鍵盤主要用于輸入數(shù)據(jù)、代碼和命令,因此系統(tǒng)必須循環(huán)不停地掃描掃描;一是有鍵波按下,CPU立即做出響應(yīng)。鍵盤任務(wù)子程序也是根據(jù)這個(gè)要求而設(shè)計(jì)的。一般有兩種處理方式:一是中斷方式,二是查詢方式。從有鍵按下時(shí)開(kāi)始,到按鍵釋放并轉(zhuǎn)相應(yīng)子程序而終止。該任務(wù)被內(nèi)核調(diào)度的情況如圖3所示。[!--empirenews.page--]

  圖3中,Δt是人手按鍵的時(shí)間,一般為100~300ms。為了能說(shuō)明問(wèn)題,這里取100ms。

令 t1'-t1=Δt1,t2'-t2=Δt2

則一次鍵盤任務(wù)的執(zhí)行時(shí)間

Δt'=t'2-t'1=t2+(t'2-t2)-[t1+(t'1-t1)]=

t2+Δt2-t1-Δt1=

t2-t1+(Δt2+Δt1)=

Δt+(Δt2-Δt1)

由圖3可知

Δt1≤tms Δt2≤5ms
 
  實(shí)際上,由于兩次任務(wù)執(zhí)行的情況不完全相同,Δt1與Δt2可能會(huì)有相當(dāng)于幾個(gè)指令周期的時(shí)間差異,但也只是μs級(jí)的誤差。而且,這里是以時(shí)間片的形式來(lái)計(jì)算的,所以依然可以認(rèn)為

Δt2-Δt1=0

因而有

Δt'=Δt+(Δt2-Δt1)=Δt=100ms(20個(gè)時(shí)間片)

 也就是說(shuō),在這20個(gè)時(shí)鐘片內(nèi)只執(zhí)行1次鍵盤任務(wù),大部分的時(shí)間都在空等待。在此期間,系統(tǒng)中會(huì)有20-1=19次其它任務(wù)的執(zhí)行被錯(cuò)過(guò),圖3中虛線所示就是在此100ms期間被錯(cuò)過(guò)執(zhí)行的19個(gè)任務(wù)。顯然,這在大多數(shù)多任務(wù)系統(tǒng)中都是不允許的。

因此,在這個(gè)多任務(wù)實(shí)時(shí)系統(tǒng)中,鍵盤任務(wù)是個(gè)典型的長(zhǎng)任務(wù),要使其它19次任務(wù)中斷都有被應(yīng)用的機(jī)會(huì),必須對(duì)該鍵盤任務(wù)進(jìn)行分割。

4.3 鍵盤任務(wù)的分割

   鍵盤分割的方法是將一次鍵盤任務(wù)分成多個(gè)小任務(wù),通過(guò)多次任務(wù)中斷來(lái)完成。我們將其放在任務(wù)4中(80ms執(zhí)行1次)。這樣有ttask4≤ttask≤2ttask4,即可以保證鍵盤任務(wù)完整可靠地執(zhí)行,又提高了CPU的效率。圖4是分割后的鍵盤任務(wù)的執(zhí)行過(guò)程。

 

    從圖4可以看出,1次完整的鍵盤任務(wù)是由2~3次任務(wù)中斷來(lái)完成的。情況a中,每一次任務(wù)中斷發(fā)生在ta1時(shí)刻,在接下來(lái)的一個(gè)時(shí)間片(5ms)內(nèi),檢測(cè)到有鍵按下,調(diào)用查詢值任務(wù);第一次任務(wù)中斷發(fā)生在ta2時(shí)刻,在接下來(lái)的一個(gè)時(shí)間片(5ms)內(nèi),檢測(cè)到按鍵已釋放,跳轉(zhuǎn)并執(zhí)行相應(yīng)鍵處理程序。

   情況b中,第二次任務(wù)中斷時(shí)(tb2時(shí)刻),鍵還沒(méi)有松開(kāi),因此實(shí)際上什么也不做;第三次中斷(tb3時(shí)刻)才跳到與鍵值對(duì)應(yīng)的子程序。

   通過(guò)這樣的分割,每個(gè)子任務(wù)都可以在5ms 內(nèi)完成。如果系統(tǒng)中還有大于5ms的長(zhǎng)任務(wù)的話,可按此法繼續(xù)進(jìn)行分割;如果沒(méi)有的話,系統(tǒng)任務(wù)級(jí)響應(yīng)時(shí)間一定小于5ms。這樣,此系統(tǒng)的實(shí)時(shí)性大大提高,由100ms提高到5ms。本刊網(wǎng)絡(luò)補(bǔ)充版(http://www.dpj.com.cn)中,介紹了此任務(wù)改進(jìn)后的部分源程序。

結(jié)語(yǔ)

   通過(guò)任務(wù)分割,可以顯著地提高多任務(wù)系統(tǒng)的實(shí)時(shí)性。本文改進(jìn)后的源程序已經(jīng)在基于MC68HC908GP32的溫室控制器中成功地運(yùn)行過(guò)。除此以外,還成功地對(duì)LED和SCI任務(wù)進(jìn)行了分割。改進(jìn)后,除了實(shí)時(shí)性大大提高外,CPU的執(zhí)行效率也有顯著提高。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

美國(guó)紐約州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)發(fā)布 2022 年第三季度業(yè)績(jī)報(bào)告。 IBM 董事長(zhǎng)兼首席執(zhí)行官 Arvind Kri...

關(guān)鍵字: IBM 軟件 BSP 云平臺(tái)

北京2022年10月19日 /美通社/ -- 隨著云計(jì)算、大數(shù)據(jù)的普及發(fā)展,過(guò)去的"云"是服務(wù)于大企業(yè)的計(jì)算模型,而十多年過(guò)去了,越來(lái)越多的應(yīng)用及業(yè)務(wù)走上"云端",對(duì)計(jì)算核心數(shù)需求...

關(guān)鍵字: ARM 大數(shù)據(jù) 云游戲 CPU

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開(kāi)發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動(dòng)商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動(dòng)的最基本功能。而對(duì)于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對(duì)于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績(jī)預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營(yíng)業(yè)收入7.54億元至8.33億元,同比增長(zhǎng)60.24%至77.03%;歸母凈利潤(rùn)預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級(jí)企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠(chéng)健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國(guó)際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國(guó)軟件定義存儲(chǔ)及超融合市場(chǎng)研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷售額同比增長(zhǎng)59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國(guó))在華深耕經(jīng)營(yíng)12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對(duì)在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會(huì)社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國(guó)際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國(guó)進(jìn)出口商品交易會(huì)("廣交會(huì)")于"云端"開(kāi)幕。本屆廣交會(huì)上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過(guò)140,...

關(guān)鍵字: 中國(guó)智造 BSP 手機(jī) CAN

數(shù)字電源

15504 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉