一種多功能電子密碼鎖的VHDL設(shè)計(jì)
出處:電子技術(shù)網(wǎng) 發(fā)布于:2014-01-13 10:41:01
摘要:利用EDA技術(shù),在可編程邏輯器件CPLD上實(shí)現(xiàn)了一種多功能電子密碼鎖。為彌補(bǔ)傳統(tǒng)密碼鎖的不足,進(jìn)一步提高可靠性,該系統(tǒng)中所有數(shù)據(jù)的存儲(chǔ)、運(yùn)算都完全由硬件實(shí)現(xiàn)。利用VHDL語言對(duì)電路進(jìn)行行為描述,QuartusⅡ軟件中的EDA工具進(jìn)行仿真及。整個(gè)設(shè)計(jì)過程采用自頂向下方案,設(shè)計(jì)效率高,開發(fā)成本低。采用了MAXⅡ系列的CPLD作為硬件,其功耗低,邏輯執(zhí)行速度遠(yuǎn)高于單片機(jī),在安防行業(yè)中有較強(qiáng)的市場(chǎng)競(jìng)爭(zhēng)力。
0 引言
傳統(tǒng)機(jī)械鎖的防盜功能差,在現(xiàn)代高科技安防系統(tǒng)中無法起到作用,已逐步被更可靠、更智能的電子數(shù)字密碼鎖代替。目前市場(chǎng)上的大部分密碼鎖產(chǎn)品是以單片機(jī)為的,利用軟件進(jìn)行控制,實(shí)際應(yīng)用中系統(tǒng)穩(wěn)定性較差且成本高。本文研究的是電子密碼鎖的一種純硬件實(shí)現(xiàn)方案,為彌補(bǔ)傳統(tǒng)技術(shù)的不足,采用EDA技術(shù)在可編程芯片上實(shí)現(xiàn)密碼的存儲(chǔ)、運(yùn)算等操作,使產(chǎn)品既具有硬件的安全性和高速性,又具有軟件開發(fā)的靈活性和易維護(hù)性。
1 主要技術(shù)與開發(fā)環(huán)境
1.1 EDA技術(shù)及特點(diǎn)
EDA(Electronic Design Automation),即“電子設(shè)計(jì)自動(dòng)化”,是目前電子設(shè)計(jì)領(lǐng)域中的主流技術(shù)。EDA技術(shù)就是依靠功能強(qiáng)大的電子計(jì)算機(jī),在EDA 工具軟件平臺(tái)上,對(duì)以硬件描述語言為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯編譯、化簡、分割、綜合、優(yōu)化和仿真,直至到可編程邏輯器件CPLD/FPGA 或?qū)S?a target="_blank">集成電路ASIC 芯片中,實(shí)現(xiàn)特定的電子電路設(shè)計(jì)功能。與傳統(tǒng)電子設(shè)計(jì)方法相比,EDA技術(shù)具有以下主要優(yōu)勢(shì):
(1)可以在電子設(shè)計(jì)的各個(gè)階段、各個(gè)層次進(jìn)行計(jì)算機(jī)模擬驗(yàn)證;
(2)獨(dú)特的自頂向下的電子設(shè)計(jì)方案;
(3)使設(shè)計(jì)者擁有完全的自主權(quán)。
1.2 硬件描述語言
VHDL(Very High Speed Integration Circuits Hard-ware Description Language),即“超高速集成電路硬件描述語言”,是當(dāng)今電子設(shè)計(jì)領(lǐng)域的主流硬件描述語言。
它具有很好的電路行為描述能力和系統(tǒng)描述能力,且具有與具體硬件電路無關(guān)、與設(shè)計(jì)平臺(tái)無關(guān)的特性,使得設(shè)計(jì)者可以專心致力于系統(tǒng)功能的實(shí)現(xiàn),而不需要對(duì)不影響功能的、與工藝有關(guān)的因素花費(fèi)過多的時(shí)間和精力。
1.3 開發(fā)環(huán)境
1.3.1 軟件平臺(tái)
QuartusⅡ是Altera公司推出的新一代開發(fā)軟件,支持多種編輯輸入法,包括圖形輸入法,基于硬件描述語言的文本編輯輸入法和內(nèi)存編輯輸入法。它支持Al-tera 的IP 核,包含了LPM/MegaFunction 宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化自己的設(shè)計(jì)、提高開發(fā)效率。
Quartus Ⅱ作為一種可編程邏輯的設(shè)計(jì)環(huán)境,其強(qiáng)大的設(shè)計(jì)能力已經(jīng)成為廣大設(shè)計(jì)人員的開發(fā)工具,本設(shè)計(jì)采用的是Quartus Ⅱ9.0版本作為開發(fā)平臺(tái)。
1.3.2 硬件平臺(tái)
CPLD(Complex Programmable Logic Device),即復(fù)雜可編程器件,由于CPLD具有編程靈活、集成度高、設(shè)計(jì)開發(fā)周期短、制造成本低、保密性強(qiáng)等特點(diǎn),本文的硬件測(cè)試是基于MAXⅡ系列的CPLD上完成的,芯片型號(hào)為EPM240T100C5.
2 密碼鎖功能要求
目前市面上的電子密碼鎖,只允許用戶輸入固定位數(shù)的密碼。但在實(shí)際應(yīng)用中,密碼位數(shù)太多,不便于老年用戶記憶,而位數(shù)太少,又不能滿足一些對(duì)安全性能要求高的青年用戶。本文中,基于CPLD 的集成度高、成本低的特點(diǎn),克服了以上缺點(diǎn),讓用戶自行設(shè)定密碼位數(shù),該功能在同行業(yè)產(chǎn)品競(jìng)爭(zhēng)中有一定的優(yōu)勢(shì)。
設(shè)計(jì)的電子密碼鎖可以完成以下功能:
(1)設(shè)置密碼鎖的密碼位數(shù)n;
(2)n 位密碼的輸入及顯示;
(3)密碼的核對(duì);
(4)報(bào)警功能;
(5)密碼的清除和修改。
主要由密碼輸入電路、控制電路和顯示輸出電路構(gòu)成。其中,輸入電路包括矩陣式鍵盤、鍵盤掃描電路、消抖電路、譯碼電路等;控制電路主要完成密碼的輸入、核對(duì)、清除和修改等功能;輸出電路控制數(shù)碼顯示屏上密碼值的顯示。
3 硬件電路設(shè)計(jì)
3.1 輸入電路
本設(shè)計(jì)采用的是4×3 矩陣式鍵盤,如圖1所示,它是由4 根I/O線作為行線,3根I/O線作為列線,在行列線的每一個(gè)交叉點(diǎn)上都設(shè)置一個(gè)按鍵,一共有12個(gè)按鍵,分別代表數(shù)字0~9、確認(rèn)鍵和設(shè)置鍵,如圖1所示。用戶如需設(shè)置密碼位數(shù),可以長按設(shè)置鍵達(dá)到3 s,聽到提示音后再輸入密碼位數(shù)(本設(shè)計(jì)暫時(shí)只支持4,6,8位);如需設(shè)置新密碼,可以短按設(shè)置鍵,提示音后再輸入新的密碼即可。輸入電路應(yīng)具備矩陣鍵盤掃描功能、鍵盤消抖功能以及譯碼等功能。其中,鍵盤掃描采用是行掃描方式,4 根I/O 線KEYR3~KEYR0 為行掃描信號(hào),其中KEYR3對(duì)應(yīng)行,KEYR2對(duì)應(yīng)第二行,依此類推。

