EDA课程电子密码锁的设计Quartus版Word格式.docx

上传人:b****6 文档编号:16617293 上传时间:2022-11-24 格式:DOCX 页数:23 大小:392.07KB
下载 相关 举报
EDA课程电子密码锁的设计Quartus版Word格式.docx_第1页
第1页 / 共23页
EDA课程电子密码锁的设计Quartus版Word格式.docx_第2页
第2页 / 共23页
EDA课程电子密码锁的设计Quartus版Word格式.docx_第3页
第3页 / 共23页
EDA课程电子密码锁的设计Quartus版Word格式.docx_第4页
第4页 / 共23页
EDA课程电子密码锁的设计Quartus版Word格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

EDA课程电子密码锁的设计Quartus版Word格式.docx

《EDA课程电子密码锁的设计Quartus版Word格式.docx》由会员分享,可在线阅读,更多相关《EDA课程电子密码锁的设计Quartus版Word格式.docx(23页珍藏版)》请在冰豆网上搜索。

EDA课程电子密码锁的设计Quartus版Word格式.docx

结构化设计就是将一个系统划分为多个模块,而每个模块又可以继续划分为更多的子模块。

这样就可以采用top-down的设计方法,就是从系统整体要求出发,自上而下的逐步将系统内容细化,最后完成系统的整体设计。

5.VHDL的描述与工艺无关

设计者在利用VHDL描述时并不需要关心电路最终将在哪种工艺上实现,EDA工具可以将VHDL源代码映射到不同的工艺床上,提高了设计的可重用性。

6.支持多风格的描述方法

VHDL不仅支持行为级的描述,而且支持数据流及结构描述。

前言

电子密码锁的使用体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻烦。

目前设计密码锁的方法很多,例如用传统的PCB板设计、用PLC设计或者用单片机设计等等。

而用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁,优于其他设计方法。

VHDL是一种符合IEEE标准的硬件描述语言,其最大的特点是借鉴高级程序设计语言的功能特性,对电路的行为与结构进行高度抽象化、规范化的形式描述,并对设计的不同层次、不同领域的模拟验证与综合优化等处理,使设计过程廷到高度自动化。

1.概述

电子密码锁在生活中十分常见,在这我将设计一个具有较低成本的电子密码锁,本文讲述了我整个设计过程及收获。

讲述了电子密码锁的的工作原理以及各个模块的功能,并讲述了所有部分的设计思路,对各部分电路方案的选择、元器件的筛选、以及对它们的调试、对波形图的分析,到最后的总体图的分析。

2.设计要求

本设计名称为电子密码锁,用四个模块,分别为输入模块、控制模块、扫描器模块、显示模块,来控制密码的输入、验证与显示。

设计所要实现的功能为:

1数码输入:

手动用3个拨码开关与3个按键设计三位密码的输入,并在显示器显示出该数值。

2数码验证:

开锁时输入密码后,拨动RT键使其为高电平,而CHANGE为低电平检测,密码正确时开锁,输出LOCKOPEN灯灭,LOCKCLOSE灯亮,表示开锁成功。

3错误显示:

当密码输入错误时,LOCKOPEN灯亮,LOCKCLOSE灯灭,表示开锁失败。

4更改密码:

当改变密码时,按下CHANGE键使其为高电平,而RT为低电平时,可改变密码。

5密码清除:

按下REST可清除前面的输入值,清除为“888”。

3.总体框图

1)设计方案:

电子密码锁,主要由三部分组成:

密码输入电路、密码锁控制电路和密码锁显示电路。

作为电子密码锁的输入电路,可选用的方案有拨码与按键来控制输入和触摸式键盘输入等多种。

拨码与按键和触摸式4*4键盘相比简单方便而且成本低,构成的电路简单,本设计中采用拨码与按键来作为该设计的输入设备。

数字电子密码锁的显示信息电路可采用LED数码显示管和液晶屏显示两种。

液晶显示具有高速显示、可靠性高、易于扩展和升级的特点,但是普通的液晶存在亮度低、对复杂环境适应能力差的特点,但是在本设计中任然使用LED数码管。

