當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]在微機(jī)控制領(lǐng)域中,多數(shù)系統(tǒng)是實(shí)時(shí)控制系統(tǒng)。實(shí)時(shí)的含義是對(duì)隨機(jī)發(fā)生的外部事件做出及時(shí)的響應(yīng)并對(duì)其進(jìn)行處理。為了更好地完成實(shí)時(shí)數(shù)據(jù)的采集、處理、存儲(chǔ)和相應(yīng)的多種實(shí)時(shí)控制操作,必須同時(shí)考慮到實(shí)時(shí)性和多任務(wù)并

在微機(jī)控制領(lǐng)域中,多數(shù)系統(tǒng)是實(shí)時(shí)控制系統(tǒng)。實(shí)時(shí)的含義是對(duì)隨機(jī)發(fā)生的外部事件做出及時(shí)的響應(yīng)并對(duì)其進(jìn)行處理。為了更好地完成實(shí)時(shí)數(shù)據(jù)的采集、處理、存儲(chǔ)和相應(yīng)的多種實(shí)時(shí)控制操作,必須同時(shí)考慮到實(shí)時(shí)性和多任務(wù)并行性這2個(gè)因素。既要保證系統(tǒng)以足夠快的速度對(duì)外部事件進(jìn)行響應(yīng)并處理,又能在宏觀上并行執(zhí)行多個(gè)任務(wù)。實(shí)時(shí)多任務(wù)系統(tǒng)依靠適當(dāng)?shù)娜蝿?wù)調(diào)度方法來(lái)決定在系統(tǒng)中哪個(gè)任務(wù)可以獲得CPU和其他系統(tǒng)資源,哪個(gè)任務(wù)暫時(shí)退出運(yùn)行狀態(tài),從而達(dá)到實(shí)時(shí)處理多任務(wù)的目的。時(shí)間片輪轉(zhuǎn)算法是實(shí)現(xiàn)多任務(wù)調(diào)度的常用算法。在這種算法中,如果將某個(gè)時(shí)間片分配給某個(gè)任務(wù),那么在此時(shí)間片內(nèi),這個(gè)任務(wù)獲得CPU并運(yùn)行,然后在下個(gè)時(shí)間片到來(lái)時(shí)又將CPU分配給另一個(gè)任務(wù)。這樣,并發(fā)任務(wù)在微觀上交替運(yùn)行,而在宏觀上并行執(zhí)行。

1實(shí)時(shí)多任務(wù)機(jī)制的實(shí)現(xiàn)

實(shí)時(shí)控制系統(tǒng)中允許多個(gè)實(shí)時(shí)任務(wù)并行執(zhí)行,在一些測(cè)控系統(tǒng)中有數(shù)據(jù)采集、端口檢測(cè)、模擬量輸出、開(kāi)關(guān)量輸出數(shù)據(jù)處理和存儲(chǔ)等多種任務(wù)。在單片機(jī)中,要達(dá)到這樣的效果:在微觀上,某一時(shí)刻只能運(yùn)行一個(gè)任務(wù),但在宏觀上這些任務(wù)是同時(shí)運(yùn)行的。

實(shí)時(shí)任務(wù)通過(guò)分時(shí)處理實(shí)現(xiàn),相當(dāng)于操作系統(tǒng)中的進(jìn)程。每個(gè)任務(wù)有3種狀態(tài),即運(yùn)行狀態(tài)、就緒狀態(tài)和等待狀態(tài),某個(gè)任務(wù)一旦建立后即處于這3種狀態(tài)之一。處于運(yùn)行狀態(tài)的任務(wù)獨(dú)占CPU 和其他一些資源;就緒狀態(tài)是該任務(wù)已獲得了除處理機(jī)以外的一切所需資源,運(yùn)行條件滿足,只因?yàn)槿鄙貱PU而不能運(yùn)行;等待狀態(tài)是一個(gè)任務(wù)在等待某個(gè)事件(如其他任務(wù)的信息,等待某系統(tǒng)資源等)的發(fā)生而暫時(shí)停止執(zhí)行。通過(guò)有效的任務(wù)調(diào)度來(lái)完成3個(gè)狀態(tài)的轉(zhuǎn)變。在實(shí)時(shí)多任務(wù)系統(tǒng)中任務(wù)調(diào)度算法的優(yōu)劣直接關(guān)系到系統(tǒng)的實(shí)時(shí)性與并行性。

