999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多功能電子密碼鎖的VHDL設計

2013-04-12 00:00:00楊斐黃軍康浩
現代電子技術 2013年22期

摘 要: 利用EDA技術,在可編程邏輯器件CPLD上實現了一種多功能電子密碼鎖。為彌補傳統密碼鎖的不足,進一步提高可靠性,該系統中所有數據的存儲、運算都完全由硬件實現。利用VHDL語言對電路進行行為描述,QuartusⅡ軟件中的EDA工具進行仿真及下載。整個設計過程采用自頂向下方案,設計效率高,開發成本低。采用了MAXⅡ系列的CPLD作為硬件核心,其功耗低,邏輯執行速度遠高于單片機,在安防行業中有較強的市場競爭力。

關鍵詞: 密碼鎖; CPLD; VHDL; EDA技術

中圖分類號: TN710?34 文獻標識碼: A 文章編號: 1004?373X(2013)22?0143?04

0 引 言

傳統機械鎖的防盜功能差,在現代高科技安防系統中無法起到作用,已逐步被更可靠、更智能的電子數字密碼鎖代替。目前市場上的大部分密碼鎖產品是以單片機為核心的,利用軟件進行控制,實際應用中系統穩定性較差且成本高。本文研究的是電子密碼鎖的一種純硬件實現方案,為彌補傳統技術的不足,采用EDA技術在可編程芯片上實現密碼的存儲、運算等操作,使產品既具有硬件的安全性和高速性,又具有軟件開發的靈活性和易維護性。

1 主要技術與開發環境

1.1 EDA技術及特點

EDA(Electronic Design Automation),即“電子設計自動化”,是目前電子設計領域中的主流技術。EDA技術就是依靠功能強大的電子計算機,在EDA工具軟件平臺上,對以硬件描述語言為系統邏輯描述手段完成的設計文件,自動地完成邏輯編譯、化簡、分割、綜合、優化和仿真,直至下載到可編程邏輯器件CPLD/FPGA或專用集成電路ASIC芯片中,實現特定的電子電路設計功能[1]。與傳統電子設計方法相比,EDA技術具有以下主要優勢:

(1)可以在電子設計的各個階段、各個層次進行計算機模擬驗證;

(2)獨特的自頂向下的電子設計方案;

(3)使設計者擁有完全的自主權。

1.2 硬件描述語言

VHDL(Very High Speed Integration Circuits Hardware Description Language),即“超高速集成電路硬件描述語言”,是當今電子設計領域的主流硬件描述語言。它具有很好的電路行為描述能力和系統描述能力,且具有與具體硬件電路無關、與設計平臺無關的特性,使得設計者可以專心致力于系統功能的實現,而不需要對不影響功能的、與工藝有關的因素花費過多的時間和精力。

1.3 開發環境

1.3.1 軟件平臺

QuartusⅡ是Altera公司推出的新一代開發軟件,支持多種編輯輸入法,包括圖形輸入法,基于硬件描述語言的文本編輯輸入法和內存編輯輸入法。它支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化自己的設計、提高開發效率[2]。

Quartus Ⅱ作為一種可編程邏輯的設計環境,其強大的設計能力已經成為廣大設計人員首選的開發工具,本設計采用的是Quartus Ⅱ9.0版本作為開發平臺。

1.3.2 硬件平臺

CPLD(Complex Programmable Logic Device),即復雜可編程器件,由于CPLD具有編程靈活、集成度高、設計開發周期短、制造成本低、保密性強等特點[3],本文的硬件測試是基于MAXⅡ系列的CPLD上完成的,芯片型號為EPM240T100C5。

2 密碼鎖功能要求

目前市面上的電子密碼鎖,只允許用戶輸入固定位數的密碼。但在實際應用中,密碼位數太多,不便于老年用戶記憶,而位數太少,又不能滿足一些對安全性能要求高的青年用戶。本文中,基于CPLD的集成度高、成本低的特點,克服了以上缺點,讓用戶自行設定密碼位數,該功能在同行業產品競爭中有一定的優勢。

設計的電子密碼鎖可以完成以下功能:

(1)設置密碼鎖的密碼位數n;

