《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模拟设计 > 设计应用 > 基于单片机的金库门电子密码锁系统设计
基于单片机的金库门电子密码锁系统设计
摘要: 本论文就加强金库的安全管理,针对目前金库的管理缺陷,设计了一种金库门电子密码锁系统。这种密码锁不需要更改密码却每次开锁密码都不一样。保密性很高,既需要输入一组随机序号,同时还需要输入一个经过密码生成器计算得出的可变密码。本设计在安全系数要求很高,且需要多人管理与参与才能开锁的场合下非常适用。每次开锁密码不同,解决了传统键盘式电子密码锁容易被他人在键盘上试探出来,或被旁观者窥测出来,保密性不足的缺点。
Abstract:
Key words :
  0引言

  隨著社會經(jīng)濟的快速增長,安全防盜已成為一個社會問題。特別是對于各金融機構(gòu)以及許多企事業(yè)單位,為了資金周轉(zhuǎn)方便,一般設(shè)有金庫。然而近年來發(fā)生許多重大盜庫案,如河北邯鄲農(nóng)行金庫5100萬元被盜案,金庫的安全管理已成為一個不可忽視的問題。本論文就加強金庫的安全管理,針對目前金庫的管理缺陷,設(shè)計了一種金庫門電子密碼鎖系統(tǒng)。這種密碼鎖不需要更改密碼卻每次開鎖密碼都不一樣。保密性很高,既需要輸入一組隨機序號,同時還需要輸入一個經(jīng)過密碼生成器計算得出的可變密碼。本設(shè)計在安全系數(shù)要求很高,且需要多人管理與參與才能開鎖的場合下非常適用。每次開鎖密碼不同,解決了傳統(tǒng)鍵盤式電子密碼鎖容易被他人在鍵盤上試探出來,或被旁觀者窺測出來,保密性不足的缺點。

  1設(shè)計思路

  整個設(shè)計由金庫門密碼鎖控制器和密碼生成器兩大部分組成。兩部分均有液晶顯示模塊和鍵盤模塊,作為人機對話的界面和工具。不同的是密碼鎖控制器還包含密碼識別模塊和開鎖控制模塊,用戶從鍵盤上輸入密碼信息,通過內(nèi)置信息的計算、對比和判斷,產(chǎn)生對開鎖控制模塊與報警系統(tǒng)的控制。而密碼生成器主要包含密碼生成模塊,根據(jù)用戶輸入的信息,通過一定的算法計算出密碼,并將密碼通過液晶顯示反饋給用戶。

  密碼生成器由一名機構(gòu)負責人掌管。當用戶需要開啟金庫門時,金庫門密碼鎮(zhèn)控制器先為用戶產(chǎn)生六位隨機碼,用戶獲取了隨機碼之后需要向機構(gòu)負責人索取密碼。機構(gòu)負責人在密碼產(chǎn)生器上按照提示輸入2位隨機序號和用戶所告知的6位隨機碼,密碼產(chǎn)生器計算出6位密碼,負責人員告知用戶2位隨機序號和6位密碼,用戶輸入2位序號和6位密碼后,金庫門密碼鎖經(jīng)同樣算法計算,如果密碼匹對正確,則開鎖,否則不開。密碼輸入錯誤次數(shù)超3次則蜂鳴器鳴叫并啟動報警系統(tǒng),只有輸入正確的系統(tǒng)內(nèi)置口令才能使蜂鳴器停止鳴叫以及關(guān)閉報警系統(tǒng)。

  金庫門密碼鎖控制器和密碼生成器具有同樣的內(nèi)置口令,該內(nèi)置口令可重新設(shè)置,當重新設(shè)置時需要驗證原口令,如果相同則可進行更改,并將新口令保存在單片機的EEP-ROM中。關(guān)機后,保存的口令不丟失。重新設(shè)置內(nèi)置口令后,同樣的隨機碼、隨機序號,開鎖密碼是不一樣的。

  2STC12系列單片機以及OCM12864的簡介

  STC12系列單片機是宏晶科技生產(chǎn)的單時鐘/機器周期(1T)的單片機,與普通單片機相比,具有高速/低功耗/超強抗干擾/無法解密等優(yōu)點,是新一代8051單片機,且指令代碼完全兼容傳統(tǒng)8051,速度卻快8~12倍。工作電壓為3.8V~2.2V(3V單片機)/5.5V~3.3V(5V單片機),有6個16位定時器,兼容普通8051的定時器或4個外部中斷,具有看門狗和EEPROM功能,并且內(nèi)部集成MAX810專用復位電路?;谏鲜鰞?yōu)勢,本設(shè)計采用STC12系列單片機。

  液晶顯示部分采用OCM12864圖形點陣液晶顯示模塊,該圖形點陣液晶顯示模塊有128×64點陣,可顯示各種字符及圖形,可與CPU直接接口,具有8位標準數(shù)據(jù)總線、6條控制線及電源線。OCM12864具有自己的指令集,結(jié)合OCM12864的接口時序,可以實現(xiàn)對液晶模塊的讀寫操作。圖1、圖2分別為OCM12864的讀操作和寫操作時序,比較讀寫操作時序,可以發(fā)現(xiàn)讀寫操作時序的不同之處在于片選信號R/W在E有效時的取值。當E為高電平,R/W為高電平時則是單片機執(zhí)行的是讀操作;當E為高電平,R/W為低電平時則是單片機執(zhí)行的是寫操作。本設(shè)計采用OCM12864中的OCM12864-5(3V)和OCM12864-2(5V),根據(jù)金鵬電子有限公司提供的讀寫操作時序編程可以實現(xiàn)對液晶模塊的讀寫。

