姚龍
【摘要】本文基于傳統(tǒng)電子密碼鎖的基本功能分析其中存在的安全性低、自動(dòng)化程度低等問題,提出新時(shí)期電子密碼鎖所應(yīng)具備的智能化、監(jiān)控性、集成化等特點(diǎn),并在這一設(shè)計(jì)需求上提出一種基于單片機(jī)與串行通信的電子密碼鎖設(shè)計(jì)方案,詳細(xì)論述其軟硬件的設(shè)計(jì)與實(shí)現(xiàn)。
【關(guān)鍵詞】電子密碼鎖;單片機(jī);串行通信;功能;通信
傳統(tǒng)的機(jī)械鎖有構(gòu)造簡(jiǎn)單、鎖芯外露、容易被撬等問題,而新興電子密碼鎖則具有較高的可靠性,便于進(jìn)行計(jì)算機(jī)網(wǎng)絡(luò)控制和智能化、自動(dòng)化管理,且設(shè)計(jì)制作較為簡(jiǎn)單,密碼設(shè)置靈活多樣,成本不高,市場(chǎng)價(jià)值高。作為一個(gè)普遍關(guān)注的社會(huì)問題——安全問題一直是學(xué)界、業(yè)內(nèi)研究的重點(diǎn),人們?cè)噲D運(yùn)用現(xiàn)代技術(shù)研究出更好的安全產(chǎn)品,保護(hù)人們的信息、財(cái)產(chǎn)等的安全,常見的安全產(chǎn)品有:指紋識(shí)別系統(tǒng)、紅外防盜系統(tǒng),其成本較高,一般用于保密級(jí)別較高的產(chǎn)品。而電子密碼鎖雖然沒有這些產(chǎn)品的安全性高,但相較于傳統(tǒng)機(jī)械鎖而言,依然具有很高的可靠性,加密快速簡(jiǎn)單,成本低,非常適用于家庭、辦公室、宿舍等場(chǎng)所,推廣價(jià)值高。
1.傳統(tǒng)電子密碼鎖的基本功能
傳統(tǒng)基于單片機(jī)與串行通信的電子密碼鎖的功能有:(1)一定位數(shù)的密碼以及取值范圍,這個(gè)位數(shù)多少?zèng)Q定了安全性能的高低。(2)用戶可自行根據(jù)需要設(shè)定、修改密碼。(3)用戶在按密碼時(shí)會(huì)有相應(yīng)的語音提示,若密碼錯(cuò)誤,則需另行處理。(4)密碼錯(cuò)誤次數(shù)超過限額自動(dòng)報(bào)警,一般來說,當(dāng)密碼錯(cuò)誤三次之后就會(huì)啟動(dòng)報(bào)警系統(tǒng)。(5)輸入正確密碼后自動(dòng)開鎖。(6)硬軟件成本低,可靠性高,能進(jìn)行批量化生產(chǎn)。
新興基于單片機(jī)和串行通信的電子密碼鎖在原來的基礎(chǔ)有一些擴(kuò)展功能,如:智能化水平高,電子密碼鎖與中央的監(jiān)控儀器連接起來,具有監(jiān)控功能;集成化水平高,各個(gè)模塊高度集成,設(shè)計(jì)簡(jiǎn)單,操作方便。這種新電子密碼鎖與傳統(tǒng)電子密碼鎖相比,引入嵌入技術(shù),有效減少元器件的使用,硬件系統(tǒng)設(shè)計(jì)更為簡(jiǎn)單,并不斷朝著網(wǎng)絡(luò)化、在線化、智能化方向發(fā)展,利用網(wǎng)絡(luò)實(shí)現(xiàn)電子密碼鎖的全過程實(shí)時(shí)監(jiān)控,并自動(dòng)進(jìn)行報(bào)警處理等。
2.基于單片機(jī)和串行通信的電子密碼鎖設(shè)計(jì)方案
2.1 總體結(jié)構(gòu)設(shè)計(jì)
電子密碼鎖采用兩級(jí)控制、總線型的計(jì)算機(jī)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。鍵盤為4×4方陣形式排列,鍵盤的掃描電路以行的方式進(jìn)行掃描,利用電子開關(guān)結(jié)構(gòu),鍵盤上的所有按鍵均是有效的,按鍵分成功能按鍵和數(shù)字按鍵兩種。主控芯片為AT89S51單片機(jī),單片機(jī)具有存儲(chǔ)密碼、輸入密碼和上傳密碼的功能。微型計(jì)算機(jī)分析和處理數(shù)據(jù)信息,并建立完整的數(shù)據(jù)庫,形成一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)控制的電子密碼鎖。利用串行通信延長(zhǎng)數(shù)據(jù)傳輸距離,使得連接方式變得更加簡(jiǎn)單,操作更方便,保證數(shù)據(jù)傳輸?shù)目煽啃?。如圖1所示為總體結(jié)構(gòu)示意圖。
圖1 總體結(jié)構(gòu)
2.2 主要芯片
主控芯片為AT89S51,是一款低功耗、高性能的CMOS8位單片機(jī),內(nèi)含4k Bytes ISP可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器,該存儲(chǔ)器采用高密度存儲(chǔ)技術(shù),件容乃公標(biāo)準(zhǔn)MCS-51指令系統(tǒng)和80C51引腳結(jié)構(gòu),是許多嵌入式控制系統(tǒng)的首選。該單片機(jī)具有如下特點(diǎn):有40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128bytes隨機(jī)存儲(chǔ)器,32個(gè)外部雙向I/O接口,5個(gè)中斷優(yōu)先級(jí),2個(gè)雙全工串行通信口。
2.3 通信協(xié)議設(shè)計(jì)
總線通信接口電路采用串行通信,該通信方式靈活性強(qiáng),肩負(fù)著管理、傳輸數(shù)據(jù)的任務(wù),負(fù)責(zé)主控微型計(jì)算機(jī)與控制部件之間的通信。
3.電子密碼鎖的實(shí)現(xiàn)
3.1 硬件設(shè)計(jì)
電子密碼鎖的硬件主要包括核心處理模塊、存儲(chǔ)模塊、人機(jī)交互界面模塊和通信模塊,下面簡(jiǎn)要分析其具體設(shè)計(jì):
3.1.1 核心處理模塊
核心處理模塊是整個(gè)電子密碼鎖關(guān)鍵,不僅需要處理密碼信息,同時(shí)還負(fù)責(zé)統(tǒng)籌調(diào)度管理其他模塊的工作,該模塊主要由單片機(jī)、鍵盤、存儲(chǔ)器、顯示電路組成。單片機(jī)為該部分的核心,任務(wù)是:配合軟件完成相關(guān)數(shù)據(jù)信息的記錄、分析處理、調(diào)度以及其他部分正常工作的控制、密碼校對(duì)、密碼修改等。從該電子密碼鎖的功能、安全性、數(shù)據(jù)量、接口電路等因素考慮,決定選用AT89S51單片機(jī)。鍵盤采用4×4陣列結(jié)構(gòu),這16個(gè)按鍵分別為0-9這10個(gè)數(shù)字、#、*、lock、modify、cel、enter。
3.1.2 存儲(chǔ)模塊
采用AT24C02存儲(chǔ)器,負(fù)責(zé)密碼和開鎖等信息的存儲(chǔ),該存儲(chǔ)器有I?C總線接口,是一款串行存儲(chǔ)器。由于AT89S51單片機(jī)上沒有I?C總線接口,故而在電路連接上,使得單片機(jī)上的P2.2、P2.3分別與存儲(chǔ)器上的SCL、SDA相連,在軟件上模擬設(shè)計(jì)出I?C總線接口。該存儲(chǔ)器可以保存最近20次的開鎖時(shí)間信息、用戶修改后的一級(jí)二級(jí)權(quán)限密碼、非法套取密碼信息等,用戶可根據(jù)語音提示進(jìn)行相應(yīng)操作查詢到這些信息。
3.1.3 人機(jī)交互界面設(shè)計(jì)
鍵盤以4×4方陣形式排列開來,在行線與列線的交叉處設(shè)置按鍵,行線設(shè)置為低電平,然后檢測(cè)出列線的實(shí)際輸入情況,從而明確該相交處的按鍵是否被按下??紤]到開鎖信息、時(shí)間信息、密碼提示信息等,考慮到電子密碼鎖設(shè)計(jì)的經(jīng)濟(jì)性,決定選用SMC1602A液晶屏作為電路的顯示模塊,該液晶屏為標(biāo)準(zhǔn)字符型液晶顯示屏,采用點(diǎn)陣型液晶顯示器(LCD),可顯示16個(gè)字符X2行西文字符,字符尺寸為2.95X4.35(WXH)mm,內(nèi)置HD44780及兼容芯片接口型液晶顯示控制器,可與MCU單片機(jī)直接連接,背光電流小,整體模塊電流更低。3.3V低電壓工作產(chǎn)品,更方便與低電壓?jiǎn)纹瑱C(jī)連接,被廣泛應(yīng)用于各類儀器儀表及電子設(shè)備。選用這一液晶屏體現(xiàn)出人機(jī)友好交互。采用雙層通信協(xié)議,兩層通信協(xié)議相互獨(dú)立,結(jié)構(gòu)簡(jiǎn)單,利用RS-232C接口實(shí)現(xiàn)對(duì)單片機(jī)引腳TXD、RXD的定時(shí)輸出高低電平,實(shí)現(xiàn)雙方數(shù)據(jù)的良好通信。
3.1.4 通信模塊設(shè)計(jì)
該電子密碼鎖采用總線型通信結(jié)構(gòu),控制設(shè)備在上電復(fù)位后開始工作,利用中斷方式等待串行通信的弧線,利用全雙工互鎖方式實(shí)現(xiàn)電子密碼鎖的通信正常。串行通信的總線控制位于通信的主機(jī),總線通信和網(wǎng)絡(luò)中下位的電子密碼鎖管理設(shè)備設(shè)立在串行通信數(shù)據(jù)信息的鏈路上,構(gòu)建出一個(gè)完整的主從形式總線型通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。同時(shí),網(wǎng)絡(luò)中的電子密碼鎖管理部件為電子密碼鎖提供充足的電能資源,所有的電路經(jīng)DC-DC模塊電路轉(zhuǎn)換后,為電子密碼鎖的電路提供穩(wěn)定、安全的電源。
在單片機(jī)的通信設(shè)計(jì)上,其通信模塊的第一級(jí)通信協(xié)議中,采用串口通信方式。在數(shù)據(jù)信息的傳輸過程中,串口處于已傳輸狀態(tài),當(dāng)數(shù)據(jù)寫入到串口的緩沖位置時(shí),串口就處于已接受狀態(tài),并將數(shù)據(jù)讀取到緩沖區(qū)域,實(shí)現(xiàn)同口處的無障礙通信。第二級(jí)通信協(xié)議完成軟件的判別工作,接收來自第一級(jí)通信協(xié)議的數(shù)據(jù)資料,并判斷其正確性和完整性,然后將本季中的數(shù)據(jù)寫入到通信緩沖區(qū)域,利用C語言來完成解析過程。
3.2 軟件設(shè)計(jì)
軟件設(shè)計(jì)是關(guān)系電子密碼鎖安全性的重要部分,為提高其安全性能,必須在軟件設(shè)計(jì)中引入安全理念,也就是說,在軟件設(shè)計(jì)中,引入一系列的約束條件、安全指導(dǎo)原則,為電子密碼鎖的安全設(shè)計(jì)提供安全機(jī)制和安全服務(wù)。其中,安全服務(wù)包括、鑒別、訪問控制、信息保密性、信息完整性;安全機(jī)制包括鑒別交互及占比、訪問控制機(jī)制、機(jī)密、信息完整性。這一安全機(jī)制和安全服務(wù)是通過軟件設(shè)計(jì)實(shí)現(xiàn)的。
電子密碼鎖的軟件設(shè)計(jì)可分成兩個(gè)部分:(1)控制程序,如:主程序、延時(shí)子程序、時(shí)間子程序、修改密碼子程序、鍵盤掃描子程序、報(bào)警子程序等,如圖2所示為主程序的設(shè)計(jì)流程。(2)網(wǎng)絡(luò)管理程序,包括串行通信程序、信息查詢程序等。運(yùn)用二級(jí)權(quán)限加密技術(shù),判別輸入的密碼是否正確,正確則開鎖,當(dāng)錯(cuò)誤超過3次時(shí)則自動(dòng)封鎖輸入口并啟動(dòng)報(bào)警器,存儲(chǔ)報(bào)警信息。若要修改密碼,則需要在密碼輸入正確后輸入高級(jí)權(quán)限密碼,當(dāng)系統(tǒng)確認(rèn)后方可修改密碼。
圖2 主程序設(shè)計(jì)流程
4.結(jié)束語
隨著社會(huì)經(jīng)濟(jì)的快速發(fā)展,電子密碼鎖在人們的生活中已非常常見,本文提出一種基于單片機(jī)和串行通信的電子密碼鎖設(shè)計(jì)方案,該密碼鎖具有成本低、操作簡(jiǎn)單、網(wǎng)絡(luò)化、智能化、集成化等優(yōu)點(diǎn),安全性高,值得大力推廣。
參考文獻(xiàn)
[1]邱燕,鄧鵬戈.數(shù)字電子密碼鎖[J].現(xiàn)代電子技術(shù),2010,33(7):
189-191.
[2]閆荷花.基于單片機(jī)與串行通信的電子密碼鎖設(shè)計(jì)[J].電子世界,2013(24):37.
[3]潘雪峰,李臘元,楊威棣.單片機(jī)電子密碼鎖加密模塊的研究與設(shè)計(jì)[J].自動(dòng)化儀表,2012,33(5):70-72.
[4]張?jiān)?,周明輝,周海林等.基于AT89S51的多功能電子密碼鎖設(shè)計(jì)[J].電子設(shè)計(jì)工程,2010,18(6):23-25.