[碩士論文精品]基于arm的智能pid控制系統(tǒng)_第1頁
[碩士論文精品]基于arm的智能pid控制系統(tǒng)_第2頁
[碩士論文精品]基于arm的智能pid控制系統(tǒng)_第3頁
[碩士論文精品]基于arm的智能pid控制系統(tǒng)_第4頁
[碩士論文精品]基于arm的智能pid控制系統(tǒng)_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費(fèi)閱讀

[碩士論文精品]基于arm的智能pid控制系統(tǒng).pdf 免費(fèi)下載

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

文檔簡介

中文摘要中文摘要摘要比例積分微分PID是過程控制中最常用的一種控制算法。算法簡單而且容易理解,應(yīng)用十分廣泛。但由于應(yīng)用領(lǐng)域的不同,功能上差別很大,系統(tǒng)的控制要求及關(guān)心的控制對象也不相同。數(shù)字PID控制比連續(xù)PID控制更為優(yōu)越,因?yàn)橛?jì)算機(jī)程序的靈活性,很容易克服連續(xù)PID控制中存在的問題,經(jīng)修正而得到更完善的數(shù)字PID算法。本文以三相全控整流橋阻性負(fù)載為實(shí)際電路,控制主電路電壓,旨在提出一種智能數(shù)字PID控制系統(tǒng)的設(shè)計(jì)思路,并給出了詳細(xì)的硬件設(shè)計(jì)及初步軟件設(shè)計(jì)思路。PID控制系統(tǒng)采用高性能、低功耗的ARM微處理器3C4480作為核心處理單元,內(nèi)部的10位ADC作為信號采集模塊,采用了矩陣鍵盤和640480的液晶作為人機(jī)接口;串口作為通信模塊實(shí)現(xiàn)了上位機(jī)的監(jiān)控。采用芯片內(nèi)部自帶的PWM模塊,輸出16MHZPWM信號并經(jīng)過一階低通濾波器得到05V的控制信號用于觸發(fā)主電路控制器,實(shí)現(xiàn)PID整定。軟件方面,分析和研究了UCOSII的內(nèi)核源碼,實(shí)現(xiàn)了其在32位微處理器上的移植,作為管理各個(gè)子程序執(zhí)行的系統(tǒng)軟件。選用了圖形處理軟件UCGUI用于完成LCD顯示及控制。PID算法采用了增量式數(shù)字PID算法,采用規(guī)化算法進(jìn)行參數(shù)選取。上位機(jī)部分采用了C樣語言進(jìn)行編寫。另外,采用了RTCREALTIMECLOCK作為系統(tǒng)時(shí)鐘,可以實(shí)現(xiàn)系統(tǒng)的定時(shí)運(yùn)行、定時(shí)模式切換等。在上位機(jī)上也可以方便的控制程序的執(zhí)行,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。在論文的最后詳細(xì)的介紹了智能PID控制系統(tǒng)在三相全控橋主電路中的具體應(yīng)用。總結(jié)了調(diào)試中遇到的問題,對今后工作中需要進(jìn)一步改善和探索的地方進(jìn)行了展望。關(guān)鍵詞PID控N;ARM;UCOS分類號TP2161;TM93473;TM932北京交通大學(xué)碩士學(xué)位論文ABSTRACTABSTRACTTHEPDCONTROIISTHEMOSTCOMMONCONTROLALGORITHMBECAUSEOFITSRELATIVELYSIMPLESTRUCTUREWHICHCANEASILYBEUNDERSTOODANDIMPLEMENTEDINPRACTICE,ISWIDELYAPPLIEDININDUSTRYHOWEVER,THEREALEMANYDIFFERENTAPPLICATIONS、IRITLLDIFFERENTPERFORMANCEREQUIREMENTS,ANDTHECONTROLLEDOBJECTTHEPURPOSEOFTHISPAPERISTOPRESENTTHEDESIGNOFAINTELLIGENTPIDCONTROLSYSTEM,DETAILEDINFORMATIONOFBOTHHARDWAREANDSOFTWAREISCONTAINEDANDITISAPPLIEDINTHREEPHASEFULLBRIDGECIRCUITANDPROVEDEXCELLENTPERFORMANCE,ANDTHEREISALARGESPACEOFFURTHERAPPLICATIONTHEHARDWAREOFTHEINTELLIGENTPIDCONTROLLERUSESTHEARMCORES3C44BOXASTHECPUI,OMODULECONTAINS4幸4MATRIXKEYBOARDSAND640木480LCDANDUART,THESIGNALISSAMPLEDBYTHEINTERNAL10BITSADCMODULEOFTHECPUTHEPWMISUSED勰THEOUTPUTFUNCTION嘰5VCONTROLSIGNALISOBTAINEDBYLOWPASSFILTERANDITISCONNECTEDTOTHETRIGGERMODULEOFTHEMAINCIRCUITTL地EMBEDDEDREALTIMEOPERATINGKERNELUCOSIIISADOPTEDASTHEMAINPARTOFTHESYSTEMSOFTWARE,THEGUISOFTWALEPACKAGEISUSEDTOMANAGEINPUTANDOUTPUT,THEINCREMENTALPIDALGORITHMISSELECTEDFORCALCULATION111EUCOSIIMANAGESTHERUNNINGOFEACHTASK,ANDUCGUIISRESPONSIBLEFORLCDDISPLAYANDKEYBOARDSSCANNINGTHEPCENDSOFTWAREISDESIGNEDUSINGC撐RTCISADOPTEDASSYSTEMCLOCK,TASKSCANSTARTATSPECIFICTIMEORSHIFTMODE,THEPCENDSOW,VALECANBEUSEDTOMONITORTHESTATEOFTHEHARDWARESYSTEMINTHELAST,THISPAPERDISCUSSTHEAPPLICATIONOFTHISSYSTEMINTHREEPHASEFULLBRIDGECIRCUITISPRESENTEDWITHDETAILEDDEBUGGINGTROUBLESHOOTING1EYWORDSPIDCONTROL;ARM;UCOSCLASSNOTP2161TM93473;田M932北京交通大學(xué)碩士學(xué)位論文獨(dú)創(chuàng)性聲明本人聲明所呈交的學(xué)位論文是本人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作和取得的研究成果,除了文中特別加以標(biāo)注和致謝之處外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得北京交通大學(xué)或其他教育機(jī)構(gòu)的學(xué)位或證書而使用過的材料。與我一同工作的同志對本研究所做的任何貢獻(xiàn)均已在論文中作了明確的說明并表示了謝意。學(xué)位論文作者簽名街夠簽字日期K矽夕年月衫日北京交通大學(xué)碩士學(xué)位論文學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解北京交通大學(xué)有關(guān)保留、使用學(xué)位論文的規(guī)定。特授權(quán)北京交通大學(xué)可以將學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,并采用影印、縮印或掃描等復(fù)制手段保存、匯編以供查閱和借閱。同意學(xué)校向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和磁盤。保密的學(xué)位論文在解密后適用本授權(quán)說明學(xué)位論文作者簽名琦砂導(dǎo)師簽名學(xué)位論文作者簽名乒F診導(dǎo)師簽名簽字日期呻年莎月形日簽字日期眇橢易氏7年月磊北京交通大學(xué)碩士學(xué)位論文致謝本論文的工作是在我的導(dǎo)師姜學(xué)東教授的悉心指導(dǎo)下完成的,姜學(xué)東教授嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和科學(xué)的工作方法給了我極大的幫助和影響。在此衷心感謝姜學(xué)東老師對我的關(guān)心和指導(dǎo)。姜學(xué)東教授悉心指導(dǎo)我們完成了實(shí)驗(yàn)室的科研工作,在學(xué)習(xí)上和生活上都給予了我很大的關(guān)心和幫助,對于我的科研工作和論文都提出了許多的寶貴意見。在此向姜學(xué)東老師表示衷心的謝意。在實(shí)驗(yàn)室工作及撰寫論文期間,邱瑞昌老師,荊龍老師,王愛國、王朝寧等同學(xué)對我論文研究工作給予了熱情幫助,在此向他們表達(dá)我的感激之情。另外也感謝我的家人,他們的理解和支持使我能夠在學(xué)校專心完成我的學(xué)業(yè)。感謝母校給了我學(xué)習(xí)和成長的機(jī)會,感謝在百忙之中抽出寶貴時(shí)間對本論文進(jìn)行評審的各位專家們,衷心感謝你們對本論文提出的寶貴意見。謝謝緒論11課題背景與意義1緒論P(yáng)ID控制算法是最通用的控制策略,在工業(yè)過程控制中95以上的控制回路具有PID結(jié)構(gòu),算法簡單。傳統(tǒng)的PID整定方法是在獲取對象數(shù)學(xué)模型的基礎(chǔ)上,根據(jù)某一整定原則來確定PID參數(shù),只要對象數(shù)學(xué)模型精確,且是非時(shí)變的,其整定的參數(shù)可以固定不變,控制效果一般能滿足要求。然而在實(shí)際的過程控制系統(tǒng)中,許多被控過程機(jī)理較復(fù)雜,具有嚴(yán)重非線性,時(shí)變不確定性、大延遲等特點(diǎn),在噪聲,負(fù)載擾動等因素的影響下,過程參數(shù),甚至模型結(jié)構(gòu),均會發(fā)生變化,難以建立精確的數(shù)學(xué)模型。因此,若采用常規(guī)PID參數(shù)整定方法,往往整定不良,性能欠佳,對運(yùn)行工況的適應(yīng)性較差,控制效果不理想。因此,針對那些非線性,大時(shí)變,大延遲等被控對象,不僅要求PID參數(shù)的整定不依賴于對象數(shù)學(xué)模型,而且要求PID參數(shù)能在線調(diào)整,以滿足控制要求。所以設(shè)計(jì)一種智能的PID控制系統(tǒng),以適應(yīng)復(fù)雜工況和高性能的控制要求,具有十分重要的意義。數(shù)字PID技術(shù)是針對模擬PID的缺點(diǎn)而提出的新的控制策略,它主要通過給定值及采集的反饋信號計(jì)算出輸出控制量的值,以實(shí)現(xiàn)閉環(huán)控制。與模擬PID控制相比,數(shù)字PID具有參數(shù)靈活,工作可靠等優(yōu)點(diǎn),但是要實(shí)現(xiàn)非常精確的控制,就需要處理器具有較快的速度,強(qiáng)大的計(jì)算能力,并且要求反饋信號采集及控制信號輸出具有較高的分辨率。ARM是一種典型的嵌入式微控制器,性能高、成本低、功耗小,適合于多種領(lǐng)域。ARM結(jié)構(gòu)是基于精簡指令集RISC原理而設(shè)計(jì)的,能實(shí)現(xiàn)較高的指令吞吐量,出色的實(shí)時(shí)中斷響應(yīng),并且能夠支持LINUX、WINDOWSCE等操作系統(tǒng)。本設(shè)計(jì)中所采用的S3C44BOX是三星公司推出的ARM7內(nèi)核處理器,軟件上采用了嵌入式操作系統(tǒng)UCOSII,它具有強(qiáng)大的管理功能,并且是一個(gè)實(shí)時(shí)操作系統(tǒng)RTOS,可以滿足系統(tǒng)高精度和快速響應(yīng)的要求。移植了GUI軟件包,實(shí)現(xiàn)功能強(qiáng)大的顯示。因此,針對各種工業(yè)過程控制的實(shí)際需要,尋求適合于實(shí)際問題的PID參數(shù)整定算法,然后利用合適的微處理器實(shí)現(xiàn),提出一種智能PID控制系統(tǒng)解決方案,可以應(yīng)用于多種場合,具用重要的理論意義和使用價(jià)值。本次設(shè)計(jì)的控制對象為單變量系統(tǒng),以三相全控橋式整流電路為實(shí)際應(yīng)用,負(fù)載為電阻箱,控制主電路電壓。智能控制系統(tǒng)采集回路電壓,經(jīng)運(yùn)算輸出PWM北京交通大學(xué)碩士學(xué)位論文波,濾波出O5V的直流量控制6100驅(qū)動板,控制輸出脈沖的移向范圍從5度到175度可調(diào),實(shí)現(xiàn)三相整流橋輸出電壓控制。采樣時(shí)間為05MS,PWM波頻率16MHZ,主電路電壓控制精度25V,設(shè)定值不要超出主電路輸出晟大值即可。超調(diào)量109仁11,調(diào)節(jié)時(shí)間8一15S??刂葡到y(tǒng)具備計(jì)時(shí)器和通信功能,可以保存整定參數(shù),LCD屏幕顯示,鍵盤式操作。12PID控制系統(tǒng)設(shè)計(jì)思路12L系統(tǒng)的硬件架構(gòu)從20世紀(jì)70年代單片機(jī)出現(xiàn)到今天各式各樣的嵌入式微處理器、微控制器的太規(guī)模應(yīng)用,嵌入式系統(tǒng)已經(jīng)有了近30年的發(fā)展歷史。本次設(shè)計(jì)采用了標(biāo)準(zhǔn)的嵌入式系統(tǒng)的設(shè)計(jì)模式。嵌入式系統(tǒng)是一種基于微控制器、軟件驅(qū)動的可靠實(shí)時(shí)控制系統(tǒng),以人工的、自治的或者網(wǎng)絡(luò)的方式進(jìn)行交互,對各種物理變量進(jìn)行操作。一般而占,嵌入式系統(tǒng)的構(gòu)架如圖11。硬件設(shè)計(jì)主要包括搭建基于S3C44BOX的最小系統(tǒng),另一方面就是實(shí)現(xiàn)設(shè)計(jì)功能所需要的各種功能模塊的硬件設(shè)計(jì)。完成了硬件設(shè)計(jì)之后,就可以進(jìn)行編程,實(shí)現(xiàn)設(shè)計(jì)的功能了。固匠外世備_存儲器處理器串打通FFIG1ICONSISTTOFEMBEDDEDSYSTEM22系統(tǒng)的軟件設(shè)計(jì)操作系統(tǒng)將應(yīng)用分解成多個(gè)任務(wù),簡化了應(yīng)用系統(tǒng)軟件的設(shè)計(jì)每個(gè)任務(wù)都緒論有獨(dú)立的存儲器分配,在控制多個(gè)設(shè)備的同時(shí),執(zhí)行多個(gè)函數(shù)的調(diào)度,任務(wù)之間可以共享存儲器。操作系統(tǒng)最主要的功能是任務(wù)之間的調(diào)度,內(nèi)部進(jìn)程任務(wù)通信和對變量、隊(duì)列和管道的共享,確保同一瞬間只有一個(gè)任務(wù)能夠進(jìn)入運(yùn)行狀態(tài)。RTOS使控制系統(tǒng)的實(shí)時(shí)性得到保證,可以接近理論上能達(dá)到的最好水平;良好的多任務(wù)設(shè)計(jì),有助于提高系統(tǒng)的穩(wěn)定性和可靠性。較常用的有VXWORKS、WINDOSCE、UCOS、LINUX等。之所以選擇UCOS,因?yàn)閷τ谛⌒蛯?shí)時(shí)操作系統(tǒng)來說,源代碼公開的、具有很好的可移植性、可固化可裁剪、高穩(wěn)定性與可靠性、搶占式多任務(wù)的UCOS非常適合學(xué)習(xí)。而且已應(yīng)用在很多工業(yè)及軍事領(lǐng)域,值得放心。UCGUI可以極大的簡化應(yīng)用程序的圖形設(shè)計(jì),UCGUI是一種嵌入式應(yīng)用中的圖形支持系統(tǒng)。用于為任何使用LCD圖形顯示的應(yīng)用提供高效的獨(dú)立于處理器及LCD控制器的圖形用戶接口,它適用單任務(wù)或是多任務(wù)系統(tǒng)環(huán)境,并適用于任意LCD控制器和CPU下任何尺寸的真實(shí)顯示或虛擬顯示。軟件設(shè)計(jì)主要包括了UCOSII的移植以及基于UCOSII實(shí)時(shí)操作系統(tǒng)內(nèi)核的程序設(shè)計(jì),編程主要采用C語言。UCOSII多任務(wù)操作系統(tǒng)加上基于ARM7的硬件系統(tǒng)的強(qiáng)大功能,可以使得設(shè)計(jì)具有非常好的應(yīng)用效果。設(shè)計(jì)中,包含了IIC讀寫任務(wù)用于將數(shù)據(jù)保存在非易失性存儲器、串口通信任務(wù)用于PC機(jī)管理,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控、GUI任務(wù)用于顯示數(shù)據(jù)以及人機(jī)交互,多任務(wù)之間的通信采用了UCOSII中的郵箱機(jī)制,方便的實(shí)現(xiàn)了數(shù)據(jù)交換??刂撇呗圆捎昧藛伍]環(huán)增量式數(shù)字PID,PID參數(shù)整定方法采用了簡易工程法規(guī)一化參數(shù)整定法。它是ROBERTSPD在1974年提出的一種簡化擴(kuò)充臨界比例度整定法,該方法只需整定一個(gè)參數(shù),故稱其為規(guī)一化參數(shù)整定法。13本文的主要研究內(nèi)容如前所述,PID控制在工業(yè)過程中得到廣泛的應(yīng)用。然而,實(shí)際應(yīng)用中,許多工業(yè)控制回路的整定效果都較差。因此尋求一個(gè)適應(yīng)于多個(gè)場合的PID控制系統(tǒng),實(shí)現(xiàn)PID參數(shù)整定具有重要的實(shí)際意義。歸納起來,論文做了以下工作。1基于ARM的智能控制系統(tǒng)的設(shè)計(jì)。論文第二章、第三章詳細(xì)介紹了基于ARM的智能控制系統(tǒng)的設(shè)計(jì)。該系統(tǒng)根據(jù)對運(yùn)算速度、功耗、存儲容量等方面的要求,以高性能、低功耗的ARM微處理器作為核心處理單元,具有液晶顯示、鍵盤輸入等功能,針對被控對象,可以選擇不同的整定方法進(jìn)行PID參數(shù)的調(diào)節(jié)。2對實(shí)時(shí)操作系統(tǒng)的研究以及UCOS系統(tǒng)的移植。論文第三章詳細(xì)分析了UCOS系統(tǒng)內(nèi)核及其功能實(shí)現(xiàn),針對智能控制系統(tǒng)模塊化、通用化的要求,選擇3北京交通大學(xué)碩士學(xué)位論文了實(shí)時(shí)操作系統(tǒng)UEOS,并成功的移植到了以ARM為內(nèi)核的系統(tǒng)中。為實(shí)現(xiàn)控制系統(tǒng)的多任務(wù)自動調(diào)度以及以優(yōu)先級來判斷任務(wù)先后順序的智能化打下了堅(jiān)實(shí)的基礎(chǔ)。3PID算法的研究,經(jīng)過多種算法的比較選定了單閉環(huán)增量式數(shù)字PID。并以超調(diào)量和穩(wěn)定時(shí)間為參數(shù),提出了自動選定最優(yōu)系數(shù)算法的軟件設(shè)計(jì)思路。使得系統(tǒng)能夠自動尋找最優(yōu)PID控制參數(shù)。實(shí)現(xiàn)智能控制系統(tǒng)自整定控制的初步完成。4PID控制系統(tǒng)算法21PID控制原理211原理2PID控制系統(tǒng)算法在模擬控制系統(tǒng)中,根據(jù)偏差的比例P、積分I、微分D進(jìn)行控制簡稱PID控制,是控制系統(tǒng)中應(yīng)用最為廣泛的一種控制規(guī)律。系統(tǒng)由模擬控制器和被控對象組成。PID控制器是一種線性控制器,它根據(jù)給定值“T和實(shí)際輸出值YT構(gòu)成控制偏差,其控制規(guī)律為,RKY7UV7似伍刖務(wù)一I圖21模擬PID控制系統(tǒng)FIG21ANOLOGPIDCONTROLSYSTEMETRT一YT啪硨L乃弘T渺乃掣】0”或?qū)懗蓚鬟f函數(shù)形式2122DS2嵩2KP11乃ROS4323也L引,式中KP一比例系數(shù);TI一積分時(shí)間常數(shù);TD一微分時(shí)間常數(shù)。簡單來說,PID控制器各校正環(huán)節(jié)的作用如下1比例環(huán)節(jié)及時(shí)成比例的反映控制系統(tǒng)的偏差信號ET,代表了變量隨時(shí)間的變化率,偏差一旦產(chǎn)正,控制器立即產(chǎn)生控制作用,以減少偏差。微分環(huán)節(jié)有助于減小超調(diào),克服振蕩。他加快了系統(tǒng)的動作速度,減小了調(diào)整時(shí)間。從而改善了系統(tǒng)的動態(tài)性能。KP的加大會引起系統(tǒng)的不穩(wěn)定。2積分環(huán)節(jié)主要用于消除靜差,提高系統(tǒng)的無差度。積分作用的強(qiáng)弱取決于積分時(shí)問常數(shù)TI,TI越大,積分作用越弱,反之則越強(qiáng)。積分作用太強(qiáng)會使系統(tǒng)超調(diào)加大,甚至使系統(tǒng)出現(xiàn)振蕩。增大TI會減慢消除靜差的過程,但是可以減小超調(diào),提高穩(wěn)定性。5北京交通大學(xué)碩士學(xué)位論文3微分環(huán)節(jié)能反映偏差信號的變化趨勢變化速率,并能在偏差信號變得太大之前,在系統(tǒng)中引入一個(gè)有效的早期修正信號,從而加快系統(tǒng)的動作速度,減少調(diào)節(jié)時(shí)間。能對變量的變化趨勢作出響應(yīng)。有助于減小超調(diào),客服振蕩,使系統(tǒng)趨于穩(wěn)定。他加快了系統(tǒng)的動作速度,減小了調(diào)整時(shí)間,從而改善了系統(tǒng)的動態(tài)性能。過大的TD會使控制系統(tǒng)不穩(wěn)定,一般小于L。212PID參數(shù)整定概述PID控制系統(tǒng),由于各個(gè)控制器參數(shù)有明顯的物理意義,調(diào)整方便,所以其參數(shù)整定的方法很多,發(fā)展很快。隨著控制理論的發(fā)展,出現(xiàn)了各種分支,如專家系統(tǒng)、模糊邏輯、神經(jīng)網(wǎng)絡(luò)、灰色系統(tǒng)理論等,派生出各種智能控制器,產(chǎn)生了新的PID參數(shù)整定方法。因此,智能PID控制系統(tǒng)以其參數(shù)整定方法是目前乃至今后的研究重點(diǎn)。P1D參數(shù)整定是指在控制器形式已經(jīng)確定的情況下P,PI和PID,針對一定的控制對象調(diào)整控制器參數(shù)KP,TI,TD,從而達(dá)到控制要求?;居兴念愓ǚ椒ǖ谝活愂腔谶^程參數(shù)辨識的整定方法,即參數(shù)自適應(yīng)PID控制器整定方法;第二類是基于被控過程的特征參數(shù)整定方法,又稱為非參數(shù)自適應(yīng)PID控制器整定方法;第三類是基于最優(yōu)PID控制器設(shè)計(jì)參數(shù)整定方法;第四類是基于控制器本身偏差和偏差變化率的智能控制器參數(shù)整定方法。第一種方法需要通過某種辨識算法獲得對象數(shù)學(xué)模型,然后根據(jù)其模型參數(shù)進(jìn)行PID控制器參數(shù)整定。此方法在得到對象精確數(shù)學(xué)模型后,可采用解析方法確定PID控制器參數(shù),而且控制效果好。但在工業(yè)上應(yīng)用較為困難。第二種方法是基于被控過程的某些特征參數(shù)的整定方法。其設(shè)計(jì)思路是對于難以通過辨識方法建立精確數(shù)學(xué)模型的復(fù)雜過程,通過實(shí)驗(yàn)方法測得其階躍響應(yīng)、頻率響應(yīng)等于開環(huán)輸出特性,從中找到反映對象特性的特征參數(shù),然后根據(jù)其特征參數(shù)進(jìn)行PID參數(shù)整定。這種方法在實(shí)際中被廣為利用。第三種方法是基于最優(yōu)PID控制器設(shè)計(jì)的參數(shù)整定方法。在不同準(zhǔn)則下,提出PID控制最優(yōu)整定的算法,在這方面,ZHUANG和ATHERTON提出了最優(yōu)準(zhǔn)則的一般形式MRT9以口【LT“EO,F(xiàn)L出24第四種方法是基于控制器本身偏差及其變化率的智能PID控制器參數(shù)整定方法。它是在常規(guī)PID控制策略中融入智能控制,能模擬人腦的思維,根據(jù)專家和操作者的經(jīng)驗(yàn)對PID參數(shù)進(jìn)行在線自整定,根據(jù)偏差和偏差變化率的大小,經(jīng)過推理計(jì)算出PID參數(shù),從而獲得最佳控制策略。PID控制系統(tǒng)算法本次設(shè)計(jì)采用的是常用的ZN法發(fā)展而來的,常規(guī)ZIEGLERNICHOLS整定方法是ZIEGLER和NICHOLS于1942年提出的,基于受控過程的開環(huán)動態(tài)響應(yīng)中的某些特征參數(shù)而進(jìn)行的PID參數(shù)整定。其整定經(jīng)驗(yàn)公式是基于帶有延遲的一切慣性模型提出的,這種對象模型可表示為,G加高P噸其中K放大系數(shù);T慣性時(shí)間L延遲時(shí)間。實(shí)際控制過程中,將大量的模型近似為上述一階模型,也可以通過實(shí)驗(yàn)獲取臨界震蕩增益KC和臨界振蕩角頻率WE,通過經(jīng)驗(yàn)整定公式得到PID參數(shù)葛麗窆鏨KPTITDP05L沁P104KC08TCPD06KE05TC012TC表21ZIEGLERNICHOLS整定公式FIG2ZIEGLERNICHOLSMODULARFORMULA_在連續(xù)控制系統(tǒng)中,比較常用的還是簡易工程法,這種方法最大的優(yōu)點(diǎn)在于整定參數(shù)時(shí)不必依賴被控對象的數(shù)字模型。雖然粗糙一點(diǎn),但是簡單易行,適于現(xiàn)場應(yīng)用。PID參數(shù)的整定過程可以是離線進(jìn)行也可以是在線進(jìn)行。離線整定過程是通過實(shí)驗(yàn)方法測出系統(tǒng)的特征參數(shù),然后根據(jù)這些參數(shù)設(shè)計(jì)一個(gè)合適的PID控制器,最后再將此控制器應(yīng)用到原系統(tǒng)的控制中。當(dāng)系統(tǒng)的參數(shù)發(fā)生變化是,則要再重復(fù)這一過程。在線整定即自整定的基本思想,是系統(tǒng)中設(shè)置兩種模態(tài);測試模態(tài)和調(diào)節(jié)模態(tài)。測試模態(tài)在線測定系統(tǒng)特征參數(shù),并算出PID參數(shù);調(diào)節(jié)模態(tài)由PID控制器對系統(tǒng)動態(tài)進(jìn)行調(diào)節(jié),如果系統(tǒng)測試發(fā)生變化,則重新進(jìn)入測試模態(tài)進(jìn)行測試,測試完成后再回到調(diào)節(jié)模態(tài)進(jìn)行控制。213數(shù)字PID在選擇數(shù)字PID參數(shù)之前,首先應(yīng)該確定控制器結(jié)構(gòu)。對允許有靜差或穩(wěn)態(tài)誤差的系統(tǒng),可以適當(dāng)選擇P或PD控制器,使穩(wěn)態(tài)誤差在允許的范圍內(nèi)。對必須消除穩(wěn)態(tài)誤差的系統(tǒng),應(yīng)選擇包含積分控制的PI或PID控制器。一般來說,PI、PID和P控制器應(yīng)用較多。對于有滯后的對象,往往都加入微分控制。本設(shè)計(jì)主要專注于嵌入式操作系統(tǒng)及GUI軟件包在電力電子電路控制領(lǐng)域的試探性研究,因此選取了三相全控整流電路為試驗(yàn)平臺,負(fù)載為阻性負(fù)載,基本符合PID控制要求。7北京交通大學(xué)碩士學(xué)位論文控制器結(jié)構(gòu)確定后,即可開始選擇參數(shù)。參數(shù)的選擇,要根據(jù)受控對象的具體特性和對控制系統(tǒng)的性能要求進(jìn)行。工程上,一般要求整個(gè)閉環(huán)系統(tǒng)是穩(wěn)定的,對給定量的變化能迅速響應(yīng)并平滑跟蹤,超調(diào)量小在不同干擾作用下,能保證被控量在給定值;當(dāng)環(huán)境參數(shù)發(fā)生變化時(shí),整個(gè)系統(tǒng)能保持穩(wěn)定,等等。這些要求,對控制系統(tǒng)自身性能來說,有些是矛盾的。我們必須滿足主要的方面的要求,兼顧其他方面,適當(dāng)?shù)卣壑蕴幚?。PID控制器的參數(shù)整定,可以不依賴于受控對象的數(shù)學(xué)模型。工程上,PID控制器的參數(shù)常常是通過實(shí)驗(yàn)來確定,通過試湊,或者通過實(shí)驗(yàn)經(jīng)驗(yàn)公式來確定。本次設(shè)計(jì)采用了數(shù)字PID算法,這不是簡單的把模擬PID控制規(guī)律數(shù)字化,而是要進(jìn)一步的與計(jì)算機(jī)的邏輯判斷功能相結(jié)合,是PID控制更加靈活,更能滿足生產(chǎn)過程提出的要求。根據(jù)模擬PID控制規(guī)律,數(shù)字PID常用的有兩種方式位置型控制算法和增量型控制算法。位置型算法適用于控制調(diào)節(jié)閥之類表征執(zhí)行機(jī)構(gòu)的位置的控制對象。如果輸出的控制量是相對于上次控制量的增加或減少,則增量式控制算法更為適用。PID參數(shù)的整定本次設(shè)計(jì)則是選用了在連續(xù)控制系統(tǒng)中常用的簡易工程法,由經(jīng)典的頻率法簡化而來。其中又可以分為擴(kuò)充臨界比例度法和擴(kuò)充響應(yīng)曲線法。本設(shè)計(jì)選用的是一種簡化的擴(kuò)充臨界比例度法。實(shí)驗(yàn)證明,數(shù)字PID算法簡單,可靠,能夠出色的完成任務(wù)。22PID算法及參數(shù)自整定221數(shù)字PID參數(shù)整定在電子數(shù)字計(jì)算機(jī)直接數(shù)字控制系統(tǒng)中,PID控制器是通過計(jì)算機(jī)PID控制算法程序?qū)崿F(xiàn)的。計(jì)算機(jī)直接數(shù)字控制系統(tǒng)大多數(shù)是采樣數(shù)據(jù)控制系統(tǒng)。進(jìn)入計(jì)算機(jī)的連續(xù)時(shí)間信號,必須經(jīng)過采樣和整量化后,變成數(shù)字量,方能進(jìn)入計(jì)算機(jī)的存貯器和寄存器,而在數(shù)字計(jì)算機(jī)中的計(jì)算和處理,不論是積分還是微分,只能用數(shù)值計(jì)算去逼近。當(dāng)采樣周期相當(dāng)短時(shí),用求和代替積分,用差商代替微商,使PID算法離散化,將描述連續(xù)時(shí)間PID算法的微分方程,變?yōu)槊枋鲭x散時(shí)間PID算法的差分方程。1數(shù)字PID位置型控制算法為了便于計(jì)算機(jī)實(shí)現(xiàn),必須把式22變換成差分方程,為此可作如下近似TKIETDT死F25PID控制系統(tǒng)算法DETEKEK1DTT26式中,T為采樣周期,K為采樣序號。由以上可得數(shù)字PID位置型控制算式為“七KPP七號害PF乃墾半】27式27是數(shù)字PID算法的非遞推形式,稱全量算法。算法中,為了求和,必須將系統(tǒng)偏差的全部過去值EKK1,2,3,K都存儲起來。這種算法得出控制量的全量輸出TLK,是控制量的絕對數(shù)值。在控制系統(tǒng)中,這種控制量確定了執(zhí)行機(jī)構(gòu)的位置,例如在閥門控制中,這種算法的輸出對應(yīng)了閥門的位置開度。所以,將這種算法稱為“位置算法。2數(shù)字PID增量型控制算法由式27可看出,位置型控制算法不夠方便,這是因?yàn)橐奂悠頔K,不僅要占用較多的存儲單元,而且不便于編寫程序。當(dāng)執(zhí)行機(jī)構(gòu)需要的不是控制量的。K絕對值,而是控制量的增量例如去驅(qū)動步進(jìn)電動機(jī)時(shí),需要用PID的“增量算法“。為此可對式27進(jìn)行改進(jìn)。,根據(jù)式27可知UK1的表達(dá)式為“K1KPP七一1吾芝砸亟墜塵掣】28上1J盲O1與式27相減得數(shù)字PID增量型控制算式為鯔K裂E一K我毗KM鏟2EK_1EK2】29“P尼一一1】K,E后DE后一一1一2】7其中K,稱為比例增益;K,KP爭稱為積分系數(shù);KDKP1ID稱為微分系數(shù);為了編程方便,可將式29整理成如下形式AUKQOEK9LEK一192EK一2210其中9北京交通大學(xué)碩士學(xué)位論文鏟縱專爭,口L一KE12TDQ2KPI“D圖23則是本文PID算法的大體流程圖,從式210已看不出是PID的表達(dá)式了,也看不出P、I、D作用的直接關(guān)系,只表示了各次誤差量對控制作用的影響。從式210看出,數(shù)字增量式PID算法,只要貯存最近的三個(gè)誤差采樣值EK、EK1、EK2就足夠了。3圖22介紹了自整定控制算法如何進(jìn)行調(diào)整和操作。算法計(jì)算控制信號的輸出值,具體實(shí)現(xiàn)細(xì)節(jié)參考了控制設(shè)計(jì)參考文檔,即JOHNFDORSEY編著的CONTINUOUSANDDISCRETECONTROLSYSTEMS。圖23數(shù)字PID增量型算法的流程圖FIG23INCREMENTALDIGITALPIDFLOWCHARTPID控制系統(tǒng)算法圖22自適應(yīng)控制算法模型FIG22AUTOSELFMODIFIEDCONTROLMODEL222數(shù)字PID的具體實(shí)現(xiàn)及改進(jìn)1歸一化參數(shù)整定法本設(shè)計(jì)采用的參數(shù)整定方法為1974年ROBERTPD提出的歸一化參數(shù)整定法,已知增量型PID的控制公式為AU七K尸P后EK一1FTG七爭P七一2PJ|一1P七一2】I上如今令TO1TK;TI05TK;TD0125TK。式中TK為純比例作用下的臨界振蕩周期。則AUKK尸245EK一35EK1125EK一2】這樣,整個(gè)問題便簡化為只要整定一個(gè)參數(shù)KP。改變KP,觀察控制效果,直到滿意為止。2采樣周期的選擇香農(nóng)采樣定理試圖決定了采樣周期。根據(jù)采樣定理,采樣周期應(yīng)滿足T三緲M缸Q隴為被采樣信號的上限角頻率,K為采樣周期的下限也就是計(jì)算機(jī)執(zhí)行控制程序和輸入輸出所耗費(fèi)的時(shí)間,系統(tǒng)的采樣周期只能在乙;。和之間。采樣周期T要合理選取,T太小增加計(jì)算機(jī)的負(fù)擔(dān),無法充分利用計(jì)算機(jī)的性能;T太大,兩次采樣間的偏差變換不夠,數(shù)字控制器的輸出值變換沒有明顯差異。因此T應(yīng)該在L妯和K之間。北京交通大學(xué)碩士學(xué)位論文3要想在控制性能上超過模擬調(diào)節(jié)器,要發(fā)揮計(jì)算機(jī)的優(yōu)勢運(yùn)算速度,編程靈活,邏輯判斷性能好。因此在需要在本文在以下方面做出了改進(jìn)。1積分項(xiàng)的改進(jìn)在PID控制中,積分的作用是消除殘差,為了提高控制性能,對積分項(xiàng)可采取以下4條改進(jìn)措施A積分分離當(dāng)偏差EK較大時(shí),選擇取消積分作用;當(dāng)偏差較小時(shí)才將積分作用投入,這樣做可以避免產(chǎn)生較大的超調(diào)和長時(shí)間的波動。B抗積分飽和因長時(shí)間出現(xiàn)偏差或偏差較大,計(jì)算出的控制量有可能溢出或小于零,而溢出就是指計(jì)算機(jī)運(yùn)算得出的控制量超出了DA轉(zhuǎn)換器所能表示的數(shù)值范圍。防止積分飽和可以對輸出的控制量限幅,同時(shí)把積分作用切除掉。C提高運(yùn)算精度增加AD轉(zhuǎn)換位數(shù),運(yùn)算字長2微分項(xiàng)的改進(jìn)A不完全微分PID控制算法標(biāo)準(zhǔn)的PID控制算式,對具有高頻擾動的生產(chǎn)過程,微分作用響應(yīng)過于靈敏,容易引起控制過程的振蕩,會降低調(diào)節(jié)品質(zhì)。為了克服這一缺點(diǎn),同時(shí)又要使微分作用產(chǎn)生應(yīng)有的效果,可以在PID控制輸出串聯(lián)一階慣性環(huán)節(jié),這樣可使微分作用作用于多個(gè)采樣周期,且作用變?nèi)?,調(diào)節(jié)作用平緩。B微分先行PID控制算法微分先行是指只對被控量YT微分,不對偏差ET微分,也就是說對給定值RT無微分作用。這樣可以避免給定值升降給控制系統(tǒng)帶來的沖擊。而帶死區(qū)的PID算法是指在計(jì)算機(jī)控制系統(tǒng)中,某些系統(tǒng)為了避免控制動作過于頻繁造成的震蕩而采取的一種措施。指定一個(gè)范圍,當(dāng)偏差絕對值FEK數(shù)據(jù)輸入“H”顯示號“H”時(shí)開顯示,“L”時(shí)用PE0接反相邏輯邏LD“H“時(shí)打開,“L下。31L78C64模塊的接口信定義TBLE31L7C64MOULEINTERACEDEFINIONLCD控制器外部接口信號的定義及其與LCD模塊各信號之間的對系如VFRAMELCD控制器與LCD驅(qū)動器之間的幀同步信號。該信號表CD北京交通大學(xué)碩士學(xué)位論文另外一幀開始了。LCD控制器在一個(gè)完整幀顯示完成后,會馬上插入一個(gè)VFRAME信號,開始新一幀的顯示。該信號與LCD模塊的YD信號相對應(yīng)。VLLNELCD控制器和LCD驅(qū)動器之間的線同步脈沖信號。該信號用于LCD驅(qū)動器將水平線行移位寄存器的內(nèi)容傳送給LCD屏顯示。LCD控制器在整個(gè)水平線整行數(shù)據(jù)移入LCD控制器后,插入一個(gè)VLINE信號。該信號與LCD模塊的LP信號相對應(yīng)。VCLKLCD控制器和LCD驅(qū)動器之間的像素時(shí)鐘信號。由LCD控制器送出的數(shù)據(jù)在VCLK的上升沿處送出,在VCLK的下降沿被LCD驅(qū)動器采樣。該信號與LCD模塊的XCK信號相對應(yīng)。VMLCD驅(qū)動器的AC信號。VM信號被LCD驅(qū)動器用于改變行和列的電壓極性,從而控制像素點(diǎn)的顯示和熄滅。VM信號可以與每個(gè)幀同步,也可以與可變數(shù)量的VLINE信號同步。VD7“0LCD像素點(diǎn)的數(shù)據(jù)輸入端口。與LCD模塊的D7“0相對應(yīng)。本設(shè)計(jì)選用GPE0經(jīng)反相器輸出作為像素點(diǎn)顯示開關(guān),采用ENDIAN經(jīng)反相器輸出作為背光控制開關(guān)。原理圖如圖36。圖36LCD接口原理圖FIG36LCDINTERFACESCHEMATICDIAGRAM333鍵盤接口電路設(shè)計(jì)矩陣式鍵盤由行線和列線組成,一般用于按鍵數(shù)量較多的場合。按鍵位于交叉點(diǎn)上。如圖37所示,一個(gè)44的行,列結(jié)構(gòu)可以構(gòu)成一個(gè)有16個(gè)按鍵的鍵盤。按鍵設(shè)置在行、列交叉點(diǎn)上,行、列分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻接NSV上。平時(shí)無按鍵動作時(shí),行線處于高電平狀態(tài);當(dāng)有按鍵按下時(shí),系統(tǒng)的硬件設(shè)計(jì)行線電平狀態(tài)將由通過此按鍵的列線電平?jīng)Q定;列線電平如果為低,行線電平為低,列線電平如果為高,則行線電平也為高。實(shí)際電路采用GPIOPE4、,7作為輸入端口,GPIOPF4一7作為輸出掃描碼。L讀F輸入掃描碼圖37矩陣式鍵柱結(jié)構(gòu)FIG37MATRIXKEYBOARDSSTRUCTURE334數(shù)據(jù)保存接口電路設(shè)計(jì)采用EEPROM可以將數(shù)據(jù)永久保存,供下次開機(jī)調(diào)用,如電壓、電流設(shè)定值,PID參數(shù),系統(tǒng)時(shí)間,運(yùn)行狀態(tài)等,因此采用了AT24C01芯片。它提供128字節(jié)的EEPROM存儲空間采用IIC總線通信。應(yīng)用電路如圖38所示7U13;ISD5I。一I;烈量翻二EEPROIVCC24LCXXXGNDI;I;R,堅(jiān)一一IJJ上I一LM?!币弧GL“L“一一丘船510K逝R“。10正一I圖38EEPROM接口電路FIG38EEPROMINTERFACE2L系統(tǒng)軟件平臺的搭建41UCOSII的移植4系統(tǒng)軟件平臺的搭建本次設(shè)計(jì)在充分研究了實(shí)時(shí)內(nèi)核和硬件平臺特性的基礎(chǔ)上,將實(shí)時(shí)內(nèi)核UCOSII成功移植到ARM平臺。實(shí)現(xiàn)了控制系統(tǒng)軟件平臺的智能化,模塊化。411實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)RTOS的基本功能是任務(wù)線程調(diào)度、存儲管理、同步機(jī)制、中斷管理和API。和一般操作系統(tǒng)不同的是,RTOS沒有命令行或圖形的一個(gè)界面,只有一個(gè)核心,可以根據(jù)不同的應(yīng)用系統(tǒng)裁剪或擴(kuò)充。RTOS是一段嵌入在目標(biāo)代碼中的程序,系統(tǒng)復(fù)位后先初始化各個(gè)任務(wù),然后在RTOS的調(diào)度下,將CPU時(shí)間、中斷、IO、定時(shí)器等資源分片的分配給各個(gè)任務(wù)。從而使系統(tǒng)資源得到很好的利用,并使各任務(wù)對事件有更好的響應(yīng)。RTOS面對幾十個(gè)系列的嵌入式處理器MPU,MCU,DSP,SOC等提供相同的API接口,基于RTOS上的C語言程序具有極大的可移植性。下面從幾個(gè)方面分析RTOS,這將為移植UCOS打下良好的基礎(chǔ)。1前后臺系統(tǒng)。一般的小系統(tǒng)都設(shè)計(jì)成前后臺這種模式,應(yīng)用程序是一個(gè)無限的循環(huán),循環(huán)中調(diào)用函數(shù)完成相應(yīng)的操作,這部分可以看成是后臺行為,也稱之為任務(wù)級。中斷服務(wù)程序處理異步事件,可以看成前臺行為,也稱之為中斷級。因?yàn)橹袛喾?wù)提供的信息一定要等到后臺程序運(yùn)行到該處理這個(gè)信息時(shí),才能得到處理。這種系統(tǒng)在處理信息的及時(shí)性上,比實(shí)際上可以做到的要差。最壞情況下的任務(wù)級相應(yīng)時(shí)間取決于整個(gè)循環(huán)的執(zhí)行時(shí)間。2任務(wù)與任務(wù)切換。多任務(wù)運(yùn)行的實(shí)現(xiàn)實(shí)際上是靠CPU在許多任務(wù)之間轉(zhuǎn)換和調(diào)度,我們可以通過實(shí)時(shí)操作系統(tǒng)將復(fù)雜的應(yīng)用程序?qū)哟位?。使用多任?wù),應(yīng)用程序?qū)⒏菀自O(shè)計(jì)和維護(hù)。每一個(gè)任務(wù)都是整個(gè)應(yīng)用的一部分,被賦予一定的優(yōu)先級,享有自己的CPU寄存器和??臻g。每個(gè)任務(wù)都處在以下5種狀態(tài)之一休眠態(tài)、就緒態(tài)、運(yùn)行態(tài)、掛起態(tài)和被中斷態(tài)。休眠態(tài)相當(dāng)于任務(wù)駐留在內(nèi)存中,但并不被多任務(wù)內(nèi)核所調(diào)度;就緒態(tài)意味著任務(wù)已經(jīng)準(zhǔn)備好,可以運(yùn)行,但由于該任務(wù)的優(yōu)先級比正在運(yùn)行的任務(wù)的優(yōu)先級低,還暫時(shí)不能運(yùn)行運(yùn)行態(tài)是指任務(wù)掌握了CPU的使用權(quán),正在運(yùn)行中;掛起態(tài),指任務(wù)在等待,等待某一事件的北京交通大學(xué)碩士學(xué)位論文發(fā)生,最后發(fā)生中斷時(shí),CPU提供相應(yīng)的中斷服務(wù),原來正在運(yùn)行的任務(wù)暫不能運(yùn)行,就進(jìn)入了被中斷狀態(tài)。當(dāng)多任務(wù)內(nèi)核決定運(yùn)行另外的任務(wù)時(shí),它會先保存正在運(yùn)行任務(wù)的當(dāng)前狀態(tài),即CPU寄存器中的全部內(nèi)容,保存在任務(wù)自己的棧區(qū)之中。入棧完成之后,就把下一個(gè)將要運(yùn)行的任務(wù)的當(dāng)前狀況從該任務(wù)的棧中重新裝入CPU的寄存器,并開始下一個(gè)任務(wù)的運(yùn)行。3可剝奪型內(nèi)核。在可剝奪性內(nèi)核中,總是讓就緒態(tài)且優(yōu)先級最高的任務(wù)先運(yùn)行,中斷服務(wù)程序可以搶占CPU。中斷服務(wù)完成,內(nèi)核總是讓此時(shí)優(yōu)先級最高的任務(wù)運(yùn)行不一定是那個(gè)被中斷的任務(wù),任務(wù)級系統(tǒng)響應(yīng)時(shí)間得到了最優(yōu)化,且是可知的。大多數(shù)商業(yè)級的RTOS都是可剝奪性內(nèi)核。4任務(wù)間信息的傳遞有兩個(gè)途徑,通過全稱變量,或發(fā)消息給另一個(gè)任務(wù)。用全程變量時(shí),必須保證每個(gè)任務(wù)或中斷服務(wù)子程序獨(dú)享該變量。中斷服務(wù)中保證獨(dú)享的唯一辦法是關(guān)中斷。任務(wù)只能通過全程變量與中斷服務(wù)子程序通信。信號量是一種約定機(jī)制,在多任務(wù)內(nèi)核中普遍使用,用于控制共享資源的使用權(quán)滿足互斥條件,標(biāo)志某事件的發(fā)生,使兩個(gè)任務(wù)的行為同步。只能對信號量實(shí)施三種操作,初始化,掛起,發(fā)信號。412UCOSII的內(nèi)核分析對于小型實(shí)時(shí)系統(tǒng)來講,源代碼公開、具有很好的可移植性、可固化可裁剪、高穩(wěn)定性和可靠性、搶占式多任務(wù)的UCOSII非常適合學(xué)習(xí)。同時(shí)UCOSII已經(jīng)應(yīng)用于照相行業(yè)、醫(yī)療儀器、音響設(shè)備、發(fā)動機(jī)控制、網(wǎng)絡(luò)接入設(shè)備、高速公路電話系統(tǒng)、ATM機(jī)等嵌入式實(shí)時(shí)系統(tǒng),其中UCOSIW252通過了美國航天管理局的安全認(rèn)證,可以應(yīng)用于飛機(jī)、航天器。這說明UCOSII不僅是一個(gè)很有生命力的,而且是值得放心使用的操作系統(tǒng)。下面對內(nèi)核代碼進(jìn)行分析。1主頭文件“INCLUDEH”,代碼中兩種類型的源文件都包含“INCLUDE”預(yù)處理命令。分別為處理器相關(guān)的源文件05H型,堆棧等,便于編譯時(shí)分配內(nèi)存空間;OS,內(nèi)核生成配置文件;OS,_CFGHCPUCC用作ISR中斷服務(wù)例程和RTOS定時(shí)器。任務(wù)切換的匯編代碼在OSCPUAS中。與處理器無關(guān)的源文件UCOIIH和UCOSIICO用作RTOS核心、定時(shí)器和任務(wù)的文件是OSCOREC、OSTIMEC和OSTASKC。存儲器分區(qū)、信號量、隊(duì)列和郵箱的代碼分別在OSMCRFLC、OSSCMC、OSQC和OSMBOXC中。2當(dāng)函數(shù)或變量的前綴有OS和OS時(shí),表示它是UCOS中的函數(shù)或變量。例如,OSTASKCREATE是個(gè)創(chuàng)建任務(wù)的函數(shù)OSNOERR是一個(gè)變量,它在函數(shù)24系統(tǒng)軟件平臺的搭建沒有出錯的情況下返回TRUE。OSMAXTASKS是一個(gè)常量,表示用戶應(yīng)用程序中任務(wù)的最大數(shù)目。3UCOS是可擴(kuò)展的OS。只有必需的OS函數(shù)才會成為應(yīng)用程序代碼的一部分,這樣就減少了對存儲器的需求。任務(wù)服務(wù),進(jìn)程間通信等函數(shù)必須在配置文件中預(yù)先定義。4UCOS使用搶占式調(diào)度程序。有系統(tǒng)級函數(shù),用于RTOS初始化和啟動、中斷初始化以及ISR入口和出口函數(shù)表。UCOS在處理變量和數(shù)據(jù)結(jié)構(gòu)時(shí),使用的是關(guān)中斷和開中斷,提供了兩個(gè)宏調(diào)用,允許在應(yīng)用程序的C代碼中關(guān)中斷,然后再開中斷。OSENTERCRITICAL和OSEXITCRITICAL,需要自己編寫。5UCOS有任務(wù)服務(wù)函數(shù)創(chuàng)建、運(yùn)行、掛起和恢復(fù)執(zhí)行等,任務(wù)延遲函數(shù),進(jìn)程間通信函數(shù)。使用信號量,隊(duì)列和郵箱。6UCOS把連續(xù)的大塊內(nèi)存按分區(qū)來管理,系統(tǒng)中有多個(gè)分區(qū),每個(gè)分區(qū)有多個(gè)大小一致的連續(xù)的內(nèi)存塊構(gòu)成。應(yīng)用程序可以從不同的分區(qū)取得所需的內(nèi)存塊,釋放時(shí)將內(nèi)存塊放回原來所屬的內(nèi)存分區(qū)中。使得內(nèi)存塊碎片問題得以解決,相比ANSIC中的FREE和MALLOC0函數(shù)。7UCOS中的任務(wù)通常是一個(gè)無限的循環(huán),可以管理多達(dá)64個(gè)任務(wù),但目前版本有兩個(gè)任務(wù)為系統(tǒng)任務(wù)TASKLDLE,TASKSTAT。一旦任務(wù)建立,一個(gè)任務(wù)控制塊OSTCB就會被賦值,OSTCB是一個(gè)數(shù)據(jù)結(jié)構(gòu),能保存任務(wù)的所有狀態(tài)。413移植平臺ARM簡介本小節(jié)對ARM微處理器的體系結(jié)構(gòu)、寄存器的組織、處理器的工作狀態(tài)、運(yùn)行模式等內(nèi)容進(jìn)行了描述,這些內(nèi)容也是ARM體系結(jié)構(gòu)的基本內(nèi)容,是系統(tǒng)軟、硬件設(shè)計(jì)的基礎(chǔ),更是移植操作系統(tǒng)的基本。1處理器結(jié)構(gòu)S3C44BO【是基于ARM7TDMI內(nèi)核的處理器,為低功耗的32位RISC處理器,最適合用于對價(jià)位和功耗要求較高的消費(fèi)類應(yīng)用。ARM7系列微處理器的主要應(yīng)用領(lǐng)域?yàn)楣I(yè)控制、INTEMET設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備、移動電話等多種多媒體和嵌入式應(yīng)用。ARM7微處理器系列具有如下特點(diǎn)一具有嵌入式ICERT邏輯,調(diào)試開發(fā)方便。一極低的功耗,適合對功耗要求較高的應(yīng)用,如便攜式產(chǎn)品。一能夠提供09MIPSMHZ的三級流水線結(jié)構(gòu)。一代碼密度高并兼容16位的THUMB指令集。北京交通大學(xué)碩士學(xué)位論文一對操作系統(tǒng)的支持廣泛,包括WINDOWSCE、LINUX、PALMOS等。一指令系統(tǒng)與ARM9系列、ARM9E系列和ARML0E系列兼容,便于用戶的產(chǎn)品升級換代。一主頻最高可達(dá)130MIPS,高速的運(yùn)算處理能力能勝任絕大多數(shù)的復(fù)雜應(yīng)用。一直接使用JTAG下載和調(diào)試,可以源代碼級跟蹤調(diào)試。ARM7采用RISC體系結(jié)構(gòu),支持兩種指令集ARM指令集和THUMB指令集。其中,ARM指令為32位的長度,THUMB指令為16位長度。THUMB指令集為ARM指令集的功能子集,但與等價(jià)的ARM代碼相比較,可節(jié)省3040以上的存儲空間,同時(shí)具備32位代碼的所有優(yōu)點(diǎn)。在程序的執(zhí)行過程中,微處理器可以隨時(shí)在兩種工作狀態(tài)之間切換。2存儲格式及數(shù)據(jù)類型ARM體系結(jié)構(gòu)將存儲器看作是從零地址開始的字節(jié)的線性組合。從零字節(jié)到三字節(jié)放置第一個(gè)存儲的字?jǐn)?shù)據(jù),從第四個(gè)字節(jié)到第七個(gè)字節(jié)放置第二個(gè)存儲的字?jǐn)?shù)據(jù),依次排列。作為32位的微處理器,ARM體系結(jié)構(gòu)所支持的最大尋址空間為4GB232字節(jié)。ARM體系結(jié)構(gòu)可以用大端格式和小端格式兩種方法存儲字?jǐn)?shù)據(jù)。ARM微處理器中支持字節(jié)8位、半字16位、字32位三種數(shù)據(jù)類型,其中,字需要4字節(jié)對齊地址的低兩位為0、半字需要2字節(jié)對齊地址的最低位為0。3寄存器和工作模式ARM處理器共有37個(gè)寄存器,被分為若干個(gè)組BANK,這些寄存器包括一31個(gè)通用寄存器,包括程序計(jì)數(shù)器PC指針,均為32位的寄存器。一6個(gè)狀態(tài)寄存器,用以標(biāo)識CPU的工作狀態(tài)及程序的運(yùn)行狀態(tài),均為32位。同時(shí),ARM處理器又有7種不同的處理器模式,在每一種處理器模式下均有一組相應(yīng)的寄存器與之對應(yīng)。即在任意一種處理器模式下,可訪問的寄存器包括15個(gè)通用寄存器R0,、一R14、至二個(gè)狀態(tài)寄存器和程序計(jì)數(shù)器。在所有的寄存器中,有些是在7種處理器模式下共用的同一個(gè)物理寄存器,而有些寄存器則是在不同的處理器模式下有不同的物理寄存器。ARM微處理器的運(yùn)行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。處理器的中斷分成IRQ和FIQ,一個(gè)外部中斷到底是FIQ還是IRQ,可以通過設(shè)置S3C4480X的中斷控制器的INTMOD端口設(shè)定。大多數(shù)的應(yīng)用程序運(yùn)行在用戶模式下,當(dāng)處理器運(yùn)行在用戶模式下時(shí),某些系統(tǒng)軟件平臺的搭建被保護(hù)的系統(tǒng)資源是不能被訪問的。除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權(quán)模式PRIVILEGEDMODES,其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式EXCEPTIONMODES,常用于處理中斷或異常,以及需要訪問受保護(hù)的系統(tǒng)資源等情況。414UCOSII的移植UCOS283UCOS大部分代碼是用C語言編寫的,但是涉及到對寄存器的直接處理部分就只能用匯編,因此移植性較好。UCOS要求處理器的C編譯器能產(chǎn)生可重入代碼;可以用C語言打開和關(guān)閉中斷;處理器支持并能產(chǎn)生定時(shí)中斷;容納一定量數(shù)據(jù)的硬件堆棧有將堆棧指針和其他CPU寄存器讀出和存儲到堆?;騼?nèi)存中的指令。下圖表明了UCOS和硬件平臺、應(yīng)用軟件的關(guān)系,可以看出有的代碼與硬件無關(guān),在移植中不用修改,其他與硬件相關(guān)的則需要做出相應(yīng)的修改。下邊詳細(xì)介紹了移植步驟并給出了修改的源文件代碼以及說明灰色部分。IICOSII與處理器尤關(guān)的代碼OSCO髓CUCOSIICOS一岫OXCUCOSIICOS埡MC0SQC0SS麟C0STASKCOSTII崛C軟件硬件圖舢L操作系統(tǒng)模塊關(guān)系FIG41RELATIONSHIPBCWEENRTOSMODULES1INCLUDEH頭文件27北京交通大學(xué)碩士學(xué)位論文所有C文件都要包含頭文件INCLUDEH,EONFIGH文件則進(jìn)行系統(tǒng)配置的修改和頭文件的增減。這樣意味著編譯時(shí)間的增加,但是增強(qiáng)了代碼的可移植性。2設(shè)置處理器和編譯器相關(guān)的代碼OSCPUH文件中主要包含了與處理器、編譯器相關(guān)的常量,宏和結(jié)構(gòu)體的定義。相關(guān)的代碼都要在這個(gè)頭文件中進(jìn)行修改。UCOSII不使用C語言中的SHORT、INT、LONG等數(shù)據(jù)類型的定義,因?yàn)樗鼈兣c處理器類型有關(guān),隱含著不可移植性。代之以移植性強(qiáng)的整數(shù)數(shù)據(jù)類型,根據(jù)ADS編譯器的特性,不依賴于編譯器的代碼如下TYPEDEFUNSIGNEDCHARBOOLEAN;7TYPEDEFUNSIGNEDCHARINT8U;8位無符號整數(shù)7LTYPEDEFSIGNEDCHARINT8S;8位有符號整數(shù)甏TYPEDEFUNSIGNEDSHORTINTL6U;16位無符號整數(shù)諺TYPEDEFSIGNEDSHORTINTL6S;16位有符號整數(shù)ITYPEDEFUNSIGNEDLONGINT32U;32位無符號整數(shù)TYPEDEFSIGNEDLONGINT32S;32位有符號整數(shù)ITYPEDEFFLOATFP32;單精度浮點(diǎn)數(shù)髫TYPEDEFDOUBLEFP64;雙精度浮點(diǎn)數(shù)量TYPEDEFUNSIGNEDINTOSSTK;定義堆棧的寬度16位秀,TYPEDEFUNSIGNEDHATOS_CPUJR;舷M。定義寄存器的寬度16位,翟缸,J茲UCOSII在進(jìn)入系統(tǒng)臨界代碼區(qū)之前要關(guān)閉中斷,等到退出臨界區(qū)后再打開。從而保護(hù)核心數(shù)據(jù)不被多任務(wù)環(huán)境下的其他任務(wù)或中斷破壞。UCOSII定義了兩個(gè)宏用來關(guān)閉打開中斷OS_ENTER_CRITICAL和OS_EXIT_CRITICAL。需要手工修改成ARM相關(guān)的中斷方式。同時(shí)設(shè)置了堆棧的增長方向,為從上向下生長。原因是因?yàn)锳DS的C語言編譯器僅支持一種方式,即從上往下長,并且必須是滿遞減堆棧,所以O(shè)SSTKGROWTH的值為L。1L甲镩J4一錯拖始毒J囂JT囂。秒7R。噸褫DEFINEOS_ENTER_CRITICALARMDISABLEINTRINTMSKBIT一GLOBAL關(guān)中斷霹0DEFINEOSXIT_CRITICALARMENABLEINT0RLNTMSKBITGLOBAL開中斷I,女DEFINEOSSTKGRO嘲L堆棧的增長方向,由高向低為了使底層接口函數(shù)與處理器狀態(tài)無關(guān),同時(shí)在任務(wù)調(diào)用相應(yīng)的函數(shù)不需要知道函數(shù)位置,在移植中使用軟中斷指令SWI作為底層接口,使用不同的功能號區(qū)分不同的函數(shù)。宏OSTASKSW0實(shí)際上被定義為OSCPUAS中的函數(shù)系統(tǒng)軟件平臺的搭建OSCTXSWO。保存當(dāng)前任務(wù)上下文,裝入新任務(wù)上下文。J。7|DEFINEOSTASKSWOSCTXSW30SCPUAS文件的編寫UCOSII的移植需要改寫OSCPUAASM中的四個(gè)函數(shù)OSSTARTHIGHRDY,OSCTXSW0,OSINTCTXSW0和OSTICK

溫馨提示

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

評論

0/150

提交評論