1、远程电话控制器1 功能要求远程电话控制器接入普通的电话线后,可以在外地任何地方用手机或座机通过拨号的方式,对连接到控制器的电器进行电源开关等操作。要求拨号接通后先进行密码核对,若3次密码错误或一定时间内没有操作则自动挂机。2 方案论证远程电话控制器利用现有公用电话网实现电器设备的远程控制,无须改造线路,安装方便,成本较低,而且由于控制器并联于普通电话机的接线上,不会影响正常电话机的使用,具有较好的应用价值。远程电话控制系统主要包括电话振铃检测电路、电话自动模拟摘挂机电路、双音多频DTMF(Dual Tone Multi - Frequency)信号解码电路、语音提示电路、驱动接口电路以及单片机
2、控制电路等。图1所示为远程电话控制系统结构框架图,当通过异地的电话机拨通控制器所连接外线的电话号码时,通过市局电话交换机向用户电话机发出振铃信号,控制器中的振铃检测电路将检测到的振铃信号送到单片机控制器进行计数,如果控制器检测到振铃5次(可设定)后无人接听电话,则控制器自动模拟摘机,先与电话拨号者进行语音提示,要求遥控操作时先请输入密码,接着等待操作者输入密码并进行密码的校对。DTMF解码芯片将用户输入的按键信号转换成相应的数字信号,由单片机进行密码的比对,密码输入正确后再通过语音提示,通过操作者数字键选择控制电器及对应的电源开关等,完成后语音提示挂机结束。图1远程电话控制器系统构成框图3 系
3、统硬件电路的设计电话远程控制电路主要由电话振铃检测电路、自动模拟摘挂机电路、DTMF信号解码电路、语音提示电路、单片机控制电路、接口驱动电路和电源等组成。控制器电路原理图如2所示。3.1 振铃检测电路当用户电话被呼叫时,电信局的电话交换机发出铃流信号,振铃信号为(253)Hz的正弦波,电压有效值约90 V,振铃重复周期为5s,其中1s振铃,4s间隙。由于振铃信号电压比较高,输入时经电容隔离降压并经全桥整流后,输入至光耦4N35的输入端,从而使光耦输出端得到低电平信号,用以单片机对铃声信号的检测和响铃计数。振铃检测电路原理图如图3所示。图4模拟摘机电路原理图3.2 模拟摘机电路电信局的程控电话交
4、换机对电话摘机的响应是根据电话线回路电流变大,当交换机检测到回路电流变大约为30mA时,就认为电话机已经摘机。在用户摘机(接电话)时,电话机内通过叉簧接上约200的负载,使整个电话线回路流过约30mA的电流,交换机检测到该电流后便停止铃流发送,并将线路电压变为10 V的直流电,完成电话接通工作。图4所示为模拟摘机电路的原理图。当单片机发出摘机信号时(高电平) ,Q3晶体三极管导通,从而驱动功率管Q2也导通,模拟负载电阻R24被接入电话线两端,产生约30 mA的电流,从而完成模拟摘机功能;当远程设定操作结束时,通过单片机发挂机信号(低电平) ,从而使Q3及Q2截止,电话线回路电流消失,电信局的程
5、控交换机完成电话线路的切断工作。3.3 DTMF解码电路DTMF双音多频信号解码电路是目前在按键电话、程控交换机等设备中广泛应用的电路。DTMF发送器用于电话按键号的双音频信号发送,实现音频拨号。双音多频信号是一组由高频信号与低频信号叠加而成的组合信号,电话机中使用的按键与双音多频信号的频率对应关系如表1所列。表1 数字拨号键与对应的频率关系一般使用MITEI公司生产的MT8870作为DTMF信号的解码器件。MT8870具有电路简单、功能强、功耗低、工作稳定可靠等优点。图5所示为MT8870解码电路原理图。图9.5 DTMF解码电路原理图当电话线上送来的双音多频信号经C3和R25送到MT887
6、0的第2脚(IN-)时,双音多频脉冲信号先经MT8870内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音频信号按高、低音频信号分开,再经高、低通滤波器,以及幅度检测器后送人输出译码电路,经过数字运算后,在其数据输出端口(第1114脚)输出相对应的二进制BCD码。MT8870的数据输出端D1D4连到单片机P1口的P1. OP1.3脚,单片机经Pl口的低4位识别对应的按键号。表9.1中的A、B、C、D键常被用做重拨、录放、免提等功能使用。使用解码数据( D1D4)时要注意,对于0号键,MT8870输出的二进制BCD码并非是0000,而是1010。另外,*与#键的输出分别
7、为1011和1100。当MT8870获取有效双音多频信号并解码成功后,其第15脚的电平由低变高频组(单位Hz) 数字键盘1 209 1 336 1 477 1 633697 1 2 3 A770 4 5 6 B852 7 8 9 c低频组(单位Hz)941 * O # D高,通知单片机可以取数据了,第15脚的高电平在延时一段时间后会自动恢复为低电平。而无效的双音频信号或电话线路杂音、人的语音信号等是不会引起MT8870的数据解码的。3.4 语音提示电路电话远程控制器利用语音提示电路实现用户和系统的交流。语音提示电路预先存储若干段系统提示音,单片机程序根据用户发送的按键指令(DTMF信号) ,进
8、行相应的控制操作并播放语音提示下一步的操作,而操作者则根据反馈的语音信息按需要进行按键操作。ISD4002-120P是美国ISD公司系列单片语音录放集成电路的一种,采用直接模拟量存储技术,将每个采样值直接存储在片内的FLASH RAM中,能较好地保留模拟量中的有效成分。语音芯片设计成与微处理器配合使用的寻址和控制方式,使器件引出端数减到最少,且音质较好,目前在语音合成设计中应用很广泛。ISD4002-120P可录放120s语音信号,最多可分600段录音,每一段均可寻址,其地址范围为OOOH258H。单片机通过模拟SPI接口向ISD4002发送上电、指定地址、开始录音、结束录音、按地址放音等操作
9、命令,实现录音与放音操作。电话远程控制器在使用前需要提前将要提示的语音信息按段录入到芯片上。图6 ISD4002语音提示电路原理图在录音操作时,通过麦克风将声音信号转化为电信号,并通过三极管Q8放大,耦合到语音信号的输入端(第16脚) 。单端输入时,一般信号幅度不要超过32mV。在放音操作时,从ISD4002第13脚输出的声音信号经运放LM386放大后,再经过隔直耦合器送到电话线上。提示音的大小可以通过R34进行调整。3.5 单片机控制电路单片机采用宏晶公司的STC89C52系列,具有6种时钟运行模式,可比普通单片机速度提高1倍,内带的EEPROM可用于密码数据的存储与修改。其主要引脚的使用如
10、图7所示,其中Pl.OP1.3脚用于双音频解码器输出数据的读入;P1.5脚用于模拟摘机或挂机的控制操作;P1.6脚输出遥控码(本实例中没有设计程序) ;P1.7、P3.O、P3.1、P3.3、P3.6、P2.6脚接LED指示发光管;第9脚接上电复位电路;P3.2脚接遥控器学习操作键(本实例中没有设计程序) ;P3.4脚接双音频解码器的第15脚,用于测试是否有双音频解码数据完成输出;P3.5脚为遥控码学习状态下的红外接收头信号输入口;P2. OP2.5脚用于控制按键;P2.7、P0.50.7脚用于电器的电源开关控制;PO.OPO.4脚用于语音芯片ISD4002的录放音控制。图7 单片机主控制器电
11、路3.6 接口电路1电器控制接口电路电器的控制采用继电器进行交流电源的开关控制,驱动电路用小功率三极管9013,继电器用5V的直流小封装继电器,控制线圈上并联二极管用于消除反峰电压。对于不能用简单电源进行控制的电器,要用红外遥控码进行操作。本设计实例电路图中设计了红外遥控电路,但在程序中无红外线控制的内容。图8所示为继电器驱动电路图。图8 继电器驱动电路2按键接口电路按键设计采用最简单的顺序查询方法,6个按键使用P2口的6根引脚线。程序中除使用录音及放音测试键外,另4个备用。图9 按键接口电路3.7 电源电路电源电路需要提供两组电压,单片机系统使用5V电源,语音芯片及双音频解码芯片使用3V电源
12、。设计中使用三端稳压集成电路LM7805及LM317,其外围电路简单,性能稳定,电路原理图如图10所示。图10 电源电路4 系统程序的设计电话远程控制器系统软件主要有以下模块:初始化子程序、键盘扫描程序、振铃次数读入程序、DTMF解码信号读入程序、密码比较程序、错误次数计数及计时程序、语音录音程序、语音放音程序、自动摘机处理程序等。4.1 语音录音程序语音录音程序用在远程电话控制器设计阶段,本设计中共用了5段语音提示,每段语音时间为1020s。第1段内容为“欢迎来到远程家电控制系统,请输入你的密码,以#号键结束” ,用于响铃5次后自动摘机时对操作者的提示。第2段内容为“控制空调请按1、控制电扇
13、请按2、控制电饭煲请按3、控制热水器请按4,退出请按*号键” ,用于实时对远程电器的操作。第3段内容为“你好,你的输入控制已完成,请挂机,谢谢” ,用于正常结束或1min无操作动作时的提醒。第4段内容为“对不起,你的密码输入有误,请重新输入密码,你有3次密码输入机会” ,用于密码输入错误的时候。第5段内容为“对不起,你的输入次数已到,系统将在10s后自动挂机,再见” ,用于密码输入3次错误时的挂机提醒。设计中可根据需要录12段时长约为lOs的语音提醒语句。ISD4002芯片录音操作程序流程图如11所示。4.2 语音放音程序语音放音程序用于远程自动电话操作过程中的语音提醒,不同阶段的情况要求播放
14、对应内容的提示语音,在程序设计时要根据录音时的地址进行相应的控制并按录音的延时时间进行放音延时。ISD4002语音放音程序流程图如图12所示。4.3 双音频解码数据读码程序远程电话控制器在拨号响铃5次后进入自动摘机状态,先要求操作者进行密码校对,操作者使用电话机上的按键(09、*、#)输入5位密码,并以#号键作为结束标志,这些按键以双音频的模式传送后,被远程电话控制器中的解码芯片MT8870解码,当一个新的代表键号的4位数据解码成功后,其第15脚会出现一个高电平信号,表示收到新的数据,单片机通过测试该端口判断是否要读人新的数据。读码程序的流程图如图13所示。图12 ISD4002语音放音程序流程 图13 双音频解码数据读码程序流程图4.4 自动摘机处理程序图14所示为电话远程控制器自动摘机处理程序流程图。在主程序循环中通过检测响铃的次数来自动摘机,摘机后提示先输入密码;在这里有3次输入密码的机会,然后提示控制操作的键号数字,当想结束操作时可输入*号键,如在1 min内无按键操作,电话控制器也会在语音提示后自动挂机。