现代数字密码锁控制系统的设计.docx

上传人:b****7 文档编号:8951102 上传时间:2023-02-02 格式:DOCX 页数:26 大小:37.02KB
下载 相关 举报
现代数字密码锁控制系统的设计.docx_第1页
第1页 / 共26页
现代数字密码锁控制系统的设计.docx_第2页
第2页 / 共26页
现代数字密码锁控制系统的设计.docx_第3页
第3页 / 共26页
现代数字密码锁控制系统的设计.docx_第4页
第4页 / 共26页
现代数字密码锁控制系统的设计.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

现代数字密码锁控制系统的设计.docx

《现代数字密码锁控制系统的设计.docx》由会员分享,可在线阅读,更多相关《现代数字密码锁控制系统的设计.docx(26页珍藏版)》请在冰豆网上搜索。

现代数字密码锁控制系统的设计.docx

现代数字密码锁控制系统的设计

设计内容及要求

一、设计内容—现代数字密码锁控制系统的设计

作为一保险箱的数字锁控制电路,主要要求系统安全、可靠,开锁密码被破译的可能性要尽可能小,其次要求操作简单、方便,不正常情况可启动报警。

本系统采用3位二进制密码,以串行方式输入。

系统处于开门,报警或上电后的状态为待锁状态,接通电源,关门后系统进入安锁状态,启动开锁程序,进入拨号状态;当送入的密码与预置的密码相同时,解锁。

多按一位,少拨一位属错误。

若按错密码或未按开锁程序执行,则将启动报警系统。

二、设计要求

1、采用自顶向下的模块化的设计方法

2、采用EDA技术进行设计

3、使用可编程逻辑器件实现本数字系统

.

 

目录

1、前言

0.1EDA技术

0.2硬件描述语言VHDL

0.3基于VHDL的自顶向下的设计方法

0.4FPGA/CPLD设计流程

0.5MAX+PLUSⅡ软件开发系统

0.6FPGA与CPLD的比较

0.7FPGA结构与应用

0.8FLEX10K说明

2、确定初步方案

1.1数字密码锁概述

1.2数字密码锁简图

3、确定详细方案

2.1、受控部分设计方案

2.2、控制部分设计方案

4、具体电路设计

3.1、受控部分电路设计

3.1.1、输入同步化电路设计

3.1.2、输出电路设计

3.1.3、数值比较电路设计

3.1.4、数据选择电路设计

3.1.5、计数电路设计

3.2、控制器电路设计

5、实验方法

6、结束语

附录1

1、数字密码锁电路总图

2、数值比较器仿真

3、数据选择器仿真

4、计数器仿真

附录2

1、摘要(英)

2、关键词(英)

参考文献

0前言

0.1EDA技术

20世纪以来,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

现代电子设计技术的核心是EDA(ElectronicDesignAutomation)技术。

EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(HardwareDescriptionLanguage)为系统逻辑描述手段完成的设计文件,自动完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。

EDA技术在硬件实现方面融合了大规模集成电路制造技术、IC版图设计技术、ASIC测试和封装技术、FPGA/CPLD编程下载技术、自动测试技术等;在计算机辅助工程方面融合了计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)、计算机辅助工程(CAE)技术以及多种计算机语言的设计概念;而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等等。

EDA技术为现代电子理论和设计的表达与实现提供了可能性,它已不是某一学科的分支,或某种新的技能技术,应该是一门综合性学科。

它融合多学科于一体,打破了软件与硬件间的壁垒,使计算机的软件技术与硬件实现、设计效率和产品性能合二为一,它代表了电子设计技术与应用技术的发展方向。

相对于手工设计占较大比例的传统数字电子系统或IC的设计方法,EDA技术不仅极大地提高了系统设计效率,而且使设计者摆脱了大量的辅助性工作,将精力集中于创造性的方案与概念的构思上。

 

0.2硬件描述语言VHDL

硬件描述语言是EDA技术的重要组成部分,VHDL是作为电子设计主流硬件的描述语言。

VHDL的英文全名是VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage,是美国国防部二十世纪80年代后期开发的一种快速电路设计工具,目前已成为IEEE的一种标准语言。

