




已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
廣東海洋大學寸金學院(課程設計論文) 廣東海洋大學寸金學院EDA技術(課程設計論文) 論文題目: 電子密碼鎖 系 別: 信息技術系 專 業(yè): 電子信息工程 班 級: 2012級電子信息工程1班 姓 名: 彭岸輝 學 號: 2012103180118 指導老師: 黃小容 日 期: 2015年6月20日 廣東海洋大學寸金學院教務處制摘 要設計一個電子密碼鎖,在鎖開的狀態(tài)下輸入密碼,設置的密碼共4位,用數據開關K1K10分別代表數字1、2、9、0,輸入的密碼用數碼管顯示,最后輸入的密碼顯示在最右邊的數碼管上,即每輸入一位數,密碼在數碼管上的顯示左移一位??蓜h除輸入的數字,刪除的是最后輸入的數字,每刪除一位,密碼在數碼管的顯示右移一位,并在左邊空出的位上補充“0”。用一位輸出電平的狀態(tài)代表鎖的開閉狀態(tài)。為保證密碼鎖主人能打開密碼鎖,設置一個萬能密碼,在主人忘記密碼時使用。關鍵詞: 數碼管;萬能密碼AbstractDesign an electronic trick lock, the lock open state of input password, set the password, a total of four, with data switch K1 k10/19 dated respectively represent Numbers 1, 2,. , 9, 0, enter the password using digital tube display, and finally enter the password shown on the right side of the digital tube, namely each input digits, the password on the digital tube display the left one. Can erase the number of input, delete is the last input number, every delete a password in the digital tube display one moves to the right, and on the left vacant seat 0. With a representative of the state of the output level lock state of opening and closing. In order to ensure the combination lock host can open a combination lock, set a master password, used in master forgot password.Key words: digital tube; master password目 錄1 引言11.1 VHDL簡介11.2 Quartus II11.3 課程設計背景21.4 課程設計目的22 電子密碼鎖設計思想22.1 系統(tǒng)設計方案22.2 密碼輸入電路設計32.2.1密碼鎖輸入電路各主要功能模塊的設計32.3 密碼鎖控制電路設計32.3.1數字按鍵輸入響應控制32.3.2功能按鍵輸入響應控制43 系統(tǒng)仿真43.1 模塊仿真44 結論55 心得體會6廣東海洋大學寸金學院(課程設計論文) 第 20 頁 共 15 頁1 引言1.1 VHDL簡介 VHDL語言是一種用于電路設計的高級語言。它在80年代的后期出現。最初是由美國國防部開發(fā)出來供美軍用來提高設計的可靠性和縮減開發(fā)周期的一種使用范圍較小的設計語言 。VHDL翻譯成中文就是超高速集成電路硬件描述語言,主要是應用在數字電路的設計中。它在中國的應用多數是用在FPGA/CPLD/EPLD的設計中。當然在一些實力較為雄厚的單位,它也被用來設計ASIC。 VHDL主要用于描述數字系統(tǒng)的結構,行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式、描述風格以及語法是十分類似于一般的計算機高級語言。VHDL的程序結構特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口)和內部(或稱不可視部分),既涉及實體的內部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內部開發(fā)完成后,其他的設計就可以直接調用這個實體。這種將設計實體分成內外部分的概念是VHDL系統(tǒng)設計的基本點。1.2 Quartus II Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設計的復雜性、加快了設計速度。對第三方EDA工具的良好支持也使用戶可以在設計流程的各個階段使用熟悉的第三方EDA工具。此外,Quartus II 通過和DSP Builder工具與Matlab/Simulink相結合,可以方便地實現各種DSP應用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設計、嵌入式軟件開發(fā)、可編程邏輯設計于一體,是一種綜合性的開發(fā)平臺。Maxplus II 作為Altera的上一代PLD設計軟件,由于其出色的易用性而得到了廣泛的應用。目前Altera已經停止了對Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設計輔助工具,集成了SOPC和HardCopy設計流程,并且繼承了Maxplus II 友好的圖形界面及簡便的使用方法。Altera Quartus II 作為一種可編程邏輯的設計環(huán)境, 由于其強大的設計能力和直觀易用的接口,越來越受到數字系統(tǒng)設計者的歡迎。1.3 課程設計背景利用EDA技術和VHDL語言,設計了一種新型的電子密碼鎖。它體積小、功耗低、價格便宜、安全可靠,維護和升級十分方便,具有較好的應用前景。隨著社會物質財富的日益增長,安全防盜已成為全社會問題。人們對鎖的要求越來越高,既要安全可靠地防盜,又要使用方便。彈子鎖由于結構上的局限已難以滿足當前社會管理和防盜要求,特別是在人員經常變動的公共場所,如辦公室、賓館等地方。電子密碼鎖由于其自身的優(yōu)勢,越來越受到人們的青睞,但是目前使用的電子密碼鎖大部分是基于單片機用分離元件實現的,其成本較高且可靠性得不到保證。1.4 課程設計目的 掌握電子密碼鎖的設計原理,并能運用VHDL編程語言寫出實驗程序,進一步對所學的知識鞏固應用;熟悉Quartus II軟件的使用與運行環(huán)境;鍛煉自己獲取信息能力,能獨立解決問題和思考。2 電子密碼鎖設計思想2.1 系統(tǒng)設計方案 作為通用電子密碼鎖,主要由三個部分組成:數字密碼輸入電路、密碼鎖控制電路和密碼鎖顯示電路。作為電子密碼鎖的輸入電路,可供選擇的方案有數字機械式鍵盤和觸摸式數字鍵盤等多種。 根據以上選定的輸入設備和顯示器件,并考慮到實現各項數字密碼鎖功能的具體要求,整個電子密碼鎖系統(tǒng)的總體組成框圖如圖2.1所示。從圖可以看出: -密碼鎖輸入電路包括時序產生電路、鍵盤電路等幾個小的功能電路。 -密碼鎖控制電路包括按鍵數據的緩沖存儲電路,密碼的清除、變更、存儲、激活電鎖電路(寄存器清除信號發(fā)生電路),密碼核對(數值比較電路),解鎖電路(開/關門鎖電路)等幾個小的功能電路。-七段數碼管顯示電路將待顯示數據的BCD碼轉換成數碼器的七段顯示驅動編碼。2.2 密碼輸入電路設計 電子密碼鎖的鍵盤電路、按鍵數據緩存器,鍵盤電路利用實驗箱的系統(tǒng)鍵盤,它省去了矩陣鍵盤的掃描、消抖的繁瑣,使代碼更具備簡潔性。 2.2.1密碼鎖輸入電路各主要功能模塊的設計(1) 時序產生電路 本時序產生電路中使用了三種不同頻率的工作脈沖波形:系統(tǒng)時鐘脈沖,它是系統(tǒng)內部所有時鐘脈沖的源頭,且其頻率最高。 (2)按鍵存儲電路 因為每次按鍵按下會產生新的按鍵數據,可能會覆蓋前面的數據,所以需要一個按鍵存儲電路,將每次按鍵按下產生的按鍵數據的結果記錄下來。按鍵存儲電路可以使用移位寄存器構成。2.3 密碼鎖控制電路設計密碼鎖的控制電路是整個電路的控制中心,主要完成對數字按鍵輸入和功能按鍵輸入的響應控制。2.3.1數字按鍵輸入響應控制 (1) 如果按下數字鍵,第一個數字會從顯示器的最右端開始顯示,此后每新按一個數字時,顯示器上的數字必須左移一格,以便將新的數字顯示出來。 (2) 假如要更改輸入的數字,可以按倒退按鍵來清除前一個輸入的數字,或者按清除鍵清除所有輸入的數字,再重新輸入四位數。 (3) 由于這里設計的是一個四位的電子密碼鎖,所以當輸入的數字鍵超過四個時,電路不予理會,而且不再顯示第四個以后的數字。2.3.2功能按鍵輸入響應控制 清除鍵:清除所有的輸入數字,即做歸零動作。激活電鎖鍵:按下此鍵時可將密碼鎖的門上鎖。(上鎖前必須預先設定一個四位的數字密碼。) 解除電鎖鍵:按下此鍵會檢查輸入的密碼是否正確,若密碼正確無誤則開門。圖2.7 電子密碼鎖的三種模式及關系 3 系統(tǒng)仿真3.1 模塊仿真 在進行編程的過程中,對每一模塊都要進行波形仿真。鍵盤模塊、控制模塊、動態(tài)顯示模塊的波形仿真圖分別如圖1、圖2、圖3所示。圖1 編碼器仿真波形圖2 控制電路仿真波形圖3 動態(tài)現實仿真波形4 結論 在圖1中可知,輸入“001”、“002”、“004”、“008”、“010”、“020”、“040”、“080”、“080”、“100”、“200”分別表示選擇開關k1、k2、.k9、k10,輸出數據1,2,39,0,從波形中我們可以看出這是符合。圖2所示,輸入密碼“6520”后按Close,Lock=“1”表示關鎖,再次輸入“6520”按Check,密碼鎖打開Lock=“0”。圖3中,C-display計數到“0”、“1”、“2”、“3”時,SELOUT分別為“1110”、“1101”、“1011”、“0111”,表示片選第0、1、2、3個數碼顯示管,符合設計要求。5 心得體會 通過兩星期的緊張工作,最后完成了我的設計任務基于VHDL語言的智能密碼鎖設計。通過本次課程設計的學習,我深深的體會到設計課的重要性和目的性所在。本次設計課不僅僅培養(yǎng)了我們實際操作能力,也培養(yǎng)了我們靈活運用課本知識,理論聯系實際,獨立自主的進行設計的能力。它不僅僅是一個學習新知識新方法的好機會,同時也是對我所學知識的一次綜合的檢驗和復習,使我明白了自己的缺陷所在,從而查漏補缺。希望學校以后多安排一些類似的實踐環(huán)節(jié),讓同學們學以致用。在設計中要求我要有耐心和毅力,還要細心,稍有不慎,一個小小的錯誤就會導致結果的不正確,而對錯誤的檢查要求我要有足夠的耐心,通過這次設計和設計中遇到的問題,也積累了一定的經驗,對以后從事集成電路設計工作會有一定的幫助。在應用VHDL的過程中讓我真正領會到了其并行運行與其他軟件(C語言)順序執(zhí)行的差別及其在電路設計上的優(yōu)越性。用VHDL硬件描述語言的形式來進行數字系統(tǒng)的設計方便靈活,利用EDA軟件進行編譯優(yōu)化仿真極大地減少了電路設計時間和可能發(fā)生的錯誤,降低了開發(fā)成本,這種設計方法必將在未來的數字系統(tǒng)設計中發(fā)揮越來越重要的作用。謝 辭 經過近半個月的忙碌和學習,本次課程設計已經順利完成。由于經驗的匱乏,難免有許多考慮不周全的地方,如果沒有黃老師的督促指導,以及同小組成員的支持,想要完成此次設計是難以想象的。 本文是在黃老師的悉心指導下完成的。承蒙黃老師的親切關懷和精心指導,雖然有繁忙的工作,但仍抽出時間給予我學術上的指導和幫助,特別是給我提供了許多參考資料,使我從中受益非淺。黃老師對學生認真負責的態(tài)度、嚴謹的科學研究方法、敏銳的學術洞察力、勤勉的工作作風以及勇于創(chuàng)新、勇于開拓的精神是我永遠學習的榜樣。在此,謹向黃老師致以深深的敬意和由衷的感謝! 其次,還要感謝所有指導過,教育過我的老師們,正是你們不倦的教誨,使我打下了扎實的專業(yè)基礎;同時還要感謝所有的同學們,正是因為有了你們的支持和鼓勵,此次設計才會順利完成。 最后,我僅用一句話來表達我無法言語的心情:感謝你們!參考文獻l 張亦華,數字電路EDA入門:VHDL程序實例集,北京:北京郵電大學出版社,2003.032 潘松、王國棟,VHDL實用教程,成都:電子科技大學出版社,2005.103 劉鈺、張有志,一種VHDL語言設計的數字密碼鎖,山東:信息技術與信息化出版社,2004.44 沈明山,EDA技術及可編程器件應用實訓,北京:科學出版社,2008.55 萬隆、巴奉麗,EDA技術及應用,北京:清華大學出版社,2011.10附 錄密碼鎖輸入電路的VHDL源程序:-KEYBOARD.VHDLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; ENTITY KEYBOARD ISPORT (CLK_1K: IN STD_LOGIC ; -系統(tǒng)原始時鐘脈沖(1 kHz) KEY_IN: IN STD_LOGIC_VECTOR (2 DOWNTO 0); -按鍵輸入 CLK_SCAN: OUT STD_LOGIC_VECTOR (3 DOWNTO 0) ; - 仿真時用 DATA_N: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ; -數字輸出DATA_F: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ; -功能輸出 FLAG_N: OUT STD_LOGIC ; -數字輸出標志 FLAG_F: OUT STD_LOGIC ; -功能輸出標志 CLK_CTR: OUT STD_LOGIC; -控制電路工作時鐘信號 CLK_DEBOUNCE: OUT STD_LOGIC -仿真時用 ); END ENTITY KEYBOARD ; ARCHITECTURE ART OF KEYBOARD IS COMPONENT DEBOUNCING ISPORT(D_IN: IN STD_LOGIC ; CLK: IN STD_LOGIC ; D_OUT: OUT STD_LOGIC ) ; END COMPONENT DEBOUNCING; SIGNAL CLK: STD_LOGIC ; -電路工作時鐘脈沖 SIGNAL C_KEYBOARD: STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL C_DEBOUNCE: STD_LOGIC ; -時鐘信號SIGNAL C: STD_LOGIC_VECTOR(2 DOWNTO 0) ; SIGNAL N , F: STD_LOGIC_VECTOR(3 DOWNTO 0) ; -數字、功能按鍵譯碼值的寄存器SIGNAL FN , FF: STD_LOGIC ; -數字、功能按鍵標志值數字、功能按鍵SIGNAL SEL: STD_LOGIC_VECTOR (3 DOWNTO 0) ; BEGIN- 內部連接DATA_N = N ; DATA_F = F ; FLAG_N = FN ; FLAG_F = FF ; CLK_CTR = CLK ; -掃描信號發(fā)生器 COUNTER : BLOCK ISSIGNAL Q: STD_LOGIC_VECTOR(5 DOWNTO 0); SIGNAL SEL: STD_LOGIC_VECTOR (3 DOWNTO 0); -1110-1101-1011-0111 BEGINPROCESS (CLK_1K) IS BEGIN IF CLK_1KEVENT AND CLK_1K =1 THEN Q = Q+1; END IF; C_DEBOUNCE = Q(2) ; -時鐘信號, 大約125 Hz C_KEYBOARD = Q(6 DOWNTO 5) ; -C_DEBOUNCE = Q(1) ; -仿真時用 -C_KEYBOARD = Q(5 DOWNTO 4) ; -仿真時用 CLK = Q(0) ; END PROCESS; CLK_DEBOUNCE=C_DEBOUNCE; SEL = 1110 WHEN C_KEYBOARD=0 ELSE1101 WHEN C_KEYBOARD=1 ELSE1011 WHEN C_KEYBOARD=2 ELSE0111 WHEN C_KEYBOARD=3 ELSE1111; CLK_SCAN KEY_IN(0) , D_OUT = C(0), CLK = C_DEBOUNCE); U2: DEBOUNCING PORT MAP (D_IN = KEY_IN(1) , D_OUT = C(1), CLK = C_DEBOUNCE); U3: DEBOUNCING PORT MAP (D_IN = KEY_IN(2) , D_OUT = C(2), CLK = C_DEBOUNCE ); END BLOCK DEBOUNCING ; KEY_DECODER : BLOCK SIGNAL Z : STD_LOGIC_VECTOR(4 DOWNTO 0) ; -按鍵位置BEGINPROCESS(CLK) BEGIN Z N N N N N N N N N N N F F F = 1000 ; END CASE ; END IF ; END PROCESS ; FN = NOT ( N(3) AND N(2) AND N(1) AND N(0) ) ; FF = F(2) OR F(0) ; END BLOCK KEY_DECODER ; END ARCHITECTURE ART;密碼鎖控制電路的VHDL源程序:-CTRL.VHDLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CTRL ISPORT (DATA_N: IN STD_LOGIC_VECTOR(3 DOWNTO 0); DATA_F: IN STD_LOGIC_VECTOR(3 DOWNTO 0); FLAG_N: IN STD_LOGIC; FLAG_F: IN STD_LOGIC; CLK: IN STD_LOGIC; ENLOCK: OUT STD_LOGIC; -1: LOCK, 0: UNLOCK DATA_BCD: OUT STD_LOGIC_VECTOR (15 DOWNTO 0); END ENTITY CTRL ; ARCHITECTURE ART OF CTRL IS SIGNAL ACC, REG: STD_LOGIC_VECTOR (15 DOWNTO 0); -ACC用于暫存鍵盤輸入的信息,REG用于存儲輸入的密碼 SIGNAL NC: STD_LOGIC_VECTOR (2 DOWNTO 0); SIGNAL RR2, CLR, BB, QA, QB: STD_LOGIC; SIGNAL R1, R0: STD_LOGIC; BEGIN -寄存器清零信號的產生進程PROCESS(CLK) BEGIN IF CLKEVENT AND CLK=1 THEN R1=R0; R0=FLAG_F; END IF; RR2=R1 AND NOT R0; CLR=RR2; END PROCESS; -按鍵輸入數
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝飾藝術考試題及答案
- 驅動力測評試題及答案
- 高中摩擦力試題及答案
- 系統(tǒng)化學習樂理的路徑試題及答案
- 物理實驗注意事項題及答案2025年
- 領地禮儀考試題及答案
- 電氣控制課后試題及答案
- 海門二模語文試題及答案
- 地籍調查考試試題及答案
- 質量壓力測試題及答案
- GB/T 602-2002化學試劑雜質測定用標準溶液的制備
- GB/T 18657.1-2002遠動設備及系統(tǒng)第5部分:傳輸規(guī)約第1篇:傳輸幀格式
- GB/T 15608-2006中國顏色體系
- GB/T 14315-2008電力電纜導體用壓接型銅、鋁接線端子和連接管
- 中考語文二輪專題復習:散文和小說閱讀
- 《民法》全冊精講課件
- 【人衛(wèi)九版內分泌科】第十一章-甲狀腺功能減退癥課件
- 護理人員業(yè)務技術檔案 模板
- 金融監(jiān)管學-金融監(jiān)管學課件
- 語文一年級上冊:拼音9《y-w》ppt教學課件
- 標準溶液配制與標定原始記錄(氫氧化鈉)
評論
0/150
提交評論