當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]分時操作系統(tǒng)把CPU的時間劃分成長短基本相同的時間區(qū)間,即"時間片",操作系統(tǒng)輪流分配給各個作業(yè)使用。某個作業(yè)在時間片結(jié)束完成,該作業(yè)將被掛起,等待下一輪循環(huán)再繼續(xù)做。分時操作系統(tǒng)主要具有以下3個特點:多路性,用戶通過各自的終端,可以同時使用一個系統(tǒng)。及時性,用戶提出的各種要求,能在較短或可容忍的時間內(nèi)得到響應(yīng)和處理。獨占性,在分時系統(tǒng)中,雖然允許多個用戶同時使用一個CPU,但用戶之間操作獨立,互不干涉。

隨著單片機技術(shù)的發(fā)展,單片機開發(fā)的理念也在不斷更新:逐步采用高性能的16/32位單片機,采用C、JAVA等高級語言編程,采用RTOS及其平臺進行開發(fā)已經(jīng)成為一種趨勢。

分時操作系統(tǒng)概述

分時操作系統(tǒng)把CPU的時間劃分成長短基本相同的時間區(qū)間,即"時間片",操作系統(tǒng)輪流分配給各個作業(yè)使用。某個作業(yè)在時間片結(jié)束完成,該作業(yè)將被掛起,等待下一輪循環(huán)再繼續(xù)做。分時操作系統(tǒng)主要具有以下3個特點:多路性,用戶通過各自的終端,可以同時使用一個系統(tǒng)。及時性,用戶提出的各種要求,能在較短或可容忍的時間內(nèi)得到響應(yīng)和處理。獨占性,在分時系統(tǒng)中,雖然允許多個用戶同時使用一個CPU,但用戶之間操作獨立,互不干涉。

分時操作系統(tǒng)主要是針對小型機以上的計算機提出的。一般而言,MPU驅(qū)動的通用計算機,系統(tǒng)設(shè)計人員對每一臺的最終具體應(yīng)用都是不得而知的,因此,在價格允許的情況下,硬件設(shè)計務(wù)求CPU時鐘盡可能的快;計算及管理能力盡可能的強;程序和數(shù)據(jù)存儲器的容量盡可能的大;各種計算機外設(shè)的配接盡可能的詳盡等等。特別是采用分時操作系統(tǒng)的機器,因為是一機多用戶的管理系統(tǒng),它的要求就更高了。相對而言,MCU是一個單片集成系統(tǒng),它將這些計算機所需的外設(shè),諸如程序和數(shù)據(jù)存儲器、端口以及有關(guān)的子系統(tǒng)集成到一片芯片上。從硬件上,單片機系統(tǒng)與采用分時操作系統(tǒng)的計算機系統(tǒng)是無法比擬的。但是,在單片機系統(tǒng)的設(shè)計中,設(shè)計人員清楚其最終具體應(yīng)用,它的使用環(huán)境相對是單一固定的。所控制過程的可預(yù)見性為分時系統(tǒng)思想的實現(xiàn)提供了可能性。具體就是:雖然單片機的CPU速度較低,但其任務(wù)是可預(yù)見的,這樣作業(yè)調(diào)度將變得簡單而無須占用很多的CPU時間,同時“時間片”的設(shè)計是具體而有針對性的,因此可變得很有效。

分時系統(tǒng)的應(yīng)用實例

系統(tǒng)硬件及原理

本文設(shè)計了一個涉及單片機通信以及顯示的漏電流智能監(jiān)測系統(tǒng),系統(tǒng)框圖如圖1所示。

圖1 漏電流智能監(jiān)測系統(tǒng)框圖

本系統(tǒng)用在低壓電網(wǎng)中負責(zé)監(jiān)測線路的漏電流,系統(tǒng)中智能采集單元負責(zé)采集線路的漏電流,通過串行總線與主控單片機通信,上傳線路參數(shù)值。主控單片機輪詢各線路,實時顯示漏電流值,當(dāng)線路漏電流超過設(shè)定值時,在EEPROM中記錄漏電流的各項參數(shù)和發(fā)生的時刻,通過鍵盤顯示可以查詢以往線路的情況。由圖1可知:各智能采集模塊共用一個實時時鐘,因為不管從成本的角度還是從方便角度考慮,都不可能給每個采集模塊配置一個實時時鐘。采用傳統(tǒng)的編程方法時存在一個問題:當(dāng)智能采集模塊有多路時,數(shù)據(jù)上傳后需要顯示該路數(shù)據(jù),顯示時間不宜太短,下一路數(shù)據(jù)的顯示便出現(xiàn)延遲。線路的路數(shù)越多,編號靠后的線路的時間延遲越嚴重,系統(tǒng)的實時性變得很差。因此傳統(tǒng)的編程方法不符合實際情況,本文設(shè)計了分時操作系統(tǒng)解決此問題。

