新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 通過任務(wù)分割提高嵌入式系統(tǒng)的實(shí)時(shí)性

        通過任務(wù)分割提高嵌入式系統(tǒng)的實(shí)時(shí)性

        作者: 時(shí)間:2010-01-15 來源:網(wǎng)絡(luò) 收藏


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

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

        則一次鍵盤的執(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í)際上,由于兩次執(zhí)行的情況不完全相同,Δt1與Δt2可能會(huì)有相當(dāng)于幾個(gè)指令周期的時(shí)間差異,但也只是μs級(jí)的誤差。而且,這里是以時(shí)間片的形式來計(jì)算的,所以依然可以認(rèn)為

        Δt2-Δt1=0

        因而有

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

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

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

        4.3 鍵盤任務(wù)的

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

        本文引用地址:http://www.104case.com/article/152132.htm



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

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

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

        結(jié)語(yǔ)

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

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        上一頁(yè) 1 2 3 下一頁(yè)

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 盐山县| 顺平县| 江源县| 黄梅县| 同江市| 靖远县| 吉木乃县| 高安市| 文山县| 广西| 和政县| 淳安县| 临泉县| 高安市| 东辽县| 徐州市| 建宁县| 大庆市| 台中县| 铁岭县| 门源| 梅州市| 河南省| 东宁县| 华坪县| 伊川县| 海城市| 乌什县| 临海市| 德江县| 阿荣旗| 湘乡市| 通江县| 巴林左旗| 民县| 宜宾市| 武功县| 台中县| 乐都县| 白河县| 温泉县|