微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于VHDL语言的智能拨号报警器的设计

基于VHDL语言的智能拨号报警器的设计

时间:01-09 来源:互联网 点击:


2.3 摘/挂机控制模块PICK

  电话摘/挂机的实现是由摘/挂机控制模块PICK控制摘/挂机电路来完成的。设计的PICK模块如图7所示。CLK是系统时钟输入;EN是人体检测传输器采集的盗窃信号输入;RESET是系统复位信号输入;STOP为拨号完成的挂机控制信号输入;BUSY为遇忙信号输入;PICK为摘/挂机信号输出。当有盗窃发生时,EN输入信号有效,该模块使摘机输出信号PICK有效,从而驱动摘/挂机电路产生摘机动作。如果摘机后电话信号音识别模块JUDGE送来的是系统忙的信号,即UBSY输入信号有效时,输出挂机信号PICK。两秒钟后重新启动摘机,直到电话信号音为可拨号状态。拨号完成后,STOP信号有效, PICK模块产生挂机信号。当RESET有效时,挂机输出信号有效。摘/挂机控制模块PICK的部分VHDL程序如下:

process(clk,stop,busy,en,delay)

begin

if(clk'event and clk='1') then

if(reset='1' or stop='1') then

/*复位或拨号完成后挂机*/

pick='0';

elsif(en='1') then /*报警信号触发摘机*/

if(busy='0') then

pick='1';

elsif(delay='1') then /*遇忙延时后重新摘机*/

pick='1';

else

pick='0'; /*遇忙挂机*/

end if;

end if;

end if;

end process;

3 系统设计和逻辑仿真

  FPGA 中的3个功能模块用VHDL语言描述进行综合仿真后,连接起来的系统电话原理图如图8所示。系统的工作过程:STEAL报警信号输入PICK模块,产生 PICK摘机信号,控制摘机/挂机电路。摘机后,RECEI-SEND模块将呼叫处理控制字写入MT8880芯片中,将MT8880设置为叫处理模式。然后电话信号音识别模块JUDGE对MT8880芯片的输出信号IRQ计数,判别电话音是否为拨号音。若非拨号音,产生电话忙信号BUSY至PICK模块,输出挂机信号PICK,电话挂机。然后摘机后重判,若为拨号音,则JUDGE模块输出拨号信号DIAL至RECEI-SEND模块,RECEI-SEND 模块模拟与MT880直接接口进行数据通讯的DTMF收发时序,控制MT8880按预先设置的电话进行自动拨号。拨号后延时,由JUDGE模块判别电话音是否为电话回铃音,若为电话回铃音电话回铃音,则延时挂机。若不是电话回铃音,则挂机重拨。


  本系统采用的FPGA芯片为XILINX公司的XCS30/XL,逻辑门数为1.3万门,用FOUNDATION2.1软件工具开发。设计输入完成后,进行整体的编译和逻辑仿真,然后进行转换、布局、布线、延时仿零点生成配置文件,最后下载至FPGA器件,完成结构功能配置,实现其硬件功能。FPGA的系统逻辑功能仿真波形如图9所示。各信号的逻辑功能和时序配合完全达到设计要求。

  本系统是用FPGA实现的智能报警器,全部通过编译仿真和系统测试。由于系统的很多逻辑功能由一片FPGA实现,外围器件很少,所以系统体积小、可靠性高,且器件的可编程性使得系统功能易于完善。随着可编程ASIC器件的应用范围不断扩大,越来越多的产生在开发过程中都使用VHDL语言,综使我们得以脱离底层电路,站在更高的层次上考虑各种逻辑和时序关系,从而快速完成设计。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top