(2)n位密碼的輸入及顯示;

(3)密碼的核對;

(4)報警功能;

(5)密碼的清除和修改。

主要由密碼輸入電路、核心控制電路和顯示輸出電路構成。其中,輸入電路包括矩陣式鍵盤、鍵盤掃描電路、消抖電路、譯碼電路等;控制電路主要完成密碼的輸入、核對、清除和修改等功能;輸出電路控制數碼顯示屏上密碼值的顯示。

3 硬件電路設計

3.1 輸入電路

本設計采用的是4×3 矩陣式鍵盤,它是由4根I/O線作為行線,3根I/O線作為列線,在行列線的每一個交叉點上都設置一個按鍵,一共有12個按鍵,分別代表數字0~9、確認鍵和設置鍵,如圖1所示[4]。用戶如需設置密碼位數,可以長按設置鍵達到3 s,聽到提示音后再輸入密碼位數(本設計暫時只支持4,6,8位);如需設置新密碼,可以短按設置鍵,提示音后再輸入新的密碼即可。輸入電路應具備矩陣鍵盤掃描功能、鍵盤消抖功能以及譯碼等功能。其中,鍵盤掃描采用是行掃描方式,4根I/O線KEYR3~KEYR0 為行掃描信號,其中KEYR3對應第一行,KEYR2對應第二行,依此類推。

很顯然,掃描信號的變化順序為:0111,1011,1101,1110,周而復始[5]。在掃描的過程中,當某鍵被按下時,從KEYC2~KEYC0中讀出的相應列信號為“0”,再將此時的4位行信號和3位列信號值送至鍵盤譯碼電路進行譯碼,即可得出準確的按鍵值。相反,若從KEYC2~KEYC0讀出的值全為“1”,則表示沒有鍵被按下,即不做任何操作。如表1所示。

表1 行列信號與鍵盤對應關系

在鍵盤掃描過程中,掃描信號在不斷變化,以判斷按鍵的按下和抬起。快速變化的掃描信號不僅使增加了系統功耗,而且還會對其他敏感電路造成干擾[6?7]。因此必須進行以下改進:將掃描模式改為鍵按下觸發掃描方式,即當某鍵被按下后,才觸發鍵盤掃描電路產生掃描時序,鍵被放開后,停止對鍵盤的掃描,使電路處于相對靜止狀態,以減少干擾信號。

另外,在按鍵按下時刻與開始掃描時刻之間加入一段較小的延時,延時結束后才允許電路開始掃描工作,可以最大限度地避免因鍵盤抖動帶來的錯誤輸入。

主要VHDL代碼描述如下:

process (KeyIn)

begin

kin <= KeyIn(0) AND KeyIn(1) AND KeyIn(2);

end process;

process (kin,clr)

begin

if(clr = ′0′) then delay <= ′0′;

elsif(falling_edge(kin)) then delay <= ′1′;

end if; end process;

process(clk,delay)

variable cnt : integer range 0 to 99;

begin

if(delay = ′0′) then cnt := 0; Enable <= ′0′;

elsif(rising_edge(clk)) then

if cnt = 99 then

if(kin = ′0′) then Enable <= ′1′;

end if;

else cnt := cnt + 1;

end if;end if;end process;

3.2 控制電路

控制電路是整個系統的核心電路,能根據用戶輸入的密碼位數進行子電路的選擇。由于系統允許用戶輸入4位、6位或8位密碼,因此子電路有三個,由三選一選擇器決定其中哪個電路為用戶服務,見圖2。

圖2中,en是三選一選擇器的工作使能端,它由輸入電路的有效重置信號啟動。當用戶按下矩陣鍵盤上的重置按鍵長達3 s后,輸入電路將產生en信號為‘1’,從而使選擇器Mux31開始工作。如用戶要設置為6位密碼,則在提示音后按下鍵盤上的“6”按鍵,其按鍵信號會傳遞給X6,由選擇器決定后續控制電路為kong6。

主要VHDL代碼描述如下:

s<=x4x6x8;

process(s)

begin

if en=′1′ then

case s is

when “001”=>y2=′1′; y4=′0′; y6=′0′;