時(shí)間片輪轉(zhuǎn)法是根據(jù)某一時(shí)間片的切換輪流地調(diào)度所有就緒任務(wù)的方法:將CPU 的運(yùn)行時(shí)間劃分為許多小的時(shí)間片,由調(diào)度程序按一定順序分配給不同任務(wù),每個(gè)任務(wù)分別在自己的時(shí)間片內(nèi)訪問(wèn)CPU,中斷實(shí)現(xiàn)系統(tǒng)對(duì)外界信息的實(shí)時(shí)響應(yīng),同時(shí)擔(dān)當(dāng)時(shí)間片切換的驅(qū)動(dòng)力。考慮到不同任務(wù)的實(shí)時(shí)性要求不同,不能統(tǒng)一劃分,我們采取以最小時(shí)間片為基準(zhǔn),其他時(shí)間片是他的倍數(shù),這樣就提高了系統(tǒng)的資源利用率。

在這種調(diào)度算法中,時(shí)間片的選擇很重要,通常要考慮所要完成任務(wù)的數(shù)目、各任務(wù)的不同實(shí)時(shí)性要求、系統(tǒng)的處理能力等因素。

2時(shí)間片輪轉(zhuǎn)調(diào)度在火車閘片摩擦系數(shù)測(cè)試系統(tǒng)中的應(yīng)用

2.1系統(tǒng)分析

要模擬火車剎車的過(guò)程,完成對(duì)火車閘片的摩擦系數(shù)的測(cè)試,需實(shí)現(xiàn)以下幾個(gè)步驟:

(1)用模擬輸出端口輸出0~10 V電壓作為變頻器的頻率設(shè)定值,使變頻器控制電機(jī)按升速時(shí)間將車輪轉(zhuǎn)速逐步提升,按升速時(shí)間達(dá)到設(shè)定速度。

(2)據(jù)設(shè)定氣壓和實(shí)際氣壓的比較決定應(yīng)該排氣還是進(jìn)氣,并執(zhí)行相應(yīng)的打開(kāi)/關(guān)閉進(jìn)氣閥或出氣閥的操作,使氣壓達(dá)到設(shè)定值。在未測(cè)試前要不斷檢測(cè)氣壓狀態(tài),保持氣壓的穩(wěn)定。

(3)測(cè)試按鈕按下時(shí),打開(kāi)加壓閥,開(kāi)始剎車。由于要模擬火車的剎車慣量,電機(jī)不能立即停止,因此在加壓的同時(shí),要使變頻器控制電機(jī)逐步減速。系統(tǒng)按降速時(shí)間降到0,在這個(gè)減速剎車的過(guò)程中,同時(shí)記錄從測(cè)力傳感器采集并平滑后的數(shù)據(jù)放入指定變量區(qū)。

既要保證任務(wù)的實(shí)時(shí)響應(yīng),又要實(shí)現(xiàn)多任務(wù)在宏觀上的同時(shí)進(jìn)行,我們采用時(shí)間片輪轉(zhuǎn)調(diào)度算法,且根據(jù)不同任務(wù)的不同實(shí)時(shí)性要求, 以最小時(shí)間片為基準(zhǔn),劃分不同時(shí)間片。該測(cè)試系統(tǒng)要實(shí)現(xiàn)數(shù)據(jù)采集,模擬量輸出,開(kāi)關(guān)量輸出/讀入等操作,這些操作對(duì)應(yīng)的具體任務(wù)及其實(shí)時(shí)性要求如表1所示。

實(shí)時(shí)性要求相同的任務(wù),為同一級(jí)別,用狀態(tài)變量來(lái)區(qū)分任務(wù)是處于就緒狀態(tài),還是等待狀態(tài),從而決定是否分配時(shí)間片。

2.2時(shí)間片的選定

在時(shí)間片輪轉(zhuǎn)算法中,時(shí)間片的大小對(duì)系統(tǒng)性能有很大影響。如果時(shí)間片太大,大到每個(gè)任務(wù)都能在該時(shí)間片內(nèi)執(zhí)行完畢,則時(shí)間片輪轉(zhuǎn)調(diào)度算法就失去意義,而且可能耽 誤一些實(shí)時(shí)性較強(qiáng)的任務(wù);時(shí)間片過(guò)小,會(huì)使一些任務(wù)來(lái)不及響應(yīng)。由上面的分析,可以看出在這個(gè)測(cè)試系統(tǒng)中,所要選擇的基準(zhǔn)時(shí)間片為1 ms,其他的時(shí)間片為他的倍數(shù)。

3軟件設(shè)計(jì)與實(shí)現(xiàn)

3.1軟件設(shè)計(jì)

