0 引言
隨著社會物質(zhì)財富的日益增長,,安全防盜已成為全社會關(guān)注的問題,。基于EDA" title="EDA">EDA技術(shù)設(shè)計的電子密碼鎖" title="密碼鎖">密碼鎖,,以其價格便宜,、安全可靠、使用方便,,受到了人們的普遍關(guān)注,。而以現(xiàn)場可編程邏輯器件(FPGA)為設(shè)計載體,以硬件描述語言(VHDE)為主要表達方式,,以QuartusⅡ開發(fā)軟件和GW48EDA開發(fā)系統(tǒng)為設(shè)計工具設(shè)計的電子密碼鎖,,由于其能夠?qū)崿F(xiàn)數(shù)碼輸入、數(shù)碼清除,、密碼解除,、密碼更改,、密碼上鎖和密碼解除等功能,因此,,能夠滿足社會對安全防盜的要求,。
1 電子密碼鎖的基本功能
電子密碼鎖主要實現(xiàn)的功能包括:
(1)數(shù)碼輸入:按下一個數(shù)字鍵,其對應(yīng)的數(shù)字就顯示在最右邊的數(shù)碼管上,,同時將先前輸入的所有數(shù)字向左移動一位,。設(shè)計密碼為4位,系統(tǒng)只能顯示前4位輸人的數(shù)碼,。
(2)數(shù)碼清除:當按下清除鍵時,清除前面輸入的所有值,,并顯示為“----”,。
(3)密碼解除:按下55#鍵,可以將電子密碼鎖的舊密碼解除,。
(4)密碼更改:將舊密碼解除之后,,可以進行密碼更改。輸入任意四位密碼數(shù)字,,再按#號就可以將輸入的數(shù)碼當作新的密碼,。
(5)密碼上鎖:輸入新的密碼之后,按下11#鍵,,可以進行密碼上鎖操作,。
(6)密碼解鎖:按下99#鍵,再輸入數(shù)碼,;如果輸入與系統(tǒng)儲存密碼一致,,密碼鎖就能開啟;否則不能解鎖,。
2 電子密碼鎖的結(jié)構(gòu)原理
2.1 電子密碼鎖的整體結(jié)構(gòu)
電子密碼鎖的整體結(jié)構(gòu)如圖1所示,,它包括密碼鎖輸入模塊、控制模塊和顯示模塊等,。
2.2 密碼鎖輸入模塊
密碼鎖輸入模塊的電路框圖如圖2所示,,它由時序產(chǎn)生電路、鍵盤掃描電路,、彈跳消除電路,、鍵盤譯碼電路和按鍵存儲電路組成。
時序產(chǎn)生電路用于產(chǎn)生電路中三種不同頻率的工作脈沖波形,,包括系統(tǒng)時鐘信號,、彈跳消除取樣信號和鍵盤掃描信號。
鍵盤電路可提供鍵盤掃描信號,。該信號由ky3~ky0進入鍵盤,,其變化的順序為1110-1101-1011-0111-1110……周而復(fù)始,。掃描信號 0111代表掃描的為*、0,、#這一排按鍵,,當*這個按鍵被按下時,由kx2~kx0讀出的值為011,。按鍵位置的數(shù)碼關(guān)系如表1所列,。
彈跳消除電路可避免誤操作發(fā)生。由于設(shè)計中采用的矩陣式鍵盤是機械開關(guān)結(jié)構(gòu),,因此,,在開關(guān)切換的瞬間,會在接觸點出現(xiàn)信號來回彈跳的現(xiàn)象,。為使電子密碼鎖可靠工作,,必須加上彈跳消除電路。彈跳消除電路采用軟件延時的方法消除抖動,,其仿真波形如圖3所示,。從圖3中可以看出,若采樣信號連續(xù)兩次或超過兩次檢測到高電平信號,,說明按鍵狀態(tài)確實發(fā)生了變化,,此時電路輸出一個時鐘周期的按鍵信號;否則當作抖動處理而不予理會,,以此來消除抖動,。
對于鍵盤譯碼電路,由于圖2中的鍵盤按鍵分為數(shù)字按鍵和功能按鍵,,每一個按鍵可負責(zé)不同的功能,,而鍵盤所產(chǎn)生的輸出(也就是掃描回復(fù)信號)卻無法直接拿來用作密碼鎖控制電路的輸入,所以必須由鍵盤譯碼電路來規(guī)劃每個按鍵的輸出形式,,以便執(zhí)行相應(yīng)的動作,。
鍵盤存儲電路可將每次掃描產(chǎn)生的新按鍵數(shù)據(jù)存儲下來,因此新數(shù)據(jù)可能會覆蓋前面的數(shù)據(jù),,所以需要一個按鍵存儲電路,,以將整個鍵盤掃描完畢的結(jié)果記錄下來。
圖4所示是密碼鎖輸入模塊的仿真波形,,圖中,,數(shù)字鍵數(shù)據(jù)“0、1,、2,、3、4、5,、6,、7、8,、9”和功能鍵數(shù)據(jù)“0100,、0001”所得到的輸出不同,由此可證明密碼鎖輸入模塊的正確性,。