when “010”=>y2=′0′; y4=′1′; y6=′0′;

when “100”=>y2=′0′; y4=′0′; y6=′1′;

when others=> y2=′0′; y4=′0′; y6=′0′;

end case;

end if;end process;

對于后續控制電路kong4~kong8,都應具有密碼清除、存儲、核對及修改等功能。由于僅僅是操作數位數不同而已,這三個電路的VHDL語言描述過程對設計人員來說,幾乎是重復操作,因此大大縮短了設計周期。

控制電路中密碼的存儲是利用寄存器來實現的。寄存器是一個典型的時序邏輯電路,在某一特定時鐘信號的控制下可以裝載一組二進制數據并穩定存儲,撤銷該控制信號后信息仍然存放在寄存器中。充分利用VHDL中不完整的if語句能產生時序電路的特點,進行電路描述,而不涉及到內部觸發器,開發效率高。

3.3 輸出電路

輸出電路要準確地將結果以十進制形式直觀地顯示在輸出LED上,并且當用戶每輸入一位密碼,所有LED上的密碼值左移一位。該電路屬于純組合邏輯電路,可以利用VHDL語言中的case語句描述出其電路功能。

部分VHDL代碼如下[8?10]:

case movesgl is

when \"000\" => vs0 := \"1111\";vs1 := \"1111\";

vs2 := \"1111\";vs3 := \"1111\";

when \"001\" => vs0 := zin;vs1 := \"1111\";

vs2 := \"1111\";vs3 := \"1111\";t := zin;

when \"010\" => vs0 := zin; vs1 := t;

vs2 := \"1111\";vs3 := \"1111\";b := zin;

when \"011\" => vs0 := zin;vs1 := b;

vs2 := t;vs3 := \"1111\";c := zin;

when \"100\" => vs0 := zin;vs1 := c;

vs2 := b;vs3 := t;

when others => vs0 := \"1111\";vs1 := \"1111\";

vs2 := \"1111\";vs3 := \"1111\";

end case;

s0 <= vs0;s1 <= vs1;s2 <= vs2;s3 <= vs3;

end process;

其中:movesgl表示左移位移量;zin是輸入信號;當movesgl為“000”時表示不需要左移;當為“001”時,表示需要移動一次;“010”表示需要移動兩次,以此類推。當用戶通過矩陣鍵盤輸入6位密碼時,就需要向左移動6次,從而達到密碼在LED數碼管上動態左移的現象。

4 仿真與下載

4.1 仿真

在編程下載之前,必須利用EDA工具對設計結果進行模擬測試,即仿真。仿真是EDA設計過程中的重要步驟。本文采用的時序仿真是最接近真實器件運行特征的仿真,仿真精度較高。以4位密碼電路為例,做出了系統仿真圖,如圖3所示。

從圖3中可以看出,通過輸入端zin,先后輸入了密碼值“5623”,s0,s1,s2,s3存儲的值在實時更新,分析波形,總結該系統基本達到了預期的功能需求,輸出波形正常。

4.2 下載

在QuartusⅡ9.0軟件中,利用集成EDA工具完成的下載步驟如下:

(1)根據開發板中可編程CPLD芯片EPM240T100C5的引腳特性,將本系統的頂層設計實體的端口進行引腳分配。

(2)適配器完成適配后生成了POF格式的下載文件,再通過JTAG編程電纜向CPLD芯片進行編程。

(3)單擊下載按鈕Start,即對目標器件進行下載操作。當Process進度顯示100%時,表示下載成功。

(4)利用開發板上的外圍接口電路,進行了硬件的測試。并利用嵌入式邏輯分析儀 SignalTap Ⅱ觀察密碼輸入、修改等運行情況。

5 結 語

本文彌補了傳統密碼鎖技術上的不足,研究出了一種高性能實現方案,即利用VHDL語言,結合EDA技術,在可編程芯片CPLD上構造邏輯電路。由于所有密碼的存儲及運算都通過純硬件實現,其邏輯執行速度遠高于單片機。充分利用了CPLD的邏輯可編程性,開發周期短、效率高,設計出來的產品具有較高的可靠性,且功耗低、體積小、易維護,勢必會在安防市場中取勝。

