1 系统原理与组成
电话远程控制系统主要完成的功能是对电话双音多频(DTMF,double tone multiple frequency)信号进行解码,并自动驱动被控电器设备进行指定操作,同时用户可对被控设备的工作状态进行查询,以及当有人非法进入室内时通过拨预置的电话号码进行远程预警。由于本系统是利用电话进行远程控制,所以系统必须能识别电话线上的振铃信号,从而实现自动摘机;同时,本系统一般在无人值守的情况下工作,所以必须能自动摘机、挂机,且在用户操作完毕忘记挂机时,必须能自动复位及关机,为了安全起见还有必要增加密码校验的功能;要进行工作查询就必须有语音的提示和反馈,这样的系统才基本上合乎要求。
基于以上要求,此系统主要设置了系统开启关闭模块,系统模拟摘、挂机模块,语音模块,监控模块 ,DTMF收发模块,控制模块,被控模块,如图1所示。现对其分述如下。
1.1 系统开启/关闭模块
本系统有多种开启方式:振铃启动,报警启动,手动启动,如图2所示。
本系统的关机由单片机控制时,单片机发出一个高电平信号后,三极管饱合,继电器K常开端闭合,使可控硅的K和A短路。单片机再发出一个低电平信号,三极管截击,继电器常开端打开,使可控硅Q的K和A两端开路,从而使可控硅进入关闭状态,切断电源使系统关闭。当由手动控制时,打开开关三极管截止,继电器常开端打开,系统断电,从而关闭系统。
1.2 模拟摘挂机模块
当单片机发出摘机信号时三极管饱和,继电器的常开端闭合,电话线两端的电阻降至300 Ω左右,从而实现模拟摘机。当单片机发出挂机信号时三极管截止,继电器常开端打开,从而实现模拟挂机。
1.3 语音模块
本模块采用美国ISD公司的新品ISD4004系列的录放芯片,与单片机构成。该芯片声音录放采用了CchipCorder专利技术,即无需A/D转换和压缩就可以直接储存,没有A/D转换误差,在一个记录位(BIT)可存储250级声音信号,相当于通常的A/D记录的8倍。片内集成了晶体震荡器、麦克前置放大器、自动增益控制、抗混迭滤波器、平滑滤波器等,只需很少的外围器件,就可以构成一个完整的声音录放系统。
1.4 监控模块
(1)模块概述
本模块采用EEP型热释电式红外传感器。其原理如下:钛酸铅陶瓷具有高热电系数和温度稳定性,它能检测红外线。传感器密封在TO-5壳体内,热释组件和场效应管装在一起,它能输出与红外辐射强度成比例的电压。
(2)监控报警的实现
在家中无人时,当单片机接收到来自监控系统的报警信息时。P3.0口置高电平,三极管T1饱和,继电器J动作,实现模拟摘机。然后由可信音检测电路确认为拨号音后,由P0 口发指令,拨号芯片MT8880将存储的报警号码变成双音多频(DTMF)信号,反馈入电话线。拨号后,在完成忙音、回铃及对方摘机检测后,启动语音提示电路,向线路发出报警语音信号。如未拨通再次拨号。
1.5 DTMF收发模块
(1)模块概述
本模块由MT8880与单片机组成。
MT8880是一个带有呼叫处理滤波器(call progress filter)的单片DTMF收发器,它采用MITEL公司的ISO2-CMOS工艺制造,功耗低,可靠性高。MT8880中的DTMF收号器是基于单片收号器MT8870工业标准,能接收全部16个DIMF信号,DTMF发送器采用开关电容D/A变换器,信号失真小、精度高,定时精确。MT8880有两种工作模式:DTMF模式和呼叫处理(CP)模式。当选择了呼叫处理模式时,MT8880就用于检测电话网上电话呼叫过程中表示不同进程的信号音(主要是拨号音,拨号音的标准频率为350 Hz或440 Hz),可以进行拨号音识别。这是目前其他DTMF芯片所不具备的,这样便可以省去一套复杂的拨号音识别电路。
(2)MT8880简介(如图3所示)
IN+:运放输入;IN-:运放输入;
GS:Gain Select,运放输出端。用于输入信号的增益高速;
Vref:参考电压;
Vss:电源负极;
OSC1:DTMF时钟/振荡器输入,采用3.579 545 MHz的时钟;
OSC2:时钟输出;
R/W:读写控制;
CS:片选;
RS0:寄存器选择;
& 2:系统时钟输入,TTL电平;
IRQ / CP:中断请求/呼叫处理,向MCU的中断申请。当选择了呼叫处理模式时,输入信号线上有呼叫信号时输出与之相应的方波信号;
DO~D3:数据线;
Est:Early steering output,滞后前输出。当检测到有效音频对时,(也称信号条件Signal condition ),就变为高电平,信号条件不满足时又立刻返回低电平。此引脚上为高电平不一定表示有DTMF信号,话音信号也会偶然产生有效音频对。
St/Gt:Steering Output/ Guard Time output,滞后输出/保护后输出。当电压高于VTST 时,(参见收发工作时序图)时就保存检测到的音频对,同时更新输出锁存器的内容。当电压低于VTST时,芯片就可以重新接收新的音频,对Gt的输出对滞后时间常数(steering timeconstant)有影响,它的状态是Est和加到St的电压的函数。
VDD:电源正极。
(3)信号音判断的实现
信号音判断的原理是:由于电话系统信号音的拨号音。回铃音和忙音的频率均为425~475 Hz的正弦波,只是断续比不同且在时间上有明显的差异(拨号音连续信号:忙音为0.35 s通,0.35 s断,回铃声为1 s通,4 s断)。要判断信号音,首先应将处理DTMF信号的MT8880芯片设置为呼叫处理模式,当选择呼叫处理模式时,MT8880就不能用于检测DTMF信号了。MT8880的呼叫处理滤波器是一个带通滤波器,通频带为300 ~510 Hz,当信号输入端有信号音输入时,如果MT8880工作在CP模式,在IRQ/CP就输出一高电平。使电话呼叫过程中的各种信号音经MT8880滤波,限幅后得到方波,并由MT8880的IRQ输出。然后对MT8880输出的IRQ信号计数5 s,拨号音的计数上限为(450+25)*5=2375,拨号音的计数下限为(450-25)*5=2175。同理,忙音的计数范围为1041~1212,回铃音的计数范围为425~475,无信号的计数应为0。
在实际编程中,考虑到计数的误差,以及简化程序,因此采用不同信号音相邻计数界限的中间值来区分不同的信号音,计数值选用2n最后设定计数值大于1792为拨号音,在1024~1791之间为忙音,在256~1023之间为无信号音。
1.6 控制模块
本系统为了提高可靠性,降低成本,采用了现在已广泛使用的AT89C51单片机。其片内集成了8 kB的FLASH,无需外接存储器,使用方便。该芯片兼容8051的指令,易于编程,且功能强大。在硬件及程序设计上,利用P0端口控制MT8880芯片,其中P0.0~P0.3为数据输入输出位,P0.4~P0.7为MT8880的命令字输入位;利用P1端口中的5位来控制ISD4004芯片;利用P2端口控制家电设备;利用P3端口中的3位来控制系统的开启,摘挂电话及标志位的设定。
1.7 被控模块
家电大多使用220 V交流电,属于强电电路。所以使用继电器来开关家电。芯片不能直接驱动继电器,因此在集成电路芯片与继电器之间必须设置一个驱动继电器的电路。本系统的所有继电器都利用三极管的截止与饱和两个状态,来关闭或打开继电器开关。
2系统软件设计
本系统的软件设计采用模块化设计思想,其程序流程如图4所示。
系统的DTMF收发程序说明如下:
接收程序:MOVR1,#0
MOVR0,#10H
LOOP1:MOVA,#0FFH
MOVP0,A
SETBP0.7
SETBP0.4
CLRP0.5
SETBP0.6
MOVA,P0; 读 8880 状态寄存器
JNBACC.2, LOOP1
CLRP0.4
MOVA,P0; 读 8880 接收数据寄存器
ANLA,#0FH; 屏蔽高四位
MOV@R0,A
INCR0
INCR1
CJNER1,#07H,LOOP1
发码程序:MOVR0,#10H
MOVR1,#7
MOVA,#9DH;写 8880CRA
MOVP0,A
MOVA,#90H
MOVP0,A;写 8880CRB,8880模式2为TONE,DTMF,IRQ,BURST
LOOP2:MOVA,@R0
ORLA,#0F0H
ANLA,#8FH
MOVP0,A; 发送数据
MOVA,#0FFH
MOVP0,A
SETBP0.7
SETBP0.4
CLRP0.5
SETBP0.6
LOOP3:MOVA,P0;读8880状态寄存器
JNBACC.1,LOOP3
INCR0
DJNZR1,LOOP2
3结语
MT8880构成的智能通讯系统,具有通讯速度快,可靠性高和误码率低的优点。该系统自运行以来,其工作正常,性能稳定,通讯可靠。