基于嵌入式的智能電梯控制系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
基于嵌入式的智能電梯控制系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
基于嵌入式的智能電梯控制系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
基于嵌入式的智能電梯控制系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
基于嵌入式的智能電梯控制系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘 要嵌入式實時系統(tǒng)作為計算機(jī)應(yīng)用的一個嶄新領(lǐng)域,以其簡潔、高效等特點越來越多地受到人們的廣泛關(guān)注。本文以嵌入式實時操作系統(tǒng)在一種基于CAN總線的分布式智能電梯控制系統(tǒng)中的應(yīng)用為背景,以高性能的嵌入式微處理器為核心,采用嵌入式實時操作系統(tǒng)C/OS在各任務(wù)間優(yōu)化地分配CPU時間和系統(tǒng)資源,簡化了軟件編程,保證了系統(tǒng)的實時性,提高了系統(tǒng)的可靠性。電梯控制系統(tǒng)硬件上采用嵌入式微處理器作為控制核心,以現(xiàn)場總線作為通訊總線,各控制器之間只需一對絞線通過網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)連接即可,安裝極為方便,對于不同的樓層數(shù)的控制系統(tǒng)只需在現(xiàn)場總線中加入相應(yīng)數(shù)目的呼梯控制器即可,主控器硬件軟件不需做任何改動。使得電梯控制系統(tǒng)

2、安裝更加靈活、方便。本設(shè)計重點討論了電梯變頻驅(qū)動部分的電路設(shè)計,及應(yīng)用嵌入式實時操作系統(tǒng)C/OS的系統(tǒng)程序設(shè)計。關(guān)鍵詞 智能電梯控制系統(tǒng) DSP 嵌入式系統(tǒng)AbstractReal-time embedded systems, as computer application of a new area, with its simple, efficient, and other characteristics are more and more peoples attention. This paper embedded in a real-time operating system base

3、d on CAN bus distributed intelligent elevator control system of the background, to high-performance embedded microprocessors as the core, using real-time operating system embedded in the C/OS Optimize the allocation of tasks between the CPU time and system resources, simplified software programming,

4、 and ensure the systems real-time and increase the reliability of the system.Lift control is adopt to implant the dyadic microprocessor on system hardware as controlling core, the highway is the communication highway with the scene, every requires a pair of stranded conductor to go to the lavatory e

5、xtremely by the fact that network topology structure connection being ok , assembling between the controller , the ladder controller is ok, the master control implement hardware software bu xu makes any to breathing out that be unlike storey number navar requires to add the corresponding number in s

6、cene highway change. Feasible lift control system installation is more nimble , convenient.Design that the wiring design concentrating on having discussed that electric elevator frequency conversion drives a part moves originally, and apply real-time operating system embedded in the C/OSof system pr

7、ogramming.Key words smart elevator control system DSP embedded systems目 錄摘 要Abstract第1章 緒論11.1 引言11.2 智能電梯在國內(nèi)外發(fā)展現(xiàn)狀11.3 嵌入式系統(tǒng)2第2章 系統(tǒng)整體方案設(shè)計52.1 電梯控制系統(tǒng)控制策略、方法及總體結(jié)構(gòu)設(shè)計52.1.1 電梯控制系統(tǒng)控制策略、方法52.1.2 電梯控制系統(tǒng)總體結(jié)構(gòu)設(shè)計62.2 電梯主控制器的功能設(shè)計6第3章 系統(tǒng)硬件設(shè)計93.1 芯片DSP56F8025MFBE93.2 控制器組成框圖113.3 控制器的模塊單元功能介紹113.3.1 整流濾波單元113.3.2

8、 逆變單元123.3.3 電機(jī)速度及轉(zhuǎn)子位置檢測單元133.3.4 控制電路電源模塊133.3.5 看門狗模塊153.3.6 低電壓復(fù)位模塊163.3.7 電流檢測模塊163.3.8 故障報警模塊173.3.9 編程與仿真接口19第4章 系統(tǒng)程序設(shè)計194.1 嵌入式實時操作系統(tǒng)194.2 C/OS的基本功能介紹204.3 C/OS實現(xiàn)對智能電梯控制系統(tǒng)的管理234.3.1 主程序流程234.3.2 初始化模塊244.3.3 中斷模塊254.3.4 開關(guān)量輸入模塊264.3.5 故障處理模塊274.3.6 正常工作模塊284.3.7 檢修工作模塊294.3.8 消防狀態(tài)工作模塊294.3.9

9、CAN總線接收的數(shù)據(jù)處理模塊304.3.10系統(tǒng)斷電數(shù)據(jù)保存模塊314.3.11軟件定時器模塊31結(jié) 論33致 謝34參考文獻(xiàn)35附 錄 137附 錄 241第1章 緒論1.1 引言隨著信息技術(shù)的發(fā)展和數(shù)字化產(chǎn)品的普及,從消費電器到工業(yè)設(shè)備,從民用產(chǎn)品到軍用器材,嵌入式系統(tǒng)被應(yīng)用到網(wǎng)絡(luò)、手持通信設(shè)備、國防軍事、消費電子和自動化控制等各個領(lǐng)域。嵌入式系統(tǒng)幾乎包括了生活中的所有電器設(shè)備,如掌上PDA、移動計算設(shè)備、電視機(jī)頂盒、手機(jī)上網(wǎng)、數(shù)字電視、多媒體、汽車、微波爐、數(shù)字相機(jī)、家庭自動化系統(tǒng)、電梯、空調(diào)、安全系統(tǒng)、自動售貨機(jī)、蜂窩式電話、消費電子設(shè)備、工業(yè)自動化儀表與醫(yī)療儀器等。嵌入式系統(tǒng)的廣泛應(yīng)

10、用前景和發(fā)展?jié)摿κ蛊涑蔀?1世紀(jì)的應(yīng)用熱點之計算技術(shù)在各行各業(yè)不斷滲透,嵌入式計算機(jī)在應(yīng)用數(shù)量上遠(yuǎn)遠(yuǎn)超過了傳統(tǒng)意義上的計算機(jī),它廣泛應(yīng)用干制造業(yè)、通訊、儀表、汽車、軍事、航空航大和消費類電子產(chǎn)品等領(lǐng)域。因此,許多學(xué)者主張以應(yīng)用為中心把計算機(jī)劃分為兩類:通用計算機(jī)(典型的如PC)和嵌入式系統(tǒng)。按照這種分類,目前嵌入式系統(tǒng)帶來的工業(yè)年產(chǎn)值已超過了1萬億美元1。隨著嵌入式處理器能力的提高和應(yīng)用程序功能的復(fù)雜化和精細(xì)化,迫使應(yīng)用程序必然需要劃分為多個重要性不同的任務(wù),在各任務(wù)間優(yōu)化地分配CPU時間和系統(tǒng)資源,同時還要保證實時性。靠用戶自已編寫一個實現(xiàn)上述功能的內(nèi)核一般是不現(xiàn)實的,而這種需求又是相當(dāng)普遍

