声控电子锁的设计.doc_第1页
声控电子锁的设计.doc_第2页
声控电子锁的设计.doc_第3页
声控电子锁的设计.doc_第4页
声控电子锁的设计.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Shaanxi University of Technology通信工程专业课程设计题 目 声 控 电 子 锁 的 设 计 学生姓名 王 永 亮 学号 0813024075 所在院(系) 陕 西 理 工 学 院 电 信 工 程 系 专业班级 通 信 工 程 专 业 08 3 班 指导教师 侯 宝 生 完成地点 陕 西 理 工 学 院 电 信 工 程 系 实 验 室2011年 3 月 11 日通信工程专业课程设计任务书院(系) 电 信 工 程 系 专业班级 通 信 工 程 专 业 083班 学生姓名 王 永 亮 一、计算机综合课程设计题目 声控电子锁的设计 二、计算机综合课程设计工作自 2011 年 2 月 21 日 起至 2011 年 3 月 11 日止三、计算机综合课程设计进行地点: 电 信 工 程 系 实 验 室 四、计算机综合课程设计的内容要求: 功能要求: 1. 设置8位序列密码,由话筒将敲门节奏声信号采集起来并转换成电信号,经过放大整形电路转换为高低电平序列输入序列检测电路,如果输入正确则开锁; 2. 密码可以由用户自己修改设定(只支持8位密码),修改密码通过拨码开关进行设置。拨码开关设在室内,只有打开门进入室内才可以修改; 3. 报警、锁定功能。若密码输入错误超过三次时蜂鸣器报警并且锁定; 课程设计任务要求: 1分析设计任务,拟定多种设计方案,根据实验条件,选定其中一种方案绘制系统框图和设计流程。 2设计相关电路并编写VHDL程序。 3对设计电路进行功能仿真,分析仿真波形。 4对设计电路要进行编程下载,搭建硬件电路,调试电路并记录实验结果。 5撰写设计报告一份。 指 导 教 师 系(教 研 室) 通 信 工 程 教 研 室 接受任务开始执行日期 2011年2月21日 学生签名 声控电子锁的设计王永亮(陕西理工学院电信工程系通信083班,陕西 汉中 723003)指导教师:侯宝生 摘 要 随着电子技术的发展,具有防盗报警等功能的电子锁代替安全性差的机械锁已是必然趋势。声控电子锁是以敲门声的节奏开锁的,代码检测电路是系统的主要部分。通过话筒采集敲击声将声音信号转换为电信号,然后经过放大整形电路将每次的敲击声信号变成对应的一个电平信号,控制部分采用EDA技术,利用MAX+plus II 10.2 II工作平台和VHDL硬件描述语言设计完成。以八位序列作为密码,密码可自由设置。有敲击声为高电平,用绿灯指示,反之则为低电平,用红灯指示。输入序列通过代码检测电路与预先设置好的密码进行比较,如果正确则黄灯亮输出开锁信号,当输入错误三次时报警。敲击节奏太快开不了锁,太慢也开不了锁。如果不掌握敲击规律将无法打开门锁。关 键 词 声控电子锁;MAX+plus II ;VHDL中图分类号 TN702 文献标志码 ASonic electronic lock designWang Yongliang(Grade08,Class3,Major of Communication Engineering,Dept. of E.I.of Shaanxi University of Technology, Hanzhong 723003,China)Tutor:Hou BaoshengAbstract With the development of electronic technology, have anti-burglar alarm function of electronic lock instead of poor safety of mechanical lock already is an inevitable trend. Sonic electronic lock is the rhythm of the knock on the door lock, code detection circuit is the main part of the system. Through the microphone acquisition knock voice signals are converted to electrical signals, which then amplified plastic circuit will each time the chiming of the signal into the corresponding level signal, the control part adopts EDA technology, using MAX + plus II 10.2 II work platform and VHDL design completed. With eight series as password, the password can be installed freely. Have chiming high level, with green instructions, conversely for low level, with red light instructions. Input sequences through code detection circuit with predefined good password comparison, if correct is yellow light output signal input errors lock, when three times when alarm. Knock too fast can not open the lock, too slow and can not open the lock. If do not have the percussion rule will not unlock the door.Key words Sonic shut electronic locks; MAX + plus II,;VHDL不要删除行尾的分节符,此行不会被打印 30 通 信 工 程 专 业 课 程 设 计 目 录摘要IAbstractII目 录11绪论21.1 课题背景21.1.1 EDA技术的发展21.1.1.1 EDA技术介绍21.1.1.2 EDA设计工具31.2 选题依据41.2.1 选题依据41.2.2 设计功能52系统方案选择62.1设计方案选择62.1.1方案一62.1.2方案二82.1.3方案三92.2方案论证92.2.1三种方案的比较92.2.2最终方案选择103单元模块设计113.1声音采集部分的设计113.2控制部分的设计143.2.1时钟分频模块143.2.2电平信号锁存模块153.2.3序列密码检测控制模块163.2.4开锁次数计数器及报警模块193.2.5总体电路模块204总体电路调试22结 论23致 谢24参考文献25附 录261绪论1.1 课题背景随着电子产品向智能化和微型化的不断发展,EDA技术作为现代电子设计最新技术的结晶,给数字电子系统的设计带来了革命性的变化。用VHDL硬件描述语言构造系统,所有算法完全由硬件电路来实现,使得系统的工作可靠性大为提高。由于基于VHDL硬件描述语言的FPGA和CPLD等大规模集成器件具有现场可编程功能,当设计需要更改时,只需更改VHDL语言中的控制和接口电路,利用EDA工具将更新后的设计下载到器件中即可,无需更改外部电路的设计,大大提高了设计的效率。因此,采用VHDL硬件描述语言开发的数字系统,不仅具有很高的工作可靠性,而且升级也极其方便。本文采用EDA技术,利用MAX+plus II 10.2 II工作平台和硬件描述语言,设计了一种声控电子密码锁,并通过CPLD芯片实现。1.1.1 EDA技术的发展1.1.1.1 EDA技术介绍 EDA技术即电子设计自动化技术,是一种大规模集成数字电路系统,采用硬件描述语言作为输入。在硬件实现方面融合了大规模集成电路制造技术,IC版图设计技术,ASIC测试和融合技术,FPGA/CPLD编程下载技术,自动测试技术等;在计算机辅助测试(CAT),计算机辅助工程技术以及多种计算机语言的设计概念;在现代电子学方面则容纳了更多的内容,如电子线路设计理论,数字信号处理技术,数字系统建模和优化技术及长线技术理论等。因此EDA技术为现代电子理论和设计的表达与实现提供了可能性。传统的数字电子系统或IC设计中,手工设计占了较大比例。手工设计一般先按电子系统的具体功能要求进行功能划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑简化,写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,最后进行实测与调试。手工设计方法的缺点是:(1) 复杂电路的设计,调试十分困难。(2) 如果某一过程存在错误,查找和修改时分不便。(3) 设计过程中产生大量文档,不易管理。(4) 对于IC设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差。(5) 只有再设计出样机或生产出芯片侯才能进行实测。相比之下,EDA技术有很大不同:(1) 采用硬件描述语言作为输入。用HDL对数字电子系统进行抽象的行为与功能描述以及具体的内部线路结构描述,从而可以在电子设计的各个阶段,各个层次进行计算机模拟验证,保证设计过程的正确性,可大大降低成本,缩短设计周期。(2) 设计文档的管理。某些HDL语言也是文档型的语言,极大的简化了设计文档的管理。(3) 强大的系统建模,电路仿真功能。EDA仿真测试技术只需要通过计算机,就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,极大的提高了大规模系统电子设计的自动化程度。(4) 具有自主知识产权。由于用HDL语言表达的成功的专用功能设计在实现目标方面有很大的可选择性,他既可以用不同来源的通用FPGA/CPLD实现,也可以直接以ASIC来实现,设计者拥有完全的自主权。(5) 开发技术的标准化,规范化以及IP核的可重用性。EDA软件平台支持任何标准化的设计语言,具有良好的可移植性与可测试性,为高效质的系统开发提供了可靠的保证。(6) 对设计者的硬件知识和硬件经验要求低。(7) 与CPU为主频的电路系统相比EDA技术有更好的高速性能。以软件方式来完成核运算的系统速度显然无法与纯硬件系统相比,因为软件是通过顺序执行指令的方式来完成运算和控制步骤的,而用HDL语言描述的系统是以并存方式工作的。1.1.1.2 EDA设计工具EDA工具在EDA技术应用中占据及其最重要的位置,EDA的核心是利用计算机完成电子设计全过程自动化,因此,基于计算机环境的EDA软件的支持是必不可少的。EDA工具大致可分为以下五个模块:(1) 设计输入编辑器。在各个可编程逻辑器件厂商提供的EDA开发工具中一般都含有这类输入编辑器,如Xilin的ISE,altera的MAX+plus,Quartus等。(2) HDL综合器 。对描述语言或原理图等进行综合。(3) 仿真器。(4) 适配器(或布局布线器).(5) 下载器。在EDA工具中,MAX+plus是ALTERA提供的FPGA/CPLD开发集成环境,ALTERA是世界最大的可编程逻辑器件供应商之一。MAX+plas界面友好,使用便捷,被誉为业界最易学易用的EDA软件。设计输入综合或编译适配器件下载仿真 图1 MAX+plus设计流程1.2 选题依据1.2.1 选题依据在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的方法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用既不方便,且钥匙丢失后安全性就打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械锁,客服了机械式锁安全性能差的缺点,使密码锁无论在技术上还是在性能上都有大大提高一步。随着大规模集成电路技术的发展,特别是VHDL的问世,出现了带微处理的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能使用于保密要求的箱、柜、门等。而且指纹识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术与水平与市场的接受程度,声控电子密码锁将成为这类电子防盗产品的一部分。本次设计采用一种基于现场可编程门阵列器件VHDL硬件描述语言的声控智能电子锁的设计方法。用VHDL语言构造系统,所有算法完全由硬件电路来实现,使得系统的工作可靠性大为提高。由于VHDL具有现场可编程功能,当设计需要更改时,只需更改VHDL中的控制和接口电路,利用EDA工具将更新后的设计下载到VHDL中即可,无需更改外部电路的设计,大大提高了设计的效率。因此,采用VHDL开发的数字系统,不仅具有很高的工作可靠性,而且升级也极其方便。采用EDA技术,利用MAX+plus II 10.2 II工作平台和硬件描述语言,设计一种声控电子密码锁,并通过一片CPLD芯片实现。1.2.2 设计功能基于以上思路,本次声控电子锁的设计,主要具有如下功能:(1)设置8位序列密码,由话筒将敲门节奏声信号采集起来并转换成电信号,经过放大整形电路转换为高低电平序列输入序列检测电路,如果输入正确则开锁。(2)密码可以由用户自己修改设定(只支持8位密码),修改密码通过拨码开关进行设置。拨码开关设在室内,只有打开门进入室内才可以修改。(3)报警、锁定功能。若密码输入错误超过三次时,蜂鸣器报警并且锁定输入端口。(4)敲击门前需要打开密码输入按键和检测按键才能输入密码。2系统方案选择2.1设计方案选择声控电子锁是利用敲击的节奏开锁的,代码检测电路是系统的主要部分。其原理图如下:放大整形电路传声器代码检测电路开锁次数检测模拟锁报警器时钟电路时钟指示声控电子锁原理框图 图2在本次设计中提出了三种方案:一种是用数字逻辑电路控制方案,还有一种是用VHDL语言编程方案。下面对这两种方案做分析。2.1.1方案一本方案采用数字逻辑电路来设计实现,其原理框图如下:传声器放大整形电路10秒单稳延时电路及脉冲产生电路计数器2计数器3计数器4计数器1计数器5138译码器非门与门开锁驱动电路开锁模拟指示电路报警器时钟脉冲指示电路计数器6 图3 方案一原理框图方案原理:当敲击通过传声器转化为电信号,此电信号为负相脉冲信号,为尖波。电信号通过放大整形电路转化为正脉冲信号。脉冲信号分别送到四个计数器中,同时脉冲信号输入10秒延时电路中,触发电路延时,同时触发脉冲产生电路输出周期为1秒的脉冲信号,脉冲信号的高、低由指示电路显示。将脉冲信号送到计数器5中,将计数结果送到138译码器中,译码器输出Y1、Y2、Y3、Y4分别接在计数器的功能端,且分别选通计数器。 由于计数器由译码器选通,因此在敲击的时候也要注意时间的把握,计数器在高电平时选通,因此在38译码器的输出端分别接上非门,脉冲信号计数器在每个脉冲上升时候计数一次,同时选通4个并联计数器中的一个,所以要脉冲信号为高电平后敲击,由电路可以知道,必须先敲击启动开锁电路,然后再按照正确的开锁密码开锁。当敲击信号转化为电信号为1101时,计数器1计数器4的Q1分别1101,计数器3输出通过非门再与其他计数器输出相与得到一个高电平,即开锁电平。开锁电平驱动开锁电路和开锁指示电路。计数器6主要计数开锁次数,当开锁次数超过限定次数启动报警电路,同时报警信号送到放大整形电路,使放大整形电路不工作,即自锁。2.1.2方案二方案二采用EDA技术,利用MAX+plus II 10.2 II工作平台和VHDL硬件描述语言编程,利用VHDL描述数字系统的结构,行为,功能和接口,及其控制的准确性,来实现声控电子密码锁的设计。其原理框图如下:声音序列采集电路(密码输入)控制电路 (CPLD)报警器开上锁电路脉冲信号 放大整形密码设置报警信号开上锁信号 图4 方案二原理框图方案原理:声音采集部分:采集不同节奏的声音转换电信号,并放大整形变换成高低电平。 控制部分:把电平信号送入控制电路与预先设置的密码进行核实,若与密码相符则发出开锁信号驱动开锁电路。通过控制芯片可发出报警信号,进行密码的更改设置等功能。开锁部分:当接收到开锁信号后驱动电机开锁。报警部分:当密码输入一定次数还未打开锁,则控制芯片发出报警信号驱动报警器报警。密码设置部分:通过此部分将要设置的密码信号送到控制芯片。工作过程:假设密码为敲击声“啪、停、停、啪、啪、停、停、啪”(有声表示高电平,无声表示低电平即停)其对应的电平信号为“10011001”。当输入密码时可根据红绿灯的提示进行,红灯亮,表示高电平,绿灯亮,表示低电平,通过这样的提示以达到准确输入密码的目的。当输入信号经过控制部分的核实,若符合开锁密码,则通知开锁电路开锁同时记录一次开锁,当开锁次数达到三次还未打开,将发出报警信号报警并自锁,此后一段时间将不能开锁。通过同样的方法就可以上锁。本锁在上锁后同那干过按键进入睡眠状态。密码可以根据使用者所需的安全度进行八位序列复杂程度设置。2.1.3方案三方案三采用一种是用以AT89S51为核心的单片机控制方案。选用单片机AT89S51 作为本设计的核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的密码设置功能。在单片机的外围电路外接一些功能的控制,外接LED灯用于指示作用。其原理如下图所示:AT89C51传声器信号放大整形密码设置电路晶振电路电源输入指示电路报警电路开锁电路 图5 单片机控制密码锁方案框图2.2方案论证2.2.1三种方案的比较方案一:当第一个敲击声启动开锁电路后,启动10秒延时电路进一步启动时钟脉冲产生电路整个电路开始工作。在时钟脉冲下 依次选通计数器1计数器4,在同步时钟脉冲下如果敲击声信号输入为1101,则计数器1计数器4的Q1端输出依次为1101,计数器三的输出经过非门变低,四路信号经过与门输出为高电平,驱动开锁驱动电路工作,门打开。如果在同步时钟脉冲下接收的敲击声信号不为1101,那么最后与门输出为低,开门电路不工作。开门次数通过一个计数器计数,当超过开门次数电路驱动报警电路报警,且同时送出一个自锁信号到放大整形电路,是整个电路自锁,在报警后在可将计数器复位,则解除自锁。方案二:如果敲击声信号输入为11001011,当密码送入控制部分后先采用锁存器对其进行锁存以延长电平持续时间,通过用状态机设置的序列检测器进行密码的逐位进行比较,如果密码正确则输出开锁信号开锁,如果错误输入三次后会发出报警信号驱动报警电路报警,计数器复位。内部通过一个四进制计数器来记录开锁次数,检测时钟通过编程设置一个分频器,由于CPLD外部所接时钟频率都很高,所以需要分频以满足检测和指示所需的时钟,外部接上LED灯以指示高低电平,一般情况下,在一秒之内可敲门大概在2到3次,因此分频后输出0.5HZ的时钟频率就可满足需要。方案三:利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的密码设置功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制。2.2.2最终方案选择通过论证三种方案虽然实现过程不同,但是都能够实现设计要求的功能。通过框图我们可以看出方案一的电路结构明显比方案二、三的复杂,特别是在检测电路的设计中,方案一用了四个计数器。如果要增加密码位数的话,就要再加入更多的计数器,而且密码设置也不灵活,从具体制作考虑,方案一过于电路过于复杂,电路元件重复较多,不予采用。方案二直接用CPLD芯片作为控制部分,用硬件描述语言编程,当需要更改时,只需修改程序即可完成,而且可以用软件仿真,不浪费硬件资源,设计效率高,设计灵活。当需要增加其他功能时只需在程序中加入其它模块仿真就可以,有很大的扩展空间。因此虽然三个方案都能实现功能,但方案二的可行性更高。方案三采用单片机来作为控制部分,通过编程也可以实现可以看出方案三控制灵活准确性好且保密性强还具有扩展功能,根据现实生活的需要此设计方案也采用,但从我所学知识方面考虑,EDA技术已经学习过有一定的基础,而单片机还没有学习,目前还比较陌生,需要从零开始学习,由于课设只有三周时间,所以时间上也不允许。 综合以上分析考虑后,我们选择方案二来进行本次的设计。3单元模块设计3.1声音采集部分的设计声音采集部分实际上就是将一个声音信号转化成一个电信号,用一个简单的电阻串联话筒既可形成,当然这样的电信号无法再数字电路中使数字电路实现功能,因此必须经过放大整形,电路如图3.1.1所示。图3.1.1 取样及放大整形电路其中声音采集时话筒的连接原理图如下: 图3.1.2 话筒连接原理图 当一个敲击声后,话筒接收到声音信号,话筒导通,则产生一个负相尖脉冲经过电容C6送到三极管的基极,经过三极管将声音脉冲信号放大,送到NE555的2脚,触发NE555产生一个正脉冲信号,脉冲宽度由R3、C3确定。从而达到将声音信号取样、放大整形的目的。同是还可以将声音信号延时,防止声音信号时间短而导致声音信号和序列检测不能同步的困扰。其实NE555在大学电路的学习中是一个并不陌生的元件,在数字电路的学习中,应用也十分广泛。由其可构成单稳态触发器、自激多谐振荡器以及施密特触发器等在数字电路中都有十分广泛的应用。为更好的了解整个电路的功能,在这里我们先将NE555的功能以及构成的单稳态触发器做简单的介绍:NE555:时基电路555是一种用途较广的精密定时器,可用来发生脉冲、作方波发生器、自激振荡器、定时电路、延时电路、脉宽调制电路、脉宽缺少指示电路、监视电路等。其工作电压为518V,最大输出电流200mA,可驱动功率开关管、继电器、发光管、指示灯,做振荡器时,最高频率可达300kHz。NE555的元件图如11所示 图3.1.3 NE555的元件图管脚功能介绍: 1脚为地; 2脚为触发输入端;3脚为输出端,输出的电平状态受触发器控制,而触发器受上比较器6脚和下比较器2脚的控制。当触发器接受上比较器A1从R脚输入的高电平时,触发器被置于复位状态,3脚输出低电平;当触发器接受下比较器A1从S脚输入的高电平时,触发器被置于复位状态,3脚输出高电平;2脚和6脚是互补的,2脚只对低电平起作用,高电平对它不起作用,即电压小于1Ucc/3,此时3脚输出高电平。6脚为阈值端,只对高电平起作用,低电平对它不起作用,即输入电压大于2 Ucc/3,称高触发端,3脚输出低电平,但有一个先决条件,即2脚电位必须大于1Ucc/3时才有效。3脚在高电位接近电源电压Ucc,输出电流最大可打200mA。4脚是复位端,当4脚电位小于0.4V时,不管2、6脚状态如何,输出端3脚都输出低电平。5脚是控制端。7脚称放电端,与3脚输出同步,输出电平一致,但7脚并不输出电流,所以3脚称为实高(或低)、7脚称为虚高。8脚接电源电压Vcc单稳态触发器: 单稳态触发器在数字电路中应用也是比较多的。通过上面NE555的介绍我们已经基本了解了其元件内部结构。如图9:图3.1.4 单稳态触发器 电路工作原理:当电路通电时,位于7脚的三极管截止,+Vcc通过R5对C5进行充电,当C5上的电压大于2/3Vcc时,内部比较器翻转,输出低电平, RS触发器复位,输出端为低,则三极管导通,电容迅速放电,输出端为低保持不变。如果负跳变触发脉冲由2输入,当电压值下降到1/3Vcc时,同相比较器翻转,输出低电平,RS触发器置位,输出端为高且三极管截止,电源通过R5再次向C5充电,重复上述过程,输出高电平的脉冲宽度为1.1RC。波形比较如图13所示:图3.1.5 单稳态触发电路波形图3.2控制部分的设计控制部分是整个电路的主要部分,声音采集部分整形后的电平信号输入控制部分经控制部分处理。此部分共分为三个子模块,分别为电平信号锁存模块、时钟分频模块、序列密码检测控制模块、密码输入次数纪录模块。3.2.1时钟分频模块内部工作电路所需的时钟信号都由该模块产生,由于CPLD芯片外部时钟频率较高,所以经过该模块2MHZ分频后得到1HZ的时钟,模块由EDA设计工具MAX+plusII采用VHDL语言描述,源程序见附录1,封装图如下: 图3.2.1 时钟模块图仿真波形如下: 分频前的时钟 分频后时钟 图3.2.2 时钟模块仿真图q信号即为各模块的时钟信号。3.2.2电平信号锁存模块由于敲击声音信号电平比较短暂,当信号输入控制部分时需要用一个锁存器将其锁存,然后变成比较宽的电平信号,便于检测器进行检测。电平锁存模块由EDA设计工具MAX+plusII采用VHDL语言描述,源程序见附录2,封装图如下 图3.2.3 电平锁存模块CLK3是由外部输入的声音信号电平,将它作为本模块的时钟信号,D输入端为1HZ的电平信号,EN为输入使能信号,只有当EN为高电平是该模块才能工作,其仿真波形如下图; 使能信号 锁存信号 声音电平信号 锁存后的声音信号 图3.2.4 电平锁存模块仿真波形仿真波形可以看出每当从外部输入两个声音电平信号锁存后输出一个宽度一定的电平信号,该电平信号的宽度取决于输入端D的宽度,D端口的电平信号由外部所接两个指示灯指示,绿灯亮表示高电平,红灯亮表示低电平,Q即为锁存后比较规则的电平信号。 3.2.3序列密码检测控制模块序列检测器用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出一指定代码,否则输出另一指定代码。这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新开始检测。序列检测器一般由状态机构成,状态机从信号输出方式上分,有Moore型和Mealy型两类状态机。Mealy型状态机输出是当前状态和所有输入信号的函数,它的输出是在输入变化后立即发生的,不依赖时钟的同步;Moore型状态机的输出则仅为当前状态的函数,这类状态机在输入发生变化时还必须等待时钟的到来,时钟是状态发生变化时才导致输出的变化。在本设计中,采用的是Moore型状态机来实现序列检测器设计。状态机通常都包含说明部分、主控时序进程、主控组合进程、辅助进程等几个部分。说明部分中使用TYPE语句定义新的数据类型,此数据类型为枚举型,其元素通常都用状态机的状态名来定义。状态变量应定义为信号,便于信息传递,并将状态变量的数据类型定义为含有既定状态元素的新定义的数据类型;主控时序进程是指负责状态机运转和在时钟驱动下负责状态转换的进程,它不负责下一状态的具体状态取值,当时钟的有效跳变到来时,时序进程只是机械地将次态信号的内容送入现态信号中,而次态信号中的内容完全由其他进程根据实际情况来决定;主控组合进程是根据外部输入的控制信号(包括来自状态机外部的信号和来自状态机内部其他非主控的组合或时序进程的信号),和当前状态的状态值确定一下状态的取向,即次态的取值内容,以及确定对外输出或对内部其他组合或时序进程输出控制信号的内容;辅助进程用于配合状态机工作的组合进程或时序进程。图14所示是一个状态机的结构框图。CLK AB CLR DIN 图3.2.5 一般状态机结构框图 FSM: SCHK PROCESSCOMPROCESSREG 在本设计中,序列检测器的实现可通过两种方案来实现,即单进程Moore状态机和多进程Moore状态机。 方案一:单进程Moore状态机 单进程Moore状态机的特点是组合进程和时序进程在同一个进程中,此进程可以认为是混合进程。 图3.2.6是单进程Moore状态机的工作时序。其特点是组合进程和时序进程在同一个进程中,此进程可以认为是混合进程。注意在此进程中,CASE语句处于测试时钟上升沿的ELSIF语句中,因此在综合是,对Q的赋值操作必然能引入对Q锁存的锁存器。这就是说,此进程中能产生两组同步的时序逻辑电路,一组是状态机本身,另一组是由CLK作为锁存信号的锁存器,负责Q的输出。这个状态机的优势是输出信号不会出现毛刺现象,由图3.2.6可看出。图3.2.6 单进程Moore状态机的工作时序 方案二:多进程Moore状态机 多进程Moore状态机两个主控进程,外加一个辅助进程,即锁存器进程LATCH构成,层次清晰,各进程分工明确。 多进程Moore状态机与单进程Moore状态机的工作时序一样,即图15所示。多进程Moore状态机的特点是:状态机中最先被启动的是以CLK为敏感信号的时序进程,接着启动组合进程COM,最后被启动的是锁存器进程,它是状态机进入状态S8后才被启动的。 为了避免出现毛刺现象我们采用单进程Moore状态机,当外部输入八位序列电平如“10010101”时电路需分别不间断记忆:初始状态、1、10、100、1001、10010、100101、1001010、10010101共九种状态。转换示意图如下:St8St0St1St2St3St6St7St4St5图3.2.7状态转换示意图序列检测器VHDL源程序如附录3,封装模块图如下: 图3.2.8 序列检测器封装图其中输入端中,DIN端为密码输入端口,采用串行输入,CLK为时钟信号,CLR为复位控制端口高电平有效,DATA端为密码预置输入端口,外部接八位拨码开关就可任意设置0000000011111111之间的电平数。在输出端由两个端口,C端口为开锁信号输出,当密码检测正确时由此端口输出一个高电平开锁信号,O端口为开锁次数纪录脉冲,没输入错误一次该端口输出一个高电平,同时检测复位从新开始检测。序列检测时序图如下: 输入密码 时钟脉冲 复位信号转换状态 预置密码 开锁信号 开锁次数 复位 图3.2.9 序列检测时序图有时序图可知只有从0状态以次转换到8状态时才输出开锁信号,如果想跳过中间任何一个状态的话,电路立即返回0状态从新开始检测。在某一个状态出现错误时也立即跳回0状态同时开锁次数纪录信号输出一个高电平。3.2.4开锁次数计数器及报警模块在序列检测中,密码输入每错误一次O端口就会输出一个高电平信号,此信号即为开锁次数计数器的触发脉冲,每来一个上升沿计数器自动加一,当加到四时计数器输出一个报警信号,同时计数器清零,另外如果在四次内输入密码正确则计数器也自动清零,从新计数。模块源程序见附录4,模块封装图如下: 图3.2.10 开锁次数计数器时序仿真图如下所示: 计数端 报警信号 时钟 清零信号 图3.2.11 开锁次数与报警模块时序图3.2.5总体电路模块各个模块设计好以后将其连接起来,进行仿真,总体电路封装图如下所示: 图3.2.12 总体模块封装图仿真时序图如下; 模拟声音电平 锁存电平 开锁信号 报警信号 预置密码 图3.2.13 总体模块仿真时序图 在仿真图中,EN和CLR分别为声音信号锁存使能、序列检测复位信号,都是高电平有效,XINHAO端为放大整形后的声音信号输入端。 整个系统工作过程是:敲门声经过声音采集部分采集进来后送到的声音电平锁存电路,每敲击两声输出一个高电平作为一位待检测密码,敲击时根据电平指示电路进行敲击,当红灯亮时敲一下,绿灯亮时再敲一下,两次敲击为一个高电平,红绿灯各闪一次为一个电平信号。如果密码为“10101010”则共需敲击八次,若输入正确则输出开锁信号,黄灯亮,错误超过三次则输出报警信号驱动蜂鸣器报警。4总体电路调试我们首先对前端声音采集电路进行了调试,调试过程中发现得不到想要的信号最后检查电路发现由于线路没有连接好而导致了错误。最后进行控制部分的调试,把用VHDL语言描述的总体控制电路模块进行编译,将各个输入输出管脚进行定义,然后管脚锁定,将预设密码端口依次接到八个拨码开关上用于预置密码,报警信号端口接到蜂鸣器报警电路,复位端口接到按键开关上。再次编译后下载到EDA设计实验箱的目标芯片内,这里我们选用的目标芯片为ALTERA公司的MAX7000S系列器件EPM7128SLC84-15。定义好管脚后对应管脚编号进行连线,练完后再次检查,无误后进行下载,下载成功后进行电路的调试。调试过程中发现指示灯点亮情况和按键与我们设想的相反,经过用万用表测量后得知试验箱上的指示灯接低电平时点亮,按键按下后为低电平,最后修改电路得到了正确结果。在调试过程中整个电路的工作过程如下:预先设定密码为“11101011”,先按下信号锁存使能端EN对应的按键,然后按下序列检测复位端CLR对应的按键(CLR高电平有效),按下为低电平,即允许检测输入的序列。当指示灯绿、红灯亮时各敲击一下,即输入一个“1”,连续敲击六下即为“111”停一个指示周期即为“0”,接下来的一个指示周期敲击两下“1”,然后再次停顿一个周期“0”,再连续敲击四下即“11”这样八位序列密码“11101011”就以串行方式送入检测器,这时黄灯亮,指示开锁。然后随便再输入几次,当错误超过三次,这时报警电路开始报警。总体电路连接调试后的实物图见附录5。千万不要删除行尾的分节符,此行不会被打印。“结论”以前的所有正文内容都要编写在此行之前。结 论本次设计中基本完成了预期的设计功能,实现了以敲门的节奏声,来实现开锁用指示灯来指示敲击的节奏,由此可以发现,当敲击的节奏过慢开不了锁,过快也开不了锁,因此,如果不懂得敲门节奏,胡乱的敲门是不会打开锁的,甚至会因为多次敲击而唤起报警电路的报警以提示周围的人,引起他们的注意而使那些不速之客不敢轻易靠近。当然,本设计也有不足之处,虽然解决了数字电路不能灵活设置密码的不足,但此次设计密码预设是用拨码开关引出的,也有不足,鉴于用硬件描述语言设计的电路比较灵活,容易修改电路,易于扩展其他功能,比如可以外接存储器AT24C01通过硬件语言来驱动存储器,将预设密码存于其内进一步增加了安全性。此外还可以用单片机来实现本次设计的功能,而且还可以用它灵活扩展其他功能。虽然我们在本次设计的过程中遇到很多难得,但我们始终没有放弃,我们认真查阅资料,将电路分开一个一个地解决,把每一个环节弄懂弄扎实,为以后的设计打下坚实的基础,遇到实在不懂的我们请教同学,直到我们将每一部分的电路功能了解清楚后,终于完成了我们的设计,当我写到这一页的时候心里已经有很大的成就感,虽然这个设计算不上什么,但是却为我将来的学习道路起到很大的作用。分成一些模块,在得到老师的认可后,我开始了程序的编写,起初由于对VHDL语言的不熟练,走了许多弯路,在同学和老师的帮助下,我慢慢的变得清晰,每写好一个模块程序后,在实验箱上进行验证,正确后开始下一个模块程序编写。在所有模块写好后,进行顶层图设计,在这里遇到了许多麻烦,如理论上所有的都没错,但是当下载到实验箱上后却不能达到理想的效果,在指导老师的指导下,这些问题逐步解决,最后终于完成了设计。 不过设计的完成总是让人高兴的,自己认真设计的东西和抄的东西感觉完全不一样。抄的东西结束了,只是松口气,侥幸逃脱老师的法眼;自己认真设计的东西当然不是说全部自己设计,总归是自己去理解了来设计的,结束后除了感觉总算完成了,还有一点成就感。而且在这个过程中真的能学到很多东西,我们不一定要对所有的东西都广泛了解,尽量找到和自己专业有关的且感兴趣的某一方面,然后去钻研,我觉得这样更好。 在这段时间里,拖延了太久,得到的当然没有想要的好,而我确实认为自己为它付出了。 当然,最终设计的完成,离不开指导老师的辅导,非常感谢你们。不要自己写,要利用word来自动生成。详情请看最后一页致 谢通过设计让我体会到、学到了很多东西。当设计时遇到很多不懂的问题时,我认真看书,通过看书顽固了以前学的不是很扎实的知识。说真的,通过设计我对电子这方面产生了很大的兴趣,有些电路看起来是那么神奇,简单的电路实现的功能却是让人无法想象的。“做什么事都要专一,只要自己用心做,什么事都有可能做成功,关键是你肯不肯下工夫”这是我在设计的时候体会到的。真的很庆幸

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论