新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > FPGA實現(xiàn)的數(shù)字密碼鎖

        FPGA實現(xiàn)的數(shù)字密碼鎖

        作者: 時間:2015-07-02 來源:網(wǎng)絡 收藏

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

        本文引用地址:http://www.104case.com/article/276731.htm

          1功能概述

          (1)密碼鎖的工作時鐘由外部晶振提供,時鐘頻率為50MHz,運算速度高,工作性能穩(wěn)定。

          (2)密碼的設(shè)置和輸入由外接鍵盤完成,控制電路的安全系數(shù)高,操作方便;

          (3)密碼數(shù)字可以由鎖的所有者隨意設(shè)置,并可更改,增強了用戶體驗。密碼修改必須符合預設(shè)規(guī)則,否則無法修改密碼。

          (4)開鎖時,不限制密碼的輸入位數(shù)(1到10位皆可以),減少了密碼被破解的概率(約為10億分之一的破解率),密碼鎖的保密能力高。

          (5)清除密碼鍵的設(shè)定,可以快速清除全部密碼,提高了對突發(fā)事件的適應能力。

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

        fpga相關(guān)文章:fpga是什么


        晶振相關(guān)文章:晶振原理

        上一頁 1 2 下一頁

        關(guān)鍵詞: FPGA 數(shù)字密碼鎖

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 武邑县| 仙居县| 绍兴市| 辽阳县| 义乌市| 西乡县| 宜昌市| 南涧| 明光市| 甘孜县| 庄浪县| 深泽县| 乌兰察布市| 偃师市| 株洲市| 凤凰县| 湘潭县| 鄂州市| 普陀区| 榆树市| 安西县| 旬阳县| 从江县| 临朐县| 南靖县| 唐海县| 丹江口市| 阳东县| 垦利县| 同心县| 伊川县| 延川县| 寿光市| 加查县| 巴彦淖尔市| 闽侯县| 师宗县| 股票| 涞源县| 讷河市| 塔河县|