你的位置:首頁 > 測試測量 > 正文

經(jīng)典:用FPGA實現(xiàn)數(shù)字密碼鎖的創(chuàng)新技術(shù)

發(fā)布時間:2015-06-29 責(zé)任編輯:sherry

【導(dǎo)讀】本文介紹了一種以FPGA 為基礎(chǔ)的數(shù)字密碼鎖。采用自頂向下的數(shù)字系統(tǒng)設(shè)計方法, 將數(shù)字密碼鎖系統(tǒng)分解為若干子系統(tǒng), 并且進一步細(xì)劃為若干模塊, 然后用硬件描述語言VHDL 來設(shè)計這些模塊, 同時進行硬件測試。測試結(jié)果表明該數(shù)字密碼鎖能夠校驗10 位十進制數(shù)字密碼, 且可以預(yù)置密碼, 設(shè)有斷電保護裝置, 解碼有效指示等相應(yīng)功能。

1 功能概述
 
(1)密碼鎖的工作時鐘由外部晶振提供,時鐘頻率為50MHz,運算速度高,工作性能穩(wěn)定。
 
(2)密碼的設(shè)置和輸入由外接鍵盤完成,控制電路的安全系數(shù)高,操作方便;
 
(3)密碼數(shù)字可以由鎖的所有者隨意設(shè)置,并可更改, 增強了用戶體驗。密碼修改必須符合預(yù)設(shè)規(guī)則,否則無法修改密碼。
 
(4)開鎖時, 不限制密碼的輸入位數(shù)(1到10 位皆可以), 減少了密碼被破 解的概率(約為10 億分之一的破 解率),密碼鎖的保密能力高。
 
(5)清除密碼鍵的設(shè)定,可以快速清除全部密碼,提高了對突發(fā)事件的適應(yīng)能力。
 
(6)對輸入的數(shù)字密碼既能直接顯示,又能轉(zhuǎn)換為星號,防治偷 窺,增強保密性。
 
(7)全部密碼輸入后, 正確時密碼鎖將開啟, 顯示屏出現(xiàn):Input Right! 指示燈變亮。錯誤時,顯示屏出現(xiàn):Input Failed! 指示燈變滅。
 
(8)設(shè)有斷電保護裝置,保證電路不會因掉電失去所修改的密碼,而回到最初的密碼值,增強密碼的穩(wěn)定性。
 
2 系統(tǒng)結(jié)構(gòu)
 
本系統(tǒng)設(shè)計主要包括硬件設(shè)計和軟件設(shè)計兩部分,均采用模塊化設(shè)計。其中硬件設(shè)計主要包括中央控制模塊、微控制器、顯示模塊、輸入模塊、外圍電路等內(nèi)容。軟件設(shè)計包括狀態(tài)控制模塊,邏輯控制模塊,液晶顯示驅(qū)動模塊,EPROM 驅(qū)動模塊,掃描輸入模塊等構(gòu)成。系統(tǒng)結(jié)構(gòu)框架圖如圖1 所示。
系統(tǒng)結(jié)構(gòu)框架圖
圖1:系統(tǒng)結(jié)構(gòu)框架圖
 
設(shè)計采用模塊化編程方式,整個程序由液晶LCD1602 模塊(LCD1602.v)、矩陣鍵盤模塊(Matrix_Keys.v)、存儲芯片AT24C02 模塊(AT24C_XX.v) 和頂層邏輯功能模塊(password.v) 組成。頂層邏輯功能模塊(password.v) 調(diào)用其他3 個模塊完成頂層功能的設(shè)計。如圖2 所示。
矩陣鍵盤原理圖
圖2:矩陣鍵盤原理圖

[page]
3 底層設(shè)計
 
3.1 輸入模塊
 
由于鍵盤按鍵數(shù)量較多,為了減少I/O 口的占用,本設(shè)計將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,8 個端口就可以構(gòu)成3*5=15個按鍵,實際上我們只用14 個按鍵就足以解決密碼問題,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20 鍵的鍵盤,而直接用端口線則只能多出一鍵(9 鍵)。故在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是更合理的方案。
 
3.2 顯示模塊與外圍電路
 
本設(shè)計選用了LCD1602 作為顯示模塊的核心,可以方便地顯示所需的數(shù)字和提示語,具有界面人性化、功耗低、速度快、節(jié)約控制器資源等優(yōu)點。外圍電路主要是一個受控制器控制的LED,由于表示鎖的開啟與關(guān)閉。
 
3.3 存儲模塊
 
