EDA课程设计--简易14位数字密码锁控制电路设计.doc

上传人:b**** 文档编号:30579038 上传时间:2023-08-17 格式:DOC 页数:27 大小:588.54KB
下载 相关 举报
EDA课程设计--简易14位数字密码锁控制电路设计.doc_第1页
第1页 / 共27页
EDA课程设计--简易14位数字密码锁控制电路设计.doc_第2页
第2页 / 共27页
EDA课程设计--简易14位数字密码锁控制电路设计.doc_第3页
第3页 / 共27页
EDA课程设计--简易14位数字密码锁控制电路设计.doc_第4页
第4页 / 共27页
EDA课程设计--简易14位数字密码锁控制电路设计.doc_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

EDA课程设计--简易14位数字密码锁控制电路设计.doc

《EDA课程设计--简易14位数字密码锁控制电路设计.doc》由会员分享,可在线阅读,更多相关《EDA课程设计--简易14位数字密码锁控制电路设计.doc(27页珍藏版)》请在冰豆网上搜索。

EDA课程设计--简易14位数字密码锁控制电路设计.doc

EDA

课程设计任务书

姓名

学号

班级

学院

电子信息学院

课程

EDA课程设计

题目

简易14位数字密码锁控制电路设计

设计要求

 14位数字密码分成高七位和低七位,用数字逻辑开关预置,输出信号OUT为1表示开锁,否则关闭。

 14位数字密码分时操作,先预置高七位,然后再预置低七位

 要求电路可靠,保密性强,开锁出错立即报警,(用声光两种形式同时报警)

 利用MAXPLUS2软件进行设计、编译、并在FPGA芯片上实现

 14位密码自己设定。

本次设计采用本人所在班级+本人学号后三位二进制,一班为01.

时间进度

1周

主要参考资料

《EDA实验指导书》主编:

电子信息教研室

《EDA技术与CPLD/FPGA开发应用简明教程》主编:

刘爱荣、王振成 出版社:

清华大学出版社

概述

电子密码锁现在的技术相当成熟,商店的门、保险柜、汽车等等,我们的周边随处可见。

电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。

它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。

现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。

EDA技术

2.1EDA的概念

EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。

现在对EDA的概念或范畴用得很宽。

包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。

目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。

例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。

本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。

2.2EDA技术的历史与发展

20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。

在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。

这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。

这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。

EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极大地提高了电路设计的效率和可*性,减轻了设计者的劳动强度。

2.3EDA的应用

 随着计算机技术和应用的发展,计算机辅助设计(CAD)和设计自动化(DA)技术已在电子产品(系统)的设计领域得到广泛应用。

自对电子产品的概念级设计之始,直至产品的物理级设计,EDA技术借助计算机存储量大、运行速度快的特点,可对设计方案进行人工难以完成的模拟评估、设计检验、设计优化和数据处理等工作。

目前,不同厂商、不同技术等级的EDA系统都在应用流行。

根据国内煤炭行业对电子系统的实际需求,本文着重对EDA的基本工具作介绍。

主要内容

3.1设计要求

1、14位数字密码分成高7位(DH6….DH0)和低7位(DL6….DL0),用数字逻辑开关预置,输出信号out为1表示开锁,否则关闭。

2、14位数字密码分时操作,先预置高7位,然后再置入低7位,(顶层电路可参考图1)。

3、要求电路工作可靠,保密性强,开锁出错立即报警,(用声光两种形式同时报警)。

4、利用MAXPLUS2软件进行设计、编译、并在FPGA芯片上实现。

5、设计14位密码自己设定。

比如:

“00010000010100”。

本次采用本人学号后三位二进制+两位:

一班是1,二班是10,三班是11作为设计密码。

 

3.2原理

2、电路图分析

当CLR有效时,L10的Q端为低电平,L9的Q端为高电平,反相后为低电平,光报警不会启动,声报警为高阻状态,L11的Q端为低电平L1高阻状态。

刚开始时L10的Q端为低电平,当确定高七位密码的信号CLK变为高电平时,IC9A的锁存信号CLK产生一个上升沿,锁存高七位密码,此时L10的Q端变为高电平,则L1门被关闭,没有CLR有效时,高位密码不会改变。