分時操作的實現(xiàn)

系統(tǒng)設(shè)計中首先劃分了一塊暫存參數(shù)的RAM,RAM區(qū)的大小跟需要監(jiān)測線路的多少有關(guān),其分配情況如圖2所示,每一路參數(shù)都設(shè)置多組參數(shù)存貯,防止參數(shù)未讀取就被刷新。每一組的參數(shù)包括漏電流大小、漏電標(biāo)志位、線路的編號和發(fā)生的時間。

圖2 暫存RAM分配圖

要合理的實現(xiàn)單片機分時系統(tǒng)必需要有合理的調(diào)度機制,完善的調(diào)度機制由調(diào)度指針和調(diào)度表組成。系統(tǒng)的調(diào)度就是“路任務(wù)”的調(diào)度,在系統(tǒng)設(shè)計中按各線路智能采集模塊把系統(tǒng)劃分為N個“路任務(wù)”, “路任務(wù)”的執(zhí)行順序固定不變,從第一路任務(wù)到第N路,再從頭返回第一路,如此循環(huán)往復(fù)。相對應(yīng)的"路"調(diào)度指針還應(yīng)構(gòu)造"路"調(diào)度表。"路"調(diào)度表每一項表示各"路"程序入口地址及跳轉(zhuǎn)指令。以MCS-51單片機為例,采用AJMP addr11作為每一項的內(nèi)容,則調(diào)度表的每一表項占2個字節(jié);當(dāng)程序較長超過2K字節(jié),則采用LJMP addr16作為每一項內(nèi)容,占3個字節(jié)。所設(shè)計的單片機系統(tǒng)共有多少"路任務(wù)",該調(diào)度表就有多少項數(shù)。調(diào)度指針為1個字節(jié)的整數(shù)變量。調(diào)度指針與調(diào)度表的聯(lián)系是通過指令JMP @A+DPTR實現(xiàn)的。DPTR中是調(diào)度表的首地址。累加器A中的內(nèi)容是調(diào)度指針的整數(shù)倍,若表項內(nèi)容是AJMP addr11,則A的值為調(diào)度指針乘2;若表項內(nèi)容是LJMP addr16,則A的值為調(diào)度指針乘3。

