《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 基于FPGA器件的數(shù)字密碼防盜器的設(shè)計(jì)

基于FPGA器件的數(shù)字密碼防盜器的設(shè)計(jì)

2009-06-26
作者:韓力英, 張存善, 楊金波, 張

??? 摘? 要: 采用EDA技術(shù),利用Max+plusⅡ工作平臺(tái)和VHDL語(yǔ)言,設(shè)計(jì)了一種新型的電子防盜器。該防盜器具有密碼預(yù)置、修改等功能,且能在3次輸入錯(cuò)誤后讓系統(tǒng)進(jìn)入定時(shí)鎖定并報(bào)警。由于充分利用了FPGA的結(jié)構(gòu)特點(diǎn),因而該防盜器體積小、功耗低、價(jià)格低、安全可靠、維護(hù)和升級(jí)方便,具有很高的使用價(jià)值,可以廣泛應(yīng)用于社會(huì)生活和生產(chǎn)的各個(gè)領(lǐng)域。?

??? 關(guān)鍵詞: 防盜器; 報(bào)警; 密碼; 模塊

?

??? 長(zhǎng)期以來(lái)人們研制了出各種方式、不同結(jié)構(gòu)的防盜器,按其結(jié)構(gòu)可分四大類(lèi):機(jī)械式、機(jī)電式、電子式和網(wǎng)絡(luò)式[1-6]。雖然種類(lèi)較多,但從市場(chǎng)發(fā)展情況看,機(jī)械式防盜器由于功能性較少、不美觀方便,已經(jīng)開(kāi)始淡出市場(chǎng);機(jī)電式防盜器耗電量大;網(wǎng)絡(luò)防盜器雖然功能先進(jìn),但一些功能不具普遍應(yīng)用性,且價(jià)格較高,在市場(chǎng)上還沒(méi)有被大量使用。因此起市場(chǎng)主導(dǎo)的還是電子式防盜器。?

??? 本文介紹的是一種基于FPGA器件的電子式防盜器。它利用Max+plusⅡ工作平臺(tái)和VHDL語(yǔ)言來(lái)進(jìn)行設(shè)計(jì),具有密碼預(yù)置、修改等功能,且能在3次輸入錯(cuò)誤后讓系統(tǒng)進(jìn)入定時(shí)鎖定并報(bào)警等功能。由于使用了FPGA芯片,防盜器的大部分電路都可以通過(guò)硬件描述語(yǔ)言實(shí)現(xiàn),簡(jiǎn)化了芯片的外圍電路,降低了制作成本,提高了保密性和可靠性。?

1 防盜器的功能?

??? 防盜器的密碼為4位,初次使用時(shí)需預(yù)置密碼。它的主要功能:?

??? (1)密碼輸入:每按下一個(gè)密碼鍵,要求在顯示屏上顯示,并依次左移;?

??? (2)數(shù)字清除:清除數(shù)字輸入,并將輸入置為“0000”;?

??? (3)密碼修改:將當(dāng)前輸入設(shè)為新的密碼;?

??? (4)輸入密碼3次錯(cuò)誤,防盜器定時(shí)鎖定并報(bào)警。?

??? 圖1所示為防盜器的鍵盤(pán)。鍵盤(pán)上各個(gè)按鍵的功能如表1所示。?

?

?

2 硬件系統(tǒng)設(shè)計(jì)?

??? 防盜器的硬件部分較簡(jiǎn)單,其核心為1塊FPGA芯片。主要包括中央處理器FPGA 芯片EPF10K1LC843、輸入小鍵盤(pán)、輸出4位數(shù)碼管顯示屏和蜂鳴器,如圖2所示。FPGA芯片用來(lái)直接控制其他元件的工作,對(duì)小鍵盤(pán)的輸入,通過(guò)一定的算法實(shí)現(xiàn)電子防盜器的功能,蜂鳴器用于誤碼報(bào)警。?

?

?

