??? 摘? 要: 采用EDA技術,利用Max+plusⅡ工作平臺和VHDL語言,設計了一種新型的電子防盜器。該防盜器具有密碼預置、修改等功能,且能在3次輸入錯誤后讓系統進入定時鎖定并報警。由于充分利用了FPGA的結構特點,因而該防盜器體積小、功耗低、價格低、安全可靠、維護和升級方便,具有很高的使用價值,可以廣泛應用于社會生活和生產的各個領域。?
??? 關鍵詞: 防盜器; 報警; 密碼; 模塊
?
??? 長期以來人們研制了出各種方式、不同結構的防盜器,按其結構可分四大類:機械式、機電式、電子式和網絡式[1-6]。雖然種類較多,但從市場發展情況看,機械式防盜器由于功能性較少、不美觀方便,已經開始淡出市場;機電式防盜器耗電量大;網絡防盜器雖然功能先進,但一些功能不具普遍應用性,且價格較高,在市場上還沒有被大量使用。因此起市場主導的還是電子式防盜器。?
??? 本文介紹的是一種基于FPGA器件的電子式防盜器。它利用Max+plusⅡ工作平臺和VHDL語言來進行設計,具有密碼預置、修改等功能,且能在3次輸入錯誤后讓系統進入定時鎖定并報警等功能。由于使用了FPGA芯片,防盜器的大部分電路都可以通過硬件描述語言實現,簡化了芯片的外圍電路,降低了制作成本,提高了保密性和可靠性。?
1 防盜器的功能?
??? 防盜器的密碼為4位,初次使用時需預置密碼。它的主要功能:?
??? (1)密碼輸入:每按下一個密碼鍵,要求在顯示屏上顯示,并依次左移;?
??? (2)數字清除:清除數字輸入,并將輸入置為“0000”;?
??? (3)密碼修改:將當前輸入設為新的密碼;?
??? (4)輸入密碼3次錯誤,防盜器定時鎖定并報警。?
??? 圖1所示為防盜器的鍵盤。鍵盤上各個按鍵的功能如表1所示。?
?
?
2 硬件系統設計?
??? 防盜器的硬件部分較簡單,其核心為1塊FPGA芯片。主要包括中央處理器FPGA 芯片EPF10K1LC843、輸入小鍵盤、輸出4位數碼管顯示屏和蜂鳴器,如圖2所示。FPGA芯片用來直接控制其他元件的工作,對小鍵盤的輸入,通過一定的算法實現電子防盜器的功能,蜂鳴器用于誤碼報警。?
?
?
3 軟件系統設計?
??? 防盜器的軟件部分用VHDL來實現,它具有較好的語法嚴格性,一定程度上限制了錯誤的產生,調試較容易,在系統描述上占有一定的優勢。防盜器的系統軟件設計主要有輸入模塊、控制模塊。每個模塊又由幾個基本電路組成,其具體結構如圖3所示。?
?
?
3.1 輸入模塊?
??? 輸入模塊由消抖電路和鍵值處理電路組成。因為鍵盤的按鍵是機械式開關,在開關切換的瞬間會在接觸點出現來回彈跳的現象,雖然只是按了1次鍵,實際產生的按鍵信號卻不只跳動1次,經過取樣信號的檢查后,將會造成誤碼判斷,認為是按了2次鍵,產生抖動現象。所以需要用消抖電路做消抖處理。?
??? 鍵值處理電路完成數字密碼清除和存儲的功能。防盜器接收到數字輸入時,第一個數字會從顯示屏的最右端開始顯示,此后每新按1個數字密碼時,顯示器上的數字就往左移動1位。若想要更改輸入的數字,可按退格鍵來清除前一個輸入的數字,或按清除鍵清除輸入的所有數字,再重新輸入4 位數字密碼。因設計的是4位電子防盜器,當輸入的數字鍵超過4 位時,電路只處理前4個數字,對后面的多余數字不加理會。信號通過鍵值處理電路傳輸到比較電路和譯碼電路。?
3.2 控制模塊?
??? 控制模塊是整個電路的控制中心,主要完成如下功能:?
??? (1)密碼核對:在密碼更改,開鎖之前必須先核對密碼。?
??? (2)密碼變更:按下此鍵將目前輸入的數字設定為新的密碼。 ?
??? (3)激活電鎖:上鎖,上鎖之前必須先設定密碼才能上鎖。?
??? (4)解除電鎖:檢查輸入的密碼是否正確,正確才開鎖。?
??? (5)報警:輸入的密碼連續3次錯誤,防盜器定時鎖定并報警。?
??? 控制模塊包括比較電路和狀態機電路。比較電路的功能是把輸入的密碼與密碼寄存器中存儲的密碼作比較,用高低電平信號表示輸入的對錯,并據此判斷電鎖的開關。?
??? 狀態機電路是控制電路的核心,完成定時鎖定和報警功能。其狀態轉換圖如圖4所示。?
?
?
??? 圖4中,S0:系統待機狀態;S1:狀態系統輸入密碼第一次錯誤后的狀態;S2:狀態系統輸入密碼第二次錯誤后的狀態;lock:狀態系統輸入密碼第三次錯誤后的狀態,系統進入鎖定計時并報警的狀態。effect_out是比較電路產生的密碼對錯的判斷信號。effect_out為高電平時,密碼錯誤;effect_out為低電平時,密碼正確。當狀態機接收到功能按鍵產生的跳變信號時,轉換到下一個狀態。?
??? 密碼3次錯誤后,防盜器進入定時鎖定報警狀態,開始計數信號start=‘1’,計數器開始計數,并鎖定輸入。計數器溢出后,溢出信號Full=‘1’,當防盜器接收到功能按鍵產生的跳變信號時,轉換到下一個狀態。解除鎖定和報警。?
4 仿真結果?
??? 仿真波形如圖5所示。圖中,ENLOCK:電鎖開關輸出;ACC:輸入寄存器;ALARM:報警信號輸出端;COUNT:定時鎖定計數器;STATE:密碼輸入錯誤計數器 。防盜器的密碼被預置為4393,密碼3次輸入錯誤STATE=3時,定時鎖定計數器COUNT開始計數,并報警ALARM=‘1’。本設計結果不僅進行了軟件仿真,而且經過硬件驗證安全可靠。?
?
?
??? 本設計中采用了Altera公司的EPF10K10LC843芯片進行設計,可以極大地減少其他分立元件或其他芯片的使用,它具有強大的處理功能和輸入輸出能力,使外圍電路大大簡化,使得設備設計成本低而且可靠性高。用軟件實現硬件電路,采用VHDL語言進行設計,具有良好的可移植性,可隨時在線更改邏輯設計及有關參數,充分體現了FPGA的優越性。該防盜器具有一定的實用性。?
參考文獻?
[1] 李波勇,李姍.基于AT89C2051的多功能電子防盜器.電子世界,2007(4):12-13.?
[2] 基于FPGA的電子防盜器的設計.科技信息(學術版),2006(10):240-241.?
[3] 劉鈺,張有志.一種用VHDL語言設計的數字防盜器.信息技術與信息化, 2004(4) :37-40.?
[4] 謝海良,孔云龍. 基于EDA技術的電子防盜器電路設計.漯河職業技術學院學報,2007(4):196.?
[5] 周瑗,楊麗華. 用VHDL自頂向下設計數字防盜器.北京:化工大學學報,2000(2):97-99.?
[6] 嚴士農.新穎的數字電子防盜器.電子工程師, 2001(2):48-53.