国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

分時操作系統思想在單片機中的具體應用

發布時間:2010-9-21 10:44    發布者:eetech
關鍵詞: 操作系統 , 單片機 , 分時
隨著單片機技術的發展,單片機開發的理念也在不斷更新:逐步采用高性能的16/32位單片機,采用C、JAVA等高級語言編程,采用RTOS及其平臺進行開發已經成為一種趨勢。

分時操作系統概述

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

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

分時系統的應用實例

系統硬件及原理

本文設計了一個涉及單片機通信以及顯示的漏電流智能監測系統,系統框圖如圖1所示。



圖1 漏電流智能監測系統框圖

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

分時操作的實現

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



圖2暫存RAM分配圖

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

“路任務”的職責就是與智能采集模塊的CPU通信,收集線路的漏電參數的值,儲存在暫存RAM中,“路任務”中共同的部分:從串口讀取數據,安排在定時中斷中實現,因為各線路需要上傳的字節數很少,為三個字節(漏電流大小占用2個,超限標志占用1個字節),因此在波特率9600的情況下,通信時間極短(3/960<4ms),安排在定時中斷中實現比較合理。這樣“路任務”只需要設計出訪問暫存RAM的方法,本例中在每路暫存區的開頭定義訪問指針,“路任務”每次訪問時先讀取該值,然后把數據寫入相應的RAM區,返回時將訪問指針指向下次要訪問的地址,到了末尾地址時重新指向RAM的開頭。因為需要上傳和存貯的數據很少,每次任務(包括通信、讀取時鐘的值和存取數據)的執行非常快,在ms級別,不超過10ms。為了使每次任務有充分時間執行,留下一定的裕度設為20ms,并且把時間片設置成跟一次“路任務”的時間相同。每次時間片執行完一次“路任務”,不需要在任務切換時保存寄存器的值,也不需要給每個任務分配特定的RAM單元使用,因此占用系統的資源很少。每一次“路任務”負責查詢線路的參數,查詢到后讀取實時時鐘的值,每次任務的時間都在ms級,因此即使要監測的線路有多條,延遲的時間也在可以忽略的范圍內(按照時鐘1s的時間步長計算,一次任務20ms,可以設置1000ms/20ms=50條線路,如果監測線路≤50,最后延遲的時間也在1s之內,比傳統方法延遲100s有了質的提高)。

在完成線路參數讀取的“路任務”之外,設置了一個“顯示任務”,采用LED顯示,顯示數據的時間不能太短,因此要考慮延時刷新顯示數據。采用軟件延時會占用CPU時間,使系統實時性變差,因此該任務交給硬件完成。設計中采用了Intel8279芯片,Intel8279具有主動管理顯示存貯器輸出和同步掃描信號的能力。對用戶而言,只需編制寫入顯示信息的程序,顯示任務執行時,從暫存RAM中取數據并賦給Intel8279相應的顯示RAM單元,只要顯示RAM的值不變,LED的顯示就不會改變。因此“顯示任務"就變成了寫Intel 8279的顯示RAM,在一次時間片內足夠完成。“顯示任務"的特殊之處在于每隔兩秒執行一次,采用如下措施實現:在定時器中斷中定義一個計數器,每次定時器中斷后,在定時服務子程序中計數器自動加1。如果計數器達到相應的數值(本例中時間片=20ms,延時2s需要計數I=2000ms/20ms=100),則調用“顯示任務”,計時器清0,否則調用“路任務”,計數器自動加一。延時都采用這種方式,延時值即為計數器的值乘以20ms。這樣任何延時都不占用CPU機時。“顯示任務”流程如圖3所示。  



圖3 顯示任務流程圖

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



圖4 定時器中斷流程圖

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

結語

分時系統的設計思想對于多路重復控制的系統具有很好的實用性。本例將分時操作系統的思想引入單片機系統,并利
用該方法實現了多路監測任務,提高了系統的性能價格比,滿足了項目的一些特殊要求,在實際應用中獲得成功。本例中的一些應用只對本系統設計,時間片設置的時間太長,任務的執行定義在一次時間片內,對于本系統來說簡化了編程。如果把時間片設置的更低,并且每次任務劃出特定的內存作為任務堆棧,任務在一次時間片內不能執行完時,壓棧處理。這樣可以更好的體現分時操作系統的原理,可以實現更高需求的應用。
本文地址:http://www.qingdxww.cn/thread-28326-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
blueshiny 發表于 2010-9-22 23:52:41
nm,.m,
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 想要避免發生災難,就用MPLAB SiC電源仿真器!
  • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
  • 我們是Microchip
  • 更佳設計的解決方案——Microchip模擬開發生態系統
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线欧美精品国产综合五月 | 一区二区国产在线播放 | 亚洲国产一区二区三区在线观看 | 黄视频网站免费看 | 国产美女福利在线 | 精品视频麻豆网站 | 久久黄色一级片 | 91精品国产高清在线入口 | 日不卡| 久久精品国产一区 | 日本一区二区在线 | 国产片久久 | 国产三级国产精品 | 中国黄色一级视频 | 欧美高清一区二区 | 香蕉在线精品视频在线观看6 | 欧美日韩精品一区二区在线线 | 羞羞影院免费观看网址在线 | 丁香久久婷婷 | 亚洲欧美日韩另类在线专区 | 国产在线观看91 | 欧美一级特黄视频 | 大丈夫电视剧在线观看 | 久久精品一区二区三区中文字幕 | 91高清完整版在线观看 | 香蕉一区二区 | 国产女人又爽又大 | 青青草国产精品欧美成人 | 免费看亚洲| 国产高清自拍 | 成人手机视频在线观看 | 四虎在线网站 | 99导航 | 日韩欧美国产视频 | 色视频免费看 | 久草小视频 | 动漫免费观看网站 | 黄视频免费在线看 | 女奥特曼苍月战士未删减在线 | 婷婷激情久久 | 岛国在线永久免费视频 |