本設(shè)計使用存儲芯片AT24C02 作為密碼的外部存儲器。二線制串行EEPROM—24C02是低工作電壓的2K 位串行電可擦除只讀存儲器,內(nèi)部組織為256 個字節(jié),每個字節(jié)8 位,該芯片被廣泛應(yīng)用于低電壓及低功耗的工商業(yè)領(lǐng)域。設(shè)計使用I2C 協(xié)議實現(xiàn)控制器與存儲器的聯(lián)結(jié),實現(xiàn)密碼保存,并保證密碼不會因斷電丟失。

4 工作方式
 
本系統(tǒng)利用上述系統(tǒng)模塊作為硬件基礎(chǔ),使用VHDL 語言編寫程序,實現(xiàn)了五大主要功能:
 
(1)確認(rèn)密碼:通過掃描矩陣鍵盤,判斷用戶輸入內(nèi)容,將鍵入的數(shù)碼與密碼存儲器中的密碼進行比較,判斷密碼的正誤,并控制密碼鎖的開關(guān);
 
(2)清除密碼:輸入密碼過程中發(fā)生按鍵失誤,可以通過選擇清除鍵清除當(dāng)前全部的密碼,方便重新輸入;
 
(3)密碼保護:通過顯示切換鍵,可以切換顯示模式。在顯示數(shù)字模式下,顯示屏即顯示輸入的數(shù)字,方便用戶操作;在保護模式下,顯示的密碼用“*”表示,防止外界偷 窺,提高安全性能;
 
(4)修改密碼:當(dāng)密碼鎖處于打開狀態(tài)時,默認(rèn)識別當(dāng)前用戶為鎖的持有者,允許修改密碼。但修改密碼必須符合密碼鎖內(nèi)設(shè)的“潛在規(guī)則”,否則無法完成修改,防止密碼鎖被破壞;
 
(5)斷電保護:設(shè)置電路保護結(jié)構(gòu),保證電路不會因掉電失去所修改的密碼,而回到最初的密碼值。
 
其工作流程圖如圖3。
工作流程圖
圖3:工作流程圖

5 仿真與調(diào)試
 
在設(shè)計過程中,首先針對各個模塊,使用Quartus II 等軟件進行仿真,然后將程序燒錄進行硬件調(diào)試。最后,將整個系統(tǒng)程序進行全編譯, 進行整個系統(tǒng)的軟件仿真,仿真通過后進行整個系統(tǒng)的硬件調(diào)。

6 核心特點
 
本設(shè)計開創(chuàng)性地提出了修改密碼“潛在規(guī)則”的概念,即在修改密碼時,新密碼必須滿足密碼鎖制作時預(yù)設(shè)的潛在規(guī)則,否則無法成功修改密碼,例如:潛在規(guī)則為密碼必須為七位數(shù),則在修改密碼時若輸入為五位數(shù)則會提示密碼修改失敗。本設(shè)計的意義在于,當(dāng)入侵者通過非法手段獲取正確密碼并開鎖后,如果短時間內(nèi)不能發(fā)現(xiàn)潛在規(guī)則,就不得不放棄修改密碼,防止用戶利益二次受損。另外潛在規(guī)則的設(shè)計方式還可以為密碼所有位數(shù)和等于N,必須為偶數(shù)等等,每一種潛在規(guī)則都有對應(yīng)的說明書,所以即使批量生產(chǎn)也不存在潛在規(guī)則被破 解的問題。此外,用戶在忘記密碼時可以根據(jù)說明書,聯(lián)系潛在規(guī)則回憶密碼。另外,密碼鎖支持1~10 位任意位10 進制數(shù)作為密碼,遠大于一般密碼鎖,靈活性極高,可組合出約11 億種密碼組合,從概率學(xué)上講,隨機破 解密碼為不可能事件。

7 結(jié)束語
 
基于FPGA 適用于設(shè)計狀態(tài)機的特點,通過Quartus II 仿真以及實物測試,證明本數(shù)字密碼鎖具有功能完善、工作穩(wěn)定、安全系數(shù)高的特點,通過修改密碼方案的創(chuàng)新,使其在實際應(yīng)用中能進一步顯示優(yōu)良的安全性能,具有較好的發(fā)展前景。
要采購鍵盤么,點這里了解一下價格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
壓控振蕩器 壓力傳感器 壓力開關(guān) 壓敏電阻 揚聲器 遙控開關(guān) 醫(yī)療電子 醫(yī)用成像 移動電源 音頻IC 音頻SoC 音頻變壓器 引線電感 語音控制 元件符號 元器件選型 云電視 云計算 云母電容 真空三極管 振蕩器 振蕩線圈 振動器 振動設(shè)備 震動馬達 整流變壓器 整流二極管 整流濾波 直流電機 智能抄表
?

關(guān)閉

?

關(guān)閉