本系统基于电话网络但是与电话互相独立不会影响电话的正常使用,并通过语音提示操作,人机交互友好。
系统原理及系统框图
本系统主要包括电话自动摘机和挂机电路,DTMF信号收发电路,语音提示电路,报警电路,键盘显示电路,人体信号检测电路,编码电路,无线发射电路,以及作为主核心的单片机控制电路,系统结构框图如图1所示。我们设定报警部分为本系统主体工作部分,即实时监控房内安全情况,在软件上表现为主循环,当有振铃信号或设定信号时才中断去执行相应操作。在此我们需要对人体的红外辐射敏感并且抗干扰(如小动物等)的传感器,为此我们选用被动式热释电红外探测器,并在它的辐射照面覆盖特殊的菲尼尔滤光片,使环境的干扰受到明显的控制作用。设定部分的功能是存储报警时需要拨打的号码,并设定主人身份验证密码。为了系统的简洁采用液晶屏显示。
图1 系统结构框图
当红外线人体检测电路检测到有人体入侵时,编码电路将该检测探头的地址编码,并且经过无线发射电路将检测到有人体入侵的探头的地址发送给无线接收电路,经CPU译码后,LED显示报警地址,同时发出声光报警或者向主任拨打预先设定的电话进行报警。
信号检测电路
信号检测电路主要由热释电红外检测探头SD02和BISS0001信号处理电路组成。
信号检测电路如图2所示。配以滤波镜片和阻抗匹配用场效应管组成的热释电红外传感器,以非接触方式检测出来自人体的红外辐射并将其转换成电信号,经BISS0001中的运放N1的前置放大、运算放大器N2的第二级放大,将直流电位抬高为内置电压Um后送到由比较器N4、N5组成的双向鉴幅器,检出有效触发信号Us。由于内置电压UH≈0.7UDD、UL≈0.3UDD,当UDD=5V时,可有效地抑制±1V的噪声干扰。N3作为条件比较器,当输入电压Uc小于内置电压UR(≈0.2UDD)时,N3输出为低电平封住了Us向下级递送。而当Uc>UR时,N3输出为高电平,打开与门N7,此时若有触发信号Us的上跳变前沿到来,则可启动延时定时器,同时Uo输出为高电平。比较器的域值选取很重要,域值太低易误报,太高则灵敏度低。
图2 信号检测电路
在定时周期Tx内,BISS0001的输出端2为高电位,则晶体管VT1饱和导通,其集电极为低电位,将这一信号送到由单片机及无线发射电路组成的编码及无线发射电路,接到编码用的单片机的 P0.0口,单片机将该探头编码后通过无线发射;在Tx结束时,BISS0001进入封锁周期Ti,其输出端变为低电平,晶体管截止,其集电极为高电平。BISS0001的1脚(A端)与电源相连,使信号检测电路处于重复触发。Tx定时间隔可由BISS0001的3脚和4脚上所接的电阻和电容来确定。信号检测探头仰角可在120°范围内调节,并通过改变仰角来进行实际探测距离的调节,我们可通过实际测试来调整,也可以调整信号检测电路中的可调电阻RP来调整探头的检测距离,本设计电路可探测距离为30m。
编码电路与无线收发射模块
编码电路和无线发射电路由单片机和收发一体芯片nRF401组成,其电路外围元件少,电路简单。
本设计中采用挪威Nordic公司新推出的集发射接收为一体的nRF401无线数传芯片,它是一个为433MHz ISM频段设计的真正单片机UHF无线收发芯片,采用FSK调制解调技术。采用高增益天线的情况下传输距离可达3000m。
编码及无线收发射电路如图3所示。通过AT89C51的P2.0口控制射频芯片的PWR_UP,使其为“1”时表示进入正常工作模式,为“0”时表示进入待机模式;P2.2接射频芯片的CS,控制发送接收频率,为“1”表示工作频率为434.32MHz。为“0”表示工作频率为433.92MHz。P2.1控制射频芯片的TXEN端,使其为“1”表示进入发送模式,为“0”表示进入接收模式。
图3 无线收发射电路
MT8880与AT89C51及语音电路的接口
DTMF信号发送/接收电路采用MITEL公司推出的专门用于处理DTNF信号的专用集成电路MT8880芯片,不仅具有接收和发送DTMF信号的自动拨号功能,还可以检测电话干线上拨号音、回铃音和忙音等信号音。适合与单片机接口,外围电路简单。
MT8880内部有5个寄存器,分别为接收数据寄存器、发送数据寄存器、收发控制寄存器CRA和CRB以及收发状态寄存器。在本设计中,仅采用发送数据寄存器、收发控制寄存器CRA和CRB发送DTMF信号实现自动拨号功能。发送数据寄存器中的数据决定要发送的双音频信号的频率,因此只能向发送数据寄存器写入数据。两个收发控制寄存器占用同一个地址,因此根据CRA中的寄存器选择位的值决定是否对CRB进行操作。
ISDl420语音芯片采用直接模拟存储技术,且录放音质极好,并有一定的混响效果;它的外围元件简单,仅需简单的阻、容器件即可组成简单的录、放音电路;无须后备电源,信息存储时间长,不需要专用的编程器及语音开发器;具有较强的选址能力,可把存储器分成160段来管理,形成最小的录放时间为125ms。在本设计中,因需要四段报警提示语音,因此在语音分段方法设计时均将每段语音设为5s,其起始地址分别为00000000B、00101000B、01010000B、01111000B。
ISD1402的数据口A3、A4、A5、A6分别接单片机端口扩展芯片8255的PB0、PB1、PB2、PB3口,A0、A1、A2、A7接地,PLAYL接8255的PB5脚,SP经电容C14将语音信号偶合后送去电话接口电路。当按下开关SB1,录音指示LED发光并同时开始录音。当有警情时,单片机控制DTMF信号发送/接收电路自动拨打电话,电话接通后单片机根据不同的探测器送来的信号向ISD1420发送要放哪一段录音的指令和放音指令。ISD1420则将语音信号送到电话接口电路,等待放音完毕以后,单片机发送挂机命令,报警完毕。
MT8880的D0~D3口分别接8255的PA0~PA3口,CLK2接PA4口,R/W接PA5口,RSO接PA6口,CS接PA7口,IRQ接主控电路处理器89C51的T0口,用来记录各种脉冲的个数。来自语音电路的信号经过R44送到电话线上去。继电器K用来控制摘挂机,晶体管的B极接主控电路处理器89C51的 P1.2口,当P1.2为“1”时,V2导通,继电器K闭合,电话接通,当P1.2为“0”时,V2截止,电话挂机。
主控电路处理器89C51的P0口分别接8255的D0~D7口和74HC373的D0~D7口,74HC373的Q0和Q1分别接8255的A0和A1,89C51的P2.5、P2.6、P2.7分别接74HC138的A、B、C口,74HC138的YO接8255的CS端。
软件设计
1 信号音的识别方法
系统在巡检到警情信号后就模拟摘机。为了识别模拟摘机后电话系统是否处于可拨号的状态、电话拨完号码后电话是否接通以及对方是否摘机接听电话等几种状态,系统必须进行信号音的识别。为了识别信号音,必须知道各种信号音的特性。各种信号音特性如下。
● 拨号音:450±25Hz连续蜂音。
● 忙音:0.35s断0.35s通的450 ±25Hz蜂音,音段周期为0.7s。
● 回铃音:4s断ls通的450±25Hz蜂音,音段周期为5s。
这些电话信号均是模拟信号,然而单片机是无法识别模拟信号的,故必须先将模拟信号转换为脉冲信号,然后再根据脉冲信号的脉冲个数进行识别。这些电话音频信号的脉冲个数计算公式为N=tm/T。其中,N为每音段周期的脉冲个数;T为电话音频信号的音频周期,单位为s;tm为信号音段周期的导通时间,单位为s。
在实际使用中,主要需要识别拨号音、忙音和回铃音。分析这3种信号的特性可以看出,在一定的计数时间内,其脉冲个数是不一样的。在本设计中采用2s计数判断拨号音,采用2.8s(即4个忙音周期)判断是否为忙音。随后采用ls为一个计数单元,采用计五次后的累加脉冲数来判断对方是否接听电话。若有,则放相应的报警提示语音;否则再计ls,然后计算最后5s内的脉冲数,再次判断对方是否摘机。如此反复。直到超过等待时间仍没有人接听电话就挂机。由于干扰和一些其他因素的存在,难免会有误判的现象而导致漏报警情。因此采取在所有预先设定的电话至少有一个拨通就只拨一遍。如果全部投拨通或者没人接听则把所有预存电话重拨一遍,这样漏报报警的概率就非常低以致可忽略不计。
2 软件流程图及拨号程序
自动拨号程序的流程图如图4所示。
3 编程过程中应注意的几点
首先,MT8880的DTMF产生器是发送部分的主体,它产生全部16种失真小、精度高的标准双音频信号,这些频率均由3.579545MHz晶体振荡器分频产生。电路由数字频率合成器、行/列可编程分频器、开关电容式D/A变换器组成。行和列单音正弦波经混合、滤波后产生双音频信号。通过DTMF编解码表把编码数据写入MT8880发送寄存器产生单独的fLOW和fHIGH,一旦编码错误就会导致拨号失败.故在编程过程中要十分小心。
其次,在摘机后应延时一段时间再去判断摘机音,因为本系统采用机械继电器实现自动摘机,故应考虑继电器的响应时间。
最后,一个电话号码拨完后不能立即拨下一个电话号码,应保证挂机的最短有效时间以确保前一电话号码确实已挂机,否则拨下一个电话号码时会没有拨号音。
结论
该系统编码解码都用软件方式实现,传输方式采用双向传输。如果发生警情,则向主机发送一数据串,该数据串由以下几个部分组成:4位地址码,8位数据码,1位起始位,1位奇偶校验位。主机接收到数据后首先进行校验,如果数据有错则要求重新发送刚才的数据,直到正确。接收到正确的数据信息后,接下来的工作就是核对地址码,如果地址码与主机设置的地址相同则表明该数据可能是来自本系统外的设备发送的数据,不进行解码,收到与主机设置地址相同的数据才进行解码。