參考文獻

[1] 潘松,黃繼業.EDA技術實用教程[M].4版.北京:科學出版社, 2010.

[2] 張丕狀,李兆光.基于VHDL的CPLD/FPGA開發與應用[M].北京:國防工業出版社,2009.

[3] 李珍,王國宇,崔麗娟.基于FPGA的可靠性電子密碼鎖設計[J].現代電子技術,2013,36(7):151?153.

[4] 王顯海,賈金玲,陳光建,等.基于FPGA的電子密碼鎖的研制[J].微型機與應用,2010,29(6):27?30.

[5] 陸繼遠.電子密碼鎖的FPGA實現[J].微計算機信息,2011(7):3?5.

[6] 楊勇.電子密碼鎖設計原理分析[J].職業,2012(27):62?64.

[7] 武玉華,路而紅,梁巨輝.數字密碼鎖專用集成電路的設計[J].計算機測量與控制,2010,18(12):2842?2845.

[8] 王永祥,劉焱.EDA實驗教學的電子密碼鎖創新設計[J].宜春學院學報,2010,32(8):32?34.

[9] 邱燕,鄧鵬戈.數字電子密碼鎖[J].現代電子技術,2010,33(7):189?191.

[10] 王靜.基于VHDL的電子密碼鎖設計[J].安防科技,2010(3):16?18.

主站蜘蛛池模板: 五月婷婷亚洲综合| V一区无码内射国产| 欧美色香蕉| 日本五区在线不卡精品| 秋霞一区二区三区| 91久久偷偷做嫩草影院| 免费精品一区二区h| 在线播放精品一区二区啪视频| 五月天天天色| 色成人亚洲| 日本午夜视频在线观看| 国产视频只有无码精品| 久久精品电影| 亚洲乱码精品久久久久..| 亚洲AV无码一区二区三区牲色| 欧美啪啪网| 青青青伊人色综合久久| 久久国产成人精品国产成人亚洲 | 国产区精品高清在线观看| 久久午夜夜伦鲁鲁片不卡| 日韩专区欧美| 99成人在线观看| 国产在线高清一级毛片| 四虎国产永久在线观看| 网友自拍视频精品区| 精品欧美视频| 色噜噜狠狠色综合网图区| 久久香蕉国产线看观看式| 欧美精品v欧洲精品| 在线观看国产精美视频| 亚洲欧洲日韩综合色天使| 欧美成人亚洲综合精品欧美激情| 99视频国产精品| www.91在线播放| 国产欧美又粗又猛又爽老| 老熟妇喷水一区二区三区| 色综合中文综合网| 国产激情在线视频| 国产福利免费视频| 国产国产人在线成免费视频狼人色| 日韩天堂在线观看| 9久久伊人精品综合| 国产成人亚洲精品色欲AV| 香蕉精品在线| 国产亚洲精久久久久久久91| 国产亚洲一区二区三区在线| 福利在线不卡一区| 91成人在线观看视频| 国产 在线视频无码| 亚洲人成亚洲精品| 亚洲第一黄色网址| 日本黄网在线观看| 国内嫩模私拍精品视频| 一级毛片免费的| 夜夜高潮夜夜爽国产伦精品| 风韵丰满熟妇啪啪区老熟熟女| 欧美综合在线观看| 一区二区三区在线不卡免费| 免费黄色国产视频| 久久综合伊人77777| 亚洲一区二区成人| 亚洲人成在线精品| 久久精品无码国产一区二区三区| 九九视频免费在线观看| 波多野结衣无码中文字幕在线观看一区二区| 尤物精品国产福利网站| 亚洲Va中文字幕久久一区| 精品成人免费自拍视频| 欧美v在线| 蝴蝶伊人久久中文娱乐网| 精品丝袜美腿国产一区| 国产成人综合日韩精品无码首页| 波多野一区| 国产美女精品人人做人人爽| 视频二区中文无码| 午夜在线不卡| 91视频国产高清| 综合色区亚洲熟妇在线| 国产精品hd在线播放| 大学生久久香蕉国产线观看| 亚洲电影天堂在线国语对白| 欧美中文字幕一区|