基于FPGA的多功能電子密碼鎖設(shè)計(jì)
3.2 控制電路
本文引用地址:http://www.ex-cimer.com/article/235292.htm控制電路是整個(gè)系統(tǒng)的核心電路,能根據(jù)用戶輸入的密碼位數(shù)進(jìn)行子電路的選擇。由于系統(tǒng)允許用戶輸入4 位、6 位或8 位密碼,因此子電路有三個(gè),由三選一選擇器決定其中哪個(gè)電路為用戶服務(wù),見圖2.
?
?
圖2中,en是三選一選擇器的工作使能端,它由輸入電路的有效重置信號(hào)啟動(dòng)。當(dāng)用戶按下矩陣鍵盤上的重置按鍵長(zhǎ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語(yǔ)言描述過(guò)程對(duì)設(shè)計(jì)人員來(lái)說(shuō),幾乎是重復(fù)操作,因此大大縮短了設(shè)計(jì)周期。
控制電路中密碼的存儲(chǔ)是利用寄存器來(lái)實(shí)現(xiàn)的。
寄存器是一個(gè)典型的時(shí)序邏輯電路,在某一特定時(shí)鐘信號(hào)的控制下可以裝載一組二進(jìn)制數(shù)據(jù)并穩(wěn)定存儲(chǔ),撤銷該控制信號(hào)后信息仍然存放在寄存器中。充分利用VHDL中不完整的if語(yǔ)句能產(chǎn)生時(shí)序電路的特點(diǎn),進(jìn)行電路描述,而不涉及到內(nèi)部觸發(fā)器,開發(fā)效率高。
3.3 輸出電路
輸出電路要準(zhǔn)確地將結(jié)果以十進(jìn)制形式直觀地顯示在輸出LED 上,并且當(dāng)用戶每輸入一位密碼,所有LED上的密碼值左移一位。該電路屬于純組合邏輯電路,可以利用VHDL語(yǔ)言中的case語(yǔ)句描述出其電路功能。
部分VHDL代碼如下:
?
?
其中:movesgl 表示左移位移量;zin 是輸入信號(hào);當(dāng)movesgl為“000”時(shí)表示不需要左移;當(dāng)為“001”時(shí),表示需要移動(dòng)一次;“010”表示需要移動(dòng)兩次,以此類推。當(dāng)用戶通過(guò)矩陣鍵盤輸入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ì)過(guò)程中的重要步驟。本文采用的時(shí)序仿真是最接近真實(shí)器件運(yùn)行特征的仿真,仿真精度較高。以4位密碼電路為例,做出了系統(tǒng)仿真圖,如圖3所示。
?
?
從圖3中可以看出,通過(guò)輸入端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 格式的下載文件,再通過(guò)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é)語(yǔ)
本文彌補(bǔ)了傳統(tǒng)密碼鎖技術(shù)上的不足,研究出了一種利用VHDL語(yǔ)言,結(jié)合EDA技術(shù),在可編程芯片CPLD 上構(gòu)造邏輯電路。由于所有密碼的存儲(chǔ)及運(yùn)算都通過(guò)純硬件實(shí)現(xiàn),其邏輯執(zhí)行速度遠(yuǎn)高于單片機(jī)。充分利用了CPLD的邏輯可編程性,開發(fā)周期短、效率高,設(shè)計(jì)出來(lái)的產(chǎn)品具有較高的可靠性,且功耗低、體積小、易維護(hù),勢(shì)必會(huì)在安防市場(chǎng)中取勝。
數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理
評(píng)論