基于VHDL语言的智能拨号报警器的设计
发布时间:2007/9/11 0:00:00 访问次数:627
摘要:介绍了以EDA技术作为开发手段的智能拨号报警系统的实现。本系统基于VHDL语言,采用FPGA作为控制核心,实现了远程防盗报警。该报警器具有体积小、可靠性高、灵活性强等特点。
关键词:VHDL语言 FPGA ASIC DTMF
目前,智能拨号报警器大多采用单片机作为控制核心,这种传统设计方法的特点是硬件和软件截然不同,设计中不可相互替代;而且硬件连线复杂,可靠笥较差。
硬件描述语言(VHDL)和可编程ASIC器件的广泛应用第一次打破了硬件和软件的屏障。基于VHDL语言、以EDA技术作为开发手段、采用现场可编程门阵列FPGA(Field Porogrammable Gate Array)作为控制核心实现的与电话线连接的智能拨号远程报警器,与传统设计相比较,不仅简化了接口和控制,提供了系统的整体性能和工作可靠性,也为进一步提高系统集成创造了条件。
1 系统原理及组成
系统组成原理框图如图1所示。系统的控制核心是一片FPGA芯片,它由3个功能模块构成:电话信号音识别模块,DTMF收发时序仿真模块和摘机/挂机控制模块。3个模块的功能分别为识别电话系统送来的信号音、控制DTMF拨号电路自动拨号、控制摘挂机电路完成摘挂机操作。
系统工作原理:当有人进入室内时,人体检测传感器便采集盗窃信号,盗窃信号启动摘机/挂机控制模块控制摘挂机电路,实现电话摘机。电话信号音识别模块识别摘机后电话系统的状态是否处于可拨号状态。若为可拨号状态,DTMF收发时序仿真模块控制DTMF拨号电路以双音频DTMF方式拨预定的电话(或传呼机)号;若为不何拨号状态,通过摘机/挂机控制模块实现电话挂机,延时后再重拨。
2 PFGA功能模块设计
智能拨号报警器的控制核心FPGA的三个功能模块皆用VHDL语言编程实现,下面主要介绍FPGA的三个功能模块的设计。
2.1 电话信号音识别模块JUDGE
信号音判断的实现原理是:由于电话系统信号音的拨号音、回铃音和忙音的音源频率均为450Hz(±25Hz)的正弦波,只是断续比不同且在时间上有明显的差异(拨号音为450Hz±25Hz连续信号,忙音为0.35s通0.35s断,回铃音为1s通4s断)。要判断信号音,首先应将处理DTMF信号的MT8880芯片设置为呼叫处理模式,使电话呼叫过程中的各种信号音经MT8880滤波、限幅后得到方波,并由MT8880的IRQ端输出。然后对MT8880输出的IRQ信号计数5秒,拨号音的计数下限为(450-25)×5=2125,计数上限为(450+25)×5=2375,即计数范围为2125~2375。同理,忙音的计数范围为1041~1212,回铃音的计数范围为425~475,无信号音的计数应为零。但在实际编程中,需要考虑一定的计时计数误差,并且使程序简化,因此采用不同信号音相邻计数界限的中间值为区分不同的信号音。同时,为合理利用FPGA硬件资源,中间值应尽量选为2的n次方(整数)。最后设定为计数值大于1792为拨号音,在1024~1791之间的忙音,在256~1023之间的回铃音,小于255为无信号音。
基于此原理设计的信号音识别模块JUDGE如图2所示。CLK为时钟信号输入端;IRQ与MT8880芯片的IRQ输出端相连接,是IRQ信号的计数输入端;PICK是摘机信号输入端;BUSY为电话忙状态标志信号输出端;DIAL是拨号使能信号端。该模块的功能为:在摘机信号PICK产生大约1s后,即MT8880芯片被设置为呼叫处理模式后启动该模块。在该模块的内部,设置了两个计数器。一个为对CLK时钟信号进行计数,产生5s控制信号;另一个对IRQ送来的脉冲进行计数。两个计数器由摘机信号PICK启动,5s后判断第二个计数器的计数值。如果计数
摘要:介绍了以EDA技术作为开发手段的智能拨号报警系统的实现。本系统基于VHDL语言,采用FPGA作为控制核心,实现了远程防盗报警。该报警器具有体积小、可靠性高、灵活性强等特点。
关键词:VHDL语言 FPGA ASIC DTMF
目前,智能拨号报警器大多采用单片机作为控制核心,这种传统设计方法的特点是硬件和软件截然不同,设计中不可相互替代;而且硬件连线复杂,可靠笥较差。
硬件描述语言(VHDL)和可编程ASIC器件的广泛应用第一次打破了硬件和软件的屏障。基于VHDL语言、以EDA技术作为开发手段、采用现场可编程门阵列FPGA(Field Porogrammable Gate Array)作为控制核心实现的与电话线连接的智能拨号远程报警器,与传统设计相比较,不仅简化了接口和控制,提供了系统的整体性能和工作可靠性,也为进一步提高系统集成创造了条件。
1 系统原理及组成
系统组成原理框图如图1所示。系统的控制核心是一片FPGA芯片,它由3个功能模块构成:电话信号音识别模块,DTMF收发时序仿真模块和摘机/挂机控制模块。3个模块的功能分别为识别电话系统送来的信号音、控制DTMF拨号电路自动拨号、控制摘挂机电路完成摘挂机操作。
系统工作原理:当有人进入室内时,人体检测传感器便采集盗窃信号,盗窃信号启动摘机/挂机控制模块控制摘挂机电路,实现电话摘机。电话信号音识别模块识别摘机后电话系统的状态是否处于可拨号状态。若为可拨号状态,DTMF收发时序仿真模块控制DTMF拨号电路以双音频DTMF方式拨预定的电话(或传呼机)号;若为不何拨号状态,通过摘机/挂机控制模块实现电话挂机,延时后再重拨。
2 PFGA功能模块设计
智能拨号报警器的控制核心FPGA的三个功能模块皆用VHDL语言编程实现,下面主要介绍FPGA的三个功能模块的设计。
2.1 电话信号音识别模块JUDGE
信号音判断的实现原理是:由于电话系统信号音的拨号音、回铃音和忙音的音源频率均为450Hz(±25Hz)的正弦波,只是断续比不同且在时间上有明显的差异(拨号音为450Hz±25Hz连续信号,忙音为0.35s通0.35s断,回铃音为1s通4s断)。要判断信号音,首先应将处理DTMF信号的MT8880芯片设置为呼叫处理模式,使电话呼叫过程中的各种信号音经MT8880滤波、限幅后得到方波,并由MT8880的IRQ端输出。然后对MT8880输出的IRQ信号计数5秒,拨号音的计数下限为(450-25)×5=2125,计数上限为(450+25)×5=2375,即计数范围为2125~2375。同理,忙音的计数范围为1041~1212,回铃音的计数范围为425~475,无信号音的计数应为零。但在实际编程中,需要考虑一定的计时计数误差,并且使程序简化,因此采用不同信号音相邻计数界限的中间值为区分不同的信号音。同时,为合理利用FPGA硬件资源,中间值应尽量选为2的n次方(整数)。最后设定为计数值大于1792为拨号音,在1024~1791之间的忙音,在256~1023之间的回铃音,小于255为无信号音。
基于此原理设计的信号音识别模块JUDGE如图2所示。CLK为时钟信号输入端;IRQ与MT8880芯片的IRQ输出端相连接,是IRQ信号的计数输入端;PICK是摘机信号输入端;BUSY为电话忙状态标志信号输出端;DIAL是拨号使能信号端。该模块的功能为:在摘机信号PICK产生大约1s后,即MT8880芯片被设置为呼叫处理模式后启动该模块。在该模块的内部,设置了两个计数器。一个为对CLK时钟信号进行计数,产生5s控制信号;另一个对IRQ送来的脉冲进行计数。两个计数器由摘机信号PICK启动,5s后判断第二个计数器的计数值。如果计数