亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        MCU系統(tǒng)程序設(shè)計中的實時性與任務(wù)均衡性問題

        2012-03-30 10:51:04揭毅
        關(guān)鍵詞:均衡性實時性時隙

        揭毅

        (德賽工業(yè)研究院,惠州 516000)

        引 言

        在MCU系統(tǒng)程序設(shè)計中,常常遇到測試工程師反映我們的按鍵反應(yīng)不靈敏,或是系統(tǒng)對外部的信號響應(yīng)慢,實時性差。如果不是程序模塊設(shè)計問題,那我們就要考慮系統(tǒng)程序設(shè)計上的實時性問題了。但是如果僅僅在系統(tǒng)程序設(shè)計上片面地考慮實時性問題,而忽略了任務(wù)均衡性問題,那么系統(tǒng)又可能出現(xiàn)有的模塊程序響應(yīng)快、有的模塊程序反應(yīng)慢的問題。為了解決這些問題,下面就我在車載娛樂系統(tǒng)程序設(shè)計工作中的經(jīng)驗與大家聊聊。

        1 什么是實時性

        實時性很容易被多數(shù)人誤認(rèn)為就是“快”的意思。其實,“快”只是實時性的一個特征,而且是相對的——是相對于任務(wù)需求而言的。

        無論你的個人電腦是采用了何種“奔X”CPU,也無論該CPU的主頻是幾個G,只要你安裝的是XP操作系統(tǒng),那么它就是一個非實時系統(tǒng)。相反,一個8位的MCU,哪怕主頻只有4MHz,也可以構(gòu)成一個實時系統(tǒng)。

        實時或是非實時,與CPU的速度并無直接關(guān)系,而完全取決于操作系統(tǒng)或程序架構(gòu)。眾所周知,操作系統(tǒng)(OS)主要包括三大組成部分:進程調(diào)度、內(nèi)存管理和文件系統(tǒng)。其中,進程調(diào)度決定了系統(tǒng)的實時性。

        實時系統(tǒng)的本質(zhì)特征在于:所有任務(wù)的響應(yīng)時間和執(zhí)行時間都是可以根據(jù)各任務(wù)的需求進行設(shè)計,并且事先就能被預(yù)知。在一個實時系統(tǒng)上,我們可以根據(jù)需求分析的結(jié)果,對各個任務(wù)進行合理的、滿足要求的“實時性”設(shè)計,使得最終完成的程序能夠按照預(yù)定規(guī)則運行,并達到各種實時性指標(biāo)的要求?;谶@種定位,我認(rèn)為在程序設(shè)計時,不頻繁使用“計算器”的工程師通常不會有“實時性”的概念,這種工程師設(shè)計出的系統(tǒng)也很難講是實時系統(tǒng),至少,實時性指標(biāo)是不能足以保證的。至此,大家應(yīng)該可以理解我為何經(jīng)常會問一些同事:你有無購買計算器?微軟的工程師編程時無需使用計算器——因為他們設(shè)計的是非實時系統(tǒng),但我們卻需要——因為我們設(shè)計的是實時系統(tǒng)。區(qū)別就在于此!

        在單片機系統(tǒng)中,很多情況下是不使用OS的。實際上,在沒有OS的多任務(wù)系統(tǒng)中,進程調(diào)度的工作是由應(yīng)用軟件工程師自身編制程序來實現(xiàn)的。那么,自身編制的進程調(diào)度系統(tǒng)是否一定就是實時系統(tǒng)呢?我的回答是:不一定!關(guān)鍵在于你如何設(shè)計進程調(diào)度程序和如何合理安排各種任務(wù)。

        如果你設(shè)計出的系統(tǒng)是非實時的,而實際各個任務(wù)的需求又是實時的,那么,系統(tǒng)就一定會存在問題。特別是在“任務(wù)并發(fā)”時,程序一定會出問題,甚至出現(xiàn)一些稀奇古怪的現(xiàn)象。

        2 什么是任務(wù)均衡

        我經(jīng)常聽到軟件部的兄弟抱怨:MCU的速度不夠快;內(nèi)存沖突;需要提高主頻等等。

        實際上,大家可以測試一下我們目前系統(tǒng)程序中MCU的平均運行效率。我可以肯定地說,在我們目前的系統(tǒng)中,MCU的平均運行效率絕沒有超過60%,很可能為20%~30%,甚至在10%左右。由于MCU的主振蕩器一直在工作,它的ALU一刻也不會停止運行,那么,它在干什么呢?實際上,MCU在反復(fù)執(zhí)行著一個沒有任何實際任務(wù)的“死循環(huán)”,等待中斷和時隙的到來——在絕大部分時間,MCU被閑置。

        工程師所抱怨的速度不夠,通常是指在任務(wù)并發(fā)時,發(fā)生消息丟失、內(nèi)存/堆棧溢出或任務(wù)執(zhí)行被延遲等現(xiàn)象。

        通常,單片機系統(tǒng)是一個多任務(wù)系統(tǒng)。這里的多任務(wù)總是表現(xiàn)為“多功能”,而非“高性能”。否則,我們就不會選擇采用MCU,尤其是8位MCU——因為8位MCU的性能總是不會太高的?;贛CU的這種低性能,通常不會將其用于大流量信號的處理,而是只作控制用。控制類信號的處理不同于大流量信號的處理,它僅需占用極少的ALU資源。

        對于上面講到的這種“忙的時候忙不過來,閑的時候閑得要命”的情況,就引出了“任務(wù)均衡”的問題。任務(wù)均衡性設(shè)計,是任何實時嵌入式系統(tǒng)設(shè)計的關(guān)鍵工作之一。

        在與軟件工程師討論一些程序設(shè)計細節(jié)時,發(fā)現(xiàn)我們的工程師們總是追求“快”。其實,如果每個任務(wù)的處理都要“快”,而且是無量綱的“快”,那么任務(wù)均衡性問題也就無從談起了。進行任務(wù)均衡性設(shè)計的實質(zhì)是:讓真正需要快速處理的任務(wù)快起來,讓無需快速處理的任務(wù)慢下來,最終達到任務(wù)均衡的目的,從而提高MCU的使用效率。這里的“慢”就是為了“快”,沒有“慢”也就沒有“快”。

        無論是處理“快”的任務(wù),還是處理“慢”的任務(wù),都需要滿足系統(tǒng)性能的要求,否則所實現(xiàn)的系統(tǒng)就是一個不合格的系統(tǒng),或是一個不健康的系統(tǒng)。因此,在需求分析和程序架構(gòu)設(shè)計階段,對各個任務(wù)的時間指標(biāo)作出恰當(dāng)?shù)姆治龊秃侠淼亩x就顯得非常重要。下面我舉幾個例子來說明。

        (1)鍵掃描

        根據(jù)人的反應(yīng)速度和操作特點,對于儀表類設(shè)備,按鍵的捕獲時間在30~50ms左右已經(jīng)足夠。如果一味地追求“快”,不僅浪費系統(tǒng)資源,而且還會對鍵抖性能要求過高。一般,我們會設(shè)計一個20ms的鍵掃描周期,用兩次鍵掃值進行按鍵消抖,那么鍵捕獲時間不會超過40 ms——你會發(fā)現(xiàn)此時的按鍵操作已經(jīng)很靈敏了。在任務(wù)比較繁重的系統(tǒng)中,我們還可以將鍵捕獲和鍵響應(yīng)的處理節(jié)拍區(qū)分開來。通常,鍵響應(yīng)時間只要能保持在100~200ms以內(nèi),已經(jīng)不會使人感受到慢,有時這種延遲反而會給人更舒適的感受。

        但是,對于旋轉(zhuǎn)編碼器這類器件,雖然我們可以將其歸并為“鍵輸入”范疇,但是它的脈沖寬度是比較窄的(可能會到幾百個μs),建議采用中斷的方式加以捕捉。但是,必須充分注意的是,檢測速度快,并不意味著接收脈沖的速度也需要快;否則,在測試者高速旋轉(zhuǎn)編碼器時,會產(chǎn)生頻繁中斷,很可能會影響到其他任務(wù)的實時性。實際上,我們接收的旋轉(zhuǎn)脈沖是用于數(shù)值增減和顯示Level的,每100ms跳動一格已經(jīng)是“目不暇接”了。因此,每中斷一次時,最好能將該中斷關(guān)閉,然后再在100ms時隙中將該中斷打開。

        (2)通信接收

        我們都清楚,通信接收的響應(yīng)速度都是要求很高的,通常都是用中斷來進行接收處理。但是,一個完整報文(幀)的解析就不需要處理得很快了,完全可以安排在一個相對空閑的時隙中進行處理,而無需在中斷服務(wù)程序中加以處理。中斷服務(wù)程序執(zhí)行時間的加長,將帶來整個系統(tǒng)性能的下降。

        3 常用汽車控制線

        ACC——對“下升沿”的響應(yīng),要盡量地快(500μs以內(nèi)),最好使用優(yōu)先級最高的中斷。因為,它需要應(yīng)用于快速Mute,否則易產(chǎn)生點火POP-NOISE。但是,對“上降沿”的響應(yīng),就無需那么快,500ms就已滿足要求。

        Parking——只要求檢測高低電平,而無需檢測邊沿,100ms的掃描周期已經(jīng)足夠。

        Illuminance——只要求檢測高低電平,而無需檢測邊沿。由于部分車輛采用了PWM調(diào)光,PWM的頻率也沒有統(tǒng)一標(biāo)準(zhǔn),建議硬件上采用檢波電路,以減小對MCU資源的占用。在采用硬件檢波電路以后,軟件的檢測掃描周期為100ms就已足夠。

        Tele-Mute——只要求檢測高低電平,而無需檢測邊沿。100ms的掃描檢測周期已經(jīng)足夠。

        Reverse——同Tele-Mute。

        4 實時性和任務(wù)均衡性設(shè)計方法

        下面介紹一種在無OS環(huán)境下,實現(xiàn)實時性和任務(wù)均衡性的設(shè)計方法。

        首先介紹一下“時隙”的概念,時隙的英文叫法是“Time slot”,也就是“時間間隙”的意思。我們通常會選擇一個基本時隙去掃描并執(zhí)行任務(wù),有些任務(wù)每個基本時隙都去掃描,有些任務(wù)則無需每個基本時隙都去掃描,而是若干個基本時隙再去掃描一次。用時隙去同步任務(wù)的執(zhí)行,用時隙的長短來區(qū)分任務(wù)的輕重緩急。

        基本時隙用定時器中斷來產(chǎn)生,其他時隙用基本時隙的整數(shù)倍來產(chǎn)生,并盡量在中斷服務(wù)程序中實現(xiàn)。時隙定時器是最重要的系統(tǒng)定時器,不僅要保持它的準(zhǔn)確性,還需盡量簡潔,使其保持最高效運行。

        基本時隙的設(shè)計最為重要,它與其他各時隙的設(shè)計都須根據(jù)實際系統(tǒng)的要求來進行。基本時隙的長度決定了任務(wù)的最快掃描周期,從實時性要求來講,很顯然是越短越好。但是,基本時隙的過短將會對整個軟件系統(tǒng)的架構(gòu)和性能產(chǎn)生重大不利影響,限制系統(tǒng)整體性能的發(fā)揮。

        基本時隙的選擇原則是,在滿足實時性要求的前提下,盡量長一些。對于個別需要更快響應(yīng)速度的激勵,采用中斷的方式來響應(yīng)。

        這里已經(jīng)引發(fā)了程序架構(gòu)設(shè)計中的一個矛盾,即:基本時隙盡量長,盡量少開中斷,中斷服務(wù)程序盡量短。其實,這完全符合技術(shù)的特點,需要全方位地綜合考慮。選擇不是唯一性的,但是,對一個具體的系統(tǒng),最佳方案可能只有一個。

        結(jié) 語

        以上是筆者對實時性和任務(wù)均衡性程序設(shè)計上的一些看法?;谝陨戏椒▉砭帉慚CU程序可以大大提高程序的運行效率和系統(tǒng)實時性,改善任務(wù)的均衡性,并減少程序異常運行等問題的發(fā)生。

        猜你喜歡
        均衡性實時性時隙
        基于規(guī)則實時性的端云動態(tài)分配方法研究
        京津冀全域旅游供需系統(tǒng)構(gòu)建及均衡性研究
        復(fù)用段單節(jié)點失效造成業(yè)務(wù)時隙錯連處理
        基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實時性仿真
        航空電子AFDX與AVB傳輸實時性抗干擾對比
        一種高速通信系統(tǒng)動態(tài)時隙分配設(shè)計
        時隙寬度約束下網(wǎng)絡(luò)零售配送時隙定價研究
        均衡性原則司法適用解讀及適用路徑的精致化構(gòu)造——以四個案例為出發(fā)點
        行政法論叢(2016年0期)2016-07-21 14:52:23
        著力破解基層民主“非均衡性”的困境
        政府間均衡性轉(zhuǎn)移支付績效評價體系構(gòu)建
        国成成人av一区二区三区| 亚洲av综合日韩| 国产乱子伦视频大全| 欧美性xxx久久| 国产在线观看免费不卡视频| 东北熟妇露脸25分钟| 国产欧美成人一区二区a片| 香蕉久久福利院| 91国在线啪精品一区| 色噜噜精品一区二区三区| 青青草成人在线播放视频| 免费无码精品黄av电影| 久久精品国产第一区二区三区| 成年奭片免费观看视频天天看| 国产精品很黄很色很爽的网站| 日韩中文字幕素人水野一区| 成在线人av免费无码高潮喷水| 亚洲精品成人区在线观看| 日韩亚洲国产av自拍| 久久精品久久精品中文字幕| 国产一区二区三区在线观看完整版| 中文字幕av一区二区三区人妻少妇 | 免费黄网站一区二区三区| 亚洲精品久久区二区三区蜜桃臀 | 少妇精品偷拍高潮少妇在线观看 | 免费看黄在线永久观看| 亚洲免费国产中文字幕久久久| 亚洲精品无码久久久久av老牛| 少妇厨房愉情理伦片bd在线观看| 日韩极品视频在线观看免费| 丝袜av乱码字幕三级人妻| 国产丝袜美女| 亚洲中文字幕无码一区| 亚洲AV无码日韩综合欧亚 | 亚洲一区二区三区国产| 欧美人牲交| а中文在线天堂| 日本岛国一区二区三区| 亚洲精品中文字幕一二三区| 欧美黑人性暴力猛交喷水| 日韩av在线毛片|