易文振,張 誠(chéng),王忠友
(湖北科技學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 咸寧 437100)
為保護(hù)家庭和集體財(cái)產(chǎn)的安全,門鎖的控制成了關(guān)鍵,普通的門鎖、防盜門或者監(jiān)控、報(bào)警等系統(tǒng)在一些場(chǎng)合已是不夠防范了。于是,智能門禁系統(tǒng)[1~3]作為安全防范系統(tǒng)的重要組成部分應(yīng)運(yùn)而生,現(xiàn)正以遠(yuǎn)高于其他安防產(chǎn)品的進(jìn)度迅猛發(fā)展。門禁系統(tǒng),又稱出入管理控制系統(tǒng),是一種管理人員進(jìn)出的數(shù)字化智能管理系統(tǒng)。它屬于弱電系統(tǒng)中的一種智能安防系統(tǒng),是一種綜合多學(xué)科的高科技技術(shù)集合。它涉及電子、機(jī)械、光學(xué)、計(jì)算機(jī)技術(shù)、通信技術(shù)、生物統(tǒng)計(jì)學(xué)等諸多新技術(shù)領(lǐng)域[4]。
本設(shè)計(jì)的紅外線遙控智能密碼鎖[5~8]是將紅外遙控技術(shù)和單片機(jī)應(yīng)用相結(jié)合的一種方案。它的特點(diǎn)是:抗干擾能力強(qiáng),工作可靠,使用方便,具有較強(qiáng)的隱蔽性、保密性,而且可以智能修改密碼。 它與傳統(tǒng)鎖具的不同之處在于:它與微電腦相結(jié)合,能夠?qū)崿F(xiàn)適時(shí)、智能控制管理功能。
開鎖密碼需先進(jìn)行編碼,然后調(diào)制到紅外信號(hào)從遙控發(fā)射器上發(fā)送出去,發(fā)送的紅外信號(hào)被紅外接收管接受后,輸入到單片機(jī)系統(tǒng)進(jìn)行解碼以獲得相應(yīng)開鎖密碼,將該密碼與已存儲(chǔ)在外存儲(chǔ)器的密碼比較,一致便驅(qū)動(dòng)繼電器實(shí)現(xiàn)開鎖,否則通過(guò)蜂鳴器報(bào)警。
通過(guò)紅外遙控發(fā)射器發(fā)射的紅外信號(hào)是二進(jìn)制編碼信號(hào)調(diào)制在高頻載波上的調(diào)制信息。對(duì)紅外信號(hào)的編碼解碼是密碼鎖控制的關(guān)鍵。
遙控器發(fā)射的紅外信號(hào)編碼一般有脈沖寬度調(diào)制和脈沖位置調(diào)制。本系統(tǒng)采用的是脈沖位置調(diào)制(PPM)形式,這是一種脈沖位置根據(jù)被調(diào)信號(hào)的變化而變化的調(diào)制方法[9]。本系統(tǒng)用到的脈沖位置調(diào)制編碼方式的遙控器芯片為WD6122。該芯片所發(fā)射的一幀碼含有一個(gè)引導(dǎo)碼,16位的用戶編碼和8位的鍵數(shù)據(jù)碼、鍵數(shù)據(jù)碼的反碼也同時(shí)被傳送。碼型結(jié)構(gòu)如圖1所示。

圖1信號(hào)碼型結(jié)構(gòu)
引導(dǎo)碼由一個(gè)9ms的載波波形和4.5ms的關(guān)斷時(shí)間構(gòu)成,它作為隨后發(fā)射的碼的引導(dǎo),這樣當(dāng)接受系統(tǒng)是由微處理器構(gòu)成的時(shí)候,能更有效地處理碼的接受與檢測(cè)以及其他各項(xiàng)控制之間的時(shí)序關(guān)系。當(dāng)遙控器上任意一個(gè)按鍵按下超過(guò)10ms時(shí),將發(fā)射一個(gè)特定的同步碼頭即引導(dǎo)碼,這個(gè)同步碼頭可以使程序知道從這個(gè)同步碼頭開始可以接受數(shù)據(jù)[10~11],接受數(shù)據(jù)時(shí)利用脈沖之間的時(shí)間間隔來(lái)區(qū)分“0”和“1”。每次8位的碼被傳送之后,它們的反碼也被傳送,減少了系統(tǒng)的誤碼率。“0”和“1”的編碼如圖2所示。

圖2 “0”和“1”的編碼
紅外電子密碼鎖系統(tǒng)框圖如圖3所示。

