课程设计-基于CPLD的数字锁设计.doc
《课程设计-基于CPLD的数字锁设计.doc》由会员分享,可在线阅读,更多相关《课程设计-基于CPLD的数字锁设计.doc(24页珍藏版)》请在三一文库上搜索。
1、湖南工程学院课 程 设 计 任 务 书课程名称: 嵌入式系统 题 目:基于CPLD的数字锁专业班级:电子信息0781 学生姓名: 指导老师: 审 批: 任务书下达日期 2011 年01月02 日设 计 完成日期 2011 年 01月21日 设计内容与设计要求CPLD为复杂可编程逻辑器件,通过EDA技术对其进行编程,可将一个较复杂的数字系统集成于一个芯片中,制成专用集成电路芯片,并可随时在系统修改其逻辑功能。有关知识可参见相关教材或参考书。一设计内容设计一个二位十进制数字锁,并验证其操作。具体要求如下:(1) 开锁代码为二位十进制数,当输入代码的位数和位值与锁内给定的密码一致,且按规定程序开锁时
2、,方可开锁,并点亮开锁指示灯LT。否则,系统进入“错误”状态,并发出报警信号。(2) 开锁程序由设计者确定,并要求锁内给定的密码是可调的,且预置方便,保密性好。(3) 并行数字锁的报警方式是点亮指示灯LF,并使喇叭鸣叫来报警,直到按下复位开关,报警才停止。此时,数字锁又自动进入等待下一次开锁的状态。二、设计要求:1、 设计思路清晰,给出整体设计框图;2、 在MAX+PLUS中设计各单元电路,完成其功能仿真和编译并生成低层模块;3、 在MAX+PLUS中完成顶层设计并编译通过;4、 在MAX+PLUS中完成设计下载并调试电路;5、 写出设计报告;主要设计条件1. 提供EDA实验室;2. 提供EL
3、实验箱和CPLD芯片;3. 提供ALTERA公司的MAX+PLUS10.1设计软件说明书格式1. 课程设计封面;2. 任务书;3. 说明书目录;4. 设计总体思路,基本原理和框图(顶层电路图);5. 单元电路设计(各次级模块电路图);6. 设计仿真;7. 编程下载;8. 总结与体会;9. 附录;10. 参考文献。进度安排星期一、二:下达设计任务书,介绍课题内容与要求;介绍MAX+plus软件的使用;查找资料,确定总体设计方案和单元电路设计;星期三第二周星期一:单元电路设计与仿真,硬件下载;第二周星期二、三:硬件下载;第二星期四、五:书写设计报告,打印相关图纸;答辩参考文献1. 康华光主编.电子
4、技术基础(数字部分),高等教育出版社。2. 阎石主编. 电子技术基础(数字部分),清华大学出版社。3. 陈大钦主编,电子技术基础实验,高等教育出版社。4. 彭介华主编,电子技术课程设计指导,高等教育出版社。5. 张 原编著,可编程逻辑器件设计及应用,机械工业出版社。6.荀殿栋,徐志军编著,数字电路设计实用手册,电子工业出版社。7. MAX+PLUS入门8.刘洪喜,陆颖编著. VHDL电路设计实用教程 清华大学出版社 目 录一.设计总体思路61.1基本原理61.2总设计框图6二.单元电路设计及模块仿真72.1消除抖动模块72.2键盘扫描模块92.3七段数码显示电路模块102.4译码电路模块122
5、.5 密码控制电路模块.152.6 总电路17三.编程下载18四.总结与体会21五.参考文献22一、总体设计思路1.1基本原理:本次设计我把逻辑功能划分为两个大的模块:控制部分和处理部分。控制模块是整个系统的控制核心 ,负责接收其模块传来的输入信号 ,再根据系统的功能产生相应的控制信号送到相关的模块。具体操作如下:密码预先存入寄存器中,开锁时,输入密码存入另一寄存器中,当按下“确定”键时,启动比较器,比较两个寄存器中的内容,当结果相同时M1,LT绿灯亮,并开锁;当结果不同时M0,LF红灯亮,不开锁。用户需要修改密码时,先开锁,再按“设定密码”,清除预先存入的密码,通过键盘输入新的2位十进制数,
6、然后再按下确定键完成操作。1.2总设计框图如下:键盘译码开锁LED显示输入密码寄存器键盘消抖密码预存寄存器绿灯亮键盘扫描红灯亮报警M=1消除密码输入两位十进制数密码修改YN二、单元模块设计2.1 消除抖动模块我们使用的按键通常都是机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动(如下图所示)。然而,抖动时间的长短由按键的机械特性决定,一般为5ms10ms。这是一个很重要的时间参数,在很多场合都要用到。在这里,我们用软件去除抖动。当检测到键闭合时,执行一个延时程序产生数毫秒的
7、延时,让前沿弹跳消失后再检测闭合;当发现键松开后,也给数毫秒的延时,当后沿弹跳消失后,再检测下一个键的输入。或者当前沿弹跳消失后,将检测到的信号所存,然后再输出,这样就不需要后沿延时了。消除抖动的电路封装图如下:程序如下:LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_arith.ALL; USE ieee.std_logic_unsigned.ALL; LIBRARY altera; -抖动 USE altera.maxplus2.ALL; ENTITY lwdou IS PORT ( CLK,lwin : IN S
8、TD_LOGIC; lwout : OUT STD_LOGIC ); END ; ARCHITECTURE a OF lwdou IS signal Vcc, INV_B : std_logic ; signal A0, A1 : std_logic ; signal B0, B1 : std_logic ; BEGIN Vcc = 1 ; INV_B Vcc , q = A0 , clk = CLK, prn = Vcc, clrn = INV_B ); dff2 : dff PORT MAP (d =Vcc , q = A1 , clk = CLK, prn = Vcc, clrn = I
9、NV_B ); process (CLK) begin if CLKEVENT and CLK=1 then B0 = not A1; B1 = B0; end if ; end process ; lwout = not (B1 and not B0); END ;消抖电路的仿真波形图如下:2.2 键盘扫描模块我们在键盘的四列输入口中输入一个低电平时钟扫描,当有按键被打下时,对应的行被键接通也呈现低电平状态,然后将此输入输出信号输出到键盘编码就可以进行键盘按键识别了。键盘扫描封装图如下:该模块程序如下:LIBRARY IEEE; -键盘扫描 USE IEEE.std_logic_1164.A
10、LL; USE IEEE.STD_LOGIC_ARITH.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; ENTITY LWSM IS PORT ( CLK : IN STD_LOGIC ; SM : OUT STD_LOGIC_VECTOR (4 downto 1) ); END ; ARCHITECTURE a OF LWSM IS Signal M : STD_LOGIC_VECTOR(2 DOWNTO 1); SIGNAL N: STD_LOGIC_VECTOR(4 DOWNTO 1); Begin PROCESS (CLK) Begin IF CLKE
11、vent AND CLK=1 THEN N = N+1; M =N(4 DOWNTO 3); END IF; END PROCESS; SM BT=01;EBT=10;E NULL; END CASE;END PROCESS;PROCESS(CLK) BEGIN IF CLKEVENT AND CLK=1THEN NE=0000;E1=E;LWC(6 downto 0)E=0001;E1=E;LWC(6 downto 0)E=0010;E1=E;LWC(6 downto 0)E=0011;E1=E;LWC(6 downto 0)E=0100;E1=E;LWC(6 downto 0)E=0101
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 基于 CPLD 数字 设计
链接地址:https://www.31doc.com/p-3292371.html