經典:用FPGA實現數字密碼鎖的創新技術
發布時間:2015-06-29 責任編輯:sherry
【導讀】本文介紹了一種以FPGA 為基礎的數字密碼鎖。采用自頂向下的數字係統設計方法, 將數字密碼鎖係統分解為若幹子係統, 並且進一步細劃為若幹模塊, 然後用硬件描述語言VHDL 來設計這些模塊, 同時進行硬件測試。測試結果表明該數字密碼鎖能夠校驗10 位十進製數字密碼, 且可以預置密碼, 設有斷電保護裝置, 解碼有效指示等相應功能。
1 功能概述
(1)密碼鎖的工作時鍾由外部晶振提供,時鍾頻率為50MHz,運算速度高,工作性能穩定。
(2)密碼的設置和輸入由外接鍵盤完成,控製電路的安全係數高,操作方便;
(3)密碼數字可以由鎖的所有者隨意設置,並可更改, 增強了用戶體驗。密碼修改必須符合預設規則,否則無法修改密碼。
(4)開鎖時, 不限製密碼的輸入位數(1到10 位皆可以), 減少了密碼被破 解的概率(約為10 億分之一的破 解率),密碼鎖的保密能力高。
(5)清除密碼鍵的設定,可以快速清除全部密碼,提高了對突發事件的適應能力。
(6)對輸入的數字密碼既能直接顯示,又能轉換為星號,防治偷 窺,增強保密性。
(7)全部密碼輸入後, 正確時密碼鎖將開啟, 顯示屏出現:Input Right! 指示燈變亮。錯誤時,顯示屏出現:Input Failed! 指示燈變滅。
(8)設有斷電保護裝置,保證電路不會因掉電失去所修改的密碼,而回到最初的密碼值,增強密碼的穩定性。
2 係統結構
本係統設計主要包括硬件設計和軟件設計兩部分,均采用模塊化設計。其中硬件設計主要包括中央控製模塊、微控製器、顯示模塊、輸入模塊、外圍電路等內容。軟件設計包括狀態控製模塊,邏輯控製模塊,液晶顯示驅動模塊,EPROM 驅動模塊,掃描輸入模塊等構成。係統結構框架圖如圖1 所示。

圖1:係統結構框架圖
設計采用模塊化編程方式,整個程序由液晶LCD1602 模塊(LCD1602.v)、矩陣鍵盤模塊(Matrix_Keys.v)、存儲芯片AT24C02 模塊(AT24C_XX.v) 和頂層邏輯功能模塊(password.v) 組成。頂層邏輯功能模塊(password.v) 調用其他3 個模塊完成頂層功能的設計。如圖2 所示。