VHDL具有多层次描述系统硬件功能的能力;支持自顶向下(TopToDown)和基于库(Library-Based)的设计方法;VHDL对设计的描述具有相对独立性。

因此,用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。

 

0.3基于VHDL的自顶向下的设计方法

当今,自顶向下的设计方法已经是EDA技术的首选设计方法。

自顶向下(TopToDown)法是一种从抽象定义到具体的实现,从高层次到低层次逐步求精的分层次、分模块的设计方法,它是数字系统设计中最常用的设计方法之一。

该设计方法的具体实施过程是:

首先根据系统的总体功能要求,进行系统级设计;然后按照一定的标准将整个系统划分成若干子系统;接着将各个子系统划分成若干功能模块,针对各模块进行逻辑电路级设计。

在对系统进行划分时需要注意子系统的数目要合适,子系统划分得太少,则失去了模块化设计的优点;子系统划分得太多,则系统之间的连接过于复杂,容易出错。

子系统设计的首要任务是对其功能进行正确划分,也就是说,能将其正确的划分为:

控制器模块和受控部分模块。

受控部分模块的设计一般比较简单,子系统设计的主要任务是控制器模块的设计。

图1-1给出了自顶向下设计流程的框图说明。

 

图1-1自顶向下的设计流程

设计完成

硬件测试

门级时序仿真

结构综合

功能仿真

测试向量生成

逻辑综合

前端功能仿真

VHDL-RTL级建模

VHDL行为仿真

建立VHDL行为模型

设计说明书

 

0.4FPGA/CPLD设计流程

利用EDA技术进行电子系统设计,最后的目标是完成专用集成电路ASIC的设计和实现,该目标可以通过超大规模可编程逻辑器件(PLD,ProgrammableLogicDevices)来实现。

FPGA(FieldProgrammableGateArray,现场可编程门阵列)和CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件)是实现这一途径的主流器件,它们的特点是直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,成本低,上市时间短,技术维护简单,工作可靠性好。

图1-2是基于EDA软件的FPGA/CPLD开发的流程图。

对于目前流行的EDA工具软件,该件,该设计流程具有一般性。

 

原理图/HDL文本编辑

时序与功能门级仿真

FPGA/CPLD适配

FPGA/CPLD

器件和电路系统

综合

 

⒈功能仿真

⒉时序仿真

逻辑综合器

结构综合器

FPGA/CPLD

编程下载

图1-2应用于FPGA/CPLDD的EDA开发流程

⒈ISP方式下载

⒉JTAG方式下载

⒊针对SRAM结构的配置

⒋OTP器件编程

 

0.5MAXA+plusⅡ软件开发系统

MAXA+plusⅡ(MultipleArrayMatrixandProgrammableLogicUserSystem)是Altera公司推出的一种集设计输入、处理和校验功能于一体的完全集成化、易学易用的可编程逻辑设计的软件。

该软件允许设计人员自由选择设计进入的方法和工具,设计人员无需详细了解器件内部的复杂结构,只需选择自己熟悉的设计方法和工具,就可进行设计输入。

该软件提供了一种真正与结构无关的可编程逻辑设计环境,它支持不同结构的器件,如FLEX、MAX及CLASSIC系列器件等。

该软件可在多种平台上运行,并提供了丰富的设计库可供设计者调用;该软件还具有开放核(Opencore)的特点,允许设计人员添加自己认为有价值的宏功能模块,充分利用这些逻辑功能块可大大减轻设计工作量。

MAXA+plusⅡ软件包括设计输入、项目处理、项目校验及器件编程等四部分。

其设计流程如图1-3所示。

 

设计输入

设计要求

设计编译

系统产品

器件编程

设计校验

设计修改

在线校验

图1-3MAXA+plusⅡ软件设计流程图

设计输入可采用原理图输入、文本输入、波形输入或第三方EDA工具生成的设计网表文件等输入方法;设计校验包括功能仿真、时序仿真和定时分析;器件编程是用经过仿真确认的配置文件配置器件;在线校验是对变成后的器件加入实际的激励信号进行测试,检查是否可完成预定功能。

上述任何一步出错,均需要回到设计输入阶段,改正错误,重新按设计流程进行设计。

 

0.6CPLD与FPGA的比较