很顯然,掃描信號(hào)的變化順序?yàn)椋?111,1011,1101,1110,周而復(fù)始。在掃描的過程中,當(dāng)某鍵被按下時(shí),從KEYC2~KEYC0 中讀出的相應(yīng)列信號(hào)為“0”,再將此時(shí)的4位行信號(hào)和3位列信號(hào)值送至鍵盤譯碼電路進(jìn)行譯碼,即可得出準(zhǔn)確的按鍵值。相反,若從KEYC2~KEYC0 讀出的值全為“1”,則表示沒有鍵被按下,即不做任何操作。如表1所示。

在鍵盤掃描過程中,掃描信號(hào)在不斷變化,以判斷按鍵的按下和抬起。快速變化的掃描信號(hào)不僅使增加了系統(tǒng)功耗,而且還會(huì)對(duì)其他敏感電路造成干擾[6-7].因此必須進(jìn)行以下改進(jìn):將掃描模式改為鍵按下觸發(fā)掃描方式,即當(dāng)某鍵被按下后,才觸發(fā)鍵盤掃描電路產(chǎn)生掃描時(shí)序,鍵被放開后,停止對(duì)鍵盤的掃描,使電路處于相對(duì)靜止?fàn)顟B(tài),以減少干擾信號(hào)。
另外,在按鍵按下時(shí)刻與開始掃描時(shí)刻之間加入一段較小的延時(shí),延時(shí)結(jié)束后才允許電路開始掃描工作,可以限度地避免因鍵盤抖動(dòng)帶來的錯(cuò)誤輸入。
主要VHDL代碼描述如下:

