[碩士論文精品]基于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ù)免費閱讀

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

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

文檔簡介

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

評論

0/150

提交評論