一種新型無線傳感器網(wǎng)絡操作系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種新型無線傳感器網(wǎng)絡操作系統(tǒng),包括硬件設備初始化程序、操作系統(tǒng)初始化程序和多任務調(diào)度控制系統(tǒng)。其中多任務調(diào)度控制系統(tǒng)包括系統(tǒng)管理單元、任務存儲棧單元、任務運行棧單元、任務棧管理器、任務調(diào)度器和時間管理單元。該系統(tǒng)針對當前常見無線傳感器網(wǎng)絡平臺特點設計,并研究無線傳感器應用程序特點,制定出相應的處理機制,使單片機資源通過操作系統(tǒng)調(diào)度得以充分利用;該系統(tǒng)提供任務加載函數(shù),提高了應用程序開發(fā)速度;該系統(tǒng)引入時間片調(diào)度,提高了處理器的運行效率;該系統(tǒng)將改變無線傳感器網(wǎng)絡應用程序開發(fā)難度大和入門門檻高的局面,其市場應用前景廣闊。
【專利說明】一種新型無線傳感器網(wǎng)絡操作系統(tǒng)
[0001]
【技術領域】
[0002]本發(fā)明涉及一種應用于微處理器的網(wǎng)絡操作系統(tǒng),具體地說涉及通信與控制技術的基于單片機的網(wǎng)絡操作系統(tǒng)。
【背景技術】
[0003]無線傳感器網(wǎng)絡系統(tǒng)主要由若干分布于特定監(jiān)測區(qū)域內(nèi)功能不同的傳感器節(jié)點組成,每個節(jié)點功能的實現(xiàn)包括硬件設計與軟件設計兩大部分,其中軟件程序設計可決定節(jié)點的功能及工作效果。由于目前很多無線傳感器網(wǎng)絡平臺硬件部分都包含一種主控單片機作為數(shù)據(jù)處理核心,且由于單片機數(shù)據(jù)處理能力有限,所以目前很多節(jié)點軟件程序部分通常會結合某款操作系統(tǒng)進行相應開發(fā),使用操作系統(tǒng)可以在很大程度上提高單片機芯片的工作效率。
[0004]目前應用于無線傳感器網(wǎng)絡的操作系統(tǒng)主要有:1、美國加州大學伯克利分校開發(fā)的TinyOS無線傳感器網(wǎng)絡操作系統(tǒng);2、TI德州科技公司為其CC2430及CC2530等無線單片機片上系統(tǒng)量身定做的Z-STACK協(xié)議棧內(nèi)置操作系統(tǒng);3、中國科學院無線通信研究室為使用Atmega 128+CC2420的GAINZ節(jié)點開發(fā)的GOS操作系統(tǒng);4、其他移植版嵌入式操作系統(tǒng)等。
[0005]以上操作系統(tǒng)多數(shù)沒有實現(xiàn)處理器的嚴格分時復用,雖可進行任務調(diào)度,但采用任務級輪換方式,前一任務完成運行才會調(diào)度下一任務。采用這種調(diào)度方式,處理器運行效率相對較低,且系統(tǒng)實時性相對較差。
[0006]此外,使用上述操作系統(tǒng)進行程序開發(fā)時,程序設計人員必須學習相當多的操作系統(tǒng)相關知識,理解操作系統(tǒng)基本概念才能進行程序設計,如任務、事件及調(diào)度等;對于某些操作系統(tǒng)除需了解這些知識外,還必須學習某種特定編程語言才能進行開發(fā)。因此,對使用操作系統(tǒng)進行程序開發(fā)或編寫包含操作系統(tǒng)程序的系統(tǒng)設計者有較高的要求,導致部分初學者對操作系統(tǒng)相關的程序設計敬而遠之。
【發(fā)明內(nèi)容】
[0007]本發(fā)明為了解決上述技術問題而設計的一種新型無線傳感器網(wǎng)絡操作系統(tǒng),使用該操作系統(tǒng)進行程序開發(fā)時,用戶幾乎無需掌握操作系統(tǒng)相關知識,只需學習單片機基本編程所使用的C51語言即可進行應用應該設計,可降低包含操作系統(tǒng)的程序開發(fā)難度。
[0008]本發(fā)明解決其技術問題所采用的技術方案是:
一種新型無線傳感器網(wǎng)絡操作系統(tǒng),包括硬件設備初始化程序、操作系統(tǒng)初始化程序和多任務調(diào)度控制系統(tǒng)。其硬件初始化程序包括單片機初始化、無線射頻單元初始化、用戶操作指示電路初始化、傳感器設備初始化和上位機通信電路初始化五部分組成;操作系統(tǒng)初始化程序包括設置系統(tǒng) 運行狀態(tài)、初始化時間片、初始化單片機計數(shù)器、初始化運行任務編號、初始化任務存儲棧和運行棧、加載任務函數(shù)到任務棧存儲區(qū)和加載運行任務到運行任務棧區(qū);多任務調(diào)度控制系統(tǒng)包括系統(tǒng)管理單元、任務存儲棧單元、任務運行棧單元、任務棧管理器、任務調(diào)度器和時間管理單元;系統(tǒng)管理單元用于控制當前操作系統(tǒng)中任務總數(shù)及各任務的運行狀態(tài),包括系統(tǒng)中現(xiàn)有任務數(shù)量、正在運行的任務號、系統(tǒng)時間片數(shù)據(jù)、運行中的任務狀態(tài)數(shù)據(jù)及操作系統(tǒng)當前狀態(tài)數(shù)據(jù);任務存儲棧單元通過任務存儲棧保存任務初始狀態(tài)數(shù)據(jù)及任務運行斷點數(shù)據(jù),包括任務入口地址數(shù)據(jù)和斷點寄存器值;任務運行棧單元通過任務運行棧存儲任務運行時的動態(tài)數(shù)據(jù),包括函數(shù)嵌套及中斷壓棧數(shù)據(jù);任務棧管理器轉(zhuǎn)移或清除任務棧中存儲的數(shù)據(jù);任務調(diào)度器實現(xiàn)切換當前運行任務號及任務運行棧數(shù)據(jù)更新;時間管理單元通過單片機計數(shù)器實現(xiàn)中斷操作,由中斷發(fā)生間隔控制系統(tǒng)運行節(jié)拍實現(xiàn)多任務輪轉(zhuǎn)運行。
[0009]所述的一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其系統(tǒng)管理單元中其任務數(shù)量用于表示此時操作系統(tǒng)中加載的任務數(shù)量,通過計算獲得任務存儲棧的使用情況;其正在運行的任務號表示當前系統(tǒng)中相應編號的任務正處于運行態(tài),任務運行棧中的數(shù)據(jù)為該編號對應的任務數(shù)據(jù);系統(tǒng)時間片數(shù)據(jù)表示當前運行任務的剩余時間片;運行任務狀態(tài)數(shù)據(jù)表示正在運行任務可能處于的所有狀態(tài),包括就緒、凍結、結束和延時四種狀態(tài),是操作系統(tǒng)任務控制的必備任務屬性,該屬性也將存入任務存儲棧的高地址區(qū);操作系統(tǒng)當前狀態(tài)數(shù)據(jù)表示系統(tǒng)的運行狀態(tài),包括啟動、停止、死鎖和空閑四種狀態(tài),用于指示操作系統(tǒng)當前的運行狀況。
[0010]所述一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其系統(tǒng)任務存儲棧單元的任務入口地址為2字節(jié),采用小端存儲模式;斷點寄存器值設置20字節(jié),為靜態(tài)存儲空間,使用單片機片內(nèi)存儲區(qū),實際使用中可根據(jù)需求設定,創(chuàng)建多個任務時,此部分空間按對應倍數(shù)增加。
[0011]所述一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其系統(tǒng)任務存儲棧單元的任務入口地址為2字節(jié),采用小端存儲模式;斷點寄存器值設置22字節(jié),為靜態(tài)存儲空間,使用單片機片外存儲區(qū),實際使用中可根據(jù)需求設定,創(chuàng)建多個任務時,此空間按對應倍數(shù)增加。
[0012]所述一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其任務運行棧單元其任務運行棧存儲空間設定為44字節(jié),為單個任務靜態(tài)存儲棧的二倍,任務運行棧采用小端存儲模式;在用戶任務運行時,單片機CPU部分通過調(diào)度SP堆棧指針訪問任務運行??臻g來控制用戶任務運行,同時運行棧中只存儲一個任務的運行數(shù)據(jù),通過SP指針采用寄存器間接尋址進行訪問,SP指針寄存器為8位,間接訪問單片機片內(nèi)存儲區(qū)。
[0013]所述一種新型無線傳感器網(wǎng)絡操作系統(tǒng),在系統(tǒng)初始化時,任務棧管理器通過變量控制將任務存儲棧及運行棧內(nèi)數(shù)據(jù)全部填零清除以保證用戶任務正常加載和運行;在任務調(diào)度器進行任務切換時,任務棧管理器將任務運行棧內(nèi)數(shù)據(jù)轉(zhuǎn)存入任務存儲棧中,并將新運行任務數(shù)據(jù)存入任務運行棧,實現(xiàn)任務運行數(shù)據(jù)切換。
[0014]所述一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其調(diào)度時首先判斷任務運行棧中有效數(shù)據(jù)數(shù)量是否大于單個任務存儲棧存儲單元數(shù)量,如大于則不進行調(diào)度,反之則進行調(diào)度;當程序正在進行傳感器平臺設備相關調(diào)度時則不進行任務調(diào)度;當進行任務調(diào)度時,任務調(diào)度器首先將運行寄存器壓棧并切換運行任務號,檢測任務運行棧區(qū),計算斷點SP指針數(shù)據(jù)并存儲于任務存儲棧最高地址單元,然后根據(jù)SP指針位置調(diào)用任務棧管理器將運行棧數(shù)據(jù)保存到任務存儲棧中。[0015]所述一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其時間管理單元采用時間片輪轉(zhuǎn)法調(diào)度機制,為搶占式調(diào)度;當系統(tǒng)開始運行時,系統(tǒng)自動分配時間片并切換至需運行的任務,使之進入運行狀態(tài);當發(fā)生計數(shù)器中斷,則時間片數(shù)自減,當時間片用完時任務調(diào)度器進行任務調(diào)度工作。
[0016]所述一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其時間管理單元增加中斷累加器用于控制無線通信協(xié)議的時序。
[0017]本發(fā)明的有益效果是該系統(tǒng)針對當前常見無線傳感器網(wǎng)絡平臺特點設計,并研究無線傳感器應用程序特點,制定出相應的處理機制,使單片機資源通過操作系統(tǒng)調(diào)度得以充分利用,特別是處理機資源完全通過操作系統(tǒng)分配,使用戶任務平等運行。
[0018]該系統(tǒng)提供任務加載函數(shù),開發(fā)人員只需掌握基本編程技術和少量操作系統(tǒng)相關知識即可使用本函數(shù)將自己編寫的應用任務添加到系統(tǒng)中實現(xiàn)相應功能。用戶無需掌握任務號和任務狀態(tài)控制等內(nèi)容,此部分控制完全由操作系統(tǒng)內(nèi)核功能完成。這種設計大幅降低了包含操作系統(tǒng)程序設計的難度,提高了應用程序開發(fā)速度。
[0019]該系統(tǒng)在無線傳感器平臺引入時間片調(diào)度,提高了處理器的運行效率,同時由于時間控制機制引入到系統(tǒng)中,使用戶自主編寫協(xié)議的開發(fā)更加方便,協(xié)議時序控制可通過系統(tǒng)機制完成,簡化了用戶代碼,提高了程序運行效率。
[0020]隨著計算機技術的發(fā)展,無線傳感器網(wǎng)絡系統(tǒng)已成為我們?nèi)粘I钣|手可及的組成部分,從樓宇安防系統(tǒng)到智能家居,這種小型專用網(wǎng)絡以其獨有的優(yōu)勢占領著專用無線設備領域的市場。而無線傳感器網(wǎng)絡程序開發(fā)通常因為操作系統(tǒng)的存在使其對于普通用戶來說難度較大。本無線傳感器網(wǎng)絡操作系統(tǒng)將改變應用程序開發(fā)難度大這一局面,市場應用前景廣闊。
【專利附圖】
【附圖說明】
[0021]圖1為本發(fā)明一種新型無線傳感器網(wǎng)絡操作系統(tǒng)邏輯框圖。
【具體實施方式】
[0022]下面結合附圖和實施例對本發(fā)明進一步說明。
[0023]如圖1所示(不帶斜影線的部分為本發(fā)明所描述的操作系統(tǒng)部分),本發(fā)明一種新型無線傳感器網(wǎng)絡操作系統(tǒng)采用時間片輪轉(zhuǎn)機制進行任務調(diào)度,系統(tǒng)按功能劃分包括系統(tǒng)核心及外圍控制兩部分,系統(tǒng)核心部分負責任務調(diào)度和切換控制,是實現(xiàn)操作系統(tǒng)功能的主要部分。本操作系統(tǒng)核心針對無線傳感器網(wǎng)絡程序特點設計,采用較大的任務棧區(qū)存儲空間以滿足復雜的任務函數(shù)設計要求,同時配合單片機原有資源添加時間控制機制,實現(xiàn)處理機調(diào)度自動化。
[0024]外圍控制部分包括傳感器平臺硬件設備初始化和操作系統(tǒng)初始化兩部分,為用戶編寫的任務函數(shù)運行創(chuàng)造了初始環(huán)境,使平臺上的應用程序穩(wěn)定可靠運行。全部初始化操作完成后單片機程序進入操作系統(tǒng)控制態(tài),全部任務函數(shù)皆由系統(tǒng)內(nèi)核負責調(diào)度和控制,實現(xiàn)了平臺任務控制自動化。
[0025]一、系統(tǒng)核心部分設計
1、系統(tǒng)任務存儲棧單元設計 系統(tǒng)任務存儲棧用于保存任務初始狀態(tài)數(shù)據(jù)及任務運行斷點數(shù)據(jù),包括任務入口地址數(shù)據(jù)和斷點寄存器值。其中任務入口地址為2字節(jié),采用小端存儲模式。斷點寄存器值根據(jù)目標處理器不同共設置20字節(jié),實際使用中可根據(jù)需求設定。此部分存儲區(qū)共22字節(jié),為任務靜態(tài)存儲空間,可使用單片機片內(nèi)存儲區(qū)或片外存儲區(qū)。創(chuàng)建多個任務時,此部分空間按對應倍數(shù)增加。
[0026]2、任務運行棧單元設計
任務運行棧用于存儲任務運行時的動態(tài)數(shù)據(jù),包括函數(shù)嵌套及中斷壓棧數(shù)據(jù)。本操作系統(tǒng)主要針對無線傳感器網(wǎng)絡平臺,其任務函數(shù)設計通常較復雜,為增加任務函數(shù)嵌套層數(shù),本任務運行棧存儲空間設定為44字節(jié),為單個任務靜態(tài)存儲棧的二倍,有效遏制因存儲空間不足引起任務棧溢出導致用戶程序運行錯誤的情況出現(xiàn)。與任務存儲棧相同,為保證各存儲單元相互對應,任務運行棧仍采用小端存儲模式。在用戶任務運行時,單片機CPU部分通過調(diào)度SP堆棧指針訪問任務運行??臻g來控制用戶任務運行,同時運行棧中只存儲一個任務的運行數(shù)據(jù),提高了處理器的運行效率。由于任務運行棧通過SP指針采用寄存器間接尋址進行訪問,且SP指針寄存器僅有8位,所以任務運行棧設計使用單片機片內(nèi)存儲區(qū)。
[0027]3、任務棧管理器設計
任務棧管理器用于轉(zhuǎn)移或清除任務棧中存儲的數(shù)據(jù)。當系統(tǒng)初始化時,任務棧管理器通過變量控制將任務存儲棧及運行棧內(nèi)數(shù)據(jù)全部清除(置零),以保證用戶任務正常加載和運行。當任務調(diào)度器進行任務切換時,任務棧管理器將任務運行棧內(nèi)數(shù)據(jù)轉(zhuǎn)存入任務存儲棧中,并將新運行任務數(shù)據(jù)存入任務運行棧,實現(xiàn)任務運行數(shù)據(jù)切換功能。
[0028]4、任務調(diào)度器設計
任務調(diào)度器是整個操作系統(tǒng)的重要組成部分。本操作系統(tǒng)任務調(diào)度器實現(xiàn)兩種調(diào)度功能,即切換當前運行任務號及任務運行棧數(shù)據(jù)更新功能。當任務調(diào)度時機成熟時,任務調(diào)度器首先將運行寄存器壓棧并切換運行任務號,檢測任務運行棧區(qū),計算斷點SP指針數(shù)據(jù)并存儲于任務存儲棧最高地址單元,然后根據(jù)SP指針位置調(diào)用任務棧管理器將運行棧數(shù)據(jù)保存到任務存儲棧中。由于本操作系統(tǒng)主要應用于單片機類處理芯片,任務調(diào)度時機根據(jù)運行棧數(shù)據(jù)量及運行狀態(tài)決定,如程序正在進行傳感器平臺設備相關調(diào)度時則不進行任務調(diào)度,所以任務存儲棧不會出現(xiàn)溢出狀況。
[0029]5、時間管理單元設計
時間管理單元通過單片機計數(shù)器中斷實現(xiàn),由中斷發(fā)生間隔控制系統(tǒng)運行節(jié)拍。本操作系統(tǒng)任務運行采用時間片輪轉(zhuǎn)法調(diào)度機制,為搶占式調(diào)度。當系統(tǒng)開始運行時,系統(tǒng)自動分配時間片并切換需運行的任務,使之進入運行狀態(tài)。如發(fā)生計數(shù)器中斷,則時間片數(shù)自減,當時間片用完時任務調(diào)度器進行任務調(diào)度工作。采用時間片輪轉(zhuǎn)調(diào)度機制可使處理及資源平均分配,任務運行幾率相等,提高了處理器的利用率。考慮無線傳感器網(wǎng)絡需配合相應無線通信協(xié)議使用,時間管理單元部分加入中斷累加器用于控制協(xié)議的時序,從而方便開發(fā)人員進行協(xié)議設計。
[0030]6、系統(tǒng)管理單元設計
系統(tǒng)管理單元用于控制當前操作系統(tǒng)中任務總數(shù)及各任務的運行狀態(tài),其中包括系統(tǒng)中現(xiàn)有任務數(shù)量、正在運行的任務號、系統(tǒng)時間片數(shù)據(jù)、運行中的任務狀態(tài)數(shù)據(jù)及操作系統(tǒng)當前狀態(tài)數(shù)據(jù)。其中任務數(shù)量用于表示此時操作系統(tǒng)中加載的任務數(shù)量,也可通過計算獲得任務存儲棧的使用情況;正在運行的任務號表示當前系統(tǒng)中相應編號的任務正處于運行態(tài),任務運行棧輸數(shù)據(jù)為該編號對應的任務數(shù)據(jù);系統(tǒng)時間片數(shù)據(jù)表示當前運行任務的剩余時間片,是搶占式任務調(diào)度機制必備的系統(tǒng)參數(shù)之一;運行任務狀態(tài)數(shù)據(jù)表示正在運行任務可能處于的所有狀態(tài),包括就緒、凍結、結束和延時四種狀態(tài),是操作系統(tǒng)任務控制的必備任務屬性,該屬性也將存入任務存儲棧的高地址區(qū);操作系統(tǒng)當前狀態(tài)數(shù)據(jù)表示系統(tǒng)的運行狀態(tài),包括啟動、停止、死鎖和空閑四種狀態(tài),用于指示操作系統(tǒng)當前的運行狀況。
[0031]二、外圍控制部分設計
1、硬件初始化控制設計
由于本操作系統(tǒng)面向應用對象為無線傳感器網(wǎng)絡系統(tǒng),所以硬件初始化為操作系統(tǒng)需提供的功能。此部分包括單片機初始化、無線射頻單元初始化、用戶操作指示電路初始化、傳感器設備初始化和上位機通信電路初始化五部分組成。因為硬件初始化為一次性操作,當系統(tǒng)啟動后通常只需運行一次,故以上三種控制部分均采用普通函數(shù)控制。
[0032]2、操作系統(tǒng)初始化設計
當無線傳感器網(wǎng)絡硬件上電以后,單片機加載內(nèi)部程序并進入運行態(tài),此過程除需完成上述硬件設備初始化操作外還必須對操作系統(tǒng)中任務的運行環(huán)境初始化。主要的初始化操作包括:設置系統(tǒng)運行狀態(tài)(改為運行態(tài))、初始化時間片(設置為初始時間片)、初始化單片機計數(shù)器(設置工作模式并裝入初值)、初始化運行任務編號(從第一個任務開始編號)、初始化任務存儲棧和運行棧(用零填充)、加載任務函數(shù)到任務棧存儲區(qū)(形成任務運行的初始狀態(tài))和加載運行任務到運行任務棧區(qū)(加載第一個運行的任務到運行棧區(qū))。完成此部分設計后操作系統(tǒng)可以自動創(chuàng)建任務運行的原始環(huán)境。然后調(diào)整單片機SP堆棧指針通過寄存器間接尋址控制其調(diào)用已經(jīng)加載到運行棧的任務使之進入運行狀態(tài),系統(tǒng)初始化完成。任務加載功能和系統(tǒng)啟動控制通過函數(shù)實現(xiàn),用戶只需調(diào)用即可使用全部系統(tǒng)功能。
[0033]本發(fā)明不局限于上述最佳實施方式,任何人在本發(fā)明的啟示下得出的其他任何與本發(fā)明相同或相近似的產(chǎn)品,均落在本發(fā)明的保護范圍之內(nèi)。
【權利要求】
1.一種新型無線傳感器網(wǎng)絡操作系統(tǒng),包括硬件設備初始化程序、操作系統(tǒng)初始化程序和多任務調(diào)度控制系統(tǒng);其特征在于:硬件初始化程序包括單片機初始化、無線射頻單元初始化、用戶操作指示電路初始化、傳感器設備初始化和上位機通信電路初始化五部分組成;操作系統(tǒng)初始化程序包括設置系統(tǒng)運行狀態(tài)、初始化時間片、初始化單片機計數(shù)器、初始化運行任務編號、初始化任務存儲棧和運行棧、加載任務函數(shù)到任務棧存儲區(qū)和加載運行任務到運行任務棧區(qū);多任務調(diào)度控制系統(tǒng)包括系統(tǒng)管理單元、任務存儲棧單元、任務運行棧單元、任務棧管理器、任務調(diào)度器和時間管理單元;系統(tǒng)管理單元用于控制當前操作系統(tǒng)中任務總數(shù)及各任務的運行狀態(tài),包括系統(tǒng)中現(xiàn)有任務數(shù)量、正在運行的任務號、系統(tǒng)時間片數(shù)據(jù)、運行中的任務狀態(tài)數(shù)據(jù)及操作系統(tǒng)當前狀態(tài)數(shù)據(jù);任務存儲棧單元通過任務存儲棧保存任務初始狀態(tài)數(shù)據(jù)及任務運行斷點數(shù)據(jù),包括任務入口地址數(shù)據(jù)和斷點寄存器值;任務運行棧單元通過任務運行棧存儲任務運行時的動態(tài)數(shù)據(jù),包括函數(shù)嵌套及中斷壓棧數(shù)據(jù);任務棧管理器轉(zhuǎn)移或清除任務棧中存儲的數(shù)據(jù);任務調(diào)度器實現(xiàn)切換當前運行任務號及任務運行棧數(shù)據(jù)更新;時間管理單元通過單片機計數(shù)器實現(xiàn)中斷操作,由中斷發(fā)生間隔控制系統(tǒng)運行節(jié)拍實現(xiàn)多任務輪轉(zhuǎn)運行。
2.根據(jù)權利要求1所述的一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其特征在于:系統(tǒng)管理單元中其任務數(shù)量用于表示此時操作系統(tǒng)中加載的任務數(shù)量,通過計算獲得任務存儲棧的使用情況;其正在運行的任務號表示當前系統(tǒng)中相應編號的任務正處于運行態(tài),任務運行棧中的數(shù)據(jù)為該編號對應的任務數(shù)據(jù);系統(tǒng)時間片數(shù)據(jù)表示當前運行任務的剩余時間片;運行任務狀態(tài)數(shù)據(jù)表示正在運行任務可能處于的所有狀態(tài),包括就緒、凍結、結束和延時四種狀態(tài),是操作系統(tǒng)任務控制的必備任務屬性,該屬性也將存入任務存儲棧的高地址區(qū);操作系統(tǒng)當前狀態(tài)數(shù)據(jù)表示系統(tǒng)的運行狀態(tài),包括啟動、停止、死鎖和空閑四種狀態(tài),用于指示操作系統(tǒng)當前的運行狀況。
3.根據(jù)權利要求1所述的一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其特征在于:系統(tǒng)任務存儲棧單元的任務入口地址為2字節(jié),采用小端存儲模式;斷點寄存器值設置20字節(jié),為靜態(tài)存儲空間,使用單片機片內(nèi)存儲區(qū),實際使用中可根據(jù)需求設定,創(chuàng)建多個任務時,此部分空間按對應倍數(shù)增加。
4.根據(jù)權利要求1所述的一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其特征在于:系統(tǒng)任務存儲棧單元的任務入口地址為2字節(jié),采用小端存儲模式;斷點寄存器值設置22字節(jié),為靜態(tài)存儲空間,使用單片機片外存儲區(qū),實際使用中可根據(jù)需求設定,創(chuàng)建多個任務時,此空間按對應倍數(shù)增加。
5.根據(jù)權利要求1所述的一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其特征在于:任務運行棧單元其任務運行棧存儲空間設定為44字節(jié),為單個任務靜態(tài)存儲棧的二倍,任務運行棧采用小端存儲模式;在用戶任務運行時,單片機CPU部分通過調(diào)度SP堆棧指針訪問任務運行??臻g來控制用戶任務運行,同時運行棧中只存儲一個任務的運行數(shù)據(jù),通過SP指針采用寄存器間接尋址進行訪問,SP指針寄存器為8位,間接訪問單片機片內(nèi)存儲區(qū)。
6.根據(jù)權利要求1所述的一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其特征在于:在系統(tǒng)初始化時,任務棧管理器通過變量控制將任務存儲棧及運行棧內(nèi)數(shù)據(jù)全部填零清除以保證用戶任務正常加載和運行;在任務調(diào)度器進行任務切換時,任務棧管理器將任務運行棧內(nèi)數(shù)據(jù)轉(zhuǎn)存入任務存儲棧中,并將新運行任務數(shù)據(jù)存入任務運行棧,實現(xiàn)任務運行數(shù)據(jù)切換。
7.根據(jù)權利要求1所述的一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其特征在于:調(diào)度時首先判斷任務運行棧中有效數(shù)據(jù)數(shù)量是否大于單個任務存儲棧存儲單元數(shù)量,如大于則不進行調(diào)度,反之則進行調(diào)度;當程序正在進行傳感器平臺設備相關調(diào)度時則不進行任務調(diào)度;當進行任務調(diào)度時,任務調(diào)度器首先將運行寄存器壓棧并切換運行任務號,檢測任務運行棧區(qū),計算斷點SP指針數(shù)據(jù)并存儲于任務存儲棧最高地址單元,然后根據(jù)SP指針位置調(diào)用任務棧管理器將運行棧數(shù)據(jù)保存到任務存儲棧中。
8.根據(jù)權利要求1所述的一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其特征在于:時間管理單元采用時間片輪轉(zhuǎn)法調(diào)度機制,為搶占式調(diào)度;當系統(tǒng)開始運行時,系統(tǒng)自動分配時間片并切換至需運行的任務,使之進入運行狀態(tài);當發(fā)生計數(shù)器中斷,則時間片數(shù)自減,當時間片用完時任務調(diào)度器進行任務調(diào)度工作。
9.根據(jù)權利要求1所述的一種新型無線傳感器網(wǎng)絡操作系統(tǒng),其特征在于:時間管理單元增加中斷累加器用于控制無線通信協(xié)議的時序。
【文檔編號】G06F9/48GK103645941SQ201310656534
【公開日】2014年3月19日 申請日期:2013年12月9日 優(yōu)先權日:2013年12月9日
【發(fā)明者】崔麗珍, 李璋, 胡海東, 員曼曼, 李蕾 申請人:內(nèi)蒙古科技大學