- 相關(guān)推薦
關(guān)于電梯嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)
近年來,以嵌入式處理器為核心的智能電梯控制系統(tǒng)的飛速發(fā)展和普及, 對(duì)電梯控制系統(tǒng)的主控制器在功能、實(shí)時(shí)性、可靠性和軟件編程的靈活性提出了更多、更高的要求。yjbys小編下面為你整理了關(guān)于電梯嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì),希望對(duì)你有所幫助。
1系統(tǒng)的原理結(jié)構(gòu)
本設(shè)計(jì)采用三星的S3C6410芯片作為電梯嵌入式視頻監(jiān)控系統(tǒng)的核心,通過USB攝像頭采集視頻圖像,實(shí)時(shí)了解電梯的運(yùn)行情況,模擬電梯和微處理器可以實(shí)現(xiàn)通信,可以實(shí)時(shí)控制電梯的運(yùn)行,采集到的視頻信號(hào)和電梯的底層數(shù)據(jù)可以通過Internet傳輸?shù)竭h(yuǎn)端的監(jiān)控PC上,遠(yuǎn)端的PC也可以對(duì)電梯實(shí)現(xiàn)遠(yuǎn)程操控等。系統(tǒng)總體結(jié)構(gòu)圖如圖1所示。
2硬件平臺(tái)設(shè)計(jì)
電梯服務(wù)器硬件平臺(tái)框圖本設(shè)計(jì)是以采用 S3C6410為一款帶MMU的ARM微處理器,可在上面運(yùn)行標(biāo)準(zhǔn)的Linux操作系統(tǒng),以減少軟件開發(fā)時(shí)間。S3C6410集成了256M DDR RAM,SLC NAND Flash(1GB)或MLC NAND Flash(2GB)存儲(chǔ)器,使其有足夠的空間存儲(chǔ)程序和數(shù)據(jù)。DM9000網(wǎng)卡和RJ45接口為接入Internet做好硬件準(zhǔn)備,USB接口主要用于USB攝像頭。嵌入式電梯服務(wù)器硬件設(shè)計(jì)框圖如圖2所示。
3軟件的實(shí)現(xiàn)
在軟件設(shè)計(jì)上采用linux操作系統(tǒng)作為軟件開發(fā)平臺(tái),linux操作系統(tǒng)中最關(guān)鍵的部分是實(shí)時(shí)多任務(wù)內(nèi)核,它主要實(shí)現(xiàn)任務(wù)管理、定時(shí)器管理、存儲(chǔ)器管理、任務(wù)間通信與同步、中斷管理等功能。電梯嵌入式智能控制器中使用linux操作系統(tǒng)可以將應(yīng)用程序分解成多任務(wù),簡(jiǎn)化了應(yīng)用系統(tǒng)軟件的設(shè)計(jì),使得電梯嵌入式智能控制器的實(shí)時(shí)性得到保證,而且良好的多任務(wù)設(shè)計(jì),有助于提高系統(tǒng)的穩(wěn)定性與可靠性。以下主要介紹本控制器的主要模塊和核心部分。
3.1 模擬電梯模塊
模擬電梯模塊主要是根據(jù)擬定的電梯數(shù)據(jù)結(jié)構(gòu),用小鍵盤模擬電梯的內(nèi)部操作,采用同方向優(yōu)先的電梯算法使電梯正常運(yùn)行,運(yùn)行的過程就是電梯數(shù)據(jù)的變化,然后將實(shí)時(shí)變化的電梯數(shù)據(jù)存入電梯數(shù)據(jù)緩沖區(qū),等待監(jiān)控中心的連接請(qǐng)求,該緩沖區(qū)是一個(gè)擬定的電梯數(shù)據(jù)結(jié)構(gòu)體。
3.1.1 電梯數(shù)據(jù)結(jié)構(gòu)體
typedef struct elevator
{
int m_flag; //電梯運(yùn)行的標(biāo)志:1―運(yùn)行 2―停止
int up_down; //電梯運(yùn)行方向:上―1 下―0
int cur_floor; //電梯當(dāng)前所在的樓層
int des_floor[MAX]; // 電梯目標(biāo)層數(shù)組
/*des_floor[0]記錄目標(biāo)層的個(gè)數(shù),des_floor[1-9]:值為代表有人要去該層即相應(yīng)樓層為目標(biāo)層,為0則表示沒有人去該層*/
}elevator;
該結(jié)構(gòu)體實(shí)時(shí)記錄電梯當(dāng)前的狀態(tài)和相關(guān)信息,它是電梯運(yùn)行控制的數(shù)據(jù)核心。監(jiān)控中心就是通過獲取該結(jié)構(gòu)體信息來達(dá)到遠(yuǎn)程監(jiān)控電梯的。
3.2 鍵盤模擬電梯操作的處理過程
利用ARM6410開發(fā)板上的小鍵盤來模擬電梯及操作過程流程說明:首先打開鍵盤設(shè)備/dev/mcu/kbd,如果返回鍵盤設(shè)備句柄就可以進(jìn)行初始化電梯數(shù)據(jù),然后進(jìn)入循環(huán)檢測(cè)狀態(tài),檢測(cè)是否有數(shù)字鍵按下。有鍵按下則判斷該鍵是否符合已定輸入標(biāo)準(zhǔn),判斷標(biāo)準(zhǔn)為:必須輸入1-9的數(shù)字鍵,而且輸入的數(shù)字不可以是當(dāng)前所在的樓層,同時(shí)還是非目標(biāo)層,然后將輸入的數(shù)據(jù)更新到電梯數(shù)據(jù)結(jié)構(gòu)體中,即增加了一個(gè)目標(biāo)樓層,若當(dāng)前電梯沒有運(yùn)行而此時(shí)需要運(yùn)行,則創(chuàng)建一個(gè)線程來運(yùn)行電梯。
3.3 電梯的運(yùn)行控制
電梯的運(yùn)行過程是線程實(shí)現(xiàn)的,這是本模塊的核心。
流程說明:電梯在運(yùn)行過程中始終處于運(yùn)行狀態(tài),運(yùn)行結(jié)束后處于停止?fàn)顟B(tài),上述線程也就結(jié)束,所以在線程一開始判斷電梯是否已經(jīng)處于運(yùn)行狀態(tài),若是,說明某個(gè)線程正在進(jìn)行電梯的運(yùn)行過程,則不能再有另一個(gè)運(yùn)行線程,于是結(jié)束。否則,根據(jù)目標(biāo)樓層數(shù)不斷循環(huán)來到達(dá)每一個(gè)目標(biāo)層,當(dāng)目標(biāo)樓層數(shù)為0時(shí),電梯停止,線程結(jié)束。
運(yùn)行過程中,根據(jù)同方向優(yōu)先算法,先達(dá)到運(yùn)行方向上的目標(biāo)樓層,當(dāng)運(yùn)行方向上沒有目標(biāo)層或已經(jīng)達(dá)到頂端或低端時(shí),才改變電梯運(yùn)行方向。若運(yùn)行方向上有目標(biāo)層時(shí),則一直運(yùn)行直到達(dá)到某個(gè)目標(biāo)樓層,這是通過判斷達(dá)到的每一層是否是目標(biāo)層來確定的。只有當(dāng)達(dá)到某個(gè)目標(biāo)層或電梯改變運(yùn)行方向時(shí),才重新根據(jù)目標(biāo)樓層數(shù)來判斷是否還有目標(biāo)層。
流程中的“到達(dá)標(biāo)志”用于標(biāo)識(shí)是否到達(dá)一個(gè)目標(biāo)層,當(dāng)確定某個(gè)方向上還有目標(biāo)層時(shí),在到達(dá)一個(gè)目標(biāo)層前(即使有鍵按下,目標(biāo)層只可能增多,不會(huì)減少),它一直為0,此時(shí)不用執(zhí)行多余的判斷是否有目標(biāo)層的操作,直到到達(dá)一個(gè)目標(biāo)層時(shí),將該標(biāo)志置為1,表示到達(dá)了一個(gè)樓層,這時(shí)才重新判斷是否還有目標(biāo)層。
在ARM微處理器上設(shè)計(jì)電梯嵌入式智能控制器,采用模塊化和嵌入式編程的思想設(shè)計(jì),主要包括系統(tǒng)的總體設(shè)計(jì)、嵌入式硬件搭建、虛擬機(jī)工作環(huán)境的搭建,嵌入式操作系統(tǒng)移植、根文件系統(tǒng)的構(gòu)建、應(yīng)用軟件的編寫和移植。采用成熟的ARM技術(shù),具有高性能、高集成度、低功耗、低成本、低開發(fā)難度等優(yōu)點(diǎn),以及采用linux操作系統(tǒng)是開發(fā)源碼的操作系統(tǒng),軟件資源豐富,同時(shí)具有內(nèi)核功能強(qiáng)大,高校,穩(wěn)定,支持ARM等優(yōu)點(diǎn)。因此大大地提高了系統(tǒng)的可靠性和穩(wěn)定性,將其應(yīng)用在電梯的控制領(lǐng)域具有很好的發(fā)展前景。
【電梯嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)】相關(guān)文章:
嵌入式系統(tǒng)組成10-20
嵌入式系統(tǒng)介紹01-13
嵌入式系統(tǒng)設(shè)計(jì)的三個(gè)層次簡(jiǎn)介08-02
嵌入式系統(tǒng)歷史發(fā)展01-13
嵌入式系統(tǒng)現(xiàn)狀發(fā)展08-16
嵌入式系統(tǒng)開發(fā)特點(diǎn)08-09
嵌入式系統(tǒng)的基本概念01-12