a.jpg

  3硬件設(shè)計

  系統(tǒng)硬件設(shè)計由兩大部分組成:密碼生成器硬件設(shè)計和密碼鎖控制器硬件設(shè)計。

  3.1密碼生成器硬件設(shè)計

  以STC12系列單片機STC12LE5410AD(3V單片機)為核心,結(jié)構(gòu)框圖如圖3所示。其功能模塊主要由電源電路模塊、鍵盤電路、液晶顯示模塊和指示控制模塊四部分組成的。

b.jpg

  電源模塊設(shè)計采用雙電源切換供電,即既可以通過USB接口供電,也可以通過電池為系統(tǒng)供電。經(jīng)USB或電池引出來的電壓是5V,再經(jīng)1117-33穩(wěn)壓管穩(wěn)壓之后為CPU提供3.3V電壓。STC12LE5410AD的P1口與鍵盤電路相連接,P3.6接LED燈作為系統(tǒng)的指示燈。P3.0與OCM12864的數(shù)據(jù)/指令引腳RS相連,實現(xiàn)數(shù)據(jù)/指令選擇,當RW=1時,數(shù)據(jù)DB0-DB7將送入顯示RAM;當RW=0時,數(shù)據(jù)DB0-DB7將送入指令寄存器執(zhí)行。數(shù)據(jù)的讀寫選擇R/W由P3.4來控制。E為0CM12864的液晶屏的讀寫使能端,并通過STC12LE5410AD的P3.2和P3.3選擇OCM12864左半屏和右半屏。除此之外,V0是LCD的調(diào)整電壓,必須與VEE一起與10k電位器相連,可對液晶屏的對比度進行調(diào)整。

  3.2金庫門密碼鎖控制器硬件設(shè)計

  以STC12系列的STC12C5410AD(5V單片機)為核心,結(jié)構(gòu)框圖如圖4所示,主要包括電源電路模塊、液晶顯示驅(qū)動模塊、鍵盤電路模塊、報警輸出模塊以及和STC12C2052AD通信的串口通信模塊、開鎖控制電路。

c.jpg

  在該系統(tǒng)中,電源電路模塊主要是由一個12V變壓器與一個LM7805穩(wěn)壓器電路所組成的,為CPU提供電壓。由于STC12C5410AD是5V的單片機,所以液晶顯示模塊同樣采用5V的OCM12864-2液晶模塊。8位標準數(shù)據(jù)總線與單片機STC12C5410AD的P2口相連接;讀寫選擇管腳R/W與P3.3相連;讀寫使能管腳CS1、CS2分別與P3.7、P3.5相連接;RS與P3.4相連,控制數(shù)據(jù)/指令的選擇。系統(tǒng)包含報警輸出電路,當連續(xù)輸入3次錯誤密碼時,則蜂鳴器報警以示警告并啟動報警系統(tǒng),則再不能做任何的操作,直到輸入正確的內(nèi)置口令才能關(guān)閉報警系統(tǒng)。本系統(tǒng)中,還采用輸入和顯示部分與開鎖控制電路相分開,PCB制作時制作成兩塊板,用串口通信實現(xiàn)兩塊板之間的通信,使密碼比對后的結(jié)果能輸送到STC12C2052AD,實現(xiàn)對機械鎖的控制。

  4軟件設(shè)計

  4.1密碼算法的實現(xiàn)

  密碼算法是本設(shè)計中的一個最重要的部分,當用戶使用密碼鎖開鎖時每次輸入的密碼都不一樣。密碼主要由隨機碼、內(nèi)置口令和隨機序號經(jīng)過一定的算法計算出來。

  直接采用C51語言的mad();語句實現(xiàn)的隨機碼具有一定的隨機順序,每次開機后所得的隨機碼序列基本一樣,屬于偽隨機碼。因此對于保密性產(chǎn)品來說,用rand();語句具有缺陷。本設(shè)計采用定時器實現(xiàn)隨機序列。定時器設(shè)置為模式2,即可自動重裝載的8位計數(shù)器,初值為100。密碼鎖控制器開機后,定時器開始定時。通過用戶3次按鍵產(chǎn)生中斷,讀取定時器低八位的值,將其轉(zhuǎn)換為十進制并取低兩位存到一個預先定義好的6位數(shù)組中的2個元素。3次按鍵共產(chǎn)生3次2位數(shù)的隨機碼,組成6位隨機碼。該隨機碼重復概率很小,為1/1000000。因此,對定時器的采樣,可實現(xiàn)真正的隨機碼。

  用戶自產(chǎn)生一個2位隨機序號,與隨機碼、密碼生成器的內(nèi)置口令經(jīng)過一定的算法計算生成密碼。密碼鎖控制器根據(jù)用戶輸入的隨機序號和密碼,將隨機序號、隨機碼、以及內(nèi)置口令,利用與密碼生成器生成密碼同樣的算法計算出密碼,與用戶輸入的密碼比較驗證。

  STC單片機自帶EEPROM,用EEPROM來儲存密碼,關(guān)機后密碼不丟失,并可隨意更改密碼。每次開鎖密碼都不一樣,可有效預防惡意窺測行為,并能清楚進出金庫的人員,且無需經(jīng)常更換密碼,方便管理。

  4.2密碼鎖控制器程序流程圖

d.jpg

  5結(jié)束語

  本文設(shè)計的金庫門電子密碼鎖系統(tǒng),解決了金庫門管理的“一密二鑰三分離”中密碼的管理和分離的規(guī)定。每次開機密碼都不一樣,有效防止密碼泄露,增強了金庫管理的安全性。本電子密碼鎖系統(tǒng),不僅可以運用于金庫門,同時適用于其他要求高保密性的產(chǎn)品或場所,且一個密碼生成器可配備若干個密碼鎖控制器,方便管理。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。