现在我们所用的可编程逻辑器件均以大规模、超大规模集成电路工艺制造的CPLD、FPGA为主。

该两类PLD的辨别和分类主要是根据其结构特点和工作原理。

将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice的Mach系列等;

将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。

CPLD与FPGA有许多共同之处,但两者有著本质的区别。

CPLD具有丰富的逻辑资源(即逻辑门与寄存器的比例高)和高度灵活的路由资源。

CPLD的路由是连接在一起的,而FPGA的路由是分割开的,所以FPGA更为灵活,FPGA是细粒器件,即“寄存器丰富”型的(其寄存器与逻辑门的比例高),其基本单元和路由结构都比CPLD的小,这意味著每个单元间存在细粒延迟。

如果将少量的逻辑紧密排列在一起,FPGA的速度相当快。

 

0.7FPGA结构与应用

FPGA是英文FieldProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。

FPGA的基本特点主要有:

1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。

2)FPGA可做其它全定制或半定制ASIC电路的中试样片

3)FPGA内部有丰富的触发器和I/O引脚。

4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。

FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。

用户可以根据不同的配置模式,采用不同的编程方式。

加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。

掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。

FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。

当需要修改FPGA功能时,只需换一片EPROM即可。

这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。

因此,FPGA的使用非常灵活。

FPGA有多种配置模式:

并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。

在现在的数字电路设计中,FPGA发挥着越来越重要的作用。

从简单的接口电路设计到复杂的状态机,甚至“SystemOnChip”,FPGA所扮演的角色已经不容忽视。

它的可编程特性带来了电路设计的灵活性,缩短了产品的“timetomarket”。

FPGA的设计技术已经成为电子工程师必须掌握的一项技能。

 

0.8FLEX10K说明

 

现代数字密码锁的控制系统的设计

摘要:

本文介绍了一种利用PLD(可编程逻辑器件来实现现代数字密码锁控制系统的设计,阐述了现代电子设计核心技术—EDA(ElectronicDesignAutomation)技术,EDA技术在硬件实现方面融合了大规模集成电路制造技术,是微电子技术和现代电子技术二者的结合。

在该项设计中突破了传统电子设计方法,依据FPGA(FieldProgrammableGateArray)现场可编程门阵列技术的设计流程,选用FLEX10K器件,采用一种基于VHDL(Very—high—speed—integrated—circuitHardwareDescriptionLanguage)的自顶向下(ToptoDown)的设计方法进行设计使设计时层次清晰,分明,而且大大提高了系统设计效率,使设计者摆脱了大量的辅助性工作,将精力集中创造性的方案与概念构思上。

关键词:

可编程逻辑器件,EDA技术,FPGA,自顶向下,硬件描述语言。

本文设计了数字密码锁控制系统的数字电路,主要利用数字电路实现自顶向下的模块化设计。

首先确定初步方案,其次根据初步方案选用模块,并层层设计出数字锁的电路图,最后对设计出的电路图进行仿真,并分析仿真结果得到最终的正确电路图。

1、确定初步方案

1.1数字密码锁概述

作为一保险箱的数字锁控制电路,要求系统安全、可靠,开锁密码被破译的可能性要尽可能小,要求操作简单、方便。

不正常情况可启动报警,因而使用串行方式输入密码,采用串行数字输入,就得有个起始标志和结束标志,起始标志可采用复位信号,将电路恢复到起始状态,令START键产生复位信号,然后开始接受数码输入;当接受确定的3位二进制数码后,应送入结束标志;当输入密码后(没拨一个码,为了明确相邻两个码之间的界限,必须加一个DATA键),向控制电路发一信号OPEN,若前面输入的3个号码正确,便可开门,否则就向保安系统发出警报。

OPEN便是输入码结束的标志,该信号在输入码未达到3个时送入或多于4个时送入,皆判错码,发出报警信号。

系统刚接通电源或保险箱门被打开时,数字锁系统还未工作,处于待锁状态,须按一下SETUP键才能使数字锁锁上,进入安锁状态。

同样,系统在报警时也需经保安人员处理后,按SETUP键,系统才能恢复工作,通过上述分析,可以确定系统的基本操作流程如图2-1所示。

 

接通电源

报警

安锁状态

待锁状态

NO

YES

NO

NO

YES

预警状态

待启状态

拨号状态

YES

NO

YES

SETUP

NO

YES

OPEN

START

OPEN

正确

 

图2-1简易数字锁的简单流程图

综上所述,确定保险箱密码锁的基本方案如下:

1)采用3位二进制数密码,安排5个输入端(S、SETUP、START、DATA、OPEN),每个输入端通过一只双列直插式组件(DIP)开关,将其输入切至VCC或GND。