3.2 控制電路
控制電路是整個(gè)系統(tǒng)的電路,能根據(jù)用戶輸入的密碼位數(shù)進(jìn)行子電路的選擇。由于系統(tǒng)允許用戶輸入4 位、6 位或8 位密碼,因此子電路有三個(gè),由三選一選擇器決定其中哪個(gè)電路為用戶服務(wù),見圖2.

圖2中,en是三選一選擇器的工作使能端,它由輸入電路的有效重置信號(hào)啟動(dòng)。當(dāng)用戶按下矩陣鍵盤上的重置按鍵長達(dá)3 s后,輸入電路將產(chǎn)生en信號(hào)為‘1',從而使選擇器Mux31 開始工作。如用戶要設(shè)置為6 位密碼,則在提示音后按下鍵盤上的“6”按鍵,其按鍵信號(hào)會(huì)傳遞給X6,由選擇器決定后續(xù)控制電路為kong6.
主要VHDL代碼描述如下:

對(duì)于后續(xù)控制電路kong4~kong8,都應(yīng)具有密碼清除、存儲(chǔ)、核對(duì)及修改等功能。由于僅僅是操作數(shù)位數(shù)不同而已,這三個(gè)電路的VHDL語言描述過程對(duì)設(shè)計(jì)人員來說,幾乎是重復(fù)操作,因此大大縮短了設(shè)計(jì)周期。
控制電路中密碼的存儲(chǔ)是利用寄存器來實(shí)現(xiàn)的。
寄存器是一個(gè)典型的時(shí)序邏輯電路,在某一特定時(shí)鐘信號(hào)的控制下可以裝載一組二進(jìn)制數(shù)據(jù)并穩(wěn)定存儲(chǔ),撤銷該控制信號(hào)后信息仍然存放在寄存器中。充分利用VHDL中不完整的if語句能產(chǎn)生時(shí)序電路的特點(diǎn),進(jìn)行電路描述,而不涉及到內(nèi)部觸發(fā)器,開發(fā)效率高。
3.3 輸出電路
輸出電路要準(zhǔn)確地將結(jié)果以十進(jìn)制形式直觀地顯示在輸出LED 上,并且當(dāng)用戶每輸入一位密碼,所有LED上的密碼值左移一位。該電路屬于純組合邏輯電路,可以利用VHDL語言中的case語句描述出其電路功能。
部分VHDL代碼如下:

其中:movesgl 表示左移位移量;zin 是輸入信號(hào);當(dāng)movesgl為“000”時(shí)表示不需要左移;當(dāng)為“001”時(shí),表示需要移動(dòng);“010”表示需要移動(dòng)兩次,以此類推。當(dāng)用戶通過矩陣鍵盤輸入6 位密碼時(shí),就需要向左移動(dòng)6 次,從而達(dá)到密碼在LED數(shù)碼管上動(dòng)態(tài)左移的現(xiàn)象。
4 仿真與
4.1 仿真
在編程之前,必須利用EDA 工具對(duì)設(shè)計(jì)結(jié)果進(jìn)行模擬測(cè)試,即仿真。仿真是EDA 設(shè)計(jì)過程中的重要步驟。本文采用的時(shí)序仿真是接近真實(shí)器件運(yùn)行特征的仿真,仿真較高。以4位密碼電路為例,做出了系統(tǒng)仿真圖,如圖3所示。

從圖3中可以看出,通過輸入端zin,先后輸入了密碼值“5623”,s0,s1,s2,s3存儲(chǔ)的值在實(shí)時(shí)更新,分析波形,總結(jié)該系統(tǒng)基本達(dá)到了預(yù)期的功能需求,輸出波形正常。
4.2
在QuartusⅡ9.0軟件中,利用集成EDA工具完成的步驟如下:
(1)根據(jù)開發(fā)板中可編程CPLD芯片EPM240T100C5的引腳特性,將本系統(tǒng)的頂層設(shè)計(jì)實(shí)體的端口進(jìn)行引腳分配。
(2)適配器完成適配后生成了POF 格式的文件,再通過JTAG編程電纜向CPLD芯片進(jìn)行編程。
(3)單擊按鈕Start,即對(duì)目標(biāo)器件進(jìn)行操作。當(dāng)Process進(jìn)度顯示100%時(shí),表示成功。
(4)利用開發(fā)板上的外圍接口電路,進(jìn)行了硬件的測(cè)試。并利用嵌入式邏輯分析儀SignalTap Ⅱ觀察密碼輸入、修改等運(yùn)行情況。
5 結(jié)語
本文彌補(bǔ)了傳統(tǒng)密碼鎖技術(shù)上的不足,研究出了一種利用VHDL語言,結(jié)合EDA技術(shù),在可編程芯片CPLD 上構(gòu)造邏輯電路。由于所有密碼的存儲(chǔ)及運(yùn)算都通過純硬件實(shí)現(xiàn),其邏輯執(zhí)行速度遠(yuǎn)高于單片機(jī)。充分利用了CPLD的邏輯可編程性,開發(fā)周期短、效率高,設(shè)計(jì)出來的產(chǎn)品具有較高的可靠性,且功耗低、體積小、易維護(hù),勢(shì)必會(huì)在安防市場(chǎng)中取勝。(作者:楊斐,黃軍,康浩)
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- EDA技術(shù)工具鏈與全流程設(shè)計(jì)運(yùn)維指南2026/1/5 10:28:51
- PLC程序現(xiàn)場(chǎng)疑難問題排查與深度優(yōu)化指南2025/12/24 14:36:36
- PLC程序現(xiàn)場(chǎng)調(diào)試與優(yōu)化實(shí)操指南2025/12/24 14:29:57
- 工業(yè)PLC模擬量信號(hào)采集:調(diào)理技術(shù)與抗干擾工程方案2025/12/15 14:39:08
- PLC設(shè)備如何選型2025/9/5 17:15:14
- 高速PCB阻抗控制核心實(shí)操規(guī)范
- 高速數(shù)字系統(tǒng)(如DDR、SerDes)中的信號(hào)完整性濾波
- MOSFET在UPS電源中的應(yīng)用解析
- 電源管理IC在物聯(lián)網(wǎng)設(shè)備中的應(yīng)用
- SMT連接器焊接缺陷分析
- MOSFET在汽車電子中的應(yīng)用要求
- 通信設(shè)備電源管理IC應(yīng)用解析
- 通信設(shè)備連接器選型與設(shè)計(jì)
- PCB電磁兼容性(EMC)設(shè)計(jì)核心實(shí)操規(guī)范
- 物聯(lián)網(wǎng)節(jié)點(diǎn)低功耗設(shè)計(jì):信號(hào)鏈中的濾波與功耗管理









