3 底層設(shè)計
經(jīng)典:用FPGA實現(xiàn)數(shù)字密碼鎖的創(chuàng)新技術(shù)
發(fā)布時間:2015-06-29 責任編輯:sherry
【導(dǎo)讀】本文介紹了一種以FPGA 為基礎(chǔ)的數(shù)字密碼鎖。采用自頂向下的數(shù)字系統(tǒng)設(shè)計方法, 將數(shù)字密碼鎖系統(tǒng)分解為若干子系統(tǒng), 并且進一步細劃為若干模塊, 然后用硬件描述語言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 所示。
圖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:矩陣鍵盤原理圖
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)確認密碼:通過掃描矩陣鍵盤,判斷用戶輸入內(nèi)容,將鍵入的數(shù)碼與密碼存儲器中的密碼進行比較,判斷密碼的正誤,并控制密碼鎖的開關(guān);
(2)清除密碼:輸入密碼過程中發(fā)生按鍵失誤,可以通過選擇清除鍵清除當前全部的密碼,方便重新輸入;
(3)密碼保護:通過顯示切換鍵,可以切換顯示模式。在顯示數(shù)字模式下,顯示屏即顯示輸入的數(shù)字,方便用戶操作;在保護模式下,顯示的密碼用“*”表示,防止外界偷 窺,提高安全性能;
(4)修改密碼:當密碼鎖處于打開狀態(tài)時,默認識別當前用戶為鎖的持有者,允許修改密碼。但修改密碼必須符合密碼鎖內(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è)計的意義在于,當入侵者通過非法手段獲取正確密碼并開鎖后,如果短時間內(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 億種密碼組合,從概率學上講,隨機破 解密碼為不可能事件。
7 結(jié)束語
基于FPGA 適用于設(shè)計狀態(tài)機的特點,通過Quartus II 仿真以及實物測試,證明本數(shù)字密碼鎖具有功能完善、工作穩(wěn)定、安全系數(shù)高的特點,通過修改密碼方案的創(chuàng)新,使其在實際應(yīng)用中能進一步顯示優(yōu)良的安全性能,具有較好的發(fā)展前景。
特別推薦
- 復(fù)雜的RF PCB焊接該如何確保恰到好處?
- 電源效率測試
- 科技的洪荒之力:可穿戴設(shè)備中的MEMS傳感器 助運動員爭金奪銀
- 輕松滿足檢測距離,勞易測新型電感式傳感器IS 200系列
- Aigtek推出ATA-400系列高壓功率放大器
- TDK推出使用壽命更長和熱點溫度更高的全新氮氣填充三相交流濾波電容器
- 博瑞集信推出低噪聲、高增益平坦度、低功耗 | 低噪聲放大器系列
技術(shù)文章更多>>
- 基于GD32F407VET6主控芯片的永磁同步電機控制器設(shè)計
- 如何選擇和應(yīng)用機電繼電器實現(xiàn)多功能且可靠的信號切換
- 基于APM32F411的移動電源控制板應(yīng)用方案
- 數(shù)字儀表與模擬儀表:它們有何區(qū)別?
- 聚焦制造業(yè)企業(yè)貨量旺季“急難愁盼”,跨越速運打出紓困“連招”
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
交流電機
腳踏開關(guān)
接觸器接線
接近開關(guān)
接口IC
介質(zhì)電容
介質(zhì)諧振器
金屬膜電阻
晶體濾波器
晶體諧振器
晶體振蕩器
晶閘管
精密電阻
精密工具
景佑能源
聚合物電容
君耀電子
開發(fā)工具
開關(guān)
開關(guān)電源
開關(guān)電源電路
開關(guān)二極管
開關(guān)三極管
科通
可變電容
可調(diào)電感
可控硅
空心線圈
控制變壓器
控制模塊