呂俊懷,任世錦,郝國(guó)生
(徐州師范大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇徐州 221116)
目前,一些單位和家庭雖然使用了安全監(jiān)控系統(tǒng),對(duì)安全防盜起到了一定的作用,但遠(yuǎn)沒(méi)有達(dá)到人們預(yù)期的目標(biāo),原因是監(jiān)控系統(tǒng)是一個(gè)單元樓道對(duì)應(yīng)一個(gè)監(jiān)控節(jié)點(diǎn),監(jiān)控節(jié)點(diǎn)以孤立的形式存在,與小區(qū)的整體保安脫節(jié);作案人與普通人的外觀形體難于區(qū)分和識(shí)別。而主從式門禁系統(tǒng),對(duì)小區(qū)實(shí)現(xiàn)全面監(jiān)控,能有效克服現(xiàn)有系統(tǒng)的缺點(diǎn)。
由于主從式門禁系統(tǒng)的多任務(wù)和實(shí)時(shí)性特點(diǎn),為保證系統(tǒng)軟件的可靠性和實(shí)時(shí)性,主從式門禁系統(tǒng)的軟件是基于μC/OS-II開(kāi)發(fā)的系統(tǒng)軟件,μC/OS-II是源代碼公開(kāi)的嵌入式實(shí)時(shí)操作系統(tǒng),被成功地移植到多種微處理器上[2]。本文介紹了基于μC/OS-II操作系統(tǒng)的門禁系統(tǒng)軟件開(kāi)發(fā)方法。
所謂門禁系統(tǒng),是指符合條件的人通過(guò)門的控制系統(tǒng)。主從式門禁是由多級(jí)、多個(gè)單門禁系統(tǒng)組成網(wǎng)絡(luò)的控制系統(tǒng)。其由小區(qū)(單位)門禁和樓道門禁兩級(jí)組成。小區(qū)門的控制系統(tǒng)是主控制系統(tǒng),單元樓道的控制系統(tǒng)是從控制系統(tǒng),主系統(tǒng)和從系統(tǒng)連成主從控制系統(tǒng),見(jiàn)圖1。
圖1 主從式門禁系統(tǒng)結(jié)構(gòu)圖
主系統(tǒng)對(duì)從系統(tǒng)進(jìn)行管理和控制,并能夠有效裁決系統(tǒng)發(fā)生的并發(fā)事件,將并發(fā)事件轉(zhuǎn)換為基于時(shí)間的串行事件處理。根據(jù)經(jīng)驗(yàn),主從系統(tǒng)之間的通信方式由下面情況決定:面積小于106m2的小區(qū),主系統(tǒng)和從系統(tǒng)之間采用485總線通信;對(duì)于超過(guò)106m2的小區(qū),主系統(tǒng)和從系統(tǒng)之間采用CAN總線通信方式[3,4,9]。主系統(tǒng)對(duì)從系統(tǒng)遠(yuǎn)程控制,每個(gè)從系統(tǒng)的地址取其所在樓號(hào)和單元號(hào)的組合;從控端對(duì)每個(gè)住戶采用直接控制。
基于系統(tǒng)結(jié)構(gòu)和實(shí)際需要,系統(tǒng)有以下3種功能:
(1)進(jìn)門監(jiān)控。有4種方式:一是用鑰匙打開(kāi)門鎖,二是密碼或刷卡進(jìn)入,三是卡號(hào)更新或修改密碼,四是來(lái)訪者通過(guò)呼叫住戶進(jìn)入;
(2)實(shí)現(xiàn)主系統(tǒng)、從系統(tǒng)與住戶之間通信與管理功能;
(3)提示與對(duì)講系統(tǒng)。
根據(jù)門禁系統(tǒng)的設(shè)計(jì)思想和功能,采用了以下關(guān)鍵技術(shù):
主系統(tǒng)通過(guò)從系統(tǒng)直接與住戶通話,便于對(duì)進(jìn)入小區(qū)的陌生人進(jìn)行核實(shí)。方法是主控制系統(tǒng)通過(guò)鍵盤輸入樓號(hào)、樓道號(hào)、分戶號(hào)發(fā)送給每個(gè)從系統(tǒng),對(duì)應(yīng)的從系統(tǒng)呼叫住戶。
3.1.1 主系統(tǒng)具有的功能
為了實(shí)現(xiàn)主從系統(tǒng)協(xié)同工作,主系統(tǒng)具有下面功能:
(1)主動(dòng)喚醒。當(dāng)有鍵盤輸入、刷卡時(shí),喚醒主系統(tǒng);
(2)與從系統(tǒng)聯(lián)絡(luò)。向從系統(tǒng)發(fā)送樓號(hào)、單元號(hào)、戶號(hào);
(3)被動(dòng)喚醒。從系統(tǒng)串行口送來(lái)的開(kāi)門特征碼,喚醒主系統(tǒng)。
根據(jù)上述要求設(shè)計(jì)的主控制系統(tǒng)如圖2所示。
3.1.2 從系統(tǒng)具有的功能
從系統(tǒng)有下面功能:
(1)被動(dòng)喚醒。主系統(tǒng)通過(guò)串行口,喚醒從系統(tǒng);
(2)與主控制系統(tǒng)聯(lián)絡(luò)。對(duì)主系統(tǒng)送來(lái)的樓號(hào)、單元號(hào),判斷主機(jī)是否要和本機(jī)通信,如是就完成與主系統(tǒng)握手,協(xié)助主系統(tǒng)和住戶建立聯(lián)系;
圖2 主控制系統(tǒng)框圖
(3)主動(dòng)喚醒。鍵盤輸入、刷卡喚醒;
(4)與要聯(lián)絡(luò)的住戶握手。通過(guò)鍵盤呼叫住戶,通過(guò)對(duì)講系統(tǒng)與住戶聯(lián)系。
根據(jù)上述要求設(shè)計(jì)的從系統(tǒng)如圖3所示。
圖3中的K1,K2,…,Kn在住戶端,住戶端按動(dòng)開(kāi)關(guān)K1,K2,…,Kn,開(kāi)關(guān)信號(hào)喚醒STC89C516RD+。主系統(tǒng)和從系統(tǒng)的設(shè)計(jì)參考文獻(xiàn)[5~7]。
圖3 從控制系統(tǒng)框圖
從系統(tǒng)與住戶的對(duì)講系統(tǒng)如圖4所示。主系統(tǒng)和從系統(tǒng)之間實(shí)現(xiàn)無(wú)線對(duì)講,樓道端和住戶端使用有線對(duì)講,對(duì)講系統(tǒng)的這種設(shè)計(jì)思想,使主從控制系統(tǒng)的協(xié)同控制電路簡(jiǎn)化。
圖4 從控制系統(tǒng)與住戶端語(yǔ)音對(duì)講系統(tǒng)框圖
圖3輸出控制信號(hào)D0,…,Dn,通過(guò)解碼電路輸出控制信號(hào) D0’,…Dn-1’,Dn’,連接圖 4的三態(tài)門控制端,控制對(duì)講系統(tǒng)中的電子模擬開(kāi)關(guān)通斷,從而控制住戶端音頻線的通斷,實(shí)現(xiàn)小區(qū)門、單元樓道和住戶之間單獨(dú)對(duì)話。其中D0’,…Dn-1’,Dn’控制語(yǔ)音芯片信號(hào)的輸出。
在從系統(tǒng)中使用T0定時(shí)器。對(duì)0:00到5:00時(shí)間段內(nèi)呼叫的住戶號(hào)保存;同時(shí)從系統(tǒng)對(duì)18:00到次日5:00時(shí)間段內(nèi)呼叫進(jìn)入住戶的人數(shù)進(jìn)行統(tǒng)計(jì),當(dāng)進(jìn)入某戶的人數(shù)大于該住戶人口數(shù)時(shí),保存該住戶號(hào)。在次日5:00開(kāi)始依據(jù)已經(jīng)設(shè)定的從控制系統(tǒng)的序號(hào),順序?qū)⒃摂?shù)據(jù)發(fā)送給主控制器,次日17:00清除該數(shù)據(jù)。主控制系統(tǒng)每天對(duì)各棟樓異常出入人數(shù)進(jìn)行統(tǒng)計(jì)保存,供保安人員查詢。
基于STC12C5A60S2的應(yīng)用軟件具有無(wú)限循環(huán)、對(duì)底層硬件緊密耦合、程序編制缺乏軟件工程設(shè)計(jì)方法的指導(dǎo)等特點(diǎn)。針對(duì)本系統(tǒng)軟件具有突發(fā)性、多任務(wù)和實(shí)時(shí)特性。本系統(tǒng)基于μC/OS-Ⅱ平臺(tái)開(kāi)發(fā)軟件,不僅滿足門禁系統(tǒng)的要求,而且能簡(jiǎn)化程序設(shè)計(jì)和提高編程效率,同時(shí)提高軟件的可靠性。
本系統(tǒng)使用了μC/OS-ⅡV2.76版本,借鑒了參考文獻(xiàn)[8]中μC/OS-Ⅱ移植方法,利用事件標(biāo)志組Event_Flag()和互斥信號(hào)量Mutex()解決多任務(wù)在處理共享資源時(shí)的優(yōu)先級(jí)反轉(zhuǎn)問(wèn)題。由于篇幅限制,在此只是簡(jiǎn)略說(shuō)明軟件系統(tǒng)的開(kāi)發(fā)步驟:
(1)設(shè)置工作堆棧和任務(wù)堆棧。工作堆棧安排在內(nèi)部存儲(chǔ)器的53H-7FH,容量為32字節(jié),設(shè)置一個(gè)全局變量跟蹤程序嵌套的層數(shù),防止工作堆棧溢出;任務(wù)堆棧安排在外部數(shù)據(jù)存儲(chǔ)器的頂部。
(2)移植代碼。修改與STC12C5A60S2相關(guān)的代碼。
(3)移植代碼測(cè)試和仿真。首先對(duì)移植到STC12C5A60S2的代碼進(jìn)行測(cè)試,然后在移植系統(tǒng)上進(jìn)行仿真調(diào)試。
主從式門禁系統(tǒng)設(shè)計(jì)的創(chuàng)新點(diǎn)是:
(1)在系統(tǒng)設(shè)計(jì)中采用了主從協(xié)同控制技術(shù),并使門禁系統(tǒng)具有輔助管理功能,輔助統(tǒng)計(jì)夜間進(jìn)出人員數(shù)據(jù);
(2)主從系統(tǒng)的微處理器使用宏晶科技公司的STC12C5A60S2,整個(gè)系統(tǒng)常態(tài)睡眠,節(jié)省了能源,提高了產(chǎn)品壽命;
(3)整個(gè)軟件系統(tǒng)基于μC/OS-Ⅱ平臺(tái)開(kāi)發(fā),方便了系統(tǒng)維護(hù)。
[1]雷峰成,等.嵌入式網(wǎng)絡(luò)數(shù)字圖像監(jiān)控系統(tǒng)[J].微計(jì)算機(jī)信息(嵌入式與 SOC),2006,(9):133-135.
[2]任 哲.嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II原理及應(yīng)用[M].北京:北京航天航空大學(xué)出版社,2005.
[3]王華平,等,基于CAN總線的汽車車門控制系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息(嵌入式與 SOC),2006,(9):239-241.
[4]黃軍娜,等.基于特定協(xié)議的串口通信與遠(yuǎn)程控制的實(shí)現(xiàn)[J].微計(jì)算機(jī)信息(控制自動(dòng)化),2006,(11):8-10.
[5]徐愛(ài)均,彭秀華.單片機(jī)高級(jí)語(yǔ)言編程uVison2應(yīng)用實(shí)踐[M].北京:電子工業(yè)出版社,2004.
[6]馬文華.μC/OS-II在MCS51上的移植[J].廣州大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,5(3):31-34.
[7]宋光華,等.總多單片機(jī)系統(tǒng)應(yīng)用技術(shù)[M].北京:國(guó)防工業(yè)出版社,2003.