11、的。在這種形勢之下,由專業(yè)人員編寫滿足大多數(shù)用戶需要的高性能實時操作系統(tǒng)(RTOS)內(nèi)核成為一種必然結(jié)果。對程序?qū)崟r性和可靠性要求的提高也是RTOS發(fā)展的一個原因。另外,嵌入式系統(tǒng)的軟件開發(fā)日趨工程化,產(chǎn)品進(jìn)入市場時間不斷縮短,也迫使管理人員尋找一種有利于程序繼承性、標(biāo)準(zhǔn)化、多人并行開發(fā)的管理方式。從長遠(yuǎn)的意義上來講,RTOS的推廣能夠帶來嵌入式系統(tǒng)軟件工業(yè)更有效、更專業(yè)化的分工,減少社會重復(fù)勞動、提高勞動生產(chǎn)率2。1.2 智能電梯在國內(nèi)外發(fā)展現(xiàn)狀傳統(tǒng)的電梯控制系統(tǒng)各樓層與控制器之間采用以PLC為控制核心的點對點的連接方式,每個呼叫器都有一套數(shù)據(jù)線與主控器相連,當(dāng)電梯樓層數(shù)比較多時,系統(tǒng)就會有

12、大量的數(shù)據(jù)線需要連接,使得電梯的安裝、維護(hù)比較麻煩。特別是不同樓層數(shù)的控制系統(tǒng)需要有相應(yīng)輸入輸出點數(shù)的主控制器相匹配,通用性差,給生產(chǎn)帶來許多不便3。以嵌入式微處理器為核心控制器的嵌入式系統(tǒng)作為計算機(jī)應(yīng)用的一個嶄新領(lǐng)域,以其簡潔、高效等特點越來越多地受到人們的廣泛關(guān)注。而且在工業(yè)控制系統(tǒng)中已得到了廣泛的應(yīng)用,應(yīng)用于電梯控制系統(tǒng),具有很大的優(yōu)越性。(1) 可以實現(xiàn)無觸點邏輯線路,提高系統(tǒng)可靠性,降低維修費用,提高產(chǎn)品質(zhì)量。(2) 編制控制程序靈活性大,可以適應(yīng)各種不同的功能要求。(3) 可以實現(xiàn)故障顯示,使得維修方便,減少故障時間,提高運行率,而且調(diào)速靈活,提高電梯的舒適感。(4) 使得電梯控制

13、系統(tǒng)體積減小,成本降低,節(jié)省能源,可靠性提高,通用性強(qiáng),靈活性答,實現(xiàn)了復(fù)雜功能。不但可以裝配用于新的電梯產(chǎn)品,還可以用來改造舊電梯控制系統(tǒng),并能取得良好的經(jīng)濟(jì)效益和社會效益。(5) 便于實現(xiàn)電梯群控系統(tǒng)的管理,合理調(diào)配電梯,提高電梯運行效率,節(jié)約能源,縮短候梯時間。(6) 可以減少控制裝置的占地面積。電梯控制系統(tǒng)硬件上采用嵌入式微處理器作為控制核心,以現(xiàn)場總線作為通訊總線,各控制器之間只需一對雙絞線通過網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)連接即可,安裝極為方便,對于不同樓層數(shù)的控制系統(tǒng)只需在現(xiàn)場總線中加入相應(yīng)數(shù)目的呼梯控制器即可,主控器硬件軟件不需做任何改動。使得電梯控制系統(tǒng)安裝更加靈活,方便。但是隨著對電梯運行速

14、度、邏輯功能的要求越來越高,常用的8位、16位單片機(jī)已逐漸不能滿足快速處理、實時響應(yīng)和系統(tǒng)結(jié)構(gòu)高效、簡潔的需求。目前國內(nèi)的電梯控制系統(tǒng)還是以PLC和8位單片機(jī)為主,軟件編程采用的還是以無嵌入式實時操作系統(tǒng)的單任務(wù)循環(huán)的前后臺編程方式,使得電梯控制系統(tǒng)的實時性、穩(wěn)定性和軟件編程的靈活性已不能滿足電梯系統(tǒng)功能和速度的要求。隨著各種高速、高集成的嵌入式處理器的飛速發(fā)展,包括嵌入式數(shù)字信號處理器(DSP)在內(nèi)的嵌入式處理器廣泛應(yīng)用于工業(yè)控制系統(tǒng),其中TMS32OCZooo系列DSP的體系結(jié)構(gòu)專為實時控制和實時信號處理而設(shè)計,所配置的片內(nèi)外設(shè)為電梯控制系統(tǒng)應(yīng)用提供了理想的解決方案。對電梯控制系統(tǒng)功能要求

15、越高,控制程序就必然越復(fù)雜,引入嵌入式實時操作系統(tǒng)作為軟件開發(fā)平臺可以優(yōu)化系統(tǒng)結(jié)構(gòu),提高系統(tǒng)可靠性、實時性和編程的靈活性,將是智能電梯控制系統(tǒng)開發(fā)的必需環(huán)節(jié)4。1.3 嵌入式系統(tǒng)嵌入式系統(tǒng)通常是面向特定應(yīng)用的。然而,由于嵌入式系統(tǒng)的軟件越來越復(fù)雜,需要一個高效率、高可靠性的、實時的底層操作系統(tǒng)軟件來管理系統(tǒng)中的各個設(shè)備及任務(wù)。嵌入式系統(tǒng)(Bmbedded System)是以應(yīng)用為中心和以計算機(jī)技術(shù)為基礎(chǔ)的,并且軟硬件是可裁減的,能滿足應(yīng)用系統(tǒng)對功能、成本、體積、功耗等指標(biāo)的嚴(yán)格要求的專用計算機(jī)系統(tǒng)。它可以實現(xiàn)對其他設(shè)備的控制、監(jiān)視和管理等功能。簡單地說,嵌入式系統(tǒng)集系統(tǒng)的應(yīng)用軟件與硬件于一體,

16、類似于PC中B1OS的工作方式,具有軟件代碼小、高度自動化、響應(yīng)速度快等特點,特別適合于要求實時和多任務(wù)的體系。嵌入式系統(tǒng)主要由嵌入式處理器、相關(guān)支撐硬件、嵌入式操作系統(tǒng)及應(yīng)用軟件系統(tǒng)等組成,它是可獨立工作的“器件”5。嵌入式系統(tǒng)通常由嵌入式處理器、嵌入式外圍設(shè)備、嵌入式操作系統(tǒng)和嵌入式應(yīng)用軟件等幾大部分組成。軟件部分包括操作系統(tǒng)軟件和應(yīng)用程序編程。應(yīng)用程序控制著系統(tǒng)的運作和行為,而操作系統(tǒng)控制著應(yīng)用程序編程與硬件的交互作用。由于嵌入式系統(tǒng)是應(yīng)用于特定環(huán)境下執(zhí)行面對專業(yè)領(lǐng)域的應(yīng)用系統(tǒng),所以不同于通用型計算機(jī)系統(tǒng)應(yīng)用的多樣化和適用性。它與通用的計算機(jī)系統(tǒng)相比具有以下特點:(1) 嵌入式系統(tǒng)通常是