圖3 總體設(shè)計(jì)框圖
整個(gè)系統(tǒng)由紅外遙控發(fā)射和紅外接收處理兩部分電路構(gòu)成。
紅外遙控發(fā)射部分是一個(gè)通用的遙控器,其核心芯片為WD6122,最多可外接64個(gè)按鍵,用于發(fā)射紅外控制信號(hào)。當(dāng)按下遙控發(fā)射器上的按鍵時(shí),發(fā)射器內(nèi)的編碼器輸出一組對(duì)應(yīng)的二進(jìn)制代碼,再將此二進(jìn)制代碼按一定格式調(diào)制到高頻載波上、加至紅外發(fā)光二極管上變成光信號(hào)發(fā)射出去。
本系統(tǒng)紅外接收與處理硬件電路如圖4所示。紅外接收采用一體化的紅外接收頭1838T(即圖4中的LDR1),其內(nèi)置專用的IC,集信號(hào)的接收和放大于一體,不需要任何外接器件。該接受頭體積小,能在低電壓下工作,適用與寬角度及長(zhǎng)距離接受,其抗干擾能力強(qiáng),能較好地抵擋環(huán)境干擾光線。紅外信號(hào)被紅外接收頭接收轉(zhuǎn)換成電信號(hào),再經(jīng)放大、限幅檢波及波形整理等處理后送入單片機(jī)進(jìn)行解碼處理。對(duì)電鎖及其開鎖密碼處理的核心芯片是單片機(jī)AT89C51(即圖4中的U1),轉(zhuǎn)換后的紅外電信號(hào)通過(guò)U1的P3.3引腳進(jìn)入單片機(jī)內(nèi)。

圖4 紅外接收模塊電路
經(jīng)U1處理的含有電鎖密碼的紅外信號(hào),一部分通過(guò)U1的P0口送到液晶顯示器LCD1(LCD1602)顯示,用來(lái)顯示操作信息,另一部分密碼信息用來(lái)與原先保存到U3(24C02A)的密碼比較。其中P2.5、P2.6和P2.7為液晶顯示屏LCD1控制信號(hào)。比較的密碼信號(hào)若與外存儲(chǔ)器存儲(chǔ)的密碼信號(hào)一致時(shí),開鎖脈沖信號(hào)通過(guò)U1的P1.4引腳輸出到鎖具驅(qū)動(dòng)塊U2(ULN2003)上,再控制鎖具控制繼電器線圈RL1,實(shí)現(xiàn)開鎖;若兩者密碼不一致,且有三次人為輸入情況下,則一方面不會(huì)輸出開鎖脈沖,另一方面再通過(guò)U2輸出報(bào)警信號(hào)給蜂鳴器。
根據(jù)以上設(shè)計(jì)要求,系統(tǒng)的紅外遙控電子密碼鎖的解鎖流程如圖5所示。解碼的關(guān)鍵是如何識(shí)別“0”和“1”。根據(jù)圖2信號(hào)的編碼要求“0”和“1”識(shí)別編寫程序,超過(guò)識(shí)別脈沖寬度的當(dāng)干擾碼處理。對(duì)所獲得的帶密碼的信號(hào)解碼過(guò)程流程圖如圖6所示。

圖5 控制流程圖 圖6 解碼流程圖
紅外信號(hào)解碼主要通過(guò)編寫的中斷函數(shù)IR_IN() interrupt來(lái)完成,其主要代碼如下:
void IR_IN() interrupt 2 using 0//紅外信號(hào)(IR)中斷函數(shù)
{
unsigned char temp,i,j,k,N=0;
EX1 = 0;
Delay_1(60);
if (IRIN==1)
{
EX1 =1;
return;
}//確認(rèn)IR信號(hào)出現(xiàn)
while (!IRIN)//等IR變?yōu)楦唠娖剑^(guò)9ms的前導(dǎo)低電平信號(hào)。
{ Delay_1(1); }
for (j=0;j<4;j++)//收集四組數(shù)據(jù)
{
for (k=0;k<8;k++)//每組數(shù)據(jù)有8位
{
while (IRIN)//等 IR 變?yōu)榈碗娖剑^(guò)4.5ms的前導(dǎo)高電平信號(hào)。
{ Delay_1(1);}
while (!IRIN)//等 IR 變?yōu)楦唠娖?/p>
{ Delay_1(1); }
while (IRIN)//計(jì)算IR高電平時(shí)長(zhǎng)
{
Delay_1(1);
N++;
if (N>=110)
{
EX1=1;
return;
}//計(jì)數(shù)過(guò)長(zhǎng)自動(dòng)退出中斷
} //高電平計(jì)數(shù)完畢
IRCOM[j]=IRCOM[j] >> 1;//數(shù)據(jù)最高位補(bǔ)“0”
if (N>=35) {IRCOM[j] = IRCOM[j] | 0x80;}//數(shù)據(jù)最高位補(bǔ)“1”
N=0;
}//end for k
}//end for j
if (IRCOM[2]!=~I(xiàn)RCOM[3])
{
EX1=1;
return;
}
......}
在上面的代碼中,變量IRIN為紅外信號(hào)。根據(jù)紅外信號(hào)的編碼,首先是要跳過(guò)前面的引導(dǎo)碼,程序中通過(guò)Delay_1()延時(shí)函數(shù)完成。在引導(dǎo)碼之后則是四組八位數(shù)據(jù),通過(guò)兩個(gè)for循環(huán)語(yǔ)句嵌套,分別取得這四組數(shù)據(jù)。取得的數(shù)據(jù)都放在數(shù)組IRCOM中,其中IRCOM[2]和IRCOM[3]分別為數(shù)據(jù)碼和數(shù)據(jù)反碼,若它們數(shù)據(jù)不互為反碼則為數(shù)據(jù)錯(cuò)誤并退出中斷。
對(duì)密碼鎖的安全性及方便性,紅外電子密碼鎖設(shè)置了一個(gè)初始密碼和一個(gè)底層密碼。當(dāng)用戶首次使用密碼鎖的時(shí)候,可以通過(guò)初始密碼獲得控制權(quán)限,然后用戶可通過(guò)修改密碼來(lái)替換初始密碼以提高密碼鎖的安全性。若用戶忘記自己修改后的密碼,則可以通過(guò)驗(yàn)證底層密碼來(lái)重置密碼,將密碼重新設(shè)置為初始密碼。流程圖如圖7所示。