2)系统通电后须关上门并按动SETUP键后方投入运行,运行时标志开门的灯或警报灯(警铃)皆不工作,系统处于安锁状态。

3)开锁过程如下:

(1)按启动键(START)启动开锁程序,此时系统内各部分应处于初始状态。

(2)依次键入三个二进制码。

(3)按开门键OPEN。

若按上述程序执行且拨号正确,则开门继电器动作,绿灯LO亮。

若按错密码或未按上述程序执行,则按动开门键OPEN后警报装置鸣叫(单频),红灯LA亮。

(4)开锁处理事务完毕后,应将门关上,按SETUP键,使系统重新进入安锁状态。

1.2数字密码锁简图

根据上述考虑,画出系统的粗略框图,简单工作波形图,见图1.2所示

 

START

LA

LO

SETUP

SETUP

START

LA

OPEN

LO

PD1

DATA

OPEN

DATA

S

SOUND

PD2

LA

拨号错误

拨号正确

PD3

OPEN

DATA

图2-2简易数字锁的简单框图

LO

START

SETUP

少拨号

多拨号

图2-3简易数字锁的简单波形图

2、确定详细方案

在系统设计中,采用自顶向下的方法设计,须将系统划分成控制电路和受控电路两部分,受控电路又是用各种模块来设计的。

2.1、受控部分设计方案

在受控部分中,数字锁的密码输入使用两个键S和DATA,其中S是电平输入,DATA是脉冲输入。

方法是先将S置0或1状态,再按DATA键,将所置的码送入,输入密码后与原存储于系统中的密码相比较,因而需有一个1bit数码比较器,并将比较结果DeP反馈给控制器。

由于密码是串行输入,每次分别与一个预置码(PD1、PD2、PD3)比较,而这三个二进制预置码分别由S、DATA、SETUP、START、OPEN输入端送入,所以应用一个数据选择电路(MUX41)来选择,而MUX41的地址码用一个计数器控制,控制器向计数器提供的时钟脉冲信号CNP和清零信号CLR-C,计数器为模4计数器(有0、1、2、3等4个状态)对预置码进行选择(计数器状态为1、2、3时分别选择第一、第二、第三位码),计数器起始为0,每键入一个码,控制起向计数器提供一个时钟脉冲CNP,使计数器加1,当计数器计至3时,说明已送入3个数据,此时计数器向控制起发出反馈信号ce3,提示控制器进入待启状态或预警状态。

其余控制信号SETUP、START、OPEN等信号,可直接送往控制器,控制其状态的转换。

但由于。

设计如图2.1所示

 

CLR_C

(SLO)S

LA

(SLA)S

LO

Ce3

STA

OPEN

START

控制器

LO

CLR

Dep

OPE

SET

DATA

触发器

触发器

同步化

同步化

CNP

与门

计数器

COUNTER

数据比较器

comp

同步化

同步化

DATA

数据选择器

MUX41

PD1

S

SETUP

PD3

PD2

PD

500Hz

GND

图2.1简易数字锁详细框图

2.2控制部分设计方案

系统的控制器只有5个状态,说明如下:

1)待锁状态

系统处于开门,报警或上电后的状态,此时数字锁尚未“锁好”,还未进入正常运行,因此系统将不接受除SETUP外的任何输入信号,当键入SETUP后,系统将进入安锁状态,且将开门标志灯LO或报警灯LA熄灭,报警器声音切断,输出CLR信号。

至于EN信号,是用来控制DATA,OPEN信号输入的,在本状态皆应无效且与条件SETUP无关,是一种无条件输出,因而标在状态框旁边,并用箭头↓表示无效。

2)安锁状态

系统的第二状态是在按键SETUP以后,数字锁已“锁好”,系统征程运行,等待执行开锁程序,故称为安锁状态。