“路任務(wù)”的職責(zé)就是與智能采集模塊的CPU通信,收集線路的漏電參數(shù)的值,儲存在暫存RAM中,“路任務(wù)”中共
同的部分:從串口讀取數(shù)據(jù),安排在定時中斷中實現(xiàn),因為各線路需要上傳的字節(jié)數(shù)很少,為三個字節(jié)(漏電流大小占用2個,超限標(biāo)志占用1個字節(jié)),因此在波特率9600的情況下,通信時間極短(3/960<4ms),安排在定時中斷中實現(xiàn)比較合理。這樣“路任務(wù)”只需要設(shè)計出訪問暫存RAM的方法,本例中在每路暫存區(qū)的開頭定義訪問指針,“路任務(wù)”每次訪問時先讀取該值,然后把數(shù)據(jù)寫入相應(yīng)的RAM區(qū),返回時將訪問指針指向下次要訪問的地址,到了末尾地址時重新指向RAM的開頭。因為需要上傳和存貯的數(shù)據(jù)很少,每次任務(wù)(包括通信、讀取時鐘的值和存取數(shù)據(jù))的執(zhí)行非??欤趍s級別,不超過10ms。為了使每次任務(wù)有充分時間執(zhí)行,留下一定的裕度設(shè)為20ms,并且把時間片設(shè)置成跟一次“路任務(wù)”的時間相同。每次時間片執(zhí)行完一次“路任務(wù)”,不需要在任務(wù)切換時保存寄存器的值,也不需要給每個任務(wù)分配特定的RAM單元使用,因此占用系統(tǒng)的資源很少。每一次“路任務(wù)”負責(zé)查詢線路的參數(shù),查詢到后讀取實時時鐘的值,每次任務(wù)的時間都在ms級,因此即使要監(jiān)測的線路有多條,延遲的時間也在可以忽略的范圍內(nèi)(按照時鐘1s的時間步長計算,一次任務(wù)20ms,可以設(shè)置1000ms/20ms=50條線路,如果監(jiān)測線路≤50,最后延遲的時間也在1s之內(nèi),比傳統(tǒng)方法延遲100s有了質(zhì)的提高)。
在完成線路參數(shù)讀取的“路任務(wù)”之外,設(shè)置了一個“顯示任務(wù)”,采用LED顯示,顯示數(shù)據(jù)的時間不能太短,因此要考慮延時刷新顯示數(shù)據(jù)。采用軟件延時會占用CPU時間,使系統(tǒng)實時性變差,因此該任務(wù)交給硬件完成。設(shè)計中采用了Intel8279芯片,Intel8279具有主動管理顯示存貯器輸出和同步掃描信號的能力。對用戶而言,只需編制寫入顯示信息的程序,顯示任務(wù)執(zhí)行時,從暫存RAM中取數(shù)據(jù)并賦給Intel8279相應(yīng)的顯示RAM單元,只要顯示RAM的值不變,LED的顯示就不會改變。因此“顯示任務(wù)"就變成了寫Intel 8279的顯示RAM,在一次時間片內(nèi)足夠完成。“顯示任務(wù)"的特殊之處在于每隔兩秒執(zhí)行一次,采用如下措施實現(xiàn):在定時器中斷中定義一個計數(shù)器,每次定時器中斷后,在定時服務(wù)子程序中計數(shù)器自動加1。如果計數(shù)器達到相應(yīng)的數(shù)值(本例中時間片=20ms,延時2s需要計數(shù)I=2000ms/20ms=100),則調(diào)用“顯示任務(wù)”,計時器清0,否則調(diào)用“路任務(wù)”,計數(shù)器自動加一。延時都采用這種方式,延時值即為計數(shù)器的值乘以20ms。這樣任何延時都不占用CPU機時。“顯示任務(wù)”流程如圖3所示。

圖3 顯示任務(wù)流程圖

定時中斷定義為20ms,每次“任務(wù)“都由定時中斷負責(zé)開啟,也就是每次時間片都是由定時終端負責(zé)分配的。定時器中斷流程如圖4所示。

圖4 定時器中斷流程圖

分時操作系統(tǒng)最大的優(yōu)點是為本系統(tǒng)提供了很強的可靠性,因而程序具有很強的抗干擾能力。時間片的時間可以定義的很低,一些用軟件比較費時的操作轉(zhuǎn)給硬件完成,因此對于程序來說還提供了較好的實時性。

結(jié)語

分時系統(tǒng)的設(shè)計思想對于多路重復(fù)控制的系統(tǒng)具有很好的實用性。本例將分時操作系統(tǒng)的思想引入單片機系統(tǒng),并利
用該方法實現(xiàn)了多路監(jiān)測任務(wù),提高了系統(tǒng)的性能價格比,滿足了項目的一些特殊要求,在實際應(yīng)用中獲得成功。本例中的一些應(yīng)用只對本系統(tǒng)設(shè)計,時間片設(shè)置的時間太長,任務(wù)的執(zhí)行定義在一次時間片內(nèi),對于本系統(tǒng)來說簡化了編程。如果把時間片設(shè)置的更低,并且每次任務(wù)劃出特定的內(nèi)存作為任務(wù)堆棧,任務(wù)在一次時間片內(nèi)不能執(zhí)行完時,壓棧處理。這樣可以更好的體現(xiàn)分時操作系統(tǒng)的原理,可以實現(xiàn)更高需求的應(yīng)用。

參考文獻

1 蔡建平. 關(guān)于嵌入式應(yīng)用開發(fā)技術(shù)[J], 單片機與嵌入式系統(tǒng)應(yīng)用,2001,[1]

2 李大友主編. 計算機操作系統(tǒng)[M].北京:機械工業(yè)出版社,1998

3 陸惠恩,陸陪恩. 軟件工程[M].北京:電子工業(yè)出版社,1997

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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