17、面向特定應(yīng)用的,一般都有實時要求。嵌入式CPU大多工作在為特定用戶群所設(shè)計的系統(tǒng)中。它通常具有低功耗、體積小、集成度高、成本低等特點,能夠把通用CPU中許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而使嵌入式系統(tǒng)的設(shè)計趨于小型化、專業(yè)化,也能使移動能力大大增強(qiáng),與網(wǎng)絡(luò)的結(jié)合也越來越緊密。(2) 嵌入式系統(tǒng)是將先進(jìn)的計算機(jī)技術(shù)、半導(dǎo)體工業(yè)、電子技術(shù)和通信網(wǎng)絡(luò)技術(shù)與各領(lǐng)域的具體應(yīng)用相結(jié)合的產(chǎn)物。這一特點決定了它必然是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識繼承系統(tǒng)。(3) 嵌入式系統(tǒng)和具體應(yīng)用有機(jī)地結(jié)合在一起,它的升級換代也和具體產(chǎn)品同步進(jìn)行。因此,嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入市場,一般具有較長的生命周

18、期。(4) 嵌入式系統(tǒng)的硬件和軟件都必須高效率的設(shè)計,在保證穩(wěn)定、安全、可靠的基礎(chǔ)上量體裁衣,去除冗余,力爭在同樣的硅片面積上實現(xiàn)更高的性能。這樣,才能最大限度地降低應(yīng)用成本,從而在具體應(yīng)用中對處理器地選擇更具有市場競爭力。(5) 為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲芯片或處理器的內(nèi)部存儲器件中,而不存儲于外部的磁盤等載體中。(6) 嵌入式系統(tǒng)本身不具備自舉開發(fā)能力。即使設(shè)計完成以后,用戶通常也不能對其中的程序功能進(jìn)行修改,必須有一套交叉開發(fā)工具和環(huán)境才能進(jìn)行開發(fā)。第2章 系統(tǒng)整體方案設(shè)計電梯控制系統(tǒng)是一個相當(dāng)復(fù)雜的邏輯控制系統(tǒng),系統(tǒng)要在極短的時間內(nèi)對幾百個信號進(jìn)行

19、檢測、處理,加上系統(tǒng)對安全性能要求較高,使得電梯的控制和管理相當(dāng)復(fù)雜,現(xiàn)有國內(nèi)的電梯控制系統(tǒng)大多數(shù)采用PLC作為電梯的控制核心,對每層樓進(jìn)行點對點控制,進(jìn)一步加大了電梯的復(fù)雜性,給電梯的安裝、調(diào)試、以及擴(kuò)展帶來了許多麻煩。隨著計算機(jī)硬件、軟件技術(shù)和集成電路技術(shù)的迅速發(fā)展,工業(yè)控制系統(tǒng)已成為計算機(jī)技術(shù)應(yīng)用領(lǐng)域中最具活力的一個分支,并取得了巨大的進(jìn)步,突出表現(xiàn)為嵌入式微處理器和嵌入式微控制器技術(shù)在控制系統(tǒng)中的大量運用。而電梯控制系統(tǒng)中主控制器不僅要完成復(fù)雜的邏輯控制、還要實現(xiàn)數(shù)據(jù)通訊、數(shù)據(jù)處理、安全監(jiān)測及實時響應(yīng)的功能,根據(jù)電梯主控制器的特點,對智能電梯控制系統(tǒng)主控制器進(jìn)行了設(shè)計6。2.1 電梯控

20、制系統(tǒng)控制策略、方法及總體結(jié)構(gòu)設(shè)計2.1.1 電梯控制系統(tǒng)控制策略、方法隨著計算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,電梯的分布式控制成為了可能。將電梯的控制功能分為若干模塊,由不同的控制器完成各部分特定的功能,各控制器間采用可靠的通信技術(shù)控制局域網(wǎng)傳遞信息,相互進(jìn)行通信,協(xié)同工作。這樣,系統(tǒng)可以實現(xiàn)電纜的插接化,并大大減少井道中電纜數(shù)量,減少布線工作量和維護(hù)成本。而且,可以使得系統(tǒng)中各個控制器有更充裕的時間用于進(jìn)一步完善其自身的功能,以改善電梯的性能。本次課題研究開發(fā)的智能電梯控制系統(tǒng)可分為四個主要部分:1. 主控制器即電梯控制器。它是電梯控制系統(tǒng)的主要部分,負(fù)責(zé)整個電梯的運行控制。一般主控器和位于樓房的

21、頂部電梯機(jī)房內(nèi)的電梯動力裝置曳引機(jī)構(gòu)成了整個電梯控制系統(tǒng)的核心。2. 轎廂轎廂是電梯系統(tǒng)中運載乘客的裝置,它通過轎廂中的鍵盤、顯示屏,使乘客與電梯建立起了相互聯(lián)系。曳引機(jī)通過鋼絲牽引轎廂的上下運行,用于運送乘客。在轎頂(轎廂的頂部)還有一個門機(jī)控制器,用于電梯的開關(guān)門動作。3. 呼梯它是每一層樓的呼叫裝置,給出每一樓層的呼叫請求信息,并且顯示電梯當(dāng)前運行狀態(tài)。此外,電梯整個系統(tǒng)還包括上、下限位開關(guān),上、下限速開關(guān),限速器,安全閘,對重,隨行電纜,平層檢測板,道軌和緩沖器等一系列電梯運行機(jī)械裝置和安全保護(hù)設(shè)備。4. 控制器之間的通信方式主控制器、轎廂控制器和呼梯控制器之間采用現(xiàn)場總線之一的CAN

22、總線進(jìn)行通信,各控制器之間只需一對雙絞線通過網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)連接即可,安裝極為方便。CAN總線是一種有效支持分布式控制和實時控制的串行通信網(wǎng)絡(luò),具有非常好的抗干擾能力和可靠性。通信速率可達(dá)1Mbps/40m,直接傳輸距離最遠(yuǎn)可達(dá)10km/kbps。可掛接設(shè)備最多為110個7。2.1.2 電梯控制系統(tǒng)總體結(jié)構(gòu)設(shè)計電梯控制系統(tǒng)總體結(jié)構(gòu),如圖2-1所示。圖2-1電梯控制系統(tǒng)結(jié)構(gòu)圖2.2 電梯主控制器的功能設(shè)計主控制器是整個電梯的核心。不但要保證整個系統(tǒng)的穩(wěn)定運行,而且要在極短的時間內(nèi)對系統(tǒng)所有的任務(wù)進(jìn)行響應(yīng)。其任務(wù)包括:接收、處理電梯的各種狀態(tài),并做出相應(yīng)的動作,控制電梯的總體運行,實施對電梯驅(qū)動部分的

23、控制,包括抱閘的松放、門機(jī)的開關(guān)、變頻器低、中、高速的給出等控制。接收轎廂控制器送來的內(nèi)選信號,執(zhí)行內(nèi)選外呼指令,向轎廂控制器、呼梯控制器發(fā)送樓層指示信號,實施安全保護(hù)等。為了實現(xiàn)電梯狀態(tài)監(jiān)控的需要,主控制器還加入了基于LCD顯示的電梯參數(shù)設(shè)置、監(jiān)控系統(tǒng)。電梯主控系統(tǒng),是一個功能繁多,運行復(fù)雜的控制系統(tǒng)。電梯每一步運行都要考慮到各種安全問題??偟膩碚f,系統(tǒng)按運行上來說可分為正常運行、非正常運行兩大框架結(jié)構(gòu),按功能上又可分為開關(guān)門、上下運行等功能部分。另外,為了保證系統(tǒng)安全正常的運行,及時發(fā)現(xiàn)安全隱患,還要對整個系統(tǒng)的各種參數(shù)進(jìn)行自身檢測,并且把電梯的一些內(nèi)部參數(shù)、內(nèi)部狀態(tài)通過液晶屏顯示出來,以

