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