首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

一种多功能电子密码锁的VHDL设计(3)

一种多功能电子密码锁的VHDL设计(3)

对于后续控制电路kong4~kong8,都应具有密码清除、存储、核对及修改等功能。由于仅仅是操作数位数不同而已,这三个电路的VHDL语言描述过程对设计人员来说,几乎是重复操作,因此大大缩短了设计周期。

控制电路中密码的存储是利用寄存器来实现的。

寄存器是一个典型的时序逻辑电路,在某一特定时钟信号的控制下可以装载一组二进制数据并稳定存储,撤销该控制信号后信息仍然存放在寄存器中。充分利用VHDL中不完整的if语句能产生时序电路的特点,进行电路描述,而不涉及到内部触发器,开发效率高。

3.3输出电路

输出电路要准确地将结果以十进制形式直观地显示在输出LED上,并且当用户每输入一位密码,所有LED上的密码值左移一位。该电路属于纯组合逻辑电路,可以利用VHDL语言中的case语句描述出其电路功能。

部分VHDL代码如下:



其中:movesgl表示左移位移量;zin是输入信号;当movesgl为“000”时表示不需要左移;当为“001”时,表示需要移动一次:“010”表示需要移动两次,以此类推。当用户通过矩阵键盘输入6位密码时,就需要向左移动6次,从而达到密码在LED数码管上动态左移的现象。

4仿真与下载

4.1仿真

在编程下载之前,必须利用EDA工具对设计结果进行模拟测试,即仿真。仿真是EDA设计过程中的重要步骤。本文采用的时序仿真是最接近真实器件运行特征的仿真,仿真精度较高。以4位密码电路为例,做出了系统仿真图,如图3所示。


从图3中可以看出,通过输入端zin,先后输入了密码值“5623”,s0、s1、s2、s3存储的值在实时更新,分析波形,总结该系统基本达到了预期的功能需求,输出波形正常。

4.2下载

在QuartusⅡ9.0软件中,利用集成EDA工具完成的下载步骤如下:

(1)根据开发板中可编程CPLD芯片EPM240T100C5的引脚特性,将本系统的顶层设计实体的端口进行引脚分配。

(2)适配器完成适配后生成了POF格式的下载文件,再通过JTAG编程电缆向CPLD芯片进行编程。

(3)单击下载按钮Start,即对目标器件进行下载操作。当Process进度显示100%时,表示下载成功。

(4)利用开发板上的外围接口电路,进行了硬件的测试。并利用嵌入式逻辑分析仪SignalTapⅡ观察密码输入、修改等运行情况。

5结语

本文弥补了传统密码锁技术上的不足,研究出了一种利用VHDL语言,结合EDA技术,在可编程芯片CPLD上构造逻辑电路。由于所有密码的存储及运算都通过纯硬件实现,其逻辑执行速度远高于单片机。充分利用了CPLD的逻辑可编程性,开发周期短、效率高,设计出来的产品具有较高的可靠性,且功耗低、体积小、易维护,势必会在安防市场中取胜。
继承事业,薪火相传
返回列表