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