0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA芯片和ISD2560实现新型电子密码锁的设计

电子设计 来源:信息化研究 作者:吴海涛,梁迎春 2020-07-15 08:00 次阅读

引 言

随着电子技术的发展,具有防盗报警、语音提示等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。目前大部分密码锁采用单片机进行设计,电路较复杂,性能不够灵活。本文采用先进的EDA(电子设计自动化)技术,利用QuartusⅡ工作平台和VHDL(超高速集成电路硬件描述语言),设计了一种新型的电子密码锁。该密码锁具有密码预置、修改、语音提示和3次输入错误则系统进入定时锁定并报警等功能,用FPGA(现场可编程门阵列)芯片和语音芯片ISD2560实现。由于充分利用了FPGA芯片密度大、功耗低、可重复编程和具有嵌入式阵列块的结构特点,且ISD2560具有抗断电、音质好、使用方便等优点,因而该密码锁体积小、功耗低、价格低、安全可靠、具有智能语音提示、维护和升级方便。

1、 软件设计

软件用VHDL来实现,VHDL相比较于VerilogHDL,具有更好的语法的严格性,但是其严格的语法一定程度上限制了错误的产生,调试较容易。VHDL的系统抽象能力比Verilog HDL强,在系统描述上占有一定的优势,但在门级描述上稍显逊色。

基于FPGA芯片和ISD2560实现新型电子密码锁的设计

本设计软件模块框图如图1所示,共8个模块。

在本系统中,密码由4位十进制数组成,初始密码为“0000”,可由用户任意设定密码。密码输入正确时,则进入开锁状态。如果密码连续输入3次错误时,则系统进入自我定时锁定,并报警。在输入过程中,系统可以发音提示(也可屏蔽掉)用户输入的数字,或者说明当前的状态。

下面介绍状态机和ISD2560控制电路的实现。

本设计的状态图见图2。

其中state为状态代码,并通过state_out[3..0]端口传给其他电路。一开机,系统处在空闲状态,当按键处理电路传来确定使能的信号compare_en时,状态机等待effect_out脚的高电平脉冲信号,如果等不到则进入S2状态,即进入密码输入一次错误状态,如果等到则进入pass状态即开门状态,如果3次输入密码错误则系统进入死锁倒计时状态,拉高lock_pin脚,启动计数器。

软件流程图见图3。

当计数满时则计数电路拉高unlock脚电平,状态机检测到unlock脚下为高电平时,则表示锁定时间结束,复位lock_pin的电平,在下一个时钟上升沿到来时,进入下一个状态即idle状态。只有pass状态下从按键处理电路传来modify_pin为高电平时,才能进入modify状态,即密码修改状态。当检测到modify_pin脚电平复位为低电平时则表明修改密码完成,状态机在下一个时钟上升沿到来之时,进入下一个状态即idle状态。如果在pass状态时,状态机检测到close_pin脚电平被拉高时,则表明用户要关门,此系统在下一个时钟上升沿到来之时,返同空闲状态。

状态机还控制红绿黄3个发光二极管与buzz-er蜂鸣器,仿真波形如图4所示。当系统处在空闲状态、S2状态、S3状态时黄灯亮(S2、S3为第2次、第3次输入密码错误的状态);系统处在修改密码的状态即modify状态时,3个灯一起亮;当处于pass状态时,绿灯亮;当系统处于锁定状态即locked状态时,红灯亮,且蜂鸣器发出报警的声音,直至跳出该状态。

本设计采用计数器方法在ce脚上产生一个低电平脉冲以控制ISD2560芯片放录音。当innum收到一个新的数值时,则开始计数;当计数器计到一半时,使ce脚输出低电平;当计数大于最高数的一半时,则复位ce脚电平,直到下次计数开始。当语音数据有多段时,先将要播放的语音段数存到一个变量中,并将各段地址存到另一个多位的变量中,然后开始放音并检测eom脚的电平。当检测到eom脚的低电平脉冲时,就表明放音结束,就让段数变量减1,然后给地址线再赋新值,并且使能计数器,再次使ce脚产生一个低电平脉冲,继续放音。这样直至语音段数变量为0时,则表明语音播放完毕,系统不再响应芯片eom脚的上升沿脉冲。图5为ISD2560控制电路的仿真波形图。

本设计采用模块化编程,各模块分工明确,各自实现各自的功能,并通过信号线彼此相连,这样的好处是调试、修改、移植程序方便。使用资源和生成总的模块电路图分别如图6和图7所示。

2 、硬件电路