当高七位和低七位密码都正确时,OUT2和OUT2B输出是高电平,当CLK2产生一个上升沿时高电平通过L11是开锁端为有效信号。

同样低电平通过L9使L9的Q端为高电平,反相后为低电平,光报警不会启动,声报警为高阻状态。

当密码错误时,OUT2和OUT2B输出是低电平,当CLK2产生一个上升沿时,开锁信号为低电平,OUT2使L9的Q端为低电平,反相后为高电平,光报警会启动,声报警也会产生。

3、操作步骤

①先清零→置入DH6-DH0高位密码→②按下CLK→高7位被存在ic9a的锁存器中→③置低7位密码→out2=1,表示开锁密码正确→out2b=1→标志输入正确密码。

④按下CLK2→这时L11的Q端控制三态门开锁out=1.如果密码不正确,控制L15→out1A、out1B为高电平报警。

3.3设计内容

1.设计简易14位数字密码模块ic9a模块,框图见下图,模块IC9A设计采用VHDL实现。

2.设计一个报警信号电路(频率:

512Hz)作为CP报警用,方法不限。

时钟由实验箱CP2中的4096HZ提供。

3.在ic9a模块基础上设计14位数字密码锁的顶层电路。

提高部分(选作):

增加修改密码功能。

4.提高部分:

增加修改密码功能。

设计方案

4.1六位锁存器IC

1、VHDL源程序

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityicis

port(clk0:

instd_logic;

clr0:

instd_logic;

d0:

instd_logic_vector(6downto0);

q:

outstd_logic_vector(6downto0));

endic;

architectureart1oficis

begin

process(clk0,clr0)

begin

if(clr0='0')then

q<="0000000";