当START信号到来时,将转入第三状态,开锁程序开始执行,此时应将计数器复零CLR-C。

3)拨号状态

第三状态是送入密码的状态,进入此状态EN信号转入有效,允许密码信号、OPEN信号键入,故而在状态框图旁边有EN↑。

该状态每收到一个信号应先判断是DATA信号还是OPEN信号。

如是OPEN信号,则不符合开锁程序,应立刻报警,即发出SLA信号;若是数据信号,则应向计数器发出时钟信号CNP,让计数器加1,选出对应的预置密码与输入数据码比较,然后根据比较器输出DeP判断,若DeP为0,意味着号码不对,应转入预警状态,否则检查计数器是否已达3,若ce3有效,表示已接受到三个正确数码,可转入待启状态,若ce3无效,则维持原状态。

4)待启状态

第四状态是待启状态,若有信号输入,应先判断它是数据信号还是OPEN信号。

若是OPEN,则发出SLO信号,启辉绿灯LO,开门;若是数据信号,则进入预警状态。

5)预警状态

第五状态是预警状态,此时若按错密码或未按程序执行时,而按OPEN键,则LA灯亮,发出报警鸣叫信号SLA。

至此,基本描述了系统的功能。

数字控制器详图如图2.2所示

 

开锁

待锁状态

拨号状态

安锁状态

OPE

SET

预警状态

OPE

STA

OPE

Ce3

Dep

DATA

待启状态

DATA

EN↓

SLA

YES

YES

YES

SLA

NO

YES

YES

YES

YES

YES

YES

CLR

SLO

CNP

CLR_C

NO

NO

 

NO

NO

NO

NO

NO

 

NO

 

图2.2(a)简易数字锁详细流程图

 

SET

CLR

CT0

S

STA

CNP

DATA

CT1

LO

OPE

LA

少拨号

多拨号

拨号错误

拨号正确

图2.2(b)简易数字锁详细波形图

 

3、具体电路设计

自顶向下设计的主要精神在于将系统划分为控制器和受控电路两部分,而受控电路又是用各种模块实现。

这一步的任务就是根据上一步确定的系统功能,决定使用哪些模块,以及确定这些模块与控制器之间的关系。

3.1受控部分电路设计

3.1.1输入同步化电路设计

上一步已确定数字锁密码输入采用S和DATA键,………………………即宽度只占一个系统时钟周期的脉冲。

至于START、OPEN输入皆由按键产生,其产生时刻和持续时间长短是随机的,且存在因开关弹片反弹引起的电平抖动现象。

因此,必须在每个开关后面安排一个消抖和同步化的模块,以保证系统能捕捉到输入脉冲,并保证每按一次键只形成一个宽度等于系统时钟周期的脉冲,可采用图3.1电路

图3.1输入同步化电路

3.1.2输出电路设计

系统的输出有开门指示灯LO(绿)和报警灯LA(红),它们可用RS触发器实现。

控制器提供置数信号SLO、SLA和清零信号CLR。

清零信号CLR作为RS触发器的复位端(即R端)。

声音报警SLA则用LA控制一个与门,将音频为500HZ的振荡信号接至扬声器输入端。

3.1.2.1输出电路模块

3.1.2.2输出电路真值表

输入

输出

CLR

R

S

LO

1

×

×

0

0

0

1

1

0

1

0

0

0

0

0

0

0

1

1

1

3.1.3数值比较电路设计

由于密码是串行输入,每次输入一位密码分别与一个预置码比较,比较则采用等值比较器CMP,因为只需要比较二数是否相等,不需知道谁大谁小,其电路框图如图3.2所示,功能表见表1所示。

输入

输出

SPD

DeP

S=PD

1

S>PD

0

S<PD

0

S

DeP

CMP

PD

图3.2比较电路模块(要改)表1比较电路功能表

根据上述分析,得出CMP.VHD源程序为:

libraryieee;

useieee.std_logic_1164.all—IEEE库使用说明

entitycmpis

port(s,pd:

instd_logic;—实体端口说明:

S,PD是标准逻辑位

dep:

outstd_logic);类型的输入端口;DeP是标准逻辑位的输

end

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1