24、便及時發(fā)現(xiàn)問題并進(jìn)行報警。以下對電梯控制系統(tǒng)運行狀態(tài)進(jìn)行具體分析。電梯運行時,根據(jù)不同的情況,可分為正常運行、檢修運行、自學(xué)習(xí)運行、消防運行等運行狀態(tài),要求各狀態(tài)之間可隨時互相轉(zhuǎn)換8。1. 正常運行電梯正常運行部分是電梯運行的主要部分,他占據(jù)了整個電梯運行的大部分運行時間,按運行狀態(tài)來說大致可分為平層區(qū)狀態(tài)和非平層區(qū)狀態(tài)。(1) 平層區(qū)狀態(tài)正常運行時,電梯一旦監(jiān)測到平層區(qū)標(biāo)志,就要進(jìn)入平層區(qū)狀態(tài),根據(jù)呼叫計算,分別決定停車、等待還是繼續(xù)運行。如果電梯到達(dá)運行目的樓層,系統(tǒng)進(jìn)入停車模式??紤]到電梯的順利停車和啟動、乘客安全、機(jī)械部分的損壞等問題,系統(tǒng)必須按照一定的規(guī)則停車和啟動。(2) 非平層區(qū)

25、狀態(tài)非平層區(qū)狀態(tài)相對于平層狀態(tài)來說相對簡單,主要完成電梯在運行途中系統(tǒng)通過CAN總線與呼梯、轎廂的通信,提出登記樓層呼叫情況,并計算電梯運行目標(biāo)樓層,決定電梯運行的速度和方向,以及計算即將到達(dá)的目的地是否停車等任務(wù)。2. 檢修檢修狀態(tài)是電梯控制系統(tǒng)中最基本的運行部分,是電梯安裝、調(diào)試必不可少的狀態(tài)。檢修狀態(tài)只包括電梯的幾個最基本功能:開門、關(guān)門、上行、下行,在電梯初次安裝、調(diào)試或出現(xiàn)故障時,調(diào)用最基本、最簡單的運行功能,以便解決其它問題。3. 自學(xué)習(xí)為了增加電梯控制系統(tǒng)的智能化程度,系統(tǒng)加入了自學(xué)習(xí)功能。因為安裝電梯的樓房樓層高度不可能統(tǒng)一,就算有標(biāo)準(zhǔn),也會因為施工存在誤差而導(dǎo)致樓層高度存在差

26、異。對于電梯控制系統(tǒng)來說,必須預(yù)先知道樓層的高度,以便準(zhǔn)確、及時的改變運行速度,減速停車。一般來說,系統(tǒng)通過讀取電梯曳引機(jī)端的脈沖編碼器根據(jù)電器上下運行的行程所發(fā)出的脈沖數(shù)來得到電梯所在樓層的層高。在傳統(tǒng)的電梯控制系統(tǒng)中,為了取得大樓樓層的高度,安裝調(diào)試的時候采用檢修運行方式,手動控制電梯的上下運行,通過觀察電梯主控系統(tǒng)的脈沖計數(shù)器所讀到的數(shù)值,人工的計錄下樓層的高度值。在本系統(tǒng)中,引入了自學(xué)功能,即自動完成樓宇高度脈沖的讀取、紀(jì)錄、保存,并自動檢測大樓樓層數(shù)。給電梯安裝調(diào)試帶來了很大的方便。4. 消防電梯在運行時,如果有人把設(shè)置在系統(tǒng)基站的消防開關(guān)開啟,電梯立刻進(jìn)入消防狀態(tài)。消防狀態(tài)是電梯系

27、統(tǒng)在樓層發(fā)生火災(zāi)的情況下,為了保護(hù)乘客的安全以及方便消防人員救火救人而設(shè)置的一種功能狀態(tài)。一般來說,消防狀態(tài)可以分為消防保護(hù)階段和消防再次運行階段。(1)消防保護(hù)階段電梯在正常運行時,如果有消防呼叫,系統(tǒng)即處于消防保護(hù)階段。(2)再次運行階段電梯完成消防保護(hù)階段后,自動進(jìn)入再次運行階段,以便消防人員和急救人員緊急使用和臨時使用電梯。5. 故障檢測對于電梯控制系統(tǒng)來說,其安全問題尤為重要。能夠及時發(fā)現(xiàn)、解決系統(tǒng)的電子、機(jī)械問題,并顯示相應(yīng)的故障代碼,指明故障情況,將對電梯故障的預(yù)防、故障出現(xiàn)后電梯的檢修帶了很大的幫助。一般來說,電梯控制系統(tǒng)中的故障包括控制電路的器件故障,包括元件老化、失靈、損壞

28、等情況,還有變頻器運行故障,分布式控制系統(tǒng)的串行通訊故障,門聯(lián)鎖、抱閘接觸器、主接觸器等機(jī)械故障等9。6. 系統(tǒng)監(jiān)控為了準(zhǔn)確掌握電梯內(nèi)部參數(shù)、了解當(dāng)前運行狀況,本系統(tǒng)采用了基于LCD液晶屏的電梯監(jiān)控系統(tǒng)。操作人員可以通過上、下、左、右、ENTER、EXIT、RESET共有七個操作鍵對監(jiān)控系統(tǒng)進(jìn)行操作,觀察自動、檢修、消防、電梯運行方向、當(dāng)前速度、上、下限位等運行狀態(tài),還可以進(jìn)入?yún)?shù)設(shè)置窗口,對電梯運行速度、換速脈沖、開關(guān)門時間、方向、速度等一系列參數(shù)進(jìn)行設(shè)置10。第3章 系統(tǒng)硬件設(shè)計電梯控制系統(tǒng)中主控制器不僅要完成復(fù)雜的邏輯控制,還要實現(xiàn)數(shù)據(jù)通訊、數(shù)據(jù)處理、安全監(jiān)測及實時響應(yīng)的功能,根據(jù)電梯主

29、控制器的特點,提出一種新型、高效的控制系統(tǒng)結(jié)構(gòu)DSP+CPLD。由于DSP具有數(shù)據(jù)處理速度快、工作特性穩(wěn)定、集成化程度高等特性,在設(shè)計中主要用來完成數(shù)據(jù)的實時處理、運算和響應(yīng),與控制系統(tǒng)中其它微處理器之間的局域網(wǎng)數(shù)據(jù)通信,輸入/輸出(I/O)信號的處理,電源監(jiān)控及數(shù)據(jù)的非易失性保存,而復(fù)雜可編程邏輯器件CPLD是應(yīng)用很廣泛的專用集成電路,具有集成度高、工作速度快和在線編程方便等特性,所以在系統(tǒng)設(shè)計中采用CPLD可以增強(qiáng)DSP訪問外設(shè)的能力,實現(xiàn)可編程I/0口的擴(kuò)展、片內(nèi)時序邏輯電路和組合邏輯電路設(shè)計、輸入緩沖、輸出驅(qū)動及產(chǎn)生其它器件的片選信號。CPLD通過片內(nèi)可編程數(shù)據(jù)交換邏輯模塊發(fā)送輸入端口