3 軟件系統(tǒng)設(shè)計(jì)?

??? 防盜器的軟件部分用VHDL來(lái)實(shí)現(xiàn),它具有較好的語(yǔ)法嚴(yán)格性,一定程度上限制了錯(cuò)誤的產(chǎn)生,調(diào)試較容易,在系統(tǒng)描述上占有一定的優(yōu)勢(shì)。防盜器的系統(tǒng)軟件設(shè)計(jì)主要有輸入模塊、控制模塊。每個(gè)模塊又由幾個(gè)基本電路組成,其具體結(jié)構(gòu)如圖3所示。?

?

?

3.1 輸入模塊?

??? 輸入模塊由消抖電路和鍵值處理電路組成。因?yàn)殒I盤(pán)的按鍵是機(jī)械式開(kāi)關(guān),在開(kāi)關(guān)切換的瞬間會(huì)在接觸點(diǎn)出現(xiàn)來(lái)回彈跳的現(xiàn)象,雖然只是按了1次鍵,實(shí)際產(chǎn)生的按鍵信號(hào)卻不只跳動(dòng)1次,經(jīng)過(guò)取樣信號(hào)的檢查后,將會(huì)造成誤碼判斷,認(rèn)為是按了2次鍵,產(chǎn)生抖動(dòng)現(xiàn)象。所以需要用消抖電路做消抖處理。?

??? 鍵值處理電路完成數(shù)字密碼清除和存儲(chǔ)的功能。防盜器接收到數(shù)字輸入時(shí),第一個(gè)數(shù)字會(huì)從顯示屏的最右端開(kāi)始顯示,此后每新按1個(gè)數(shù)字密碼時(shí),顯示器上的數(shù)字就往左移動(dòng)1位。若想要更改輸入的數(shù)字,可按退格鍵來(lái)清除前一個(gè)輸入的數(shù)字,或按清除鍵清除輸入的所有數(shù)字,再重新輸入4 位數(shù)字密碼。因設(shè)計(jì)的是4位電子防盜器,當(dāng)輸入的數(shù)字鍵超過(guò)4 位時(shí),電路只處理前4個(gè)數(shù)字,對(duì)后面的多余數(shù)字不加理會(huì)。信號(hào)通過(guò)鍵值處理電路傳輸?shù)?a class="innerlink" href="http://ihrv.cn/tags/比較電路" title="比較電路" target="_blank">比較電路和譯碼電路。?

3.2 控制模塊?

??? 控制模塊是整個(gè)電路的控制中心,主要完成如下功能:?

??? (1)密碼核對(duì):在密碼更改,開(kāi)鎖之前必須先核對(duì)密碼。?

??? (2)密碼變更:按下此鍵將目前輸入的數(shù)字設(shè)定為新的密碼。 ?

??? (3)激活電鎖:上鎖,上鎖之前必須先設(shè)定密碼才能上鎖。?

??? (4)解除電鎖:檢查輸入的密碼是否正確,正確才開(kāi)鎖。?

??? (5)報(bào)警:輸入的密碼連續(xù)3次錯(cuò)誤,防盜器定時(shí)鎖定并報(bào)警。?

??? 控制模塊包括比較電路和狀態(tài)機(jī)電路。比較電路的功能是把輸入的密碼與密碼寄存器中存儲(chǔ)的密碼作比較,用高低電平信號(hào)表示輸入的對(duì)錯(cuò),并據(jù)此判斷電鎖的開(kāi)關(guān)。?

??? 狀態(tài)機(jī)電路是控制電路的核心,完成定時(shí)鎖定和報(bào)警功能。其狀態(tài)轉(zhuǎn)換圖如圖4所示。?

?

?

