摘要 以單片機為主控單元,結合鍵盤、LCD顯示、AT24C02存儲、遙控等外圍電路,使密碼鎖能夠在接受用戶設定的正確密碼時開鎖,反之報警提示。用戶可隨時更改開鎖密碼以提高安全性。設計中遙控功能更是應用廣泛的人性化設計。
關鍵詞 單片機;密碼鎖;遙控檢查;安全性
1 密碼鎖的安全性論述
1.1 課題背景
隨著科技發(fā)展與生活水平的提高,人們的安全意識越來越強。傳統(tǒng)的機械鎖仍在大量使用,但是在安全性能要求較高的場合,傳統(tǒng)的機械鎖由于其成本高、制造難度大、安全系數(shù)低等缺點,已不能滿足需求。
電子密碼鎖是由輸入密碼來控制電路或芯片工作,繼而控制機械開關的閉合,完成開鎖、閉鎖任務的電子產(chǎn)品。近年來,紅外遙控技術在各個領域已得到廣泛應用,將其應用到電子鎖領域,則形成了紅外控制開啟的電子鎖。
1.2 設計目標與意義
以AT89S52單片機作為主控芯片,設計合理的外圍電路,從而構成電子密碼鎖系統(tǒng),并對主控芯片編程實現(xiàn)以下功能:
(1)輸入正確密碼后開鎖。用戶按開鎖鍵進入開鎖模式,正確鍵入6位密碼,實現(xiàn)開鎖。
(2)用戶可隨時更改開鎖密碼。用戶按SET鍵,進入密碼設置模式,可設置6位新密碼。但要求先正確輸入當前密碼,然后輸入新密碼,以防用戶誤操作,需再次輸入新密碼進行確定。
(3)提示輸入密碼位數(shù)。設計有LCD顯示電路,當用戶通過鍵盤或是遙控器輸入密碼時,不顯示輸入具體數(shù)值,而是顯示“*”,如此即方便了用戶輸入,同時增加了保密性。
(4)防盜報警。當用戶輸入錯誤密碼時,會提示輸入錯誤。當用戶連續(xù)3次輸入密碼錯誤時,會自動聲光報警,以增加防盜安全系數(shù)。
(5)遙控功能。實現(xiàn)一定距離的遙控操作開鎖,在車庫倉庫等應用廣泛,用戶不需要下車,只需遙控操作,鍵入正確密碼開鎖。
2 密碼鎖安全系統(tǒng)總體方案設計
根據(jù)系統(tǒng)設計目標要求,其系統(tǒng)框圖如圖1所示。
3 紅外遙控作用
遙控編碼脈沖信號通常包括3大部分,即引導碼、系統(tǒng)碼和功能碼。
(1)引導碼,也稱引導脈沖,一般由高電平1和低電平0的脈沖組成,二者的寬度之比可為1:1,占9 ms,也可為2:1,占13.5 ms(寬度為9 ms的高電平和寬度為4.5 ms的低電平組成),也可能有其他組成情況。引導碼的主要作用類似于穿行通信中的同步脈沖,用來標志遙控編碼脈沖信號的開始,使遙控接收器能由此判斷出所接收的信號是干擾還是系統(tǒng)的遙控代碼。
(2)系統(tǒng)碼,也稱用戶碼、識別碼、設備碼、安全碼,用來指示遙控系統(tǒng)的種類,以區(qū)別其它遙控系統(tǒng),防止各遙控系統(tǒng)的誤動作。這種碼是由生產(chǎn)廠商自行規(guī)定,出廠時已設置好。這是不同遙控器不能通用的主要原因。
(3)功能碼,也稱鍵位數(shù)據(jù)碼。它與鍵盤的鍵位相對應,由它傳送所需要的遙控信息。功能碼通常也是由8位原碼和8位反碼組成。反碼的加入是為了能在接收端校對傳輸過程中是否產(chǎn)生差錯。
下面以LC7461編碼芯片為例。LC7461是采用PWM調(diào)制的串行二進制碼,所發(fā)送的一幀數(shù)據(jù)中含42位碼,包含一引導碼、13位用戶碼和8位數(shù)據(jù)碼以及它們的反碼。發(fā)射碼的格式如圖2所示。
“1”和“0”的區(qū)分取決與脈沖之間的時間:以脈寬為0.565 ms、間隔0.56 ms、周期為1.125 ms的組合表示二進制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進制的“1”。如圖4所示,圖中Tm=0.56ms。
[!--empirenews.page--]
4 遙控模塊硬件的安全性設計方案
4.1 遙控系統(tǒng)的構成
遙控系統(tǒng)主要由紅外遙控發(fā)射裝置、接收裝置、微處理機等組成,如圖5所示。
4.2 選用芯片介紹
(1)遙控編碼芯片LC7461。
LC7461是由SANYO公司生產(chǎn)能的遙控專用編碼芯片。OSCO和OSC1之間接諧振器。由Ko0~Ko7,KI0~KI3構成鍵盤的行與列。OUT引腳輸出紅外發(fā)射管控制信號。
7461產(chǎn)生的遙控編碼是連續(xù)的42位二進制碼組,其中前26位為用戶識別利,能區(qū)別不同的紅外遙控設備,防止不同機種遙控碼互相干擾。后16位為8位操作碼和8位操作反碼用于核對數(shù)據(jù)是否接收準確。當遙控器上任意一個按鍵按下超過36 ms時,LC7461芯片的振蕩器使芯片激活,將發(fā)射一個特定的同步碼,對于接收端而言就是一個9 ms的低電平和一個4.5 ms的高電平,使程序知道從這個同步碼之后可以開始接收數(shù)據(jù)。
(2)一體化紅外接收頭。
HS0038接收紅外信號頻率為38 kHz,周期約26μs,同時將遙控信號的接收、放大、檢波、整形集于一身,是紅外接收電路一體化的紅外接收裝置,如圖7所示。并能與TTL、COMS電路兼容,簡化了接收電路的復雜程度和電路的設計工作。
HS0038為黑色環(huán)氧樹脂封裝,不受日光、熒光燈等光源干擾,內(nèi)附磁屏蔽,功耗低、靈敏度高。在用小功率發(fā)射管發(fā)射信號情況下,其接收距離可達35m。HS0038為直立側面收光型,3個管腳分別是地、+5 V電源、解調(diào)信號輸出端。[!--empirenews.page--]
4.3 遙控模塊電路設計
當鍵盤有鍵按下時,編碼芯片激活,發(fā)送相應紅外編碼信號。由遙控器發(fā)送的紅外信號,經(jīng)過紅外一體化接收頭接收、放大、解調(diào)之后,將信號送到單片機P3.2引腳。
5 遙控模塊軟件的安全性設計方案
(1)HS0038的解調(diào)。一體化紅外接收頭HS0038將接收到的紅外信號放大、解調(diào)才送給單片機的。接收頭接收到的是38 kHz的串行脈沖信號,經(jīng)過解調(diào)之后轉(zhuǎn)換成TTL電平。接收頭的解調(diào)可簡單理解為:在輸入脈沖串時輸出低電平,否則輸出高電平。一體化紅外接收頭解調(diào)前后的信號對比如圖10所示,可見解調(diào)后信號與編碼信號反相。
當按鍵按下后,經(jīng)過HS0038解調(diào)輸出的一幀信號則如圖11所示。
(2)解碼。
7461產(chǎn)生的遙控編碼是連續(xù)的42位二進制碼組,其中前26位為用戶識別碼,能區(qū)別不同的紅外遙控設備,防止不同機種遙控碼互相干擾。后16位為8位的操作碼和8位的操作反碼用于核對數(shù)據(jù)是否接收準確。
單片機解碼是根據(jù)一體化紅外接收頭的解調(diào)信號進行的,從上面的分析可知:任意按鍵按下后,都有9 ms的低電平起始碼和4.5 ms的高電平結果碼作為引導信號,因此應該在引導碼之后才能進行解碼。
如何識別“0”和“1”是解碼的關鍵。根據(jù)位定義:“0”、“1”均以0.56 ms的低電平作為起始,兩者區(qū)別在于高電平的寬度不同,即“0”高電平為0.56 ms,“1”高電平為1.68 ms,因此解碼時須根據(jù)高電平的寬度來區(qū)別“0”和“1”。若從0.56 ms低電平過后,開始延時,0.56 ms之后,檢測到的為低電平,則該位為“0”,反之則為“1”。為了保證解碼的可靠性,高電平檢測延時應該在0.56~1.12ms,否則如果該位為“0”,讀到的已是下一位的高電平,因此取(1.12+0.56)/2=0.84ms較可靠,一般取0.84ms即可。
[!--empirenews.page--]
6 密碼鎖安全系統(tǒng)硬件設計方案
(1)密碼掉電存儲模塊,如圖12所示。
AT24C02是美國Atmel公司的低功耗CMOS型EEPROM,內(nèi)含256×8位存儲空間。芯片采用I2C總線式進行數(shù)據(jù)讀寫的串行器件,占用很少的資源和1/O線,并且支持在線編程,進行數(shù)據(jù)實時存取十分方便。串行時鐘由單片機P3.6引腳提供,通過P3.7引腳對AT24C02進行在線讀寫。由于該芯片數(shù)據(jù)掉電不丟失,故用于存放開鎖密碼。當需要開鎖和設置新密碼時,均需讀取AT24C02中的密碼;設置新密碼后,在線寫AT24C02,覆蓋原密碼。
(2)開鎖電路,如圖13所示。開鎖電路由三極管、繼電器、綠色發(fā)光二極管組成,由P2.7引腳控制,低電平有效。按下鍵盤開鎖鍵進入開鎖模式,正確輸入6位密碼,按下“OK”鍵之后,單片機對輸入密碼與設定密碼進行對比,對比正確,則P27發(fā)出低電平,使三極管Q3導通,從而使得繼電器RL吸合,并由繼電器控制使得門禁得電打開。此設計中,若是有開鎖動作,則綠色LED燈亮。
7 密碼鎖安全系統(tǒng)軟件設計方案
(1)主程序流程圖,如圖14所示。
(2)密碼接收子程序流程圖,如圖15所示。
若正確接收6位密碼,則輸入密碼存于數(shù)組中,返回值為1。若取消操作,返回值為0。
(3)安全開鎖判斷子程序流程圖如圖16所示。
該程序?qū)⑤斎朊艽a進行對比。若密碼正確,則返回值為1,表明應該進行開鎖動作。密碼錯誤,返回值為0,不進行開鎖。有取消動作,則返回3,不進行密碼對比。
(4)更改密碼判定子程序流程圖如圖17所示。
改程序要求先輸入當前密碼,當前密碼正確后,連續(xù)兩次輸入新密碼,兩次輸入相同時,返回1,表明應該寫AT24C02。否則返回0,表明修改密碼失敗。
8 系統(tǒng)安全性分析論證
設計采用AT89S52單片機作為主控芯片,結合相應的外圍電路,構成電子密碼鎖系統(tǒng)。該電子密碼鎖,開發(fā)簡單、安全性高、成本低,適合辦公室、實驗室、檔案室等場所,其遙控功能更適合應用在車庫倉庫的安全防盜。在設計完成過程中,先進行Proteus軟件仿真,最后進行實物調(diào)試,最終達到了預期的設計目標。另外UPS供電還有待解決。電子密碼鎖安全性能較高,具有較好的市場前景。