30、狀態(tài)信息到DSP,接收DSP發(fā)出的控制信息,對于系統(tǒng)中部分輸入、輸出邏輯關(guān)系直接在CPLD中由可編程邏輯處理模塊完成11。本設(shè)計中電梯主控制器就是采用DSP+CPLD的系統(tǒng)結(jié)構(gòu),基于DSP技術(shù)和CPLD技術(shù)有效結(jié)合的主導(dǎo)思想設(shè)計的主控制器,成功的應(yīng)用在智能電梯控制系統(tǒng)。數(shù)字信號處理器DSP采用Freescle公司生產(chǎn)的DSP56F8025MFBE,如圖3-1所示,而復(fù)雜可編程邏輯器件CPLD采用Altera公司生產(chǎn)的MAX7128S16。本章將以DSP作為重點,詳細(xì)介紹系統(tǒng)變頻驅(qū)動部分的硬件設(shè)計。3.1 芯片DSP56F8025MFBE 數(shù)字信號處理器(DSP)是一種適合于進(jìn)行實時數(shù)字信號處理

31、運算的微處理器,能夠快速實時的完成數(shù)字信號處理、運算。全數(shù)字控制器以DSP56F800系統(tǒng)為核心,其具有較好的通用性。本設(shè)計中,突出了控制器的高效性、通用性以及實用性。在全數(shù)字控制器的研制中,采用核心控制芯片為DSP56F8025MFBE。該DSP芯片系列混合了DSP 的高運算能力與MCU 的控制特性于一體,提供了許多專用于電機(jī)控制的外設(shè)接口,如PWM 模塊、ADC、 Timer、 SCI、 SPI 和CAN 總線等,非常適合于數(shù)字馬達(dá)控制;同時,它還有通用型的GPIO口,每條運算指令僅有25ns的高速運算速度等,所有這些特性,為整個系統(tǒng)的控制提供了良好的外部控制環(huán)境。DSP56800內(nèi)核采用

32、哈佛結(jié)構(gòu),包括三個可并行的工作的執(zhí)行單元,六級流水線。它的MCU風(fēng)格編程模式和優(yōu)化指令集允許直接生成有效的、緊湊的DSP控制碼。DSPMFBE支持從外部或內(nèi)部存儲器開始執(zhí)行程序。并且每個指令周期可以同時從內(nèi)部RAM讀取兩個操作數(shù),同時提供了兩個中斷線和最多達(dá)32路的GPIO(通用I/O)引腳。DSPMFBE包含DSP56800系列內(nèi)核的程序和數(shù)據(jù)存儲器以及用于嵌入式控制的片內(nèi)外設(shè)12。DSP56800內(nèi)核包括三個并行工作的執(zhí)行單元,在一個指令周期可以同時執(zhí)行6條指令。MCU編程模式以及優(yōu)化的指令集允許生成有效、緊湊的DSP控制代碼。DSP56800的主要特點如下:(1) 采用雙哈佛結(jié)構(gòu),16位

33、DSP處理器。(2) 在內(nèi)部時鐘為80M時,指令執(zhí)行速度可達(dá)40MIPS。(3) 單周期16位*16位并行MAC。(4) 帶擴(kuò)展位的2個36位累加器。(5) 16位雙向循環(huán)移位器。(6) 采用DSP特有尋址模式的并行指令集。(7) 硬件實現(xiàn)DO和REP循環(huán)。(8) 三條內(nèi)部地址總線和一條外部地址總線。(9) 四條內(nèi)部數(shù)據(jù)總線和一條外部數(shù)據(jù)總線。(10) 支持DSP和控制器函數(shù)的指令集。(11) 控制器風(fēng)格的尋址模式和指令。(12) 高效的C編輯器,支持局部變量。(13) 只限制于存儲器大小的子程序和中斷堆棧。(14) JTAG/ONCE調(diào)試接口。圖3-1 DSP56F8025MFBE原理圖3.

34、2 控制器組成框圖DSP56F8025MFBE具有數(shù)據(jù)處理速度快、工作特性穩(wěn)定、集成化程度高的特性。系統(tǒng)采用了模塊化設(shè)計理念,組成框圖如圖3-2所示。圖3-2主控制器結(jié)構(gòu)框圖由上圖可知,設(shè)計中采用交-直-交型變頻電路,包括由不可控二極管和電容矩陣組成的濾波整流單元和逆變單元??刂齐娐凡糠忠訢SP為核心組成全數(shù)字控制系統(tǒng),其中包括控制電路電源模塊、上電復(fù)位模塊、看門狗模塊、光電碼盤、電流采樣及故障報警等模塊。本系統(tǒng)是一個有速度反饋的閉環(huán)系統(tǒng),DSP接受電機(jī)的轉(zhuǎn)速及轉(zhuǎn)子的位置信號,電機(jī)電流信號,通過數(shù)字算法輸出SPWM,控制電機(jī)。同時DSP還負(fù)責(zé)監(jiān)控系統(tǒng)運行的狀態(tài),當(dāng)系統(tǒng)出現(xiàn),過壓,過流,短路等故

35、障時,DSP將停止系統(tǒng)工作,發(fā)出聲光報警12。3.3 控制器的模塊單元功能介紹3.3.1 整流濾波單元380V的交流電壓經(jīng)6個不可控的二極管全波整流后變?yōu)橹绷骱笤俳?jīng)電解電容進(jìn)行濾波,同時為負(fù)載的直流電源之間的無功功率進(jìn)行緩沖。如圖3-3所示。圖 3-3 整流濾波單元當(dāng)變頻器剛合上電源的瞬間由電容組成的濾波電路充電電流較大,過大的沖擊電流極易損壞電源的整流模塊,因此為保護(hù)整流橋在變頻器剛接通電源的一段時間里電路串聯(lián)一個限流電阻,使瞬間的充電電流被限制在允許的范圍內(nèi)。當(dāng)電源電壓達(dá)到穩(wěn)定后,通過電阻分壓的方式使光耦導(dǎo)通,繼電器線圈得電,閉合短路限流電阻,從而降低系統(tǒng)能量損耗。3.3.2 電機(jī)速度及轉(zhuǎn)

36、子位置檢測單元系統(tǒng)使用光電碼盤檢測電機(jī)的速度及轉(zhuǎn)子的位置信息反饋給DSP,DSP再通過相應(yīng)的算法控制電機(jī)的運行。如圖3-4所示,為光電碼盤與DSP之間的接口電路。圖3-4光電碼盤接口電路3.3.3 逆變單元系統(tǒng)選用freescale公司的MC33395作為逆變單元的驅(qū)動芯片,按DSP輸入的不同模式控制6個功率開關(guān)的導(dǎo)通與關(guān)閉,實現(xiàn)對電機(jī)的SPWM調(diào)節(jié)。如圖3-5所示。在工作過程中,當(dāng)MC33395檢測到過電流或過電壓時可以通過VT2關(guān)閉供電,從而禁止了SPWM的輸出,保護(hù)系統(tǒng)安全。圖 3-5逆變單元3.3.4 控制電路電源模塊系統(tǒng)的控制回路電壓可以通過外接220V生活電壓的方式給定。當(dāng)電梯啟動