??? 圖4中,S0:系統(tǒng)待機(jī)狀態(tài);S1:狀態(tài)系統(tǒng)輸入密碼第一次錯(cuò)誤后的狀態(tài);S2:狀態(tài)系統(tǒng)輸入密碼第二次錯(cuò)誤后的狀態(tài);lock:狀態(tài)系統(tǒng)輸入密碼第三次錯(cuò)誤后的狀態(tài),系統(tǒng)進(jìn)入鎖定計(jì)時(shí)并報(bào)警的狀態(tài)。effect_out是比較電路產(chǎn)生的密碼對(duì)錯(cuò)的判斷信號(hào)。effect_out為高電平時(shí),密碼錯(cuò)誤;effect_out為低電平時(shí),密碼正確。當(dāng)狀態(tài)機(jī)接收到功能按鍵產(chǎn)生的跳變信號(hào)時(shí),轉(zhuǎn)換到下一個(gè)狀態(tài)。?

??? 密碼3次錯(cuò)誤后,防盜器進(jìn)入定時(shí)鎖定報(bào)警狀態(tài),開(kāi)始計(jì)數(shù)信號(hào)start=‘1’,計(jì)數(shù)器開(kāi)始計(jì)數(shù),并鎖定輸入。計(jì)數(shù)器溢出后,溢出信號(hào)Full=‘1’,當(dāng)防盜器接收到功能按鍵產(chǎn)生的跳變信號(hào)時(shí),轉(zhuǎn)換到下一個(gè)狀態(tài)。解除鎖定和報(bào)警。?

4 仿真結(jié)果?

??? 仿真波形如圖5所示。圖中,ENLOCK:電鎖開(kāi)關(guān)輸出;ACC:輸入寄存器;ALARM:報(bào)警信號(hào)輸出端;COUNT:定時(shí)鎖定計(jì)數(shù)器;STATE:密碼輸入錯(cuò)誤計(jì)數(shù)器 。防盜器的密碼被預(yù)置為4393,密碼3次輸入錯(cuò)誤STATE=3時(shí),定時(shí)鎖定計(jì)數(shù)器COUNT開(kāi)始計(jì)數(shù),并報(bào)警ALARM=‘1’。本設(shè)計(jì)結(jié)果不僅進(jìn)行了軟件仿真,而且經(jīng)過(guò)硬件驗(yàn)證安全可靠。?

?

?

??? 本設(shè)計(jì)中采用了Altera公司的EPF10K10LC843芯片進(jìn)行設(shè)計(jì),可以極大地減少其他分立元件或其他芯片的使用,它具有強(qiáng)大的處理功能和輸入輸出能力,使外圍電路大大簡(jiǎn)化,使得設(shè)備設(shè)計(jì)成本低而且可靠性高。用軟件實(shí)現(xiàn)硬件電路,采用VHDL語(yǔ)言進(jìn)行設(shè)計(jì),具有良好的可移植性,可隨時(shí)在線更改邏輯設(shè)計(jì)及有關(guān)參數(shù),充分體現(xiàn)了FPGA的優(yōu)越性。該防盜器具有一定的實(shí)用性。?

參考文獻(xiàn)?

[1] 李波勇,李?yuàn)?基于AT89C2051的多功能電子防盜器.電子世界,2007(4):12-13.?

[2] 基于FPGA的電子防盜器的設(shè)計(jì).科技信息(學(xué)術(shù)版),2006(10):240-241.?

[3] 劉鈺,張有志.一種用VHDL語(yǔ)言設(shè)計(jì)的數(shù)字防盜器.信息技術(shù)與信息化, 2004(4) :37-40.?

[4] 謝海良,孔云龍. 基于EDA技術(shù)的電子防盜器電路設(shè)計(jì).漯河職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007(4):196.?

[5] 周瑗,楊麗華. 用VHDL自頂向下設(shè)計(jì)數(shù)字防盜器.北京:化工大學(xué)學(xué)報(bào),2000(2):97-99.?

[6] 嚴(yán)士農(nóng).新穎的數(shù)字電子防盜器.電子工程師, 2001(2):48-53.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話(huà):010-82306118;郵箱:aet@chinaaet.com。