每個(gè)子任務(wù)時(shí)間片的劃分由系統(tǒng)時(shí)鐘定時(shí)完成,系統(tǒng)調(diào)度程序?qū)⑺纸o各個(gè)子任務(wù)。系統(tǒng)用其內(nèi)帶的定時(shí)器來(lái)完成這一工作,定時(shí)頻率設(shè)計(jì)為各子任務(wù)要求執(zhí)行頻率的整數(shù)倍。

使用CYGNAL公司的C8051F020微控制器,系統(tǒng)時(shí)鐘選擇f=11.059 2 MHz;采用定時(shí)器中斷和記數(shù)來(lái)實(shí)現(xiàn)時(shí)間片:

主要測(cè)試任務(wù)的實(shí)時(shí)要求為10 ms,將10 ms劃分為10塊,一個(gè)任務(wù)執(zhí)行時(shí)間為1 ms,那么每隔10 ms,一個(gè)特定任務(wù)就會(huì)調(diào)度一次,且在這10 ms內(nèi),可以讓10個(gè)任務(wù)得到交替執(zhí)行,既滿足了實(shí)時(shí)性要求,又實(shí)現(xiàn)了多任務(wù)操作。其調(diào)度結(jié)構(gòu)如下:

有些任務(wù),要以其他任務(wù)的完成為前提,如:在速度未到達(dá)設(shè)定值前,不能進(jìn)行測(cè)試 操作,不能執(zhí)行降速任務(wù),因而該任務(wù)處于等待狀態(tài)。必須根據(jù)任務(wù)所處的狀態(tài),動(dòng)態(tài)地加載任務(wù)。

在測(cè)試過(guò)程中,DA值輸出為10 ms一次,每執(zhí)行一個(gè)時(shí)間片,進(jìn)行記數(shù),記到n時(shí), D A值增加25個(gè),即以n×10 ms為周期,DA值增加一次,使變頻器控制電機(jī)轉(zhuǎn)速勻速上升。下降過(guò)程也同樣,這樣,既能保證DA值勻速上升/下降,又能根據(jù)最大DA值(10 V輸出對(duì)應(yīng)DA值為4 000)和每n個(gè)時(shí)間片周期內(nèi)下降的DA值來(lái)準(zhǔn)確控制上升和下降時(shí)間,將大任務(wù)分成一個(gè)個(gè)小任務(wù)來(lái)執(zhí)行,提高系統(tǒng)資源利用率和實(shí)時(shí)性。

3.2測(cè)試系統(tǒng)的實(shí)現(xiàn)

下位機(jī)用時(shí)間片輪轉(zhuǎn)調(diào)度法實(shí)現(xiàn)實(shí)時(shí)多任務(wù)系統(tǒng)。上位 機(jī)用虛擬儀器開(kāi)發(fā)平臺(tái)LabVIEW 實(shí)現(xiàn)人機(jī)界面,通過(guò)ModBUS協(xié)議和下位機(jī)通信,在指定數(shù)據(jù)區(qū)寫(xiě)入各設(shè)定參數(shù),進(jìn)行測(cè)試,把測(cè)試結(jié)果存放在指定數(shù)據(jù)區(qū),取得數(shù)據(jù)后經(jīng)公式換算得到摩擦系數(shù),降速過(guò)程中每一單位速度(km/h)數(shù)對(duì)應(yīng)一個(gè)摩擦系數(shù)瞬時(shí)值,得到的曲線如圖1所示。


?
4結(jié)語(yǔ)

對(duì)于實(shí)時(shí)多任務(wù)操作系統(tǒng),主要任務(wù)是對(duì)實(shí)時(shí)性要求不同的各種任務(wù)做出及時(shí)響應(yīng)。

在單片機(jī)中引入時(shí)間片輪轉(zhuǎn)調(diào)度的任務(wù)分配方法,有 效地改善了系統(tǒng)的結(jié)構(gòu),系統(tǒng)可以在宏 觀上并行執(zhí)行各種任務(wù), 使資源的利用率進(jìn)一步提高;并使其在事件發(fā)生時(shí)能夠在嚴(yán)格的時(shí) 限內(nèi)做出響應(yīng),從而實(shí)現(xiàn)了實(shí)時(shí)多任務(wù)的測(cè)控系統(tǒng)。

參考文獻(xiàn)
[1]馬忠梅,籍順心,張凱,等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M] .北京:北京航空航天大學(xué)出版社,2001.
[2]徐士良,朱明方.軟件應(yīng)用技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社 ,2000.
[3]龐麗萍.操作系統(tǒng)原理[M].武漢:華中理工大學(xué)出版社,1987.
[4]李剛,林凌.與8051兼容的高性能高速單片機(jī)C8051FXXX系列[M].北京:北京航空航天大學(xué)出版社,2002.
 

本站聲明: 本文章由作者或相關(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)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