系统组成及工作原理
为了简化电路、降低成本、提高可靠性,本系统采用AT89C51作为主控制器,它是一款与MCS51完全兼容且内部自带有4KB的Flash存储器及256KB RAM单元的芯片,因此可以不需另外扩展EEPROM及静态RAM就可以实现所需功能。除主控制器之外,还有振铃检测与模拟摘机电路、DTMF解码电路、语音提示电路、集中控制器,系统结构框图如图1所示。
当需要遥控家用电器时,拨打相应的电话号码,振铃检测电路检测铃流信号,如果有人接听电话或振铃次数少于6次,对程控电话的使用不造成影响,当振铃次数达到6次后(次数可以通过软件任意设定),单片机启动语音提示电路发出提示音,询问是否进入家电控制模式,按“0”键否,挂机退出,按“1”键是,摘挂机电路自动摘机进入控制状态并将摘机信号输入到单片机中,单片机接收到摘机信号后,启动语音提示电路发出提示音,提示操作者输入密码或是退出(系统支持在线修改密码)。输入的密码经DTMF接收,转换成二进制数并与事先存储在单片机中的密码比较,如果不相符,则语音提示密码错误,可再次重新输入,若三次密码错误则发提示音并自动挂机;如果密码相符则语音提示选择控制通道(按键1~8分别表示1~8号通道,分别控制8路电器)。通道选择后,按下“1”键表示开启该路电器,并有语音提示“该路电器已经开启”,按下“0”键表示关断该路电器,有提示音“该路电器已经关闭”,按下“*”键则可挂机退出。若超时则自动挂机(时间可由软件设定)。
硬件电路设计
● 振铃检测与模拟摘机电路
在分析该电路之前,首先介绍一下公用电话网线路上的信号及其检测方法。公用电话网的传输线路为二线模拟线路,采用直流环路信号方式,能向模拟话机提供直流馈电、振铃信号、话音数据、音频数据、双音频数据等。我国规定的标准为,平时挂机时的馈电电压一般为-48V,向用户振铃的铃流电压为75±15V,25Hz的交流电压,用户话机的摘挂机状态是通过对直流环路上电流的通断来实现的,用户挂机空闲时,直流环路断开,馈电电流为0;反之,用户摘机后,直流环路接通,馈电电流在20mA以上。
当有振铃信号从TEL0、TEL1输入时,如图2所示,电话线路上的75±15V,25Hz的交流电压经过一个桥式整流Q1及滤波后,振铃信号进入光电耦合器817的1、2引脚,然后从4脚输出脉冲信号,脉冲输入到74LS123中,其中74LS123的作用是将小脉冲转换成大方波信号并送入到89C51单片机的T0引脚进行计数,当计数达到6次时,89C51的T1引脚发出高电平,使三极管PNP8550导通,从而继电器RELAY吸合,完成模拟摘机动作。由于语音信号和双音频信号电压远低于振铃信号电压,所以该电路不会产生误操作。
● DTMF解码电路
当用户在电话机的键盘上输入密码或按下控制按钮后,这些信息均采用双音频方式通过电话线发出。DTMF解码电路的主要作用是接收从TEL0、TEL1输入的双音多频信号并将其转换成二进制编码,然后输至单片机进行数据处理,进而实现控制功能,如图3所示。
本电路采用的是MT8880双音多频解码芯片,能实现双音多频信号(DTMF)的发送与接收。发送DTMF信号时,信号从D0~D3经数据总线缓冲器送到发送数据寄存器,控制可编程行列计数器,经D/A转换合成DTMF信号,在音频突发开门控制和逻辑控制作用下,从8脚(TONE端)发出。当接收DTMF信号时,模拟摘机后从TEL0、TEL1进入的双音多频信号经过耦合隔离变压器耦合入MT8880的输入脚IN-,DTMF信号经运放、拨号音滤波器、高频组及低频组分离带通滤波器送到数字算法与编码变换器进行确认,译成相应的4位二进制码,存入接收数据寄存器,需要时输出至数据总线,送入89C51的P1口。其中输入脚IN-和增益选择端GS之间所接的反馈电阻R3可以调节运放的增益,CP为中断请求或电话信号音检测输出端,它与89C51的INT0引脚相连。
● 语音提示电路
为了使操作者能及时了解到受控家用电器的信息,使产品达到交互式与智能化,本系统采用了可用单片机控制的语音芯片APR9600,单片电路可录放32~60s,串行控制时可分256段以上,并行控制时最大可分8段。具有多种手动控制方式、分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开始停止循环多种功能等特点。当利用APR9600进行录音时,外部音频信号通过话筒输入和线路输入方式进入,通过芯片内话筒放大器中自带的自动增益调节,如果信号幅度在100mV左右即可直接进入线路输入端,音频信号经内部滤波器、采样电路处理后以模拟量方式存入专用快闪存储器中。放音时芯片内读逻辑电路从闪存中取出信号,经过一个低通滤波器送到功率放大器中,然后直接推动外部的喇叭放音。
APR9600的录放控制有多种模式,为普通用户使用提供了极大的方便,但总的来说可分为串行控制和并行控制两种模式,由芯片MSEL1、MSEL2及M8脚的设置来实现。
该系统中,APR9600被预先设置成8段的并行控制模式,即MSEL1、MSEL2、/M8均被设定为1(接正电源)。置RE端为录音状态,按下/M1即开始录第一段,松开键即停止。按下M2即开始录第二段,松开键即停止,如此循环下去直到录完第八段。相应语音段的播放由软件触发,APR9600的SP+、SP-端接至电话线反馈到听筒里,由此用户可听到语音控制芯片的提示音而进行相应的操作。
● 8路电器控制
由系统结构框图可以看出,八路电器通过AT89C51的P2口来控制。控制电路的执行器件采用继电器。当单片机要实现对电器的控制时,由P2口发出控制信号并经过三极管放大后驱动8个继电器,从而控制了8路电器的通断。
软件设计
为了保证系统的可靠运行,必须要有良好的软件相配合,而且要有友好的人机对话功能,鉴于以上要求,该系统软件部分主要由主程序、中断子程序、延时子程序、提示音产生子程序等几大模块组成。程序流程图如图4所示。
结束语
基于PSTN实现对家用电器的远程控制与常规的遥控方式,如无线电遥控、有线遥控、红外线和超声波遥控等相比,显示出一定的优越性,不需进行专门的布线,不占用无线电频率资源,避免了电磁污染。同时,由于电话线路各地联网,可以充分利用现有的电话网,因此遥控距离可跨省市,甚至跨越国家。