新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于FPGA的多功能電子密碼鎖設計

基于FPGA的多功能電子密碼鎖設計

作者: 時間:2014-03-25 來源:網絡 收藏

3.2 控制電路

本文引用地址:http://butianyuan.cn/article/235292.htm

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

?

?

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

主要代碼描述如下:

?

?

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

控制電路中密碼的存儲是利用寄存器來實現(xiàn)的。

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

3.3 輸出電路

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

部分VHDL代碼如下:

?

?

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

4 仿真與下載

4.1 仿真

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

?

?

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

4.2 下載

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

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

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

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

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

5 結語

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

數(shù)字濾波器相關文章:數(shù)字濾波器原理

上一頁 1 2 下一頁

關鍵詞: FPGA VHDL

評論


相關推薦

技術專區(qū)

關閉