圖2:矩陣鍵盤原理圖
3 底層設計
3.1 輸入模塊
由於鍵盤按鍵數量較多,為了減少I/O 口(kou)的(de)占(zhan)用(yong),本(ben)設(she)計(ji)將(jiang)按(an)鍵(jian)排(pai)列(lie)成(cheng)矩(ju)陣(zhen)形(xing)式(shi)。在(zai)矩(ju)陣(zhen)式(shi)鍵(jian)盤(pan)中(zhong),每(mei)條(tiao)水(shui)平(ping)線(xian)和(he)垂(chui)直(zhi)線(xian)在(zai)交(jiao)叉(cha)處(chu)不(bu)直(zhi)接(jie)連(lian)通(tong),而(er)是(shi)通(tong)過(guo)一(yi)個(ge)按(an)鍵(jian)加(jia)以(yi)連(lian)接(jie)。這(zhe)樣(yang),8 個端口就可以構成3*5=15個按鍵,實際上我們隻用14 個按鍵就足以解決密碼問題,比之直接將端口線用於鍵盤多出了一倍,而且線數越多,區別越明顯,比如再多加一條線就可以構成20 鍵的鍵盤,而直接用端口線則隻能多出一鍵(9 鍵)。故在需要的鍵數比較多時,采用矩陣法來做鍵盤是更合理的方案。
3.2 顯示模塊與外圍電路
本設計選用了LCD1602 作為顯示模塊的核心,可以方便地顯示所需的數字和提示語,具有界麵人性化、功耗低、速度快、節約控製器資源等優點。外圍電路主要是一個受控製器控製的LED,由於表示鎖的開啟與關閉。
3.3 存儲模塊
本設計使用存儲芯片AT24C02 作為密碼的外部存儲器。二線製串行EEPROM—24C02是低工作電壓的2K 位串行電可擦除隻讀存儲器,內部組織為256 個字節,每個字節8 位,該芯片被廣泛應用於低電壓及低功耗的工商業領域。設計使用I2C 協議實現控製器與存儲器的聯結,實現密碼保存,並保證密碼不會因斷電丟失。
4 工作方式
本係統利用上述係統模塊作為硬件基礎,使用VHDL 語言編寫程序,實現了五大主要功能:
(1)確認密碼:通過掃描矩陣鍵盤,判斷用戶輸入內容,將鍵入的數碼與密碼存儲器中的密碼進行比較,判斷密碼的正誤,並控製密碼鎖的開關;
(2)清除密碼:輸入密碼過程中發生按鍵失誤,可以通過選擇清除鍵清除當前全部的密碼,方便重新輸入;
(3)密碼保護:通過顯示切換鍵,可以切換顯示模式。在顯示數字模式下,顯示屏即顯示輸入的數字,方便用戶操作;在保護模式下,顯示的密碼用“*”表示,防止外界偷 窺,提高安全性能;
(4)修改密碼:當密碼鎖處於打開狀態時,默認識別當前用戶為鎖的持有者,允許修改密碼。但修改密碼必須符合密碼鎖內設的“潛在規則”,否則無法完成修改,防止密碼鎖被破壞;
(5)斷電保護:設置電路保護結構,保證電路不會因掉電失去所修改的密碼,而回到最初的密碼值。
其工作流程圖如圖3。

圖3:工作流程圖
5 仿真與調試
在設計過程中,首先針對各個模塊,使用Quartus II 等軟件進行仿真,然後將程序燒錄進行硬件調試。最後,將整個係統程序進行全編譯, 進行整個係統的軟件仿真,仿真通過後進行整個係統的硬件調。
6 核心特點
本設計開創性地提出了修改密碼“潛在規則”的概念,即在修改密碼時,新密碼必須滿足密碼鎖製作時預設的潛在規則,否則無法成功修改密碼,例如:qianzaiguizeweimimabixuweiqiweishu,zezaixiugaimimashiruoshuruweiwuweishuzehuitishimimaxiugaishibai。benshejideyiyizaiyu,dangruqinzhetongguofeifashouduanhuoquzhengquemimabingkaisuohou,ruguoduanshijianneibunengfaxianqianzaiguize,jiubudebufangqixiugaimima,fangzhiyonghuliyiercishousun。lingwaiqianzaiguizedeshejifangshihaikeyiweimimasuoyouweishuhedengyuN,必須為偶數等等,每一種潛在規則都有對應的說明書,所以即使批量生產也不存在潛在規則被破 解的問題。此外,用戶在忘記密碼時可以根據說明書,聯係潛在規則回憶密碼。另外,密碼鎖支持1~10 位任意位10 進製數作為密碼,遠大於一般密碼鎖,靈活性極高,可組合出約11 億種密碼組合,從概率學上講,隨機破 解密碼為不可能事件。
7 結束語
基於FPGA 適用於設計狀態機的特點,通過Quartus II 仿真以及實物測試,證明本數字密碼鎖具有功能完善、工作穩定、安全係數高的特點,通過修改密碼方案的創新,使其在實際應用中能進一步顯示優良的安全性能,具有較好的發展前景。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索





