




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录 基于 VHDL 的数码锁设计毕业设计 目目 录录 摘 要 I ABSTRACT II 目 录 III 第一章 引 言 1 1 1 国内外的研究现状 1 1 2 课题的目的和意义 2 第二章 密码锁设计基础 3 2 1 设计目标及方案 3 2 2 集成电路的设计流程 4 2 3 IP核复用技术 7 2 3 1 IP复用技术 7 2 4 复杂可编程逻辑器件 CPLD 8 2 4 1 CPLD的基本特点 8 2 4 2 MAX7000E功能描述 9 2 5 硬件描述语言 11 2 5 1 Ve r i l og HDL语言 11 2 5 2 VHDL语言 12 2 5 3 Ver i l og HDL和VHDL的比较 13 第三章 数码锁的电路设计 16 3 1 数码锁整体电路设计 16 3 2 密码锁输入电路 17 3 2 1 键盘接口电路 18 目 录 3 2 2 键盘扫描电路 21 3 2 3 弹跳消除电路 22 3 2 4 键盘译码电路 24 3 2 5 按键存储电路 25 3 2 6 键盘输入电路的整体的仿真 26 3 3控制电路的设计 26 3 3 1 数字按键输入部分 26 3 3 2 功能按键输入部分 27 3 4 显示电路的设计 29 第四章 外围电路设计及整体电路 31 4 1 开锁电路的设计 31 4 2 报警电路的设计 31 4 3 整体电路 32 结 论 33 参 考 文 献 34 致 谢 35 附 录 第一章 引 言 1 第一章第一章 引引 言言 1 1 国内外的研究现状 随着电子技术的发展 电子锁的设计也在不断的发展 目前 市 场上的电子锁有键盘式电子密码锁 遥控式电子防盗锁 卡式电子防盗锁等 80年代 在日本产生了最早的电子密码锁 随着日本经济复苏 电子行业的快速 发展 一些利用简单的门电路设计的密码锁出现了 这类电路安全性差 容易破解 到了90 年代 美国 意大利 德国 日本 加拿大 韩国以及我国的台湾 香港等地的微电 子技术的进步和通信技术的发展为密码锁提供了技术上的基础 从而推动密码锁走向 实际应用的阶段 我国于90年代初开始对密码锁进行初步的探索 到目前为止 在此领域虽已有较 大的发展 采用各种电路进行设计的比较多 技术也相当先进 但是 我们必须正视 的一个事实是 出口产品中高档产品只占15 20 而我国高档产品在发达国家也只能 算是中档产品 价格低是普遍现象 此外 我国目前的出口产品 与国外产品相比 无论是品牌知名度还是产品售价 我国产品有着非常大的差距 电子技术发展至今已达到相当高的水平 电子密码锁技术己十分成熟 家庭 宾 馆已开始使用电子门 贵重物品 机密文件的保管也用到了电子密码锁 电子密码锁 控制器在现场与传感器及执行机构相连 进行状态监视和完成控制功能 小型便携的 新型装置 可广泛应用在各种场合 其结构简单 造价低廉 安全性好 通常电子密 码锁系统由电路部分和机械执行部分组成 电路部分有利用密码锁ASIC 专用集成电路 芯片 控制 利用单片机控制以及逻辑门电路构成等多种方式 在现有的电子密码锁中 基 本上是用户由键盘通过接口电路将意图解锁码输入到控制器 主要由CPLD组成 中 控制器 将输入的密码与电子锁内预置的开锁密码进行比较 鉴别 当确认完全一致时 送出 一个信号给功率放大器 然后由继电器带动机械执行部件开锁 输入的密码将被与电 子锁内预置的开锁密码进行比较 1 2 课题的目的和意义 随着社会物质的财富的日益增长 安全防盗已成为全社会的问 第一章 引 言 2 题 人们对锁的要求越来越高 既要安全可靠的防盗 又要使用方便 电子密码锁由于其自 身的优势 越来越受到人们的青睐 但是目前使用的电子密码锁大部分是基于单片机用分离 元件实现的 其成本较高且可靠性的得不到保证 本次设计采用 EDA技术 利用 QUARTUS 工作平台和 VHDL语言 应用一个CPLD 芯片实现 一种与单片机控制完全不同的电子数码锁 该设计较运用单片机设计电路更加 简单 使用方便 第二章 密码锁设计基础 3 第二章第二章 密码锁设计基础密码锁设计基础 2 1 设计目标及方案 从密码锁的发展现状来看 机械密码锁通常包含复杂的机 电功能组件 需借助 先进的制造技术与装配工艺 制造周期长 成本高 卡片式密码锁是卡片设备 易磨 损 寿命较短 卡片容易复制 不易双向控制 磁卡内存储的信息容易因外界磁场干 扰而错乱 以致卡片 钥匙 无效 指纹密码锁从使用是否方便的角度看 对安装环境和 使用者的要求很高 同一个人 在指纹划伤 无法开锁 还有市面上利用单片机控制 的电子密码锁 也存在一些缺点 1 利用 单片机 设计的密码锁其 逻辑性 能相对 比较弱 2 利用单片机设计需要外部电路较多 这样 使得安全性 差 密码 容易破解 3 在输入密码 时容易失误 4 电路结构复杂 要利用单独的存储器才能完成 所设计电子密码锁系统设计目标 1 所设计的产品需要的设计环境相对较低 容易实现 成本较低 2 产品性能稳定可靠 安全性能有保证 3 使用方便 带固定键盘进行密码的设定 4 在掉电情况下 原设定密码保持不变 用户可根据需要随时改变密码 5 密码锁采用串行累加计数的方式输入十进制数字口令 可设置任意位密码 6 输入的口令及口令的位数均正确即可开锁 7 允许密码输入错误的最大次数为三次 口令错误次数超过三次则进入死锁状态 要发生警报 电子密码锁系统设计方案 1 利用VHDL硬件描述语言实现对可编程门阵列和复杂可编程逻辑器 CPLD Complex Programmable Logic Device 的控制来实现 第二章 密码锁设计基础 4 2 过程中采用 QUARTUS II进行仿真 3 IC集成电路采用正向设计 自顶向下 的正向设计的设计流程 2 2 集成电路的设计流程 芯片设计 m通常分为正向设计与逆向设计两大类 正向设计通常用来实现一个新 的设计 而逆向设计是在剖析别人设计的基础上进行某种修改和改进 在这两大类中又可分为 自顶向下 Top down 和 由底向上 bottom up 不同的步骤 表 2 1 表2 1 自顶向下 和 由底向上 设计 高层次设计是一种 自顶向下 的全新设计方法 这种设计方法首先从系统设计入手 在顶 层进行作用方框图的划分 和结构设计 在方框图一级进行仿真 纠错 并用硬件描述语言对 高 层次的系统行为进行描述 在系统一级进行验证 然后 用综合优化工具生成具体门电路 的网 络 表 其对应的物理实现级可以是印刷电路板或专用集成电路 由于设计的主要仿真和 调试 过程是在高层次上完成的 这既有利于早期发现结构设计上的错误 避免设计工作的浪费 又 减少了逻辑作用仿真的工作量 提高了设计的一次成功率 对于 由底向上 的正向 设计 是在系统划分和分解的基础上先进行单元设计 在单元精心设计逐步向上进行功能块 子系统 设计以至到最终的系统总成 在正向设计时 也往往把 自顶向下 和 由底向上 两者结 合起来完成一个芯片设计 对于逆向设计 无论是 自顶向下 还是 由底向上 开始 的版 图解剖 电路图提取和功能分析这几步都是必需的 在此之后才进行不同的处理 通常情况下 都是采用 自顶向下 的正向设计 下面就劝 自顶向下 的正向设计的设计流程进行详细说明 见图2 1 方法 步骤自顶向下 由底向上 正向设计 行为设计 结构设计 逻辑设计 电路设计 版图设计 系统划分 单元设计 功能设计 子设计系统 系统组成 逆向设计 版图解析 电路图提取 功能分析 逻辑修改 逻辑设计 电路设计 版图设计 版图设计 电路图提取 功能分析 单元设计 功能块设计 子系统设计 系统设计 第二章 密码锁设计基础 5 集成电路设计过程从给出芯片的设计要求开始到芯片封装结束要经过一系列步骤 简括 如 下 1 系统规范说明 system specification IC设计首先要给出待设计系统的规范说明 包括系统 功能 性能和物理尺寸 而且还需考虑选择设计模式和制造工艺 最终目的是确定芯片尺寸 工作速度 功耗和系统功能 2 功能设计 function design 此步骤主要考虑系统的行为特性 常用的方法是时序图或者表 示各子模块间关系的关系图 利用这些信息可以改进整个设计程序或简化后续的设计步骤 3 逻辑设计 logic design 此步骤可以得到一个表示系统功能的逻辑结构并反复测试其正确 性 设计者通常用文本 原理图或逻辑图表示设计 有时也用布尔方程表示设计 在设计过程 中 我们还要对该逻辑结构进行模拟以验证其正确性 并对其进行优化设计或称之为逻辑最 小化 4 电路设计 circuit design 电路设计时要考虑逻辑部件的电路实现 包括速度和功耗 此外 还要注意各种元件的电气性能 通常用详细的电路图来表示电路设计 5 物理设计 physical design 物理设计即版图设计 是 IC设计中最费时的一步 物理设计要 把每个元件的电路表示转换成几何表示 同时 元件间连接的线网也被转换成几何连线图形 电路的这种几何 表示称为版图 版图设计要符合与制造工艺有关的设计规则要求 由于版图 的 设计复杂性 往往把版图设计分成若千子步骤进行 即划分 布图 布线 第二章 密码锁设计基础 6 功能设计 逻辑设计 电路设计 物理设计 设计验证 芯片制造 测试封装 X AB CD A D A B C 图2 1 自顶向下 正向设计的设计流程图 6 设计验证 design verification 在版图设计完成并得到以几何图形形式表示的版图后 要进 行 设计验证 也称版图验证 以确保版图满足制造工艺要求和符合系统的设计规范 版图验 证包 括设计规则检查 DRC 电学规则检查 ERC 版图与电路图一致性检查 LVS 有的还需 做版图 参数提取 LPE 经过验证后的版图可以送去制作模版并用于制造芯片 7 制造 fabrication 芯片制造过程包括硅片准备 杂质注入 扩散 光刻等工艺 8 封装和测试 package and test 在完成芯片制造后 要进行封装和测试 安置在印制电路板 Printed Circuit Board CB 上的芯片可封装成双列直插式 Dual In line Pin DIP 或引脚阵列式 Pin Grid Array PGA 用于多芯片模块 Multiple Chip module MCM 上的芯片可不封装 系统描述 第二章 密码锁设计基础 7 IC设计可能会在一个步骤中或在几个步骤之间反复交替进行 最后实现最优设计 2 3 IP核复用技术 当集成电路设计越来越向高层发展的时候 基于 IP复用的设计越来越显示出其优越性 将来的IP核将会象现在的逻辑门一样方便使用 2 3 1 IP复用技术 IP Intellectual Property 原来的含义指知识产权 著作权等 在IC设计领域可理解为实现某 种功能的设计 IP核 IP模块 则指完成某种功能的虚拟电路模块 也可称虚拟部件 VC Virtual Component IP核通常分为硬核 固核和软核三种类型 软核指的是在寄存器级或门级对电路功能用 HDL进行描述 表现为 VHDL或Verilog HDL代码 用户可修改软核以满足自己所需要的功 能 软核主要用于接口 算法 编译码和加密等模块设计 硬核指以版图形式描述的设计模 块 它基于一定的设计工艺 而且用户不能改动 用户得到的硬核仅是产品的功能 而不是 产品的 设计 常用的硬核有存储器 模拟器件和一些接口等 固核介于软核和硬核之间 允许用户重新定义关键的性能参数 内部连线也可以重新优化 一般软核的开发成本相对较低 使用灵活 但其可测性差 延时不一定能达到要求 而 硬 核的开发成本较高 但它的可测性强 可靠性高 能够很快地投入使用 固核介于两者之 间 基于 IP复用的开发给设计都带来很大的方便 可以节省时间 缩短开发周期 避免重复 劳动等 可见 基于 IP复用的设计技术将成为 IC设计的主流技术之一 2 4 复杂可编程逻辑器件 CPLD 2 4 1 CPLD的基本特点 复杂可编程逻辑器 CPLD Complex Programmable Logic Device 都是近年来发展迅速的大规 模可编程专用集成电路 ASIC 可编程 ASIC器件的使用 是电子产品领域的一场革命 它使 设计的电子产品达到小型化 微型化 集成化 高可靠性 低功耗以及成本低 重量轻 体 积 小 工作速度快 保密程度高 这些极大地提高了产品的性能价格比和竞争能力 而 CPLD器 件的在系统可编程技术使可编程器件在使用上更为方便 并大大缩短了 设计周期 减少了 设计 第二章 密码锁设计基础 8 费用 降低了设计风险 目前 CPLD器件的应用己十分广泛 已成 为电子系统设计的 重要 手 段 复杂可编程逻辑器 CPLD是一种 高集成度高密度的可编程逻辑 器件 从 Xilinx公司 推出 第 一片CPLD以来 CPLD的集成密度和性能 提高很快 其集成 密度最高达 100万门2片 系统 性能可达 200MH CPLD是由GAL发展起来的 其主体结构仍是与或阵列 自从 1992年 LATICE公司高性能的具有在系统可编ISP In System Programmable 功能的CPLD出现以来 CPLD发展迅速 具有 ISP功能的CPLD器件由于具 有同FPGA器件相似的集成度和同样的易 用性 在速度上有一定的优势 使其在可编程逻辑器件技术的竞争中与 FPGA并驾齐驱 共同 发展 I O I O FB FB FB FB FB FB FB FB FAST CONNECT SWITCH MATRIX 图2 2 CPLD内部结构原理图 CPLD器件是将多个可编程阵列逻辑 PAL 器件集成到一个芯片内 因而其具有类似PAL 的结构 一般 CPLD器件至少包括以下三个部分 可编程逻辑功能块 FB 可编程I O单元 可编 程内部连线 FB中包者有乘积项 宏单元等 有的CPLD还集成了 RAM FIFO或双口RAM 等存储器 以适应 DSP应用设计的要求 图 2 2是CPLD的结构原理图 2 4 2 MAX7000E功能描述 设计中采用的是 MAX7000E系列器件 MAX7000E系列器件是以第二代多阵列矩阵 MAX 结构为基础 是一种高性能的CMOS EEPROM器件 MAX7000E系列器件通过 JTAG 第二章 密码锁设计基础 9 接口可实现在线编辑 MAX7000E系列器件内置 JTAG BST电路 逻辑密度为 600 5000个可 用门 引脚到引脚的逻辑延迟为5 Ons 计数 器工作频率达 178 6MHZ 遵守 PCI规定 MAX7000E系列器件具有专用清除 置位 时钟使能控制 图 2 3MAX700E的结构方块 图 MAX7000E宏单元能够单独地配置时序逻辑和组合逻辑工作方式 宏单元由三个功能块组 成 逻辑阵列 乘积项选择矩阵和可编程触发器 MAX700E的宏单元如图 2 3所示 图2 3 MAX700E的结构方块图 逻辑阵列用来实现组合逻辑 它给每个宏单元提供5个乘积项 乘积项选择矩阵 分配这 些乘积项作为到 或 门和 异或 门的主要输入 以实现组合函数 或者把这些乘积项作为宏单元 中触发器的辅助输入 清除 置位 时钟和时钟使能控制 每个宏单元的一个乘积项可以反相 送 到逻辑阵列 这个 可共享 的乘积项能够连到同一个逻辑阵列块中的任何其它乘积项上 根 据 设计的逻辑需要 QUARTUS II能自动地优化乘积项的分配 作为寄存器功能 每个宏单元触发器可以单独地编程为具有可编程时钟控制的D T JK 或RS触发器工作方式 如果需要的话 可把寄存器旁路 以实现组合逻辑工作方式 在设计 输入时 用户规定所希望的触发器类型 然后 QUARTUS II对每一个寄存器功能选择最有效 第二章 密码锁设计基础 10 的触发器工作方式 以使设计所需器件资源最少 每个可编程触发器可以按 3种不同的方式实现时钟控制 1 全局时钟信号 这种方式能达到最快的时钟到输出的性能 2 全局时钟信号由高电平有效的时钟信号所使能 这种方式为每个触发器提供使能信号 并仍能达到全局时钟的快速时钟到输出的性能 3 用乘积项实现阵列的时钟 在这种模式下 触发器由来自隐含的宏单元或 拍引脚的信 号进行时钟控制 图 2 4宏单元内部结构图 图2 4宏单元内部结构图 2 5 硬件描述语言 硬件描述语言是一种用文本形式来描述和设计电路的语言 设计者可利用HDL语言来描 述 自己的设计 然后利用 EDA工具进行综合和仿真 最后变成某种目标文件 再用ASIC或 FPGA具体实现 据统计 目前美国硅谷约有80 的ASIC和FPGA是采用HDL方法设计的 方法 HDL语言有如下特点 1 HDL以行为描述见长 它能从比较抽象的角度描述硬件的行为 2 HDL是结构化语言 可从较具体的角度描述硬件结构 第二章 密码锁设计基础 11 3 HDL具备了从比较抽象到比较具体的多个层面上对电子实体进行描述的能力 4 HDL的生命力在于用它描述实体的程序 既能被模拟 simulation 又能被综合 synthesis 通过模拟 可验证设计的正确性 通过综合 抽象的设计描述将自动地自上而下地转化为 实在的物理设计 逻辑图 电路图 直至版图 HDL和传统的原理图输入方法的关系就好 比 是高级语言和汇编语言的关系 HDL的可移植性好 使用方便 但效率不如原理图 原理图 输 入的可控性好 效率高 比较直观 但设计大规模 CPLD FPGA时显得比较烦琐 在真正的 PLD FPGA设计中 通常采用原理图和HDL结合的方法来设计 适合用原理图的地方就用原 理图 适合用 HDL的地方就用 HDL 并没有强制的规定 我们的最终目的是在最短的时间 内 用自己最熟悉的工具设计出高效 稳定 符合设计要求的电路 2 5 1 Ve r i l og HDL语言 任何新生事物的产生都有它的历史沿革 早期的硬件描述语言是以一种高级语言为基础 加上一些特殊的约定而产生的 目的是为了实现RTL级仿真 用以验证设计的正确性 而不 必像在传统的手工设计过程中那样 必须等到完成样机后才能进行实测和调试 Verilog HDL就是在使用最广泛的 C语言的基础上发展起来的一种软件描述语言 它是由 GDA Gateway Design Automation 公司的PHIIMOORBY在1983年末首创的 最初只设计了一 个仿真与验证工具 之后又陆续开发了相关的故障模拟与时序分析工具 1985年MOORBY推 出它的第三个商用仿真器 Verilog XL 获得了巨大的成功 从而使得Verilog HDL迅速得到 推 广应用 1989年CADENCE公司收购了 GDA公司 使得 Verilog HDL成为了该公司的独 家专 利 1990年CADENCE公司公开发表了 VerilogHDL 并成立 LVI组织以促进 Verilog HDL成 为IEEE标准 即 IEEE Standard 1364 19950 Verilog HDL是目前应用最广泛的一种硬件描述语言 它的最大特点就是易学易用 如果有 C语言的编程经验 可以在一个较短的时间内很快的学习和掌握 Verilog HDL可以用来进行 各种层次的逻辑设计 也可以进行数字系统的逻辑综合 仿真验证和时序分析等 Verilog HDL适合算法级 Algorithm 寄存器传输级 RTL 逻辑级 Logic 门级 Gate 和 板图级 Layout 等各个层次的设计和描述 具体如表2 2所示 表2 2 不同层级的描述方式 第二章 密码锁设计基础 12 设计层次行为描述结构描述 系统级系统算法系统逻辑图 寄存器输出级数据流图 真值表 状态机 寄存器 ALUROL 等 分模块描述 门级布尔方程真值表逻辑门触发器锁存器 构成的逻辑图 板图级几何图形图形连接关系 2 5 2 VHDL语言 VHDL是超高速集成电路硬件描述语言的简称 它是目前标准化程度最高的一种硬件描述 语言 VHDL最初由美国提出 并把这个任务交给了TI IBM和IIVTERMETRICS公司 1987 年12月 IEEE接受VHDL为标准的 HDL 这就是 IEEEStd1076 1987 LRM87 后来做 了些修 改 增加了些功能 形成新的版本TEEESTD1076 1993 LRM931 VHDL 87和VHDL 93不完 全兼容 但可对 VHDL 87的源代码进行少量简单修改转变成合法的VHDL 93代码 VHDL是一种全方位的硬件描述语言 包括从系统到电路的所有设计层次 在描述风格上 VHDL支持结构 数据流和行为三种描述形式的混合描述 行为描述以过程语句来表达 数 据 流描述实际上是 RTL级语言的扩展 因此 VHDL几乎覆盖了以往各种语句描述语言的功 能 整个自顶向下或由底向上的电路设计过程都可以用VHDL完成 VHDL除具备一般的 HDL优 点外 其特殊的优点是 1 通用性好 支持面广 由于它是工业标准 凡大型CAD软件都推出支持 VHDL的设计 环境 因此用 VHDL描述的设计文件 可用不同的设计工具 2 重用性好 在用 VHDL语言设计系统硬件时 没有嵌入与工艺有关的信息 当门级或门 级以上的层次通过仿真验证后 再用相应的工具将设计映射成不同的工艺 如MOS CMOS等 这样 在工艺更新时 就无须修改原设程序 只要改变相应的映射工具就行了 因此 VHDL设 计模块便于在不同的设计场合重复使用 3 可靠性好 VHDL文件兼技术文档与实体设计于一身 可读性好 既是技术说明 又 第二章 密码锁设计基础 13 是设计实现 从而保证了二者的一致性 2 5 3 Ver i l og HDL和VHDL的比较 目前最主要的硬件描述语言是VHDL和Verilog HDL VHDL发展的较早 语法严格 而Verilog HDL是在C语言的基础上发展起来的一种硬件描述语言 语法较自由 目前ASIC设 计多采用 Verilog语言 VHDL和Verilog HDL两者相比 VHDL是一种高级的描述语言 通 常更适合行为级和 RTL级的描述 可以用于高级建模 而VerilogHDL则是一种比较低级 的描 述语言 更适合于 RTL级 尤其是门级电路的描述 易于控制电路的资源 另外 从两种语 言推进的过程来看 VHDL偏重标准化考虑 而 Verilog语言由于是在 Cadence扶植 下针对 EDA工具开发的硬件描述语言 因此 跟EDA工具的结合更为密切 学习VHDL比学习 Verilog难一些 但 Verilog自由的语法也使得的初学者容易上手但也容易出错 国外电子专业 很多在本科阶 段教授VHDL 在研究生阶段教 Verilog 从国内来看 VHDL的参考 书很多 便于查找资料 而 Verilog HDL的参考书则很少 这给学习Verilog HDL带来不少困 难 结合 两者的优点 经常采用 VHDL和Verilog HDL两种混 合语言进行电子线路描述 使得利用语 言 描述硬件的效果更佳 2 6 QUARTUS 的简介 Quartus II 是Altera公司的综合性 PLD开发软件 支持原理图 VHDL VerilogHDL以 及AHDL Altera Hardware Description Language 等多种设计输入形式 内嵌自有的综合器以 及仿真器 可以完成从设计输入到硬件配置的完整PLD设计流程 Quartus II可以在XP Linux以及Unix上使用 除了可以使用 Tcl脚本完成设计流程外 提供了完善的用户图形界面设计方式 具有运行速度快 界面统一 功能集中 易学易用等特 点 Quartus II支持Altera的IP核 包含了 LPM MegaFunction宏功能模块库 使用户可以充分 利用成熟的模块 简化了设计的复杂性 加快了设计速度 对第三方EDA工具的良好支 持也 使用户可以在设计流程的各个阶段使用熟悉的第三放EDA工具 此外 Quartus II 通过和DSP Builder工具与Matlab Simulink相结合 可以方便地实现各 种DSP应用系统 支持 Altera的片上可编程系统 SOPC 开发 集系统级设计 嵌入式软件 开发 可编程逻辑设计于一体 是一种综合性的开发平台 第二章 密码锁设计基础 14 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 作为一种可编程逻辑的设计环境 由于其强大的设计能力和直观易用的接 口 越来越受到数字系统设计者的欢迎 Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台 该平台支持一个工作组环 境下的设计要求 其中包括支持基于Internet的协作设计 Quartus平台与 Cadence ExemplarLogic MentorGraphics Synopsys和Synplicity等EDA供应商的开发工具 相兼容 改进了软件的 LogicLock模块设计功能 增添 了FastFit编译选项 推进了网络编辑性 能 而且提升了调试能力 支持MAX7000 MAX3000等乘积项器件 QuartusII设计软件根据设计者需要提供了一个完整的多平台开发环境 它包含整个FPGA 和CPLD设计阶段的解决方案 图 3 1说明了QuartusII软件的开发流程 第二章 密码锁设计基础 15 图2 6 QuartusII软件开发流程 第三章 数码锁的电路设计 16 第三章 数码锁的电路设计 3 1 数码锁整体电路设计 四位数字电子密码锁主要由三部分组成 数码锁输入电路 数码锁的控制电路 输出 七段显示电路 再辅助相应的外围电路就可实现完整的电子密码锁功能 键盘接口电 路包括时序产生电路 键盘扫描电路 弹跳消除电路 键盘译码电路 数码锁控制电 路设计包括数字按键的数字输入 存储和清除 功能按键的功能设计 移位寄存器的 设计和控制 密码清除 变更 存储 激活电锁电路 报警信号产生及电锁控制电路 密码核对 解除电锁输出七段显示电路包括数据选择电路 ICD对七段显示器译码电路 七 段显示器扫描电路 数码锁系统总体框图如3 1所示 数字密码锁使用的电源为正5V直流电 使用的原始时钟频率为4MHZ 它具有下述功能 数码输入 每按下一个数字键 就输入一个数值 并在显示器上的最右方显示出该数 值 并将先前己经输入的数据依序左移一个数字位置 数码清除 按下此键可清除前面所有的输入值 清除为 0000 密码设置 按下此键时会将当前的数字设定成新密码 解除密码 按下此键时会将当前的解锁码与所设密码进行比较 如果一致可得相应的 开锁信号 总控电锁 按下此键可将密码锁上锁或者开锁 系统报警 连续开锁三次失败后 第四次开锁时 系统报警 直到管理员终止次报 警信号 第三章 数码锁的电路设计 17 图3 1 数码锁系统总体框图 3 2 密码锁输入电路密码锁输入电路 时钟脉冲信号 扫描信号 图3 2 输入电路框图 输入电路采用键盘输入方式 操作简单 使用方便 输入电路框图如图3 2所示 弹跳消 除电路 报警电路 键盘译 码电路 按键数 据缓存 器 键盘扫描电路 1 c65 a98 f 0 n32 4 7 第三章 数码锁的电路设计 18 3 2 1 键盘接口电路 1 矩阵式键盘工作原理 矩阵式键盘采用常用的格式 4x4矩阵键盘的面板配置见图 3 2 1 图3 2 1 4 4 矩阵键盘的面板配置 键盘上的每一个按键是一个开关电路 当某按键被按下时 该按键的接点会呈现逻辑0的 状态 未按下时则呈现逻辑1状态 扫描信号由 KY3 KY0进入键盘 见图3 2 变化的顺序 依 次是1110 1101 1011 0111 1110 每次扫描一排 依序地周而复始 例如现在的扫描信号为 1101 代表目前正在扫描 4 5 6 C 这一排按键 如果这排当中没有按键被按下的 话 则由 KX3 KX0读出的值为 11111 反之 当 6 按键被按下时 则由 KX3 KX0读出的 值为1101 同理可列出其它按键与数码的关系 如表3 1所示 如果KX3 KX0读出的值为 1111时 代表该列没有按键被按下 则不进行按键编码的动作 反之如果有按键被按下时 则将KX3 KX0读出的值送至译码电路进行编码 由于矩阵式键盘是无法独自地完成按键工作的 因此需搭配时序产生电路 键盘扫描电 路 弹跳消除电路 键盘译码电路 按键存储电路以完成正确的键盘输入工作 2 时序产生电路 第三章 数码锁的电路设计 19 时序逻辑电路简称时序电路 其结构特点是由存储电路和组合电路两部分组成 或通俗 地说由触发器和门电路组成 如图3 3所示 时序电路的状态是由存储电路来记忆的 因而在 时序逻辑电路中 触发器是必不可少的 输入 输出 存储电路 组合电路 图3 3时序逻辑电路的结构框图 由于本电路系统使用三种不同操作频率的脉冲波形 它们分别是 系统时钟脉冲 它是系 统内部所有时钟脉冲的源头 频率最高 弹跳消除取样信号 键盘扫描信号和七段显示器扫 描信号 两者使用相同的时钟脉冲信号 因此可利用一个自由计数器来产生各种所需要的频率 这是一个 N位的计数器 N的大小由电路的需求而定 N值越大 除频的次数越多 可以 获得更大的频率变化 但相对的电路合成后所占的空间也越大 利用仿真软件来进行仿真 几 乎每个公司的 EDA产品都有仿真工具 Verilog XL NC verilog用于Verilog仿真 Leapfrog用 于VHDL仿真 Analog Artist用于模拟电路仿真 Viewlogic的仿真器有 viewsim门级电路仿 真器 speedwaveVHDL仿真器 VCS verilog仿真器 Mentor Graphics有其子公司 Model Tech 出品的VHDL和Verilog双仿真器 Model Sim Cadence Synopsys用的是VSS VHDL仿真器 现在的趋势是各大 EDA公司都逐渐用 QUARTUS 仿真器作为电路 验证的工具 从波形图 3 4可以看出 q0 q1 q2 得到的波形频率是时钟脉冲信号的1 2 1 4 1 8 第三章 数码锁的电路设计 20 也就是将时钟脉冲信号 CLK频率除2 除4 除8 由此可知 对于 N位计数器可获得的 信 号至多是频率除 20结果 并且我们可知 q I 得到的波形频率是 q I 1 得到波形频率的 2倍 图3 4 计数器时序仿真图 表3 1 按键 位置 与数码 的关系 第三章 数码锁的电路设计 21 3 2 2 键盘扫描电路 扫描电路的作用是用来提供键盘扫描信号 表3 1中的KY3 KY0 的电路 扫描信号变化 的顺序依次为 1110 1101 1011 0 111 1110 周而复始 扫描时依序分别扫描四列按键 当扫 描信号为 1110时 扫描 KY3这一排按键 当扫描信号为1101时 扫描 KY2这一排按 键 当 扫描信号为 1011时 扫描 KYl这一排按键 当扫描信号为0111时 扫描 KY0这一排 按键 每扫描一排按键 就检查一次是否有按健被按下 如果这排没有按键被按下就忽略 反之 如 果出现被按下的键则立即进行按键盘编码的动作 且将编码的结果存储于寄存器中 3 2 3 弹跳消除电路 因为按键采用机械式开关结构 在开关切换的瞬间会在接触点出现来回弹跳的现象 对 于 激活关闭一般电器如开关日光灯 电视等一般电子用品 并不会有何影响 但对于灵敏度较高 的电路 这种弹跳现象却可能造成误动作而影响到正确性 图3 6说明弹跳现象产生的原因 虽然只是按下按键一次然后放掉 然而实际产生按键信 号却不只是跳动一次 经过取样的检查后 将会造成误判 以为键盘按了两次 图3 5 扫描电路时序仿真 第三章 数码锁的电路设计 22 如果调整取样频率 如图3 7 可以发现弹跳现象获得了改善 必须加上弹跳消除电路 以避免发生误操作信号 请注意 消除脉冲信号电路的频率应 该 比其他任何电路的脉冲频率都要高 一般把扫描电路或每个 LED显示电路的工作频率设置 在 24HZ左右 弹跳消除电路的工作频率设置 约为125Hz 一般 工作频率通常高出 平常的 四倍 图3 8消除弹跳的电路 图 图3 6 弹跳现象产生错误的抽样结果 图3 7 调整抽样频率后得到的抽样结果 图3 8 弹跳消除电路 第三章 数码锁的电路设计 23 先将按键信号引至 KEY脚 其中 CLK是电路的时钟脉冲信号 作为取样信号 约为 Stns 左右 KEY信号经过两级的 D触发器延迟后 然后再用 RS触发器处理 此处RS触法器连接 与非门的原则是 1 一般人的按键速度是 10 次 秒 即一次按键的时间是 100ms 而按下时所用的时间可估计为 50 毫秒 采样信号 CLK 频率为 8ms 所以可以取样到六倍 2 对于不稳定的嗓声在 4ms以下 则至多可取样一次 3 上述R5触发器之前接上 AND NOT后 SR的组态只有如表 3 2 即D0D1 11时 SR 10 DLY OUT 1 表示KEY信号能被取样到连续两次 1 所以 认 定已是稳定放开按键 当DOD1 00时 SR 01 DLY OUT 0 表示KEY信号能被取样到连续两次 0 所以认 定己是稳定放开按键 当DOD1 10以及DOD1 0l时 SR 00 DLY OUT 不变 在此电路基础上再组合一个微分电路 目的是让每一次对按键反应的时间长度都维持在 一 个脉冲波形的时间长度 从图3 2 3可看出 原本前后弹跳的信号经过弹跳消除电路 处理后都已经被消除将不会导 致误操作信号的产生 SRDLY OUT 00 不变 101 010 表 3 2 SR 组态 第三章 数码锁的电路设计 24 图3 2 3 弹跳电路时序仿真图 3 2 4 键盘译码电路 上述键盘中的按键可分为数字按键和文字按键 每个按健都有自己相应的功能 比如清除 数码 切换 设置密码 解除密码 开锁 上锁等 表3 3列出各键相应的功能 数字按键主要用来输入数字 但从表3 3中可发现 键盘所产生的输出 KX3 KX0 无法拿 来直接使用 另外 不同的数字按健也担负不同的功能 因此必须由键盘译码电路来规划每个 按健的输出形式 以便执行相应的动作 3 2 5 按键存储电路 键盘电路由于每次扫描会产生新的按键数据 可能会覆盖前面的数据 因此需要一个按 键 存储电路 将整个键盘扫描完毕后的结果记下来 按键存储电路可由移位寄存器构成 常见的移位寄存器主要有以下四种 1 串行输入 串行输出 SISO Serial In Serial Out 所谓的 SISO移位寄存器即数据是一个 接着一个依序进来 输出采用先进先出的顺序 同样是一个接着一个依序输出 表3 3 键盘参数表 图3 2 4 键盘译码电路时序仿真 第三章 数码锁的电路设计 25 2 串行输入 并行输出 SIPO Serial In Parallel Out 输入的数据是 依序地 一个接一个 进 来的是移位寄存器 SIPO 一起 被送出 的则是输出 3 并行输入 串行输出 PISO Parallel In Serial Out 整组一起进入 的输入数组是移位寄存 器是PISO 依序 的一个接一个 的则是 输出 4 并行输入 并行输出 PIPO Parallel In Parallel Out 整组一起进入 的输入数组的是移 位 寄存器PIPO 整组一起输出 的则是输出 在这就不过多讨论 移位寄存器 了 因为它 是一个最基本的时序逻辑电路 3 2 6 键盘输入电路的整体的仿真 图3 2 6 1 数字键时序仿真图 第三章 数码锁的电路设计 26 3 3控制电路的设计 电子密码锁的控制电路设计 是整个电路的中心环节 本章将做详细阐述 3 3 1 数字按键输入部分 1 如果输入数字键 第一个数字会从显示器的最右端显示 每按一个数字显示器上的数字 往左移动一格 以便将新数字显示出来 2 如果想更改输入的数字 按清除键清除所有输入的数字 再重新输入4位数 3 因为设计的是 4位的电子密码锁 当输入的数字按键超过4个 电路不予理会 且不 显第4个以后的数字 3 3 2 功能按键输入部分 此4位电子密码锁具有如下功能 1 清除键 清除所有输入的数字 即做归零的动作 2 密码核对 在密码变更 解除电锁之前 必须先核对密码是否正确 3 解除报警键 管理员解除报警 4 密码变更键 按下此键时可将目前的数字设定成新的密码 要变更密码前必须输入旧的 密码 核对无误后才能进一步变更成新密码 5 上锁键 按下此键可将密码锁的门上锁 上锁之前必须先认定密码 才能上锁 此密码 必须是4位才有效 6 解锁键 检查输入的密码是否正确 密码正确即开门 图3 2 6 2 功能键仿真图 第三章 数码锁的电路设计 27 7 密码清除 为了怕使用者忘记密码 设计一个4位数字作为万能密码 不论所设密码是 什么 只要输入万能密码即可开锁 8 系统报警 连续开锁三次失败后 第四次开锁时 系统进行报警 下面规划 4x4矩阵式键盘上功能键 在使用电子密码锁的时候 只会用到三种模式 见图3 3 1 其中中文字输入模式用的是数字按键 上锁和开锁两个模式必须占用功能按键 报警解 除用到功能键 七段显示器的开关用功能键 数码锁的按键规划如下 其中 键负责两种功能 n 按键开启七段显示器 显示 0000 f 按键熄灭七段显示器 c 总控键 按键执行上锁或者开锁的功能 a 按键管理员解除报警 按键负责执行 密码设置 和 清除 的功能 按键负责执行 解除密码 和 清除 的功能 功能按键规划完 进行电路的设计和电子密码锁控制电路的源程序 输入文字模式 开始输入 4 位数字 在输入时可 能使用到清除键 上锁工作模式 清除原先存储于组件中的密码 输入旧密码后变更密码 将新密码回存于存储组件中 密码锁激活上锁 开锁工作模式 检查输入的密码是否有效 核对输入密码是否有效 都正确后解除电锁 第三章 数码锁的电路设计 28 图3 3 1 数码锁三种模式及关系 3 4 显示电路的设计 数字逻辑电路的内部 大多采用二进制或十六进制的数字系统 但是在日常生活中几乎都 用十进制 并且必须显示出来 所以必须设计七段显示器的显示电路 目的是把BCD码转换 成七段显示器的数码 七段显示器通常分为共阳极和共阴极两种 它们都可以等效7个LED 不考虑小数点 的连 接电路 其中图 3 4 1就是共阴极七段显示器的等效电路和每节LED的定义位置图 例如 要点亮七段显示器并显现一个 5 的数字符号 则输入的七段显示码是 1101101 而且这个码字的每个位对应位置如图3 4 1相同 顺序是 gfedeba 表3 4是十六 进 图3 4 1 共阴极七段显示器 图3 3 2 控制电路时序仿真图 第三章 数码锁的电路设计 29 制对共阴极七段显示码的转换表 显示电路的模块图如图 3 8所示 CLK DISPLY 表3 4 转换表 G F E D C B A BCD 至七段显示器解码电路 数据选择器 模计数器 键盘数据暂存器 图3 8 显示电路模块图 第三章 数码锁的电路设计 30 图3 9 显示电路仿真图 第四章 外围电路设计及整体电路 31 第四章 外围电路设计及整体电路 4 1 开锁电路的设计 当ENLOCK为 1 时 电子锁上锁 当ENLOCK为 0 时 电子锁开锁 开锁电路如 下图4 1 由图4 1可以看出当 ENLOCK为 0 时 VT1导通 K1吸合 接通开锁电阀 电 子锁打开 当 ENLOCK为 1 时 VT1截止 K1不吸合 开锁电阀复原 电子锁关闭 4 2 报警电路的设计 当SA每来一个上升脉冲时 报警电路进行报警动作 并进行持续到管理员解除报警 图4 2 中F4 F7组成单稳态触发器报警电路 其中F5 R3和C3组成100秒延时电路 F6 是反馈自锁电路 当 SA为高电平时 A为高电平 F4输出为低电平 F6输出高电平 使 F4 图4 2 报警电路图 图4 1 开锁电路图 第四章 外围电路设计及整体电路 32 1234 A B C D 4321 D C B A A0 2 A1 3 A2 4 A3 5 A4 6 A5 7 A6 8 A7 9 B0 18 B1 17 B2 16 B3 15 B4 14 B5 13 B6 12 B7 11 E 19 DIR 1 U1 74L S245 1 2 3 4 5 6 7 a b c d e f g 8 dp 9 GN D a bf c g d e dp 1 2 3 4 5 6 7 a b c d e f g 8 dp 9 GN D a bf c g d e dp 1 2 3 4 5 6 7 a b c d e f g 8 dp 9 GN D a bf c g d e dp 1 2 3 4 5 6 7 a b c d e f g 8 dp 9 GN D a bf c g d e dp Q1 PN P Q2 PN P Q3 PN P Q4 PN P 12 U1A EN LOCK 12 U1A 34 U1B R1 2K VT 1 VD 1 R1 10K C1 0 1uF 5V K1 D2 A12 U2A 34 U2B 56 U2C 89 U2D R2 10K VD 2 R5 200K C1 220uF 5V R3 100K C2 0 1uF R4 100K VT 2 IC VT 3 5V VC CGN D 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8EPM7128E 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 I O I O I O I O I O I O I O 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 OEI CN 42 OEI CN CLK CN 44 CLK CN 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 J 34PIN 910 1112 9 10 11 12 A A S0S2 S4S5 S1S3 S7S6 S8S11S9 S12S13S15 S10 S14 IOA 7 IOA 6 IOA 4 IOA 3 IOA 2 IOA 1 IOA 5 IOA 0 A0 A1 A2 A3 A4 A5 A6 A7 B B 自锁 F7输出为高电平 使 VT2导通 IC得电报警
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高速防盗应急预案
- 2025年洛阳保安考试题目及答案
- 桑植中考语文试卷及答案
- 学堂在线 大学生职业指导-就业指导 章节测试答案
- 极限挑战面试试题及答案
- 琴行培训合同(标准版)
- 人事保管合同(标准版)
- 定做橱柜合同(标准版)
- 内部劳务派遣合同(标准版)
- 福建省厦门英才学校2025-2026学年高一上学期第一次月考化学试卷(含解析)
- 2025年艾灸行业研究报告及未来行业发展趋势预测
- 四年级数学上册第1单元《 大数的认识 》作业设计
- (2025年)贵州省遵义市【辅警协警】笔试预测试题含答案
- 2025年建筑施工企业薪酬管理规定
- 妇科肿瘤影像学课件
- 客户开发情况汇报
- (高清版)DBJ∕T 13-318-2025 《建筑施工盘扣式钢管脚手架安全技术标准》
- 全国一等奖统编版语文三年级上册《小狗学叫》公开课课件
- 地震安全培训课件
- 中国能源数据报告2025
- 育龄妇女生殖健康知识
评论
0/150
提交评论