圖7 密碼重置流程圖
密碼重置的關(guān)鍵代碼:
IRCOM[5]=IRCOM[2] & 0x0F;//取鍵碼的低四位
IRCOM[6]=IRCOM[2] >> 4;//右移4次,高四位變?yōu)榈退奈唬慈「咚奈?/p>
if(IRCOM[6]==0x34){//功能鍵定義
if(IRCOM[5]==0x36){ //重置密碼
if(table[0]==buf1[0]&&table[1]==buf1[1]&&table[2]==buf1[2]&&table[3]==buf1[3])//驗(yàn)證底層密碼
{
for(i=0;i<4;i++) { table[i]=0x00; }
for(i=0;i<4;i++) { table[i]=0x31+i; }
for (i=0;i<4;i++) //寫入初始密碼
{
x24c02_write(i+1,table[i]);
Delay_1(50);
}
for(i=0;i<4;i++) { buf[i]=table[i]; }
for(i=0;i<4;i++) { table[i]=0x00; }
.......
}
else
{
......
}
在上述程序中,將數(shù)據(jù)碼的低四位和高四位分別放在數(shù)組IRCOM[5]和IRCOM[6]中。按鍵對(duì)應(yīng)的數(shù)據(jù)碼的IRCOM[6]==0x34且IRCOM[5]==0x36即為密碼重置鍵。數(shù)組table和數(shù)組buf1分別存儲(chǔ)的是用戶輸入的密碼和底層密碼,首先判斷判斷兩者是否相等,相等則通過(guò)寫入函數(shù)x24c02_write()把初始密碼寫到外部存儲(chǔ)器中,不相等則退出密碼重置程序。
液晶LCD1602是用戶和系統(tǒng)交互的界面,根據(jù)液晶界面的提示可以觀察系統(tǒng)的運(yùn)行狀況。圖8和圖9是紅外電子密碼鎖解鎖和修改密碼的實(shí)物圖片。

圖8 解鎖界面

圖9 修改密碼界面
本文研究的是具單片機(jī)和紅外遙控技術(shù)結(jié)合的密碼鎖, 通過(guò)掌握其實(shí)現(xiàn)原理及控制過(guò)程,以及運(yùn)用軟件編程方式來(lái)解決紅外的編碼與解碼問(wèn)題。通過(guò)實(shí)測(cè)基本可達(dá)到用紅外遙控方式實(shí)現(xiàn)密碼鎖的控制過(guò)程。
參考文獻(xiàn):
[1]佟英杉.嵌入式多功能門禁系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2008.
[2]徐挺.大容量人臉識(shí)別門禁系統(tǒng)的研究[J].計(jì)算機(jī)仿真,2008,25(6):217~219.
[3]丁紅海,王建平,趙榮泳.圖書館自動(dòng)化門禁系統(tǒng)的關(guān)鍵技術(shù)與解決方案[J].機(jī)電一體化,2008, 14(8):52~55.
[4]吳微微.淺議智能出入管理系統(tǒng)的信息化特點(diǎn)及應(yīng)用[J].湖北函授大學(xué)學(xué)報(bào),2010,23(3): 93~94.
[5]成俊偉,陳波,梁書旺.基于AT89C51的紅外遙控電子密碼鎖的設(shè)計(jì)[J].科技信息,2008,(29): 567~569.
[6]付麗輝,戴峻峰.紅外線遙控智能密碼鎖設(shè)計(jì)[J].世界電子元器件,2002,(8):47~48.
[7]劉瀟婷.基于FPGA的紅外遙控電子密碼鎖的實(shí)現(xiàn)[D].大連:大連海事大學(xué),2008.
[8]戴培山,馮成德,劉棟.基于Keil c51的紅外遙控器解碼設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2003,(6):11~13.
[9]百度百科.PPM[EB/OL].http://baike.baidu.com/view/65814.htm,2011-10-24.
[10]尹學(xué)鋒.紅外線遙控密碼鎖的研究[J].安防科技,2008,(3):10~13.
[11] Zhang Cheng Xue,Shun Xia Wu.The design of electronic locks based on infrared remote-Control with MCU[Z].International Conference on Computer Science & Education(ICCSE) :592~594.
湖北科技學(xué)院學(xué)報(bào)2014年9期