根据以上选定的输入设备与与显示器件,并考虑到现实各项密码锁功能的具体要求,与系统的设计要求,系统设计采用自顶向下的设计方案。

整个密码锁系统的总体总体框图如图3.1所示。

输入模块

寄存器与清零信号发生电路

数值比较器

LED灯

扫描电路

三选一选择器

开/关锁电路

控制模块

 

显示模块

图3.1电子密码锁系统总体框图

4.电子密码锁的波形仿真

4.1电子密码锁的设计流程

使用QuartusⅡ进行电子密码锁设计的流程为

1.编写VHDL程序(使用TextEditor)(见附录);

2.编译VHDL程序(使用Compiler);

3.仿真验证VHDL程序(使用WaveformEditor,Simulator);

4.进行芯片的时序分析(使用TimingAnalyzer);

5.安排芯片管脚位置(使用FloorplanEditor);

6.下载程序至芯片(使用Programmer)。

5.功能模块

5.1输入模块

1)功能介绍

输入时有三个拨码键控制输入,每个拨码各控制一位密码,对于其中一个拨码键每拨一次码按一次按键,表示输入一位,当输入四位时输出一位数,用“888”作为初始密码。

2)输入模块与仿真图形

单脉冲控制如图5.1如下图

图5.1

上图为单脉冲控制输入,当M给一上升沿信号将在PUL输出一位与之对应的高或低电平。

四位串行输入并行输出寄存器如下图5.1.2

图5.1.2

上图为4为串行输入并行输出寄存器,它由4个D触发组成,当reset为高电平时,每给一脉冲输入数据将向右移一位二值代码,它能同时复位

3)程序的输入

在文本区内输入程序,程序如下:

单脉冲信号控制

puls.vhd

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYpulsIS

PORT(PUL,M:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

ENDpuls;

ARCHITECTUREBEHAVEOFpulsIS

SIGNALTEMP:

STD_LOGIC;

BEGIN

PROCESS(M)

IFM'

EVENTANDM='

1'

THEN

IFPUL='

THEN

TEMP<

='

;

ELSETEMP<

0'

ENDIF;

ENDPROCESS;

Q<

=TEMP;

ENDBEHAVE;

4位串行输入并行输出寄存器

shifter.vhd

ENTITYshifterIS

PORT

(din:

reset,CLK:

INSTD_LOGIC;

qout:

bufferSTD_LOGIC_VECTOR(0TO3)

);

ENDshifter;

ARCHITECTUREactOFshifterIS

BEGIN

PROCESS(CLK)

VARIABLEq:

STD_LOGIC_VECTOR(0TO3);

IFreset='

q:

=(others=>

'

);

ELSE

ifclk'

eventandclk='

then

q(3):

=q

(2);

q

(2):

=q

(1);

q

(1):

=q(0);

q(0):

=din;

ENDIF;

qout<

=q;

ENDPROCESS;

ENDarchitectureact;

5.2控制模块

1)功能介绍

2)控制模块与仿真图形

输入译码器图5.2.1,如下图

图5.2.2

上图为译码器将4位二值代码转化成BCD码从“0000”~“1001”表示

0~9。

表5-2输入译码的真值表

输入输出

DCBAY1Y2Y3Y4字形

000000000

000100011

001000102

001100113

010001004

010101015

011001106

011101117

100010008

100110019

表5-2

总功能控制模块图5.2.3,如下图

图5.2.3

当CHANGE为高电平且rt为低电平时开始输入密码这时lockopen为高电平,而lockclose为低电平,当rt为高电平,change为低电平时开始检测密码,如上图开始密码为“108”当再次出现“108”时lockopen为高电平,而lockclose为低电平,当密码错误时lockopen为低电平,而lockclose为高电平。

4选1选择器与扫描器图5.2.4,如下图

图5.2.4

如上图多路选择器可以从多组数据来源中选取一组送入目的地,在本设计中利用多路选择器做扫描电路来分别驱动输出装置,可以将低成本消耗,如上图当输入“819”时,在时钟地控制下qout将输出“819”,而与之对应的sel扫描对应的数码管。

