《基于EP1C3T144C6芯片和VHDL语言实现语音电子密码锁的设计.docx》由会员分享,可在线阅读,更多相关《基于EP1C3T144C6芯片和VHDL语言实现语音电子密码锁的设计.docx(5页珍藏版)》请在第一文库网上搜索。
1、基于EP1C3T144C6芯片和VHD1语言实现语音电子密码锁的设计随着电子技术的发展,具有防盗报警、语音提示等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。目前大部分密码锁采用单片机进行设计,电路较复杂,性能不够灵活。本文采用先进的辿(电子设计自动化)技术,利用QUartUSII工作平台和VHD1(超高速集成电路硬件描述语言),设计了一种新型的电子密码锁。该密码锁具有密码预置、修改、语音提示和3次输入错误则系统进入定时锁定并报警等功能,用出(现场可编程门阵列)堇左和语音芯片122560实现。由于充分利用了FPGA芯片密度大、功耗低、可重复编程和具有嵌式阵列块的结构特点,且
2、ISD2560具有抗断电、音质好、使用方便等优点,因而该密码锁体积小、功耗低、价格低、安全可靠、具有筌能语音提示、维护和升级方便。1软件设计软件用VHD1来实现,VHD1相比较于VeriIogHD1,具有更好的语法的严格性,但是其严格的语法一定程度上限制了错误的产生,调试较容易。VHD1的系统抽象能力比VeriIogHD1强,在系统描述上占有一定的优势,但在门级描述上稍显逊色。图1系统软件京块框图本设计软件模块框图如图1所示,共8个模块。在本系统中,密码由4位十进制数组成,初始密码为“0000”,可由用户任意设定密码。密码输入正确时,则进入开锁状态。如果密码连续输入3次错误时,则系统进入自我定
3、时锁定,并报警。在输入过程中,系统可以发音提示(也可屏蔽掉)用户输入的数字,或者说明当前的状态。下面介绍状态机和ISD2560控制电路的实现。其中state为状态代码,并通过state_out3.0端口传给其他电路。一开机,系统处在空闲状态,当按键处理电路传来确定使能的值呈COmPare_en时,状态机等待CffeCt_out脚的高电平脉冲信号,如果等不到则进入S2状态,即进入密码输入一次错误状态,如果等到则进入PaSS状态即开门状态,如果3次输入密码错误则系统进入死锁倒计时状态,拉高IoCkqin脚,启动计数器。MOMsEfIeMii-,OS2状竟s1ate10S3认念EnoCtoutidv
4、I状为Etfeatc-OIOIodth-ISiaie-IIOIModifyWSiaiEKiO1Ff1atan=。-状态aate-OMOUn1ockedS1aw=X)OWEectou-O1ocked-7加妙状态:系统待机状态;S2状态:系统输入第1次错误密码后的状态;S3状态:系统输入第2次错误密码后的状态;PaSS状态:检人正确密码后的开锁状态;modify状态:在开锁状态时进入修改密码的状态;1ock状态:当系统输入3次错;吴密码后系统进入锁定计时状态图2状态图本设计的状态图见图2。图3状3机软件流程软件流程图见图3。当计数满时则计数电路拉高un1ock脚电平,状态机检测到un1ock脚下为
5、高电平时,则表示锁定时间结束,复位1ock_pin的电平,在下一个时钟上升沿到来时,进入下一个状态即id1e状态。只有PaSS状态下从按键处理电路传来modify_pin为高电平时,才能进入modify状态,即密码修改状态。当检测到modify_pin脚电平复位为低电平时则表明修改密码完成,状态机在下一个时钟上升沿到来之时,进入下一个状态即id1e状态。如果在PaSS状态时,状态机检测到CIOSe_pin脚电平被拉高时,则表明用户要关门,此系统在下一个时钟上升沿到来之时,返同空闲状态。状态机还控制红绿黄3个发光二极管与buzz-er蜂鸣器,仿真波形如图4所示。当系统处在空闲状态、S2状态、S3
6、状态时黄灯亮(S2、S3为第2次、第3次输入密码错误的状态);系统处在修改密码的状态即modify状态时,3个灯一起亮;当处于PaSS状态时,绿灯亮;当系统处于锁定状态即IOCked状态时,红灯亮,且蜂鸣器发出报警的声音,直至跳出该状态。图4状态机匕式波形本设计采用计数器方法在ce脚上产生一个低电平脉冲以控制ISD2560芯片放录音。当innum收到一个新的数值时,则开始计数;当计数器计到一半时,使Ce脚输出低电平;当计数大于最高数的一半时,则复位Ce脚电平,直到下次计数开始。当语音数据有多段时,先将要播放的语音段数存到一个变量中,并将各段地址存到另一个多位的变量中,然后开始放音并检测eom脚
7、的电平。当检测到eom脚的低电平脉冲时,就表明放音结束,就让段数变量减1然后给地址线再赋新值,并且使能计数器,再次使Ce脚产生一个低电平脉冲,继续放音。这样直至语音段数变量为0时,则表明语音播放完毕,系统不再响应芯片eom脚的上升沿脉冲。图5为ISD2560控制电路的仿真波形图。图5ISD2560控制电岛的仿真波形表1控制字与发音对应表Innum值发音00000-0100109各数字I(XX)O工作状态,请输入密码IOoo1对不起密码错误,请重新输入IOOIO对不起密码错误,请重新输入10110对不起密码错误,系统进入倒计时锁定状态11010密码正确,请进I11O1请输入要重设的密码10101
8、修改成功谙寸.,I1OO1门已关上,请放,表1为与innum对应的发音。本设计采用模块化编程,各模块分工明确,各自实现各自的功能,并通过信号线彼此相连,这样的好处是调试、修改、移植程序方便。使用资源和生成总的模块电路图分别如图6和图7所示。QmtIiasVvtiohBevisionNaBeTqbTv1bttityImDmCwTiin1d1tTot11oic1tet*ht1piYQQ1arybTo11F11iSuccetifM1-TKupr2T23IO5120C64IBm1d110&?2$/2004SJFu11Vs*n1ockedEnC3TH4CBFrectioft2/2,910(33%)9/1
9、04(31%)0/59.904(0)0/1(01)图6FPGA使用资源图7总短决2硬件电路硬件部分主要包括中央处理器FPGA芯片一一EP1C3T144C6输入小键盘、输出4位数码管、ISD2560语音芯片、1M386音频放大和扬声器,如图8所示。FPGA芯片用米直接控制其他元件的工作,对小键盘的输入,通过一定的算法实现电子密码锁的功能。通过控制ISD2560的控制脚的电平状态,达到控制其发音从而实现智能语音提示的效果。3个发光二极管分别用于显示当前的状态,蜂鸣器用于误码报警。显示|状有一一殿=EP闱吗空U1M386.HS图8奈疣硬件原理框图3结束语本设计中采用了AItera公司的EP1C3T144C6芯片进行设计,可以极大地减少其他分立元件或其他芯片的使用,有效地缩小了印制电路板面积,提高了系统的可靠性,大大缩短了系统开发的周期。由于采用VHD1进行设计,用软件实现硬件电路,具有良好的可移植性,可随时在线更改逻辑设计及有关参数,允分体现FPGA的优越性,具有一定的实用性。责任gt