[碩士論文精品]基于arm架構(gòu)的μcosⅱ移植及其實(shí)時(shí)同步交流采樣研究_第1頁(yè)
[碩士論文精品]基于arm架構(gòu)的μcosⅱ移植及其實(shí)時(shí)同步交流采樣研究_第2頁(yè)
[碩士論文精品]基于arm架構(gòu)的μcosⅱ移植及其實(shí)時(shí)同步交流采樣研究_第3頁(yè)
[碩士論文精品]基于arm架構(gòu)的μcosⅱ移植及其實(shí)時(shí)同步交流采樣研究_第4頁(yè)
[碩士論文精品]基于arm架構(gòu)的μcosⅱ移植及其實(shí)時(shí)同步交流采樣研究_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

[碩士論文精品]基于arm架構(gòu)的μcosⅱ移植及其實(shí)時(shí)同步交流采樣研究.pdf 免費(fèi)下載

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

湖北工業(yè)大學(xué)碩士學(xué)位論文摘要隨著微處理器技術(shù)與信息技術(shù)的不斷發(fā)展,嵌入式系統(tǒng)的應(yīng)用也進(jìn)入到國(guó)防、工業(yè)、能源、交通以及日常生活中的各個(gè)領(lǐng)域。嵌入式系統(tǒng)的軟件核心是嵌入式操作系統(tǒng)。然而,國(guó)內(nèi)在嵌入式系統(tǒng)軟件開(kāi)發(fā)上有很多困難,主要有國(guó)外成熟的RTOS大都價(jià)格昂貴并且不公開(kāi)源代碼,用好這些操作系統(tǒng)需對(duì)計(jì)算機(jī)體系結(jié)構(gòu)有深刻理解。針對(duì)以上問(wèn)題,免費(fèi)公開(kāi)源代碼的嵌入式操作系統(tǒng)就倍受矚目了,PCOSII就是其中之一。GCOSII是面向中小型應(yīng)用的、基于優(yōu)先級(jí)的可剝奪嵌入式實(shí)時(shí)內(nèi)核,其特點(diǎn)是小巧、性能穩(wěn)定、可免費(fèi)獲得源代碼。本文在深入研究PCOSII內(nèi)核基礎(chǔ)上,將其運(yùn)用于實(shí)際課題,完成了基于ARM架構(gòu)的PCOSII移植及實(shí)時(shí)同步交流采樣的誤差補(bǔ)償研究。本文主要工作內(nèi)容和研究成果如下J1剖析了PCOSII操作系統(tǒng)內(nèi)核,重點(diǎn)研究了ITCOSII內(nèi)核的任務(wù)管理與調(diào)度算法機(jī)理,得出了PCOSII內(nèi)核優(yōu)點(diǎn)任務(wù)調(diào)度算法簡(jiǎn)潔、高效、實(shí)時(shí)性較好與LINUX相比1。2介紹了ARM9體系架構(gòu),重點(diǎn)講敘了MMU存儲(chǔ)管理單元功能。為了提高交流采樣系統(tǒng)的取指令和讀數(shù)據(jù)速度,成功將MMU功能應(yīng)用于本嵌入式系統(tǒng)中。3完成了GCOSII操作系統(tǒng)在目標(biāo)板上的移植,主要用匯編語(yǔ)言編寫(xiě)了啟動(dòng)代碼、開(kāi)關(guān)中斷、任務(wù)切換和首次任務(wù)切換等函數(shù)。4針對(duì)國(guó)內(nèi)外提出的同步交流采樣誤差補(bǔ)償算法的局限性,本文從理論上對(duì)同步交流采樣的準(zhǔn)確誤差進(jìn)行了研究,并嘗試根據(jù)被測(cè)信號(hào)周期的首尾過(guò)零點(diǎn)的三角形相似法,求出誤差參數(shù)并對(duì)誤差進(jìn)行補(bǔ)償。此外,考慮到采樣周期丁不均勻,經(jīng)多次采樣后會(huì)產(chǎn)生累積誤差,本文也給出了采樣周期丁的優(yōu)化算法。5完成了系統(tǒng)硬件設(shè)計(jì),并根據(jù)補(bǔ)償算法和丁優(yōu)化法則,編寫(xiě)了相應(yīng)采樣驅(qū)動(dòng)和串口驅(qū)動(dòng)。最后對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行了分析和比較,得出重要結(jié)論該補(bǔ)償算法實(shí)現(xiàn)簡(jiǎn)單,計(jì)算機(jī)工作量小,精度較高。關(guān)鍵詞嵌入式系統(tǒng),RTOS,PCOSII,ARM,同步交流采樣湖北工業(yè)大學(xué)碩士學(xué)位論文ABSTRACTWIMTHEDEVELOPMENTOFMICROPROCESSORTECHNOLOGYANDINFORMATIONTECHNOLOGY,EMBEDDEDSYSTEMHASBEINGAPPLIEDTONATIONALDEFENSE,INDUSTRY,ENERGY,TRANSPORTATION,ASWELLASALLFIELDSOFDAILYLIFEEMBEDDEDSYSTEMSOFTWAREISTHECOREOFEMBEDDEDOPERATINGSYSTEMHOWEVER,THEREISSTILLMUCHDIFFICULTYINDEVELOPINGEMBEDDEDSYSTEMSOFAR,ANDITMAINLYINCLUDESMOSTOVERSEASSTABLEANDHIGHLYRELIABLEEMBEDDEDRTOSAREVERYEXPENSIVEANDNOTOPENSOURCE,ASWELLASAPPLYINGRTOSWELLNEEDSMASTERINGCOMPUTERSYSTEMSTRUCTUREINVIEWOFTHEABOVEPROBLEMS,F(xiàn)REEOPENSOURCEEMBEDDEDOPERATINGSYSTEMSCANBECONSIDEREDFIRST,ANDPCOSIIISONEOFTHEMASALLEMBEDDEDREALTIMEKERNELBASEDONTASKPRIORITY,PCOSIIHASBEINGMAINLYUSEDINTHEMINITYPEEMBEDDEDAPPLICATIONITHASLOTSOFSTRONGPOINTSUCHASSMALLSIZE,WITHOUTPAYING,HIGHSTABILITYANDRELIABILITYBASEDONDEEPSTUDYOFPCOSIIKERNEL,THISPAPERAPPLIESITTOACTUALPROJECT,ANDCOMPLETESTRANSPLANTINGITTOARMMICROPROCESSORASWELLASRESEARCHONREALTIMESYNCHRONOUSACSAMPLINGERRORCOMPENSATIONTHISPAPERMAINLYCONTAINSASPECTSOFWORKANDRESEARCHASFOLLOWS1LUCOSIIOPERATINGSYSTEMISANALYZEDINDETAILANDESPECIALLYPCOSIITASKMANAGEMENTANDSCHEDULINGALGORITHMMECHANISMISFOCUSED011THEN,ITCOMESTOACONCLUSIONTHATITCOSIICOREHASBETTERADVANTAGESSUCHASSIMPLE,EFFICIENTTASKSCHEDULINGALGORITHM,ANDHIGHREALTIMEQUALITYCOMPAREDWITHLINUXOPERATINGSYSTEM2ARM9ARCHITECTUREISWELLINTRODUCED,ANDAMONGITMMUFUNCTIONMEMORYMANAGEMENTUNITISPRESENTEDPARTICULARLYANDSPECIFICALLYINORDERTOIMPROVETHESPEEDOFINSTRUCTIONSFETCHANDDATAREAD,MMUISAPPLIEDTOTHISEMBEDDEDSYSTEMSUCCESSFULLY3PORTINGITCOSIIOPERATINGSYSTEMTOTARGETBOARDISSUCCESSFULLYCOMPLETEDTHEMAINWORKISTODESIGNBOOTCODE,CLOSEOPENINTERRUPTION,TASKSWITCHINGANDFIRSTTASKSWITCHINGFUNCTIONETCBYUSINGASSEMBLYLANGUAGE4AIMINGATTHELIMITATIONSOFTHESESYNCHRONOUSACSAMPLINGERRORCOMPENSATIONALGORITHMSWHICHHAVEBEENRAISEDATHOMEANDABROAD,THISPAPERCARRIESOUTDEEPRESEARCHONACCURATESYNCHRONOUSACSAMPLINGERRORINTHEORY,TRIESTOWORKOUTERRORPARAMETERSANDTHENCOMPENSATESERRORPRECISELYBASEDONTRIANGLESIMILARLAWWHICHCANBEUSEDINTHETRIANGLESSTANDINGATZEROCROSSINGPOINTNEARBYINAMEASUREDSIGNALCYCLEINADDITION,TAKINGINTOACCOUNTTHEUNEVENSAMPLINGPERIODAT,AFTERMANYTIMESREPEATEDSAMPLINGITWILLRESULTINACUMULATIVEERROR,ANDTHISPAPERALSOGIVESANOPTIMIZATIONALGORITHMTOSAMPLINGPERIODAT5THISPAPERHASCOMPLETEDTHESYSTEMHARDWARESTRUCTUREDESIGN,ANDHASFINISHEDCORRESPONDINGSAMPLEDRIVENANDSERIALPORTDRIVENPROGRAMINACCORDANCEWITHTHEERRORCOMPENSATIONALGORITHMANDATOPTIMIZATIONRULEFINALLYWITHEXPERIMENTALDATAII湖北工業(yè)大學(xué)碩士學(xué)位論文ANALYZEDANDCOMPARED,ALLIMPORTANTCONCLUSIONISDRAWNTHISKINDOFERRORCOMPENSATIONALGORITHMISEASYTOBEREALIZED,NEEDSLOWERCOMPUTERWORKLOAD,ANDHAS1I曲PRECISIONKEYWORDSEMBEDDEDOPERATINGSYSTEM,RTOS,PCOSII,ARM,SYNCHRONOUSACSAMPLING湖辦二堂大謦學(xué)位論文原創(chuàng)性聲明和使用授權(quán)說(shuō)明原創(chuàng)性聲明本人鄭重聲明所呈交的學(xué)位論文,是本人在導(dǎo)師指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的研究成果。除文中已經(jīng)標(biāo)明引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果。對(duì)本文的研究做出貢獻(xiàn)的個(gè)人和集體,均己在文中以明確方式標(biāo)明。本聲明的法律結(jié)果由本人承擔(dān)。學(xué)位論文作者簽名楊筆琿日期三的7年6月萬(wàn)日學(xué)位論文版權(quán)使用授權(quán)書(shū)本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,即學(xué)校有權(quán)保留并向國(guó)家有關(guān)部門(mén)或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)湖北工業(yè)大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。學(xué)位論文作者簽名櫥珥日期加C1年6月玀日湖北工業(yè)大學(xué)碩士學(xué)位論文11課題意義和目標(biāo)第1章緒論隨著嵌入式微處理器的發(fā)展,嵌入式操作系統(tǒng)日新月異,而且他們被廣泛地應(yīng)用于工業(yè)的各個(gè)領(lǐng)域。嵌入式實(shí)時(shí)操作系統(tǒng)的引入,使產(chǎn)品的實(shí)時(shí)性和可靠性得到顯著提升。作為一名嵌入式開(kāi)發(fā)者,很有必要掌握一種嵌入式實(shí)時(shí)操作系統(tǒng)。本課題的意義在于,以源代碼開(kāi)放的實(shí)時(shí)操作系統(tǒng)LACOSII為內(nèi)核【1】,以基于3C2440微處理器進(jìn)行嵌入式系統(tǒng)的開(kāi)發(fā)和研究,這對(duì)于利用開(kāi)源代碼【2叫開(kāi)發(fā)嵌入式實(shí)時(shí)操作系統(tǒng)具有極好參考價(jià)值。另外,本論文對(duì)同步交流采樣誤差進(jìn)行了研究,這對(duì)提高交流采樣精度有著重要意義。對(duì)于本課題,主要有兩個(gè)目標(biāo)一是掌握實(shí)時(shí)操作系統(tǒng)原理,以著名的嵌入式實(shí)時(shí)操作系統(tǒng)GCOSII為研究對(duì)象,徹底搞清其實(shí)現(xiàn)細(xì)節(jié)和運(yùn)行方式,并實(shí)現(xiàn)在微處理器上移植和調(diào)通系統(tǒng)。二是搭建一個(gè)ARM9嵌入式同步交流采樣系統(tǒng)包括系統(tǒng)的硬件設(shè)計(jì),GCOSII的移植,采樣和串口驅(qū)動(dòng)的編寫(xiě)等,從理論和實(shí)踐上對(duì)本文提出的同步交流采樣誤差補(bǔ)償進(jìn)行研究和驗(yàn)證。12嵌入式系統(tǒng)概述本文是基于嵌入式系統(tǒng)的開(kāi)發(fā)和研究,所以對(duì)嵌入式系統(tǒng)、嵌入式操作系統(tǒng)、實(shí)時(shí)操作系統(tǒng)、嵌入式實(shí)時(shí)操作系統(tǒng)要有清楚地認(rèn)識(shí),以下是它們的定義和介紹。121嵌入式系統(tǒng)和嵌入式操作系統(tǒng)嵌入式系統(tǒng)15J定義為以應(yīng)用為主體,軟件和硬件均可裁減,適應(yīng)對(duì)功能、可靠性、成本、以及功耗等要求較嚴(yán)格的專(zhuān)用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)由硬件和軟件兩大部分組成,其中軟件核心是嵌入式操作系統(tǒng)。嵌入式操作系統(tǒng)【61EMBEDDEDOPERATINGSYSTEM是一種支持嵌入式應(yīng)用的專(zhuān)用軟件。嵌入式操作系統(tǒng)與通用操作系統(tǒng)相比,具有更強(qiáng)的實(shí)時(shí)性和硬件依賴(lài)性。122實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)是指能支持實(shí)時(shí)控制的專(zhuān)用操作系統(tǒng)軟件。實(shí)時(shí)的含義并非指速度快,而是指有響應(yīng)時(shí)間的限定,超過(guò)一定時(shí)間都認(rèn)為是非法的,所以,實(shí)時(shí)湖北工業(yè)大學(xué)碩士學(xué)位論文操作系統(tǒng)具有可預(yù)測(cè)性和高可靠性。實(shí)時(shí)操作系統(tǒng)與普通操作系統(tǒng)的主要區(qū)別有任務(wù)處理的確定性、響應(yīng)靈敏度、用戶(hù)參與控制、可靠性以及故障保護(hù)措施【7兒引。所以在實(shí)時(shí)操作系統(tǒng)中,任務(wù)處理時(shí)間是確定的、可預(yù)測(cè)的,這一點(diǎn)非常關(guān)例9】ILOJ。實(shí)時(shí)操作系統(tǒng)分兩種,一種是“硬實(shí)時(shí)“,另一種是“軟實(shí)時(shí)。“硬實(shí)時(shí)指對(duì)任務(wù)處理和時(shí)間要求上,只能作出承諾或拒絕?!败泴?shí)時(shí)”先對(duì)系統(tǒng)完成該任務(wù)的能力進(jìn)行分析和估計(jì),然后由計(jì)算出的概率決定任務(wù)的執(zhí)行與否。目前對(duì)軟實(shí)時(shí)操作系統(tǒng)的調(diào)度算法研究頗多,主要停留在采用經(jīng)典反饋控制技術(shù)的常規(guī)控制算法上【。41。對(duì)硬實(shí)時(shí)方面的調(diào)度算法研究,包括速率單調(diào)調(diào)度法【151RAM、時(shí)限調(diào)度法DM【16】和最早時(shí)限優(yōu)先調(diào)度算法EDF【17】。EDF調(diào)度總是比固定優(yōu)先級(jí)調(diào)度取得更高的利用率。相對(duì)于速率單調(diào)調(diào)度法RM和時(shí)限調(diào)度法DM,EDF的時(shí)限是任意的,更適用于實(shí)際的實(shí)時(shí)系統(tǒng)。當(dāng)前,使用較多的實(shí)時(shí)操作系統(tǒng)都屬于“軟實(shí)時(shí)。12,3嵌入式實(shí)時(shí)操作系統(tǒng)PCOSIL優(yōu)點(diǎn)IACOSII嵌入式實(shí)時(shí)操作系統(tǒng),已通過(guò)了美國(guó)航空航天管理局FAA的安全認(rèn)證,它的穩(wěn)定性和可靠性均已通過(guò)嚴(yán)格驗(yàn)證。LACOSII具有以下優(yōu)點(diǎn)1源代碼公開(kāi)且免費(fèi)。2代碼量小,其核心代碼只有8K字節(jié)左右,另外用戶(hù)還可以根據(jù)自己的需要對(duì)它進(jìn)行裁剪和修改,所以用戶(hù)實(shí)際系統(tǒng)的代碼量還可以減少。3內(nèi)核對(duì)微處理器以及程序存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器的要求不高,能夠適應(yīng)各種不同的硬件系統(tǒng)。124嵌入式實(shí)時(shí)操作系統(tǒng)開(kāi)發(fā)的發(fā)展動(dòng)向目前,嵌入式實(shí)時(shí)操作系統(tǒng)及嵌入式開(kāi)發(fā)環(huán)境的發(fā)展方向分別是1嵌入式實(shí)時(shí)操作系統(tǒng)正向?qū)崟r(shí)超微內(nèi)核NANOKEMEL方向發(fā)展。上世紀(jì)80年代末期,國(guó)外就提出了微內(nèi)核【18201MICROKERNEL思,想,就是把傳統(tǒng)操作系統(tǒng)的共性抽取出來(lái),作為構(gòu)成各種操作系統(tǒng)微內(nèi)核的基礎(chǔ),而把具體功能放在微內(nèi)核之外。本文的ITCOSII就是一種微內(nèi)核。近幾年,國(guó)外出現(xiàn)了超微內(nèi)核211NANOKEMEL。實(shí)際上,超微內(nèi)核是一種更基本的內(nèi)核代碼層,在它基礎(chǔ)之上可以構(gòu)造各種嵌入式實(shí)時(shí)操作系統(tǒng)。這種實(shí)時(shí)內(nèi)核具有更好的可重用性,同時(shí)可伸縮性【221SCALABILITY也較強(qiáng),所謂可伸縮性,就是指能支持和滿(mǎn)足多種實(shí)時(shí)應(yīng)用的需求。2嵌入式開(kāi)發(fā)環(huán)境將更開(kāi)放和更集成化。2湖北工業(yè)大學(xué)碩士學(xué)位論文在嵌入式開(kāi)發(fā)中,應(yīng)用軟件的使用,需要開(kāi)發(fā)者具有一定深度的操作系統(tǒng)知識(shí)。所以,要開(kāi)發(fā)和設(shè)計(jì)高性能的操作系統(tǒng)應(yīng)用軟件,功能強(qiáng)大的交叉開(kāi)發(fā)工具必不可少。目前,國(guó)外的操作系統(tǒng)集成開(kāi)發(fā)環(huán)境正向高度集成、編譯優(yōu)化、仿真和驗(yàn)證等方向發(fā)展。13本文的主要工作和安排本文主要的工作內(nèi)容是1研究和分析了PCOSII源代碼,為GCOSII在目標(biāo)板上的移植打下基礎(chǔ)。2完成了本采樣系統(tǒng)硬件電路的設(shè)計(jì)。3PCOSII基于ARM920TS3C2440系統(tǒng)的啟動(dòng)代碼的設(shè)計(jì)實(shí)現(xiàn)。4編寫(xiě)ITCOSII到ARM的移植代碼,總結(jié)TCOSII移植的關(guān)鍵技術(shù)等。5編寫(xiě)串口驅(qū)動(dòng)和采樣驅(qū)動(dòng)代碼,完成應(yīng)用程序的開(kāi)發(fā)。6在ADS開(kāi)發(fā)環(huán)境下,采用ARMULATOR和HJTAG仿真器調(diào)試和測(cè)試內(nèi)核及驗(yàn)證移植的正確性包括驅(qū)動(dòng)程序。7本文從理論上推導(dǎo)出同步交流采樣中誤差的主要來(lái)源,提出了同步交流采樣的優(yōu)化算法,在移植了GCOSII的3C2440硬件平臺(tái)上加以分析和驗(yàn)證。論文安排第一章緒論,主要介紹嵌入式實(shí)時(shí)系統(tǒng)相關(guān)的概念。第二章詳細(xì)剖析ITCOSII的代碼及工作機(jī)理。第三章介紹ARM9的體系結(jié)構(gòu),包括編程模型和內(nèi)存管理單元MMU的工作原理。第四章分析移植GCOSII的方法和步驟,特別是針對(duì)不同的處理器必須要修改的幾個(gè)函數(shù),并把GCOSII移植到3C2440目標(biāo)板上。第五章從理論上推導(dǎo)出軟件同步交流采樣F231誤差的主要來(lái)源,提出同步交流采樣的優(yōu)化算法。第六章進(jìn)行系統(tǒng)硬件電路設(shè)計(jì),同時(shí)由誤差補(bǔ)償算法和采樣周期優(yōu)化法則,編寫(xiě)實(shí)時(shí)采樣驅(qū)動(dòng)程序和串口驅(qū)動(dòng)程序,并從實(shí)驗(yàn)數(shù)據(jù)中分析和驗(yàn)證這種算法的可行性。第七章對(duì)本論文進(jìn)行了總結(jié)和展望,說(shuō)明了本文取得的成果以及不足之處。湖北工業(yè)大學(xué)碩士學(xué)位論文第2章嵌入式實(shí)時(shí)操作系統(tǒng)TCOSLI的剖析21引言ILCOSII操作系統(tǒng)的多任務(wù)內(nèi)核,主要包括任務(wù)管理、時(shí)鐘管理、任務(wù)間通信與同步、中斷管理等功能。這些功能是通過(guò)內(nèi)核函數(shù)的形式交給任務(wù)調(diào)用的,且功能函數(shù)全部用ANSIC語(yǔ)言編寫(xiě)。本章對(duì)PCOSII操作系統(tǒng)內(nèi)核進(jìn)行詳細(xì)分析,是為后面ITCOSII在3C2440目標(biāo)板上的移植打基礎(chǔ)。文中首先簡(jiǎn)單介紹了任務(wù)的概念,而后圍繞任務(wù)狀態(tài)轉(zhuǎn)換圖說(shuō)明相關(guān)函數(shù)的功能,詳細(xì)講敘了任務(wù)鏈表的原理和作用。任務(wù)調(diào)度分任務(wù)級(jí)調(diào)度和中斷級(jí)調(diào)度兩種,任務(wù)級(jí)調(diào)度函數(shù)為OSSCHED,中斷級(jí)調(diào)度函數(shù)為OSINTEXT。任務(wù)的就緒組OSRDYGRP和就緒表數(shù)組OSRDYTBL非常關(guān)鍵,它們是判斷任務(wù)是否處于就緒態(tài)的重要依據(jù)。信號(hào)量、消息郵箱、消息隊(duì)列是任務(wù)間的通訊機(jī)制,其中事件控制塊OSEVENT是一種數(shù)據(jù)結(jié)構(gòu),它是實(shí)現(xiàn)任務(wù)間通訊的基礎(chǔ)。時(shí)鐘節(jié)拍函數(shù)OSTIMETICK是俗稱(chēng)操作系統(tǒng)心跳函數(shù),是用來(lái)判斷任務(wù)的延時(shí)節(jié)拍是否結(jié)束,如果結(jié)束就將該任務(wù)設(shè)置成就緒態(tài),為任務(wù)調(diào)度作準(zhǔn)備。22PCOSII的任務(wù)管理與調(diào)度221任務(wù)、任務(wù)優(yōu)先級(jí)和任務(wù)切換在PCOSII中,任務(wù)是一個(gè)無(wú)限的循環(huán),其程序結(jié)構(gòu)如下VOIDTASKVOID宰PDATAFO“;術(shù)用戶(hù)代碼球每個(gè)任務(wù)都賦予一定的優(yōu)先級(jí),數(shù)值越小優(yōu)先級(jí)越高,每個(gè)任務(wù)都有它自己的一套CPU寄存器和堆??臻g。每個(gè)任務(wù)都處于以下5種狀態(tài)中的一種睡眠態(tài)、就緒態(tài)、運(yùn)行態(tài)、等待態(tài)和中斷態(tài)。圖21是PCOSII控制下的任務(wù)狀態(tài)轉(zhuǎn)換圖,詳細(xì)描敘了在調(diào)用相關(guān)內(nèi)核函數(shù)后,任務(wù)從一種狀態(tài)轉(zhuǎn)換到另一種狀態(tài)的過(guò)程。4湖北工業(yè)大學(xué)碩士學(xué)位論文OSTASKDCL圖21任務(wù)狀態(tài)轉(zhuǎn)換圖在初始化肛COSII時(shí),所有的任務(wù)控制塊OSTCB被鏈接成單向空任務(wù)鏈表,任務(wù)的總數(shù)可以根據(jù)實(shí)際需求選取,最多為64個(gè)。事先建立的任務(wù)控制塊指針數(shù)組數(shù)組的每個(gè)元素是對(duì)應(yīng)任務(wù)控制塊的地址的大小就是任務(wù)的總數(shù),各個(gè)任務(wù)控制塊一種結(jié)構(gòu)體是單向空任務(wù)鏈表的一個(gè)節(jié)點(diǎn),圖22是初始化PCOSII時(shí)的空任務(wù)鏈表。OSTCBTBIOSMAXTASKSOSNSYSTASKS1】0STCBFOSTCBPREVOSTCBPREVOSTCBPREV圖22空任務(wù)鏈表下面分析建立任務(wù)后的情況,假設(shè)現(xiàn)在建立了兩個(gè)任務(wù),分別是空閑任務(wù)和統(tǒng)計(jì)任務(wù),且先建立空閑任務(wù),顯然,OSTCBTBL0空任務(wù)控制塊賦給空閑任務(wù),OSTCBTBL1空任務(wù)控制塊賦給統(tǒng)計(jì)任務(wù),OSTCBFREELIST指向鏈表中的第三個(gè)空任務(wù)控制塊也就是OSTCBTBL2任務(wù)控制塊。同時(shí),關(guān)鍵的是己建立任務(wù)的前向湖北工業(yè)大學(xué)碩士學(xué)位論文任務(wù)控制塊指針OSTCBPREV發(fā)生了作用,指向上一個(gè)任務(wù)控制塊,如圖23所示。OSTCBTBLOS_MAX_TASKSOS_N_SYS_TASKSL】OSTCBFREELISTOSTCBNEXT。OSTCBNEXTROSTCBNEXTO統(tǒng)計(jì)任務(wù)OSTCBPREVNTRRPRPVPR蘆、J、PCOSII是可剝奪型內(nèi)核,優(yōu)先級(jí)最高的任務(wù)一旦被時(shí)鐘函數(shù)或信號(hào)量等置于就緒態(tài),就會(huì)立即擁有CPU所有權(quán)并開(kāi)始執(zhí)行。PCOSII與LINUX調(diào)度法則不同,ITCOSII不支持時(shí)間片輪轉(zhuǎn)調(diào)度【2引,另外每個(gè)任務(wù)的優(yōu)先級(jí)不相同并且唯一?!盋OSII的任務(wù)調(diào)度包括任務(wù)級(jí)和中斷級(jí)兩種,分別由函數(shù)OSSCHED和OSINTEXT完成。下面僅分析任務(wù)級(jí)調(diào)度函數(shù)OSSCHED。如圖24所示,任務(wù)調(diào)度都發(fā)生在臨界段代碼區(qū)中中斷關(guān)閉,首先是判斷是否在中斷服務(wù)程序ISR或調(diào)度禁止時(shí)調(diào)用OSSCHED,如果不是,就從就緒表中找到最高優(yōu)先級(jí)的就緒任務(wù),另外還要判斷這個(gè)就緒任務(wù)是否為當(dāng)前任務(wù),如果不是當(dāng)前任務(wù)就需要調(diào)用函數(shù)OSTASKSW進(jìn)行任務(wù)切換,如果這個(gè)就緒任務(wù)就是當(dāng)前任務(wù),就直接退出調(diào)度函數(shù)OSSCHED。肛COSII的任務(wù)調(diào)度是嚴(yán)格按照優(yōu)先級(jí)PRIO進(jìn)行的,肛COSII總是運(yùn)行優(yōu)先級(jí)最高的就緒任務(wù),因此怎樣確定優(yōu)先級(jí)最高的就緒任務(wù)就非常關(guān)鍵了。在LINUX操作系統(tǒng)中,這一調(diào)度算法比較復(fù)雜,但在LCOSII中卻相當(dāng)簡(jiǎn)單,這主要取決于BCOSII的獨(dú)特查表法。如圖25所示,就緒表的每位對(duì)應(yīng)了各個(gè)任務(wù)的標(biāo)志,置1表示處于就緒態(tài),清O表示該任務(wù)處于等待或者還沒(méi)有建立。就緒表有2個(gè)變量OSRDYGRP和OSRDYTBL】,其中OSRDYGRP是任務(wù)組狀態(tài)變量,每一比特位代表任務(wù)組中是否有任務(wù)進(jìn)入就緒態(tài)。如果有任務(wù)進(jìn)入就緒態(tài),OSRDYGRP和OSRDYTBL的相應(yīng)位6湖北工業(yè)大學(xué)碩士學(xué)位論文就置1。PCOSII有64個(gè)優(yōu)先級(jí),分別取值O“3,可以用圖25左下角的6位二進(jìn)制表示,高3位“YYY“決定了在OSRDYTBL數(shù)組中的第幾個(gè)元素,同時(shí)也對(duì)圃否I退出零界代碼段圖24任務(wù)調(diào)度函數(shù)流程圖應(yīng)了在OSRDYGRP的第幾位,低3位“XXX”確定了OSRDYTBL數(shù)組中對(duì)應(yīng)元素的第幾位。為了說(shuō)明原理,以?xún)?yōu)先級(jí)40為例,優(yōu)先級(jí)40用二進(jìn)制表示為101000,高3位101決定了OSRDYTBL5,低3位000決定了OSRDYTBL5內(nèi)0BIT的位置?,F(xiàn)在要將OSRDYGRP和OSRDYTBL的相應(yīng)位置位,用數(shù)學(xué)式表示如下OSRDYGRPIOX20OSRDYTBL5|_0X01由以上的數(shù)學(xué)式可以看出要想將第M位置1,就需與2M相或。為了方便,ITCOSII把2MMO7的8個(gè)值預(yù)先裝在數(shù)組OSMAPTBL中,如表21所示。7湖北工業(yè)大學(xué)碩士學(xué)位論文OSRDYGRPOSRDYTBLIOS_LOWEST_PRIO1【0】【1】【2】【3】3【4】【5】【6】【7】最低優(yōu)先級(jí)任務(wù)IDLETASK任務(wù)的優(yōu)先級(jí)最高優(yōu)先級(jí)任務(wù)X765432LO15141312LL109823222120191817163130292827262524Y39383736353433324746454443424140555453525L5049486362616059585756R圖25任務(wù)就緒表利用OSMAPTBL,通過(guò)優(yōu)先級(jí)PRIO來(lái)設(shè)置OSRDYGRP和OSRDYTBL的數(shù)學(xué)式如下OSRDYGRPIOSMAPTBLPRIO3OSRDYTBLPRIO3LOSMAPTBLPRIO0X07為了盡快找到優(yōu)先級(jí)最高的就緒任務(wù),PCOSII用查表法實(shí)現(xiàn),這個(gè)表就是數(shù)組OSUNMAPTBFF,詳見(jiàn)參考文獻(xiàn)1?,F(xiàn)在要獲知最高優(yōu)先級(jí)的就緒任務(wù),可以用如下簡(jiǎn)短程序?qū)崿F(xiàn)YOSUNMAPTBLOSRDYGRPXOSUNMAPTBLOSRDYTBLYOSPRIOHIGHRDYINT8UY20;NSECVADDREND20VADDRSTART20;FORIO;I20I0表示采樣時(shí)間超前,S,05。對(duì)于SF一05,很顯然,后一種情況不成立。所以只可能SFSHL且S“L05,則SI1SIL05一三,又因?yàn)?05,根據(jù)四舍五入法,第一次采樣時(shí)間的計(jì)數(shù)值改為Z1較合適,另取S,0681一O32,S2O68S,068032O3605,第三次采樣時(shí)間的計(jì)數(shù)值為ZL,且S31041O04,再求S4,如此類(lèi)推,直到S為止。第F次采樣的理想時(shí)間與實(shí)際時(shí)間的差值,我們定義為同步誤差A(yù)E,,則AE,S,痧,當(dāng)然,這里選擇前一個(gè)信號(hào)周期的最后采樣點(diǎn)為參考點(diǎn),這樣被測(cè)信號(hào)周期的第一個(gè)采樣點(diǎn)的同步誤差正好為S,。顯然,對(duì)于第I次采樣的同步誤差總有IS,糾O5妒。當(dāng)待N時(shí),“S矽,事實(shí)上這就是整個(gè)被測(cè)信號(hào)的同步誤差,且L“峰050。如果不采用上面S的計(jì)算方法,則ACT讓矽或F1一三弦,其中TIL矽為正同步誤差,I1一三渺為負(fù)同步誤差。當(dāng)IN時(shí),正好是NLK或N1一三切,而L脫I和IN1一泐I(lǐng)均遠(yuǎn)遠(yuǎn)大于O5矽,可見(jiàn),丁優(yōu)化算法顯著減少了整個(gè)信號(hào)周期的同步誤差。R優(yōu)化后,采樣周期就變得不是很均勻,也就是說(shuō)每個(gè)丁間可能有一個(gè)矽的差距,但是采樣的理想時(shí)間與實(shí)際時(shí)間就更接近了,特別在矽很小就幾乎是同一點(diǎn)。在R優(yōu)化條件下2萬(wàn)一善Z三一墨一渺等27C一ZL切等晶矽等,而理論周期誤差妒2萬(wàn)一F2萬(wàn)一UZ三砌等,所以實(shí)際周期誤差和理論周期誤差的偏差矽7一矽S孥,且I氏妒簪IO5妒竽,可見(jiàn),大大減小了信號(hào)周期誤差。55小結(jié)本章從理論上推導(dǎo)出了交流采樣正余弦信號(hào)的誤差公式,得出誤差C由初相位角口,采樣周期丁,信號(hào)周期丁所決定。另外嘗試根據(jù)被測(cè)信號(hào)周期的首尾過(guò)零點(diǎn)三角形相似,求出誤差參數(shù)R和初相位角口,然后利用理論誤差對(duì)被測(cè)信號(hào)有37湖北工業(yè)大學(xué)碩士學(xué)位論文效值進(jìn)行補(bǔ)償。此外,考慮到采樣周期R不均勻,經(jīng)多次采樣后會(huì)產(chǎn)生累積誤差,本文也給出了采樣周期丁的優(yōu)化算法。38湖北工業(yè)大學(xué)碩士學(xué)位論文61引言第6章系統(tǒng)設(shè)計(jì)和結(jié)果分析本章是系統(tǒng)硬件和系統(tǒng)軟件的設(shè)計(jì),以及最后測(cè)得結(jié)果的數(shù)據(jù)分析。在系統(tǒng)硬件設(shè)計(jì)中,主要是電源電路、復(fù)位電路、異步串口電路和AD采樣電路的設(shè)計(jì)。在系統(tǒng)軟件設(shè)計(jì)中,有采樣驅(qū)動(dòng)和串口驅(qū)動(dòng)程序。最后,結(jié)合不同的采樣間隔,運(yùn)用補(bǔ)償算法與否,得出不同的運(yùn)算結(jié)果。這個(gè)結(jié)果值,制成表格形式,可直觀地分析和對(duì)比,得出重要結(jié)論,為以后同步交流采樣的實(shí)際工程給出補(bǔ)償算法和實(shí)驗(yàn)依據(jù)。62系統(tǒng)硬件設(shè)計(jì)SAMSUNG公司推出的32位RISC處理器3C2440,是一款高性?xún)r(jià)比和高性能的嵌入式微處理器。3C2440提供了豐富的硬件資源,包括16KB的數(shù)據(jù)CACHE、16KB的指令CACHE、內(nèi)部SRAM、LCD控制器、3通道UART、外部存儲(chǔ)器控制器、具有PWM功能的5通道定時(shí)器、8通道10位ADC、60個(gè)中斷源、4通道DMA和PLL倍頻器等,這樣可降低系統(tǒng)成本和減少外圍器件。圖61是3C2440的功能引腳。本系統(tǒng)硬件設(shè)計(jì)包括電源電路、復(fù)位電路、UART異步串行接口電路、AD采樣電路。621電源電路設(shè)計(jì)圖62為電源電路圖。在整個(gè)系統(tǒng)中,使用33V直流穩(wěn)壓電源給3C2440供電,外接交流電經(jīng)過(guò)變壓器輸出5V,而后通過(guò)LML11733三端穩(wěn)壓集成芯片,在靠近器件的電源引腳處以及各器件的電源和地之間加上了大量濾波電容,以濾除噪聲和提高系統(tǒng)電源的質(zhì)量。旁邊的二極管是電源指示燈,開(kāi)關(guān)按下接通外界電源時(shí)就發(fā)光。622復(fù)位電路設(shè)計(jì)3C2440和HJTAG的復(fù)位連在一起,都為NRESET端,這也為了調(diào)試方便。當(dāng)開(kāi)關(guān)按下時(shí),MAX811輸出低電平,系統(tǒng)復(fù)位。另外這種芯片也可上電復(fù)位,39湖北工業(yè)大學(xué)碩士學(xué)位論文且復(fù)位脈沖寬度大于140MS,是一種可靠性很高的專(zhuān)用復(fù)位芯片。如圖63為復(fù)位電路。圖61S3C2440的功能引腳圖62電源電路POWERRED623異步串口電路設(shè)計(jì)RS232是嵌入式應(yīng)用中較為常見(jiàn)的一種串行通訊協(xié)議。3C2440內(nèi)部集成了三個(gè)獨(dú)立的異步串行端121,并且都可以用于中斷模式或DMA直接存儲(chǔ)器存儲(chǔ)模湖北工業(yè)大學(xué)碩士學(xué)位論文圖63復(fù)位電路式。串13最高傳輸速率為1152KBPSKILOBITSPERSECOND,每個(gè)通用異步收發(fā)串13通道包含2個(gè)64位先進(jìn)先出FIFO隊(duì)列。3C2440的串口還支持波特率可編程,可紅外收發(fā),12個(gè)停止位,5位8位的數(shù)據(jù)寬度以及奇偶校驗(yàn)位。RS232串口通常采用9芯標(biāo)準(zhǔn)接口。RS232C標(biāo)準(zhǔn)所定義的高、低電平信號(hào)分別是邏輯“1”指5V15V電平,而邏輯“0”指5V斗15V電平。S3C2440的LVCMOS電路所定義的高、低電平信號(hào)分別是邏輯“1“指2V33V電平,而邏輯“0”指OV04V電平。顯然,RS232C和LVCMOS的3C2440間要順利進(jìn)行通信,電平轉(zhuǎn)換必不可少。常用的這兩種電平轉(zhuǎn)換芯片有MAX232、MAX3232等。本系統(tǒng)采用MAX3232芯片完成UART串行接口和3C2440的電平轉(zhuǎn)換。MAX3232的應(yīng)用電路如圖64所示。1,D生主VC54圖64異步串行接口電路LO62RSD0O7RCTSOV3RSM0O8RSRTSOOO95LO一624采樣電路設(shè)計(jì)本系統(tǒng)采樣電路如圖65所示,與函數(shù)發(fā)生器的輸出端相連,為交流采樣的被測(cè)信號(hào)。DC是外加直流電壓,起抬高VI作用,因?yàn)?C2440的AD采樣范41湖北工業(yè)大學(xué)碩士學(xué)位論文圍為033V,VO輸出接3C2440的AIN0端,下面具體分析電路原理圖65采樣電路LM324為集成運(yùn)算放大器,設(shè)LO節(jié)點(diǎn)的電壓為V10,根據(jù)“虛斷和“虛短概念,有LK。IF麗IVOCR。61丘蘭匕二旦62一一R47R47尺48將R加R4LR47R481腳代入,解得ZOK在本設(shè)計(jì)中,DC端直流電壓為2V,號(hào)為VO形263系統(tǒng)軟件設(shè)計(jì)631采樣驅(qū)動(dòng)設(shè)計(jì)63所以最后輸入到3C2440的采樣電壓信643C2440內(nèi)部集成了8通道AD轉(zhuǎn)換器,轉(zhuǎn)換精度為10位,最大采樣頻率非常高,達(dá)500KSPSKILOSAMPLESPERSECOND。本驅(qū)動(dòng)程序的思想是定時(shí)器定時(shí)時(shí)間到即采樣間隔時(shí)間,就設(shè)置相關(guān)寄存器啟動(dòng)采樣,在采樣中斷中,將采樣數(shù)據(jù)存入緩沖區(qū),并判斷被測(cè)信號(hào)的一個(gè)周期的采樣是否完成,如果完成了一個(gè)周期的采樣就發(fā)送信號(hào)量通知任務(wù)已有采樣結(jié)果,這時(shí)會(huì)發(fā)生中斷級(jí)的任務(wù)切換,進(jìn)入數(shù)據(jù)處理任務(wù)中。數(shù)據(jù)處理任務(wù)負(fù)責(zé)將采樣的數(shù)據(jù)進(jìn)行處理,將測(cè)得的最終結(jié)果存入新的緩沖區(qū),以便串口發(fā)送。圖66為采樣的程序流程圖。42湖北工業(yè)大學(xué)碩士學(xué)位論文,C回圖66采樣流程圖另玳圖67為采樣時(shí)間的優(yōu)化流程圖,其中ZINT等,三等INT等,矽為定時(shí)器的計(jì)數(shù)周期,丁為采樣周期采樣間隔。是設(shè)置的最大采樣點(diǎn)數(shù),超過(guò)該值就結(jié)束采樣。同時(shí),當(dāng)一個(gè)被測(cè)信號(hào)周期的采樣點(diǎn)結(jié)束后,就發(fā)送信號(hào)量,這時(shí)會(huì)進(jìn)行中斷級(jí)的任務(wù)切換。切換到數(shù)據(jù)處理任務(wù)PROCESS中,數(shù)據(jù)處理任務(wù)的流程圖TASK見(jiàn)圖68所示。其中需要注意的是在信號(hào)量未到時(shí),任務(wù)不是靜止死循環(huán)的等待,而是去執(zhí)行其它就緒態(tài)的任務(wù),等待是形象的說(shuō)法。另外,這里的N是單個(gè)被測(cè)信號(hào)周期的采樣總點(diǎn)數(shù)。從以上結(jié)構(gòu)流程圖看,完成一次采樣并沒(méi)有立即發(fā)送信號(hào)量,而是等到一個(gè)被測(cè)信號(hào)周期全部采完后才發(fā)送信號(hào)量,轉(zhuǎn)交給采樣任務(wù)對(duì)所采數(shù)據(jù)進(jìn)行處理??梢钥闯?,采樣驅(qū)動(dòng)和采樣時(shí)間優(yōu)化實(shí)現(xiàn)較簡(jiǎn)單,計(jì)算機(jī)工作量不大。632串口驅(qū)動(dòng)設(shè)計(jì)在串行通訊中,需要一個(gè)緩沖區(qū)來(lái)解決外部設(shè)備的處理速度和CPU速度不匹配問(wèn)題。發(fā)送數(shù)據(jù)時(shí),先把數(shù)據(jù)寫(xiě)到緩沖區(qū)中,然后程序會(huì)自動(dòng)地把數(shù)據(jù)逐個(gè)取出并往外串口發(fā)送。接收數(shù)據(jù)時(shí),先將這些預(yù)收的數(shù)據(jù)存于緩沖區(qū),直到收到若干個(gè)滿(mǎn)43當(dāng)湖北工業(yè)大學(xué)碩士學(xué)位論文C麴D圖67采樣時(shí)間的優(yōu)化流程圖C回圖68數(shù)據(jù)處理任務(wù)流程圖湖北工業(yè)大學(xué)碩士學(xué)位論文足一定數(shù)量的字節(jié)后才交給CPU處理。在實(shí)際工程中,需要兩個(gè)緩沖區(qū)發(fā)送緩沖區(qū)和接收緩沖區(qū)。當(dāng)然,這里的緩沖區(qū)一般定義為數(shù)組。在GCOSII內(nèi)核中,信號(hào)量是常用的通信與同步的機(jī)制,在串121通訊中,可引入信號(hào)量對(duì)緩沖區(qū)發(fā)送和緩沖區(qū)接收的操作進(jìn)行同步。當(dāng)然,這里用到了數(shù)據(jù)發(fā)送信號(hào)量和數(shù)據(jù)接收信號(hào)量。用信號(hào)量的串口操作過(guò)程如下用戶(hù)任務(wù)想在緩沖區(qū)中寫(xiě)數(shù)據(jù),但如果緩沖區(qū)滿(mǎn),任務(wù)就在等待信號(hào)量,但同時(shí)CPU可以不空等待而去運(yùn)行別的任務(wù),直到信號(hào)量到來(lái),這樣可以顯著提高CPU的工作效率。待中斷服務(wù)子程序ISR從緩沖區(qū)讀走數(shù)據(jù)后就立即喚醒此睡H民的任務(wù),然后操作系統(tǒng)就會(huì)進(jìn)行任務(wù)切換,去執(zhí)行剛才等待信號(hào)量的任務(wù);用戶(hù)任務(wù)讀數(shù)據(jù)時(shí),如果緩沖區(qū)為空,也可以等待信號(hào)量也叫在信號(hào)量上睡眠,待外部設(shè)備有數(shù)據(jù)存進(jìn)緩沖區(qū)就喚醒信號(hào)量,同樣操作系統(tǒng)也會(huì)進(jìn)行任務(wù)切換,去執(zhí)行等待信號(hào)量的任務(wù),進(jìn)行讀操作。接收中斷發(fā)生時(shí),中斷服務(wù)子程序ISR從串口UART的接收緩沖器中讀出收到的字節(jié),并存入接收緩沖區(qū),待到接收的字節(jié)數(shù)滿(mǎn)足要求,就發(fā)送信號(hào)量進(jìn)行任務(wù)切換,執(zhí)行用戶(hù)讀操作任務(wù)程序。在這個(gè)過(guò)程中,同時(shí)查詢(xún)緩沖區(qū)是否已滿(mǎn),如果緩沖區(qū)已滿(mǎn),就放棄接收到的字符,即不進(jìn)行接收。這里需要注意的是,無(wú)論是接收緩沖區(qū)還是發(fā)送緩沖區(qū),其大小應(yīng)該合理設(shè)置,一方面可以降低數(shù)據(jù)丟失的幾率,另一方面又可以避免存儲(chǔ)空間的不必要浪費(fèi)。發(fā)送數(shù)據(jù)時(shí),發(fā)送緩沖區(qū)的大小和發(fā)送信號(hào)量的初始值設(shè)成一樣,其含義是表示發(fā)送緩沖區(qū)是空的,如果在發(fā)送過(guò)程中,發(fā)送緩沖區(qū)已滿(mǎn),用戶(hù)任務(wù)就在信號(hào)量上睡眠等待信號(hào)量。如果發(fā)送緩沖區(qū)沒(méi)有滿(mǎn),有發(fā)送空間,用戶(hù)任務(wù)就可以向發(fā)送緩沖區(qū)中寫(xiě)入數(shù)據(jù)。如果寫(xiě)入的字節(jié)是發(fā)送緩沖區(qū)的首字節(jié),那么就允許發(fā)送中斷。這樣,發(fā)送中斷服務(wù)子程序ISR從發(fā)送緩沖區(qū)中取出最早寫(xiě)入的字節(jié),并發(fā)送至UART,這個(gè)發(fā)送串口的操作將會(huì)觸發(fā)下一次發(fā)送中斷,如此循環(huán)下去,一直到發(fā)送緩沖區(qū)的最后一個(gè)字節(jié)被取走并成功發(fā)送,此時(shí)發(fā)送中斷需要重新關(guān)閉。在中斷服務(wù)子程序ISR向串口UART輸出的同時(shí),給任務(wù)發(fā)信號(hào)量,發(fā)送任務(wù)就會(huì)根據(jù)信號(hào)量計(jì)數(shù)值大小判斷發(fā)送緩沖區(qū)是否可用。以下是相關(guān)的串口通訊函數(shù)有UARTINITINTBAUD,INTNUMBERSERIAL用于初始化指定的串行13,包括對(duì)指定的串行口設(shè)定串口通信的波特率及相關(guān)寄存器的設(shè)置。UARTSENDBYTEUNSIGNEDCHARDATA向己選定的串行121發(fā)送字節(jié)單位的數(shù)據(jù)。UARTGETBYTE接收已選串行口的數(shù)據(jù),并設(shè)定超時(shí)時(shí)間,如果等待超時(shí),返回FALSE。另外,使用前需先建立串行口的兩個(gè)信號(hào)量,分別用于發(fā)送和接收。45湖北工業(yè)大學(xué)碩士學(xué)位論文圖69為串口的發(fā)送程序流程圖,同樣在等待信號(hào)量的時(shí)間里去執(zhí)行其它就緒態(tài)的任務(wù)。C圃64實(shí)驗(yàn)數(shù)據(jù)VQ困圖69串口發(fā)送流程圖在本實(shí)驗(yàn)中,我們用函數(shù)發(fā)生器產(chǎn)生標(biāo)準(zhǔn)的正弦電壓“FSIN2萬(wàn)50T作為被測(cè)對(duì)象,顯然信號(hào)頻率廠為50HZ,幅度U。為1V,用移植了TCOSII的微處理器3C2440對(duì)標(biāo)準(zhǔn)信號(hào)進(jìn)行實(shí)時(shí)采樣,通過(guò)測(cè)得結(jié)果就可算出信號(hào)的有效值。然后把這個(gè)有效值與理想有效值進(jìn)行比較,就可知道測(cè)量誤差。表61是采樣時(shí)間間隔采樣周期丁為005MS,采用和沒(méi)有采用以上減小誤差的改進(jìn)算法時(shí),測(cè)出的有效值。表61AT005MS、優(yōu)化和不優(yōu)化下的測(cè)量結(jié)果MV第N周期傳統(tǒng)方法不計(jì)誤差改進(jìn)方法誤差補(bǔ)償1687710268771136877094688709廣71L0688668771076887118687711968771010687709湖北工業(yè)大學(xué)碩士學(xué)位論文表62是采樣I日J(rèn)隔時(shí)間丁為05MS,采用和沒(méi)有采用以上減小誤差的改進(jìn)算法時(shí),測(cè)出的有效值。表62AT05MS、優(yōu)化和不優(yōu)化下的測(cè)量結(jié)果MY第N周期傳統(tǒng)方法不計(jì)誤差改進(jìn)方法誤差補(bǔ)償16676862667687366768746686875668686666768676686878667686966768710667687表63是采樣間隔時(shí)間丁為3MS,采用和沒(méi)有采用以上減小誤差的改進(jìn)算法時(shí),測(cè)出的有效值。表63AT3MS、優(yōu)化和不優(yōu)化下的測(cè)量結(jié)果MY第N周期傳統(tǒng)方法不計(jì)誤差改進(jìn)方法誤差補(bǔ)償1750743274974237497424750743574874367517437750742875074297497431074874365結(jié)果分析從以上測(cè)量結(jié)果可以看出,通過(guò)優(yōu)化算法,以及減小采樣時(shí)間間隔,能提高測(cè)量精度。標(biāo)準(zhǔn)信號(hào)的有效值為U占。0707V707聊V2丁為005MS時(shí)采用優(yōu)化算法的測(cè)量誤差為47湖北工業(yè)大學(xué)碩士學(xué)位論文CQ竺二業(yè)二QZX1000282905658707AT為005MS時(shí)沒(méi)有采用優(yōu)化算法的測(cè)量誤差為AC68768870710028289一26874707丁為05MS時(shí)采用優(yōu)化算法的測(cè)量誤差為AC686687707100一28289一29703707丁為05MS時(shí)沒(méi)有采用優(yōu)化算法的測(cè)量誤差為AC667668707100一55163一56577707丁為3MS時(shí)采用優(yōu)化算法的測(cè)量誤差為AC“7427437071004950550919707丁為3MS時(shí)沒(méi)有采用優(yōu)化算法的測(cè)量誤差為ACZ蘭Z12ZQ2X1005799262235707至此,可以得出如下重要結(jié)論1補(bǔ)償算法能有效減小測(cè)量誤差,提高測(cè)量精度。但是影響測(cè)量誤差的主要因素是采樣的時(shí)間間隔,補(bǔ)償算法只能在合適的采樣時(shí)間間隔條件下,更進(jìn)一步地提高測(cè)量精度。2在采樣時(shí)間間隔選取上,要盡可能地與被測(cè)信號(hào)周期成倍數(shù)關(guān)系,這樣可以提高測(cè)量精度。66小結(jié)本章主要對(duì)系統(tǒng)硬件軟件進(jìn)行了設(shè)計(jì),并對(duì)實(shí)驗(yàn)測(cè)得數(shù)據(jù)進(jìn)行了分析和總結(jié)。在系統(tǒng)硬件設(shè)計(jì)中,AD采樣電路是關(guān)鍵,2V直流電壓要求非常穩(wěn)定且紋波較小,否則很影響測(cè)量精度。在系統(tǒng)軟件設(shè)計(jì)中,補(bǔ)償算法和丁優(yōu)化是編寫(xiě)采樣驅(qū)動(dòng)的依據(jù)。從實(shí)驗(yàn)結(jié)果看,在一定的采樣周期下,補(bǔ)償算法能有效地減小測(cè)量誤差,提高測(cè)量精度。但采樣周期過(guò)大,補(bǔ)償算法效果不明顯。另外,要盡可能地選取采樣時(shí)間間隔與被測(cè)信號(hào)周期成倍數(shù)關(guān)系,這樣可以提高測(cè)量精度。湖北工業(yè)大學(xué)碩士學(xué)位論文第7章總結(jié)與展望PCOSII雖然比較適合于嵌入式操作系統(tǒng)的應(yīng)用開(kāi)發(fā),但PCOSII也有一些缺點(diǎn)和不足它僅僅是一個(gè)內(nèi)核,只提供了操作系統(tǒng)的基本功能,沒(méi)有用戶(hù)接口、網(wǎng)絡(luò)功能等,特別在互聯(lián)網(wǎng)發(fā)達(dá)的今天沒(méi)有網(wǎng)絡(luò)功能是不能接受的,因此PCOSII內(nèi)核離廣泛應(yīng)用還有一定距離;同時(shí)PCOSII不是針對(duì)特定的硬件,要實(shí)現(xiàn)在特定的硬件上運(yùn)行還必須實(shí)現(xiàn)相應(yīng)的移植程序,這也帶來(lái)移植的難度。本文就基于TCOSII的交流采樣研究方面所作的工作有1對(duì)實(shí)時(shí)內(nèi)核PCOSII進(jìn)行了詳細(xì)的分析,特別對(duì)內(nèi)核的關(guān)鍵函數(shù)如關(guān)中斷函數(shù)OSENTERCRITICAL、開(kāi)中斷函數(shù)OSEXITCRITICAL、任務(wù)切換函數(shù)OSJASK_SW和運(yùn)行優(yōu)先級(jí)最高的就緒態(tài)任務(wù)的函數(shù)OSSTARTHIGHRDY等作了詳細(xì)的分析,并結(jié)合目標(biāo)板的資源對(duì)這些函數(shù)進(jìn)行了編寫(xiě),這是移植PCOSII最重要的工作,也是最容易出問(wèn)題的地方。2介紹了ARM9的體系架構(gòu),特別對(duì)緩存CACHE和MMU的功能和原理進(jìn)行了分析,編寫(xiě)了實(shí)現(xiàn)虛存和緩存的代碼,提高了整個(gè)嵌入式系統(tǒng)快速和高效的性能。3本文從理論上探討了電壓同步交流采樣有效值的誤差公式,提出了一種誤差補(bǔ)償方法。另外,對(duì)采樣周期誤差也進(jìn)行了分析,并給出了采樣周期誤差的優(yōu)化算法。4在ADSL2的開(kāi)發(fā)環(huán)境下,用ARMULATOR和HJTAG仿真調(diào)試和測(cè)試內(nèi)核,編寫(xiě)了串口驅(qū)動(dòng)和實(shí)時(shí)采樣驅(qū)動(dòng)程序。通過(guò)串口超級(jí)終端將最終測(cè)得結(jié)果顯示在PC機(jī)上,分析數(shù)據(jù)并驗(yàn)證了誤差補(bǔ)償算法的正確性和可行性。由于初次接觸嵌入式操作系統(tǒng),操作系統(tǒng)的移植花了很多時(shí)間,最后在有經(jīng)驗(yàn)的同學(xué)的指導(dǎo)下才得以調(diào)試通過(guò)。雖然本課題取得了較好結(jié)果,但仍有一些不足需要繼續(xù)研究1在本實(shí)驗(yàn)中,我們用的是函數(shù)發(fā)生器產(chǎn)生的標(biāo)準(zhǔn)正弦信號(hào)作為被測(cè)信號(hào),被測(cè)信號(hào)的頻率都選用50HZ,對(duì)于不同頻率的信號(hào)本文沒(méi)有進(jìn)行實(shí)驗(yàn)。2本文只對(duì)正余弦信號(hào)進(jìn)行了測(cè)試和驗(yàn)證,對(duì)于不規(guī)則信號(hào)的有效值測(cè)量,沒(méi)有作進(jìn)一步探討。49湖北工業(yè)大學(xué)碩士學(xué)位論文參考文獻(xiàn)1JEANJLABROSSE著,邵貝貝譯嵌入式實(shí)時(shí)操作系統(tǒng)此OSII第二版M,北京航空航天大學(xué)出版社,2003,1561582鄭巍大型自由和開(kāi)源軟件進(jìn)化研究J,計(jì)算機(jī)工程與設(shè)計(jì),2008,291113WARRENSACK,F(xiàn)RAN90ISED6TIENNE,NICOLASDUCHENEAUT,JEANMARIEBURKHARDT,DI1ANMAHENDRANANDFLOREBARCELLINIAMETHODOLOGICALFRAMEWORKFORSOCIOCOGNITIVEANALYSESOFCOLLABORATIVEDESIGNOFOPENSOURCESOFTWAREJCOMPUTERSUPPORTEDCOOPERATIREWORKCSCW,SPRINGERNETHERLANDS,2006,152292504EHARUVY,APRASADANDSPSETHIHARVESTINGALTRUISMINOPENSOURCESOFTWAREDEVELOPMENTJ,JOURNALOFOPTIMIZATIONTHEORYANDAPPLICATIONS,SPRINGERNETHERLANDS,2003,1183814165DANIELPBOVETANDMARCOCESATI深入理解LINUX內(nèi)核M,中國(guó)電力出版社,20016WRICHARDSTEVENS著,尤晉元譯UNIX環(huán)境高級(jí)編程M,機(jī)械工業(yè)出版社,20027魏忠,蔡勇,雷紅衛(wèi)嵌入式開(kāi)發(fā)詳解M北京電子工業(yè)出版社,20038沈緒榜,何立民主編2001嵌入式系統(tǒng)及單片機(jī)國(guó)際學(xué)術(shù)交流會(huì)論文集,北京航空航天大學(xué)出版社,2001年10月9張騰嵌入式實(shí)時(shí)操作系統(tǒng)內(nèi)核的研究與實(shí)現(xiàn)M,北京郵電大學(xué),200110李仕勇等多任務(wù)操作系統(tǒng)在嵌入式系統(tǒng)開(kāi)發(fā)中的應(yīng)用J,北方交通大學(xué)報(bào),2002,26798211LUC,STANKOVIEJA,TAOG,SONSH,MARLEYMPERFORMANCESPECIFICATIONSANDMERICSFORADAPTIVEREALTIMESYSTEMSIEEEREALTIMESYSTEMSSYMPOSIUM,ORLANDO,F(xiàn)L,DECEMBER2000,273012JCHENYANGLU,JOHNASTANKOVIC,SANGHSONANDGANGTAOFEEDBACKCONTROLREALTIMESCHEDULINGFRAMEWORK,MODELING,ANDALGORITHMSJ,SPRINGENETHERLANDS2002,2385126133ABDELZAHERTF,LUCMODELINGANDPERFORMANCECONTROLOFINTERNETSERVERS,39THIEEECONFERENCEONDECISIONANDCONTROL,SYDNEY,AUSTRALIA,DECEMBER2000,2234一一223914J魏立峰,于海斌一種基于自適應(yīng)控制的軟實(shí)時(shí)調(diào)度算法研究J,系統(tǒng)仿真學(xué)報(bào),2004,16476076415羅玎玎,趙海,孫佩剛等RM算法的運(yùn)行時(shí)開(kāi)銷(xiāo)研究與算法改進(jìn)J,通信學(xué)報(bào),2008,292798616涂剛,陽(yáng)富民,盧炎生基于至少滿(mǎn)足弱硬實(shí)時(shí)限制的調(diào)度算法J,華中科技大學(xué)學(xué)報(bào)自然科學(xué)版,2006,322676950湖北工業(yè)大學(xué)碩士學(xué)位論文17洪艷偉,賴(lài)娟一種硬實(shí)時(shí)調(diào)度算法的可行性判定及實(shí)現(xiàn)U,計(jì)算機(jī)與信息技術(shù),2006,62118MARKRHECKMAN,CUIZHANG,BRIANRBECKERTOWARDSAPPLYINGTHECOMPOSITIONPRINCIPLETOVERIFYAMICROKERNELOPERATINGSYSTEM,LECTURENOTESINCOMPUTERSCIENCE,SPRINGERBERLINORHEIDELBERG,1996,1125235250193TIANZHOUCHEN,WEIHUANDYILIANPOWEREFFICIENTMICROKERNELOFEMBEDDEDOPERATINGSYSTEMONCHIP,LECTURENOTESINCOMPUTERSCIENCE,SPRINGERBERLINORHEIDELBERG,2006,418647347920KUNYUANHSIEH,YUNGCHIALIN,CHIENCHINHUANGANDJENQKUENLEEENHANCINGMICROKERNELPERFORMANCEONVLIWDSPPROCESSORSVIAMULTISETCONTEXTSWITCHJ,JOURNALOFSIGNALPROCESSINGSYSTEMS,SPRINGERNEWYORK,2008,51

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論