输入译码器

KEY.vhd

ENTITYKEYIS

PORT(clk:

data:

INSTD_LOGIC_VECTOR(3DOWNTO0);

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

q1:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDENTITYKEY;

ARCHITECTUREARTOFKEYIS

PROCESS(clk,data)IS

IFclk'

EVENTANDclk='

CASEdataIS

WHEN"

0000"

=>

q<

="

q1<

0001"

0010"

0011"

0100"

0101"

0110"

0111"

1000"

1001"

WHENOTHERS=>

ENDCASE;

ENDARCHITECTUREART;

总功能控制模块

Eleclock.vhd

ENTITYEleclockIS

PORT(NB:

NS:

NG:

CLK:

CHANGE,RT:

DB:

DS:

DG:

LOCKOPEN,LOCKCLOSE:

ENDENTITYEleclock;

ARCHITECTUREARTOFEleclockIS

COMPONENTKeyIS

PORT(CLK:

DATA:

Q:

Q1:

OUTSTD_LOGIC_VECTOR(3DOWNTO0)

ENDCOMPONENTKey;

SIGNALENABLE,C0,C1,S,ENABLE1:

SIGNALTB,TS,TG,D_B,D_S,D_G:

STD_LOGIC_VECTOR(3DOWNTO0);

ENABLE<

=CHANGEAND(NOTRT);

ENABLE1<

=RTAND(NOTCHANGE);

U0:

KEYPORTMAP(CLK=>

CLK,DATA=>

NB,Q=>

DB,Q1=>

D_B);

U1:

NS,Q=>

DS,Q1=>

D_S);

U2:

NG,Q=>

DG,Q1=>

D_G);

PROCESS(CLK,D_B,D_S,D_G)IS

IFCLK'

EVENTANDCLK='

IFENABLE='

TB<

=D_B;

TS<

=D_S;

TG<

=D_G;

IFENABLE1='

IF(TB<

=D_BANDTS<

=D_SANDTG<

=D_G)THEN

LOCKOPEN<

LOCKCLOSE<

ELSE

4选1选择器与扫描器

sel.vhd

USEIEEE.STD_LOGIC_ARITH.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYselIS

PORT(QIN1,QIN2,QIN3:

CLK,RST:

QOUT:

sel:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDsel;

ARCHITECTUREARTOFselIS

PROCESS(CLK,RST)

VARIABLECNT:

INTEGERRANGE0TO2;

IF(RST='

)THEN

CNT:

=0;

sel<

00000000"

QOUT<

ELSIFCLK'

IFCNT=2THEN

CNT:

=CNT+1;

CASECNTIS

WHEN0=>

=QIN1;

11111110"

WHEN1=>

=QIN2;

sel<

11111101"

WHEN2=>

=QIN3;

11111011"

11111111"

5.3显示模块

将密码用BCD七段数码管显示

2)显示模块与仿真波形图5.3,如下图

图5.3

上图将BCD码转化到七段译码电路上

表5-3BCD-七段数码管的真值表

输入输出

DCBAY1Y2Y3Y4Y5Y6Y7字形

000011111100

000101100001

001011011012

001101110013

010001100114

010110110115

011010111116

011111100007

100011111118

100111100119

表5-3

Seg7.vhd

ENTITYSeg7IS

PORT(num:

led:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));

ENDSeg7;

ARCHITECTUREACTOFSeg7IS

LED<

1111110"

WHENnum="

"

0110000"

WHENnum="

"

1101101"

1111001"

"

0110011"

1011011"

1011111"

1110000"

1111111"

1111011"

1110111"

1010"

0011111"

1011"

1001110"

1100"

0111101"

1101"

1001111"

1110"

1000111"

1111"

ENDACT;

6.总体设计电路图

将各个模块连接在一起实现。

2)顶层文件如下:

3)波形仿真如下:

图6﹒1

当change为高电平,rt为低电平时,输入“952”验证,当再次输入“952”时锁打开,设计正确。

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

当前位置:首页 > 高中教育 > 语文

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

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