37、時,VT1導(dǎo)通,Q1導(dǎo)通,經(jīng)過變壓器變壓整流橋整流的輸入電壓被接入,首先經(jīng)過78S12后輸出穩(wěn)定的12V電壓,接著經(jīng)過LM2940T-5.0后輸出穩(wěn)定的5V電壓,最后經(jīng)過NCV1117-3.3輸出穩(wěn)定的3.3V電壓,連續(xù)使用3塊串行穩(wěn)壓電源為控制電路提供不同的供電電壓,以滿足使用要求。如圖3-6,3-7,3-8,3-9所示。圖 3-6 啟動開關(guān)及變壓整流模塊圖 3-7 +12V電源模塊圖 3-8 +5V電源模塊圖 3-9 +3.3V電源模塊如圖3-10所示,在電壓接入78L12 +12穩(wěn)壓模塊之前,回路中還加入了由R6和D4組成的順壓保護(hù)電路,其中R6作為限流電阻防止D4被過強(qiáng)的釋能電流燒穿。

38、D4為TVS管即瞬態(tài)穩(wěn)壓二極管,當(dāng)輸入的電壓過高時,TVS會瞬時導(dǎo)通將過高的能量釋放,同時將輸出電壓限制在安全范圍內(nèi),從而有效的防止了12V穩(wěn)壓塊因瞬間過壓燒毀,提高控制器的可靠性。圖 3-10 瞬壓保護(hù)電路3.3.5 看門狗模塊為提高控制系統(tǒng)的安全性,防止程序在運行過程中出現(xiàn)錯誤,在外圍電路中加入看門狗模塊,但程序運行錯誤時,看門狗模塊可以將CPU復(fù)位,使芯片恢復(fù)正常工作,設(shè)計中所選用看門狗芯片為T動電壓2.63V,內(nèi)部定時器每200ms發(fā)出一次復(fù)位信號。因此當(dāng)程序運行錯誤時,在200ms內(nèi)未能將其內(nèi)部定時器清零,則TPS3824將發(fā)出RESET信號復(fù)位DSP,從而有效的防止死機(jī)的情形發(fā)生。

39、PS3824,如圖3-11所示,TPS3824啟圖 3-11 看門狗模塊3.3.6 低電壓復(fù)位模塊在系統(tǒng)上斷電過程中電源部分可能出現(xiàn)過電壓過低的情況,此時DSP可能在非正常電壓工作時產(chǎn)生錯誤,為防止類似情形產(chǎn)生,系統(tǒng)中加入低電壓壓復(fù)位模塊。因為DSP供電電壓為3.3V,所以選用CAT809S作為復(fù)位芯片。如圖3-12所示。CAT809S的復(fù)位電壓為2.93V,當(dāng)DSP供電電壓低于此值時,CAT809S將發(fā)出RESET信號,復(fù)位DSP。圖 3-12 低電壓復(fù)位模塊3.3.7 電流檢測模塊電流檢測模塊用于檢測這個系統(tǒng)運行過程中的電流情況。系統(tǒng)可以根據(jù)電流情況調(diào)整電機(jī)的速度,電梯內(nèi)風(fēng)扇的開關(guān),還可以

40、有效的防止過電流的發(fā)生,保障系統(tǒng)安全。如圖3-13所示。電流檢測模塊采用正向運算放大器組成的電壓放大電路,輸入端的電壓被濾波并放大11倍后送入DSP的AD采樣通道,DSP將實際中的模擬量通過AD模塊轉(zhuǎn)換成相應(yīng)的數(shù)字量,最后通過計算,判斷獲得希望的控制模式。由于DSP的管腳耐壓值有限,電壓經(jīng)運算放大器放大后,可能超出正常范圍,所以在DSP的管腳輸入端接有二極管限幅電路,使得當(dāng)DSP管腳處電壓輸入過大時被有效的限制在允許的范圍內(nèi)。圖 3-13 電流檢測模塊3.3.8 故障報警模塊當(dāng)系統(tǒng)出項故障時,DSP在完成系統(tǒng)停機(jī)保護(hù)的同時,輸出GPIO端口將發(fā)出高電平,Q2三極管導(dǎo)通,故障燈與響鈴?fù)瑫r得電,發(fā)

41、出聲光報警提示用戶。如圖3-13所示。圖 3-14 故障報警模塊3.3.9 編程與仿真接口可以通過串行接口RS232進(jìn)行通訊及仿真,方便了嵌入式程序的編輯與調(diào)試。如圖3-15所示。圖 3-15 編程及仿真接口第4章 系統(tǒng)程序設(shè)計4.1 嵌入式實時操作系統(tǒng)1. 嵌入式實時操作系統(tǒng)概念嵌入式實時操作系統(tǒng)(Embedded RealTime Operating System)是一種實時的、支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件,它是嵌入式系統(tǒng)(包括硬、軟件系統(tǒng))極為重要的組成部分,通常包括與硬件相關(guān)的底層驅(qū)動軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器等。嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的

42、基本特點,如能夠有效管理越來越復(fù)雜的系統(tǒng)資源。能夠把硬件虛擬化,使得開發(fā)人員從繁忙的驅(qū)動程序移植和維護(hù)中解脫出來,能夠提供庫函數(shù)、驅(qū)動程序、工具集以及應(yīng)用程序。嵌入式實時操作系統(tǒng)負(fù)責(zé)嵌入系統(tǒng)的全部軟、硬件資源的分配、調(diào)度作業(yè),控制、協(xié)調(diào)并發(fā)活動,它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來達(dá)到系統(tǒng)所要求的功能13。2. 嵌入式實時操作系統(tǒng)的開發(fā)方式由于嵌入式應(yīng)用軟件的特殊性,往往要求應(yīng)用程序設(shè)計者具有一定的實時操作系統(tǒng)的專門知識,能合理地劃分任務(wù),合理地配置系統(tǒng)以及目標(biāo)聯(lián)機(jī)的調(diào)試。因此,要設(shè)計實現(xiàn)一個高性能的實時應(yīng)用軟件,需有強(qiáng)有力的交叉開發(fā)工具系統(tǒng)的支持。開發(fā)平臺稱為宿主機(jī),應(yīng)用系統(tǒng)稱

43、作目標(biāo)機(jī)。宿主機(jī)與目標(biāo)機(jī)可采用相同或不相同的機(jī)型.。這種不同機(jī)型的開發(fā)平臺又稱作交叉式開發(fā)系統(tǒng).顯然,在這種獨立的實時軟件開發(fā)系統(tǒng)上,應(yīng)配備完整的實時軟件開發(fā)的工具,如高級語言、在線調(diào)試器和在線仿真器等。宿主機(jī)和目標(biāo)機(jī)之間通過網(wǎng)絡(luò)、串口或其它方式相連,一般來說這個網(wǎng)絡(luò)和串口是目標(biāo)機(jī)的一部分,要占用目標(biāo)機(jī)用戶的部分資源,用戶必須給操作系統(tǒng)提供相應(yīng)的驅(qū)動程序。在進(jìn)行應(yīng)用軟件調(diào)試之前必須要保證目標(biāo)機(jī)的硬件系統(tǒng)能夠正常運行,宿主機(jī)的應(yīng)用程序代碼可以下載到目標(biāo)機(jī)中去,而且有關(guān)設(shè)備的驅(qū)動程序需調(diào)試正確。因此,嵌入式實時軟件開發(fā)過程較為復(fù)雜14。RTOS對于開發(fā)單位和開發(fā)者個人來說也是一種提高。引入RTOS

