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

下載本文檔

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

文檔簡(jiǎn)介

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

2、安裝更加靈活、方便。本設(shè)計(jì)重點(diǎn)討論了電梯變頻驅(qū)動(dòng)部分的電路設(shè)計(jì),及應(yīng)用嵌入式實(shí)時(shí)操作系統(tǒng)C/OS的系統(tǒng)程序設(shè)計(jì)。關(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 智能電梯在國(guó)內(nèi)外發(fā)展現(xiàn)狀11.3 嵌入式系統(tǒng)2第2章 系統(tǒng)整體方案設(shè)計(jì)52.1 電梯控制系統(tǒng)控制策略、方法及總體結(jié)構(gòu)設(shè)計(jì)52.1.1 電梯控制系統(tǒng)控制策略、方法52.1.2 電梯控制系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)62.2 電梯主控制器的功能設(shè)計(jì)6第3章 系統(tǒng)硬件設(shè)計(jì)93.1 芯片DSP56F8025MFBE93.2 控制器組成框圖113.3 控制器的模塊單元功能介紹113.3.1 整流濾波單元113.3.2

8、 逆變單元123.3.3 電機(jī)速度及轉(zhuǎn)子位置檢測(cè)單元133.3.4 控制電路電源模塊133.3.5 看門狗模塊153.3.6 低電壓復(fù)位模塊163.3.7 電流檢測(cè)模塊163.3.8 故障報(bào)警模塊173.3.9 編程與仿真接口19第4章 系統(tǒng)程序設(shè)計(jì)194.1 嵌入式實(shí)時(shí)操作系統(tǒng)194.2 C/OS的基本功能介紹204.3 C/OS實(shí)現(xiàn)對(duì)智能電梯控制系統(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軟件定時(shí)器模塊31結(jié) 論33致 謝34參考文獻(xiàn)35附 錄 137附 錄 241第1章 緒論1.1 引言隨著信息技術(shù)的發(fā)展和數(shù)字化產(chǎn)品的普及,從消費(fèi)電器到工業(yè)設(shè)備,從民用產(chǎn)品到軍用器材,嵌入式系統(tǒng)被應(yīng)用到網(wǎng)絡(luò)、手持通信設(shè)備、國(guó)防軍事、消費(fèi)電子和自動(dòng)化控制等各個(gè)領(lǐng)域。嵌入式系統(tǒng)幾乎包括了生活中的所有電器設(shè)備,如掌上PDA、移動(dòng)計(jì)算設(shè)備、電視機(jī)頂盒、手機(jī)上網(wǎng)、數(shù)字電視、多媒體、汽車、微波爐、數(shù)字相機(jī)、家庭自動(dòng)化系統(tǒng)、電梯、空調(diào)、安全系統(tǒng)、自動(dòng)售貨機(jī)、蜂窩式電話、消費(fèi)電子設(shè)備、工業(yè)自動(dòng)化儀表與醫(yī)療儀器等。嵌入式系統(tǒng)的廣泛應(yīng)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

33、DSP處理器。(2) 在內(nèi)部時(shí)鐘為80M時(shí),指令執(zhí)行速度可達(dá)40MIPS。(3) 單周期16位*16位并行MAC。(4) 帶擴(kuò)展位的2個(gè)36位累加器。(5) 16位雙向循環(huán)移位器。(6) 采用DSP特有尋址模式的并行指令集。(7) 硬件實(shí)現(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) 只限制于存儲(chǔ)器大小的子程序和中斷堆棧。(14) JTAG/ONCE調(diào)試接口。圖3-1 DSP56F8025MFBE原理圖3.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

52、者中斷服務(wù)子程向另一個(gè)任務(wù)發(fā)送一個(gè)指針型變量。該指針指向一個(gè)包含了特定“消息”的數(shù)據(jù)結(jié)構(gòu)。要在C/OS中使用郵箱,必須將OS_CFG.H文件中的常數(shù)BOX_EN置為1。使用郵箱前,必須先建立該郵箱,并指定指針初始值。OS_M如果郵箱用來通知一個(gè)事件的發(fā)生,就要初始化該郵箱為NULL;如果郵箱用來共享某些資源,就要初始化該郵箱為一個(gè)非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,這兩種方法的選擇取決于用戶的微處理器。因?yàn)?,如果用戶使用的微處理器有存?chǔ)器直接加1指令,用將全局變量OSIntNesting直接加1的方法比調(diào)用OSIntEnter()快得多。但如果用戶使用的微處理器沒有這樣的指令,就必須先將OSIntNesting讀入寄存器,再將寄存器加l,然后再寫回到變量OSIntNesting中去,這種情況下調(diào)用OSIntEnter()更簡(jiǎn)單。要當(dāng)心的是,有些情況下,從OSIntEnter()返回時(shí),會(huì)把中斷開了。這時(shí),在調(diào)用OS1ntEnter()前要先清中斷源,否則,中斷會(huì)連續(xù)反復(fù)發(fā)生,程序就會(huì)崩潰。C/OS允許中斷嵌套,因?yàn)镃/OS跟蹤嵌套層數(shù)OS

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論