elsif(clk0'eventandclk0='1')then

q<=d0;

endif;

endprocess;

endart1;

2、电路图

3、仿真图

4.2译码器

1、VHDL源程序

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityyimais

port(a:

instd_logic_vector(6downto0);

b:

instd_logic_vector(6downto0);

out0:

outstd_logic);

endyima;

architectureareofyimais

signals3:

std_logic_vector(13downto0);

begin

process(a,b)

begin

s3<=a&b;

if(s3="01000100100110")then

out0<='1';

else

out0<='0';

endif;

endprocess;

endare;

2、实体图

3、仿真图

4.3IC9A集成模块

1、VHDL源程序

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityicis

port(clk0:

instd_logic;

clr0:

instd_logic;

d0:

instd_logic_vector(6downto0);

q:

outstd_logic_vector(6downto0));

endic;

architectureart1oficis

begin

process(clk0,clr0)

begin

if(clr0='0')then

q<="0000000";

elsif(clk0'eventandclk0='1')then

q<=d0;

endif;

endprocess;

endart1;

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityyimais

port(a:

instd_logic_vector(6downto0);

b:

instd_logic_vector(6downto0);

out0:

outstd_logic);

endyima;

architectureareofyimais

signals3:

std_logic_vector(13downto0);

begin

process(a,b)

begin

s3<=a&b;

if(s3="01000100100110")then

out0<='1';

else

out0<='0';

endif;

endprocess;

endare;

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityic9is

port(clk:

instd_logic;

clr:

instd_logic;

d:

instd_logic_vector(6downto0);

out2:

outstd_logic);

endic9;

architectureart3ofic9is

componentic

port(clk0:

instd_logic;

clr0:

instd_logic;

d0:

instd_logic_vector(6downto0);

q:

outstd_logic_vector(6downto0));

endcomponent;

componentyima

port(a:

instd_logic_vector(6downto0);

b:

instd_logic_vector(6downto0);

out0:

outstd_logic);

endcomponent;

signals1:

std_logic_vector(6downto0);

begin

u1:

icportmap(clk,clr,d,s1);

u2:

yimaportmap(s1,d,out2);

endart3;

2、实体图

3、仿真图

4.4分频器

1、VHDL源程序

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityfepis

port(reset,cp:

instd_logic;

out3:

outstd_logic);

endfep;

architectureart3offepis

signals:

std_logic_vector(2downto0);

begin

process(reset,cp)

begin

if(reset='1')then

s<="000";

elsif(cp'eventandcp='1')then

s<=s+1;

endif;

out3<=s

(2);

endprocess;

endart3;

2、实体图

3、仿真图

4.5整个密码器

1、实体图

2、仿真图

密码正确时:

密码错误时:

4.6硬件下载

1、芯片的选取

用FLKE10K系列的EPF10K10LC84_3芯片

2、引脚的锁定

选中正确芯片后,锁定引脚,然后编译下载。

3、实际操作

下载后,知道硬件的各个锁定的功能引脚对应的功能

先清零→输入高七位的密码→确定高七位的密码→输入低七位的密码→正确后→按下开锁键开锁

先清零→输入高七位的密码→确定高七位的密码→输入低七位的密码→不正确时→按下开锁键→不开锁→启动了声光报警

可修改密码设计的构想

电路图:

原理说明:

当此硬件下载到芯片时,可知锁存高七位的密码由CLK1控制,其对应的是一个按键或开关,每次输入正确的高七位密码后才能按下CLK1得到一个上升沿,因此就算按键的瞬间有振荡,也仅是锁存高七位的输入的密码,再有上升沿时可以继续锁存高七位的密码,且振荡忽略不计。

因此对IC9A集成模块,添加一个改变密码引脚功能键CHANGE。

对译码器的源程序稍加修改,当CHANGE有效时使输入的密码与另一个密码比较,再对IC9A集成模块的引脚及例化稍加修改,这样实现了简单的可以在两个内置密码间切换的功能。

心得体会

此次课程设计我们通过几天的准备,设计,调试,下载等,遇到过很多困难,当然也学到了很多实际操作的能力。

在VHDL语言设计中,首先是七位锁存器IC的设计,这个设计相当简单了,有清零端,再加一个上升沿触发端,使得锁存七位输入,每一个上升沿锁存一次。

再者是14位译码器的设计,每次输入14位密码,把次密码与内置密码比较,当密码正确时,输出端输出OUT2高电平,不正确时低电平。

然后是IC9A集成模块的设计,这个模块是IC和译码器的综合,通过对前两者的原件例化,内部连接对应产生的模块。

但此例化时要十分注意引脚的对应,命名,当我把IC9A集成模块的输入引脚定义为D时且和七位锁存器IC的输入引脚同名时,此时编译时一直报错,这让我懂得了引脚例化时有些引脚的命名不应冲突。

在顶层图编辑的过程中,我更是浪费了很长时间,以前我设计过一个IC9A集成模块,却有点问题,更正后,当我把所有原件的VHDL语言源程序都正确编译后,且都存到一个子文件夹中,接着我建立了GDF程序,当所有的触发器、三态门、反冲器、以及分频器和IC9A集成模块都导入时,且编译正确后,保存后,当过一段时候再打开时,总是警告IC9A集成模块丢失,我再同一盘中新建一个文件夹时,重新编译所有程序然后还是出现同样地问题,几经周折后我把其换了个新名字然后在编译所有程序后,再建立了GDF程序后终于搞定了。

后来我又上网查了查才知道这是因为当GDF程序读取IC9A集成模块时,两个IC9A集成模块发生冲突,从而报警找不到文件,当改名后就不会再发生冲突。

另外一点是,电路图的输入输出引脚问题,当我随意给输入引脚命名时,编译总是有错误,最后我把他该为与对应的内部元件同名时,这个错误终于解决了。

然后就是硬件下载中的问题,次过程中我收获不少,VHDL文件编译时必须用FLKE10K系列的EPF10K10LC84_3芯片设置来编译,选定其后编译然后锁定引脚,当然次过程要结合相应的硬件,使高低电平对应有开关的引脚,使输出对应有LED灯的引脚,脉冲对应有脉冲输入的引脚或按键。

最后是操作就按步骤就行啦。

整个课程设计中我也感悟颇丰,我知道遇到问题冷静的分析问题,然后解决问题,最后总结收获经验,我还对EDA这门课程更加熟细了,补充了一些知识,另外更多的是增加了实际设计操作能力,对整个设计流程更好的掌握,最后感谢老师们。

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

当前位置:首页 > 法律文书 > 辩护词

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

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