44、的開發(fā)單位,相當(dāng)于引入了一套行業(yè)中廣泛采用的嵌入式系統(tǒng)應(yīng)用程序開發(fā)標(biāo)準(zhǔn),使開發(fā)管理更簡易、有效?;赗TOS和C語言的開發(fā),具有良好的可繼承性,在應(yīng)用程序、處理器升級以及更換處理器類型時,現(xiàn)存的軟件大部分可以不經(jīng)修改地移植過來(據(jù)專家預(yù)測,優(yōu)秀RTOS上跨處理器平臺的程序移植只需要修改l-4%的內(nèi)容)。對于開發(fā)人員來說,則相當(dāng)于在程序設(shè)計中采用一種標(biāo)準(zhǔn)化的思維方式,提高知識創(chuàng)造的效率。同時因為具有類似的思路,可以更快地理解同行其它人員的創(chuàng)造成果15。3. 嵌入式實時操作系統(tǒng)內(nèi)核嵌入式實時操作系統(tǒng)中最關(guān)鍵的部分是實時多任務(wù)內(nèi)核。它主要實現(xiàn)任務(wù)管理、定時器管理、存儲器管理、任務(wù)間通信與同步、中斷管

45、理等功能。如何實現(xiàn)一個效率高,體積小,移植功能強(qiáng)大,易于定制的實時操作系統(tǒng)內(nèi)核是開發(fā)嵌入式操作系統(tǒng)的關(guān)鍵問題16。4.2 C/OS的基本功能介紹本設(shè)計將重點運用C/OS嵌入式實時操作系統(tǒng)作為軟件開發(fā)平臺,進(jìn)行應(yīng)用系統(tǒng)軟件的設(shè)計。1. C/OS的初始化和啟動在調(diào)用C/OS的其他服務(wù)之前,C/OS總要求用戶首先調(diào)用系統(tǒng)初始化函數(shù)OSInit(),完成對C/OS中一些變量和數(shù)據(jù)結(jié)構(gòu)的初始化。C/OS還初始化了4個空數(shù)據(jù)結(jié)構(gòu)緩沖區(qū)。每個緩沖區(qū)都是單向鏈表,允許C/OS從緩沖區(qū)迅速得到或釋放一個其中的元素。C/OS安排總的系統(tǒng)任務(wù)數(shù)OS_N_SYS_TASKS,控制塊OS-TCB的數(shù)目也就自動確定了。當(dāng)

46、然,包括組合結(jié)構(gòu)的任務(wù)控制塊分配給空閑任務(wù)和統(tǒng)計任務(wù)。多任務(wù)的啟動是用戶通過調(diào)用OSStart()實現(xiàn)的。然而,啟動C/OS前,用戶至少要建立一個應(yīng)用任務(wù)。當(dāng)調(diào)用OSStart()時,OSStart()從任務(wù)就緒表中找出那個用戶建立的優(yōu)先級最高任務(wù)的任務(wù)控制塊。然后,OSStart()調(diào)用最高優(yōu)先級就緒任務(wù)啟動函數(shù)OSStartHighRdy(),這個文件與選擇的微處理器有關(guān)。實質(zhì)上,函數(shù)OSStartHighRdy()是將任務(wù)棧中保存的值彈回到CPU寄存器中,然后執(zhí)行一條中斷返回指令,中斷返回指令強(qiáng)制執(zhí)行該任務(wù)代碼。注意,OSStartHighRdy ()將永遠(yuǎn)不會返回到OSStart()。

47、2. 任務(wù)管理在C/OS中,任務(wù)通常是一個無限的循環(huán),任務(wù)是絕對不會返回的。故返回參數(shù)必須定義成void。協(xié)C/OS可管理多達(dá)64個任務(wù),但C/OS保留了優(yōu)先級為0、1、2的任務(wù)??晒┯脩羰褂玫挠卸噙_(dá)56個應(yīng)用任務(wù)。必須給每個任務(wù)賦以不同的優(yōu)先級,C/OS初始化時,最低優(yōu)先級總是被賦給空閑任務(wù)。為了使C/OS能夠管理用戶任務(wù),用戶必須在建立一個任務(wù)的時候,將任務(wù)的起始地址與其他參數(shù)一起傳給OSTaskCreate()或OSTaskCreateExt()函數(shù)。每個任務(wù)的就緒標(biāo)志都放在就緒表(ready1ist)中,就緒表中有兩個變量OSRdyGrp和OSRdyTbl。在OSRdyGrp中,任務(wù)按

48、優(yōu)先級分組,8個任務(wù)即為一組。OSRdyGrp中的每一位表示8組任務(wù)中每一組中是否有進(jìn)入就緒狀態(tài)的任務(wù),任務(wù)進(jìn)入就緒態(tài),就緒表OSRdyTbl中相應(yīng)元素的相應(yīng)位也置位。在C/OS中,確定該哪個任務(wù)運行的工作是由調(diào)度器(scheduler)完成的。任務(wù)級的調(diào)度是由函數(shù)OSSched()完成的。任務(wù)切換很簡單,將被掛起任務(wù)的微處理器存儲器推入堆棧,然后將較高優(yōu)先級的任務(wù)的寄存器值從棧中恢復(fù)到寄存器中。OSSched()的所有代碼都屬于臨界區(qū)代碼。在尋找進(jìn)入就緒態(tài)的最高優(yōu)先級的任務(wù)的過程中,為防止中斷服務(wù)程序把一個或幾個任務(wù)的就緒位置位,中斷是被關(guān)掉的。3. 常用的任務(wù)管理函數(shù)OSTaskDel()

49、用于將任務(wù)返回并處于休眠態(tài),其代碼不再被C/OS調(diào)用,也就是刪除任務(wù)。刪除空閑任務(wù)和在中斷服務(wù)子程序中(ISR)刪除一個任務(wù)是不允許的,但可以刪除統(tǒng)計任務(wù)??赏ㄟ^指定OS_PRIO-SELF參數(shù)來刪除自己。OSTaskChangePrio()用來改變建立任務(wù)的時候分配給任務(wù)的優(yōu)先級。用戶需要指定任務(wù)當(dāng)前的優(yōu)先級和新的優(yōu)先級。OSTasksuspend()用來掛起任務(wù)。如果被掛起的任務(wù)同時也在等待延時的期滿,則掛起操作需要被取消,任務(wù)繼續(xù)等待延時期滿,并轉(zhuǎn)入就緒態(tài)。任務(wù)可掛起自己或其他任務(wù),但必須確保不是在掛起優(yōu)先級是無效的任務(wù)或空閑任務(wù)。OSTaskResume()用于恢復(fù)被掛起的任務(wù)。OST