硬件部分主要包括中央处理器FPGA芯片——EP1C3T144C6、输入小键盘、输出4位数码管、ISD2560语音芯片、LM386音频放大和扬声器,如图8所示。FPGA芯片用米直接控制其他元件的工作,对小键盘的输入,通过一定的算法实现电子密码锁的功能。通过控制ISD2560的控制脚的电平状态,达到控制其发音从而实现智能语音提示的效果。3个发光二极管分别用于显示当前的状态,蜂鸣器用于误码报警。

3、 结束语

本设计中采用了Altera公司的EP1C3T144C6芯片进行设计,可以极大地减少其他分立元件或其他芯片的使用,有效地缩小了印制电路板面积,提高了系统的可靠性,大大缩短了系统开发的周期。由于采用VHDL进行设计,用软件实现硬件电路,具有良好的可移植性,可随时在线更改逻辑设计及有关参数,允分体现FPGA的优越性,具有一定的实用性。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21650

    浏览量

    601497
  • 芯片
    +关注

    关注

    453

    文章

    50306

    浏览量

    421441
  • 单片机
    +关注

    关注

    6030

    文章

    44505

    浏览量

    632431
收藏 人收藏

    评论

    相关推荐

    采用ISD2560芯片的语言录放电路

    ISD2560芯片采用多电平直接模拟量存储专利技术,每个采样值直接存储在片内单个E2PROM单元中。
    发表于 05-27 14:40 5439次阅读
    采用<b class='flag-5'>ISD2560</b><b class='flag-5'>芯片</b>的语言录放电路

    求语音芯片isd2560元件

    谁有语音芯片isd2560元件,急求,发一下
    发表于 04-07 21:48

    基于ISD2560的汽车报站器设计

    介绍采用模拟语音数据直接存储语音芯片ISD2560在汽车报站器上的设计应用,使语音报站器的语音自然、使用方便。
    发表于 07-10 06:34

    基于ISD2560语音芯片的录放电路该如何去设计?

    ISD2560的语音录放电路是如何构成的?基于ISD2560语音芯片的录放电路该如何去设计?
    发表于 06-03 06:09

    基于FPGA芯片和VHDL语言实现语音电子密码锁的设计

    FPGA芯片用米直接控制其他元件的工作,对小键盘的输入,通过一定的算法实现电子密码锁的功能。通过控制I
    发表于 07-03 08:00

    isd2560应用C程序

    isd2560应用C程序 /*****************************************//* Copyright (c) 2005, 通信工程学院  
    发表于 05-21 09:01 91次下载

    ISD2560语音芯片在排队机系统中的应用

    摘要:详细介绍了Winbond公司生产的ISD2560语音芯片的引脚功能、操作模式以及具体使用方法,给出了用AT89C51与ISD2560构成的语音系统的硬件结构和软件设计方法。
    发表于 05-26 21:49 1746次阅读
    <b class='flag-5'>ISD2560</b>语音<b class='flag-5'>芯片</b>在排队机系统中的应用

    电子密码锁的设计

    电子密码锁的设计 设计一个电子密码锁,在开的状态下输入密码
    发表于 04-29 16:23 5790次阅读
    <b class='flag-5'>电子</b><b class='flag-5'>密码锁</b>的设计

    基于FPGA和VHDL的数字密码锁的设计与实现

    本设计选用FPGA芯片、4×4矩阵键盘、七段数码管为主要硬件,设计了一种低功耗、体积小的密码锁,并在硬件上验证了其可靠性。由于FPGA的灵活性,密码
    发表于 11-23 10:13 1.2w次阅读

    基于FPGA电子密码锁的设计

    基于FPGA电子密码锁的设计的技术论 文
    发表于 10-29 17:15 26次下载

    ISD2560语音芯片中文资料

    ISD2560语音芯片中文资料,语音方面的资料,快来下载吧
    发表于 03-29 11:07 0次下载

    简易电子密码锁

    简易电子密码锁 四位电子密码锁设计 思路简述
    发表于 06-17 16:00 69次下载

    电子密码锁的C语言程序

    这个是电子密码锁的C语言程序,以及电子密码锁的仿真图。
    发表于 07-29 17:26 128次下载

    基于8086的电子密码锁设计与仿真

    电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也
    发表于 01-31 15:06 1.1w次阅读
    基于8086的<b class='flag-5'>电子</b><b class='flag-5'>密码锁</b>设计与仿真

    基于FPGA电子按键密码锁设计

    电子密码锁与传统密码锁相比,具有安全性高、成本低、易操作等诸多优点。正因如此,电子密码锁近年来发展迅速,诸如按键式
    的头像 发表于 07-12 16:03 1741次阅读