50、askResume()首先要確保被恢復(fù)的任務(wù)不是空閑任務(wù),這個測試也是在恢復(fù)優(yōu)先級為OS_RIO_SELF的任務(wù)。接著,檢查要恢復(fù)的任務(wù)是否存在,是否是被掛起的。OSTaskQuery()用來獲得自身或其他應(yīng)用任務(wù)的信息。OSTaskQuery()獲得的是對應(yīng)任務(wù)的OS_TCB中內(nèi)容的拷貝。4. 時間管理C/OS一日的時鐘節(jié)拍C/OS需要用戶提供周期性信號源,用于實現(xiàn)延時和確認(rèn)超時。時鐘節(jié)拍的實際頻率取決于用戶應(yīng)用程序的精度。時鐘節(jié)拍源可以采用嵌入式處理器的硬件定時器。C/OS中的時鐘節(jié)拍服務(wù)是通過在中斷子程序中調(diào)用OSTimeTick()實現(xiàn)的。時鐘節(jié)拍中斷服務(wù)子程序的代碼必須用匯編語言編寫

51、。OSTimeTiekHook()開始,這個外連函數(shù)可以將時鐘節(jié)拍函數(shù)OSTimeTiek()予以擴(kuò)展。OSTiIneTiok()中大量工作是給每個用戶任務(wù)控制塊OS_TCB中的時間延時項OSTCBDly減1(該項不為零時)。OSTimeTiek()從OSTCBList開始,沿著OS_TCB鏈表做,一直到空閑任務(wù)。當(dāng)某個任務(wù)的任務(wù)控制塊中的時間延時項OSTCBDly減到了零,這個任務(wù)就進(jìn)入就緒態(tài)。被任務(wù)掛起函數(shù)OSTasksuspend()掛起的任務(wù)則不會進(jìn)入就緒態(tài)。OSTimeTiek()的執(zhí)行時間直接與應(yīng)用程序中建立的任務(wù)數(shù)成正比。5. 郵箱郵箱是協(xié)C/OS中一種通信機(jī)制,它可使一個任務(wù)或

52、者中斷服務(wù)子程向另一個任務(wù)發(fā)送一個指針型變量。該指針指向一個包含了特定“消息”的數(shù)據(jù)結(jié)構(gòu)。要在C/OS中使用郵箱,必須將OS_CFG.H文件中的常數(shù)BOX_EN置為1。使用郵箱前,必須先建立該郵箱,并指定指針初始值。OS_M如果郵箱用來通知一個事件的發(fā)生,就要初始化該郵箱為NULL;如果郵箱用來共享某些資源,就要初始化該郵箱為一個非NULL的指針。6. C/OS的中斷處理下面我們來了解一下在協(xié)C/OS中是如何處理中斷的。在用戶中斷服務(wù)子程序中,用戶代碼應(yīng)該將全部CPU寄存器推入當(dāng)前任務(wù)棧。C/OS需要知道用戶在做中斷服務(wù),故用戶應(yīng)該調(diào)用OSIntEnter(),或者將全局變量OSIntNest

53、ing直接加1,這兩種方法的選擇取決于用戶的微處理器。因為,如果用戶使用的微處理器有存儲器直接加1指令,用將全局變量OSIntNesting直接加1的方法比調(diào)用OSIntEnter()快得多。但如果用戶使用的微處理器沒有這樣的指令,就必須先將OSIntNesting讀入寄存器,再將寄存器加l,然后再寫回到變量OSIntNesting中去,這種情況下調(diào)用OSIntEnter()更簡單。要當(dāng)心的是,有些情況下,從OSIntEnter()返回時,會把中斷開了。這時,在調(diào)用OS1ntEnter()前要先清中斷源,否則,中斷會連續(xù)反復(fù)發(fā)生,程序就會崩潰。C/OS允許中斷嵌套,因為C/OS跟蹤嵌套層數(shù)OS

54、IntNesting。然而,為了允許中斷嵌套,在多數(shù)情況下,用戶應(yīng)在開中斷前先清中斷源。調(diào)用脫離中斷函數(shù)OS1ntExit()標(biāo)志中斷服務(wù)子程序的終結(jié), OSIntExit()將中斷嵌套層數(shù)計數(shù)器減1。當(dāng)中斷嵌套層數(shù)計數(shù)器減到O時,所有中斷就都完成了,此時C/OS要判斷有沒有優(yōu)先級較高的任務(wù)被中斷服務(wù)子程序喚醒了。如果有,C/OS就返回到那個高優(yōu)先級的任務(wù), OSIntExit()返回到調(diào)用點,此時OSIntExit()將占用較長的運行時間。保存的寄存器的值是在這個時候恢復(fù)的,然后是執(zhí)行中斷返回指令。注意,如果調(diào)度被禁止了,C/OS將被返回到被中斷了的任務(wù)。用戶中斷服務(wù)中做的要盡可能少,要把大

55、部分工作留給任務(wù)做。如果需要做任務(wù)切換,OSIntExit()將調(diào)用OSIntctxsw()17。4.3 C/OS實現(xiàn)對智能電梯控制系統(tǒng)的管理主控制器在硬件設(shè)計上要求嵌入式微處理器及外圍邏輯、驅(qū)動和接口電路具有快速處理、高度集成和抗干擾的性能。在軟件設(shè)計上原來采用的“前后臺系統(tǒng)”的編程方式實時性較差,對那些實時性要求高的任務(wù)不可能立刻得到處理,最壞情況下的任務(wù)的響應(yīng)時間取決于整個后臺循環(huán)的執(zhí)行時間,因為循環(huán)一圈的執(zhí)行時間不是常數(shù),程序經(jīng)過某一點的準(zhǔn)確時間也就不能確定。程序修改了,循環(huán)時序也會受影響。而且在流程的任何一處因某種意外不能正常工作,整個系統(tǒng)就會“死機(jī)”18??紤]到這些情況,有必要在電

56、梯控制系統(tǒng)中引入嵌入式實時操作系統(tǒng)作為軟件開發(fā)平臺,本文選用的嵌入式實時操作系統(tǒng)是源碼公開、成熟的協(xié)C/OS。在電梯控制系統(tǒng)中使用嵌入式實時操作系統(tǒng)協(xié)C/OS,可以將應(yīng)用程序分解成多任務(wù),簡化了應(yīng)用系統(tǒng)軟件的設(shè)計。使得電梯控制系統(tǒng)的實時性得到保證,而且良好的多任務(wù)設(shè)計,有助于提高系統(tǒng)的穩(wěn)定性與可靠性。下面將介紹電梯主控制器各個功能模塊及如何采用C/OS對各個功能模塊的管理19。4.3.1 主程序流程電梯控制系統(tǒng)控制策略與方法以流程圖表示,如圖4-1所示。圖4-1電梯控制系統(tǒng)主程序流程圖4.3.2 初始化模塊初始化模塊是電梯控制系統(tǒng)初始運行部分,負(fù)責(zé)初始化系統(tǒng)的各種參數(shù),根據(jù)情況把電梯設(shè)置成一種初始上電運行狀態(tài)。初始化模塊包括:(1) DSP系統(tǒng)初始化函數(shù)SYS_INIT()。完成DSP系統(tǒng)的配置寄存器和接口模塊時鐘控制。主要包括系統(tǒng)控制和狀態(tài)寄存器、中斷優(yōu)先級和中斷向量表、外設(shè)中斷擴(kuò)展控制器、中斷向量、CPU中斷寄存器、外設(shè)中斷寄存器等。(2) 定時器初始化函數(shù)EVB_init()。DSP有四個通用定時器,選擇定時器3做為整個軟件程序

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論