基于DTMF技术的远程监控系统设计*DTMF/远程监控/电话网络1引言长期以来,有线监控作为工业监控的主要方法,其本身存在的局限性逐渐凸显出来。有线监控要求有专门的布线,而且要求采取措施的控制人员必须能够在系统现场,这就对控制方产生了较高的要求。相比于有线控制,无线控制方法由于通信终端的普及、无线网络范围的扩大等优点而具有较强的适用性。本文讨论了一种利用移动电话终端和有线电话网络构成的远程监控系统,利用移动电话终端进行远程控制,控制范围可以达到任何电话线路联网区[1],从而具有很好的适用性。2双音多频(DTMF)关键技术双音多频(DTMF)是在电话机中实现电话号码快速传输的一种可靠技术,它以其很强的抗干扰能力和较高的传输速度广泛用于电话通信系统和数据通信系统。这种技术是用两个特定的单音频组合信号来代表数字信号以实现其功能的一种编码技术[2]。信号对电话线路的质量要求较低,且不会出现错号的现象[3]。一般在控制系统中有10个数字键和6个功能键*、#、A、B、C、D。在信号的传输过程中,需要信号的发送方将要发送的号码转换成一对双音多频信号送至线路传输,信号的接收方需要将接收到的双音多频信号还原成控制数据信号进行识别[3],从而达到控制目的。3系统方案设计3.1系统体系结构本监控系统的结构如图1所示。系统主要包括以下几部分组成。图1远程监控系统结构图(1)移动控制终端。由控制管理人员持有的移动控制终端通过GSM/CDMA等无线通信网络对电话终端进行拨号,发送DTMF信号控制码。(2)有线电话网络。有线电话网络是系统实现远程控制的关键部分,是信号传输的主要信道。移动控制端发送的控制码经转换成DTMF码后在有线电话网络中传输,从而控制各个电话终端。(3)电话终端及控制器。电话终端必须要完成DTMF信号的解码及使能目的控制器。通过对解码信号和本机指令码进行配对,只有在配对完全成功的条件下才执行相应的动作,防止误操作。3.2系统主要硬件构成DTMF的远程控制系统移动控制终端必须是可使用的移动电话或固定电话。除电话终端及控制器外,系统的其它结构是网络中固定不可改变的。电话终端及控制器包括编/解码模块和可检测工作环境的传感器、状态显示部分及通信系统。本设计中使用了STC89C52单片机和完整电话接口模块PH8810作为电话控制终端,完成信号的编/解码和控制动作,在测量温度时使用DS18B20数字温度传感器。系统由单片机完成本地的控制,其具体结构和控制板如图2,图3为控制板实物。图2控制系统硬件总体结构图3控制系统板实物3.2.1单片机控制单元本系统由于硬件模块较多,软件设计需要大量数据和运算,决定其需要一款存储空间较大的单片机,这里采用STC公司的STC89C52单片机。STC89C52单片机是采用通用8051内核的增强型51单片机,指令代码与传统51单片机完全兼容;含8KFlash程序存储空间,可充分满足空间需求;32个双向输入/输出通用I/O口;6个中断源支持2层中断嵌套;内部自带看门狗和EEPROM;特别方便的是通过串行口可直接下载程序,无需专用编程器和仿真器,大大简化开发成本。3.2.2电话接口PH8810是专门用于话机通信的完整电话接口模块,除含有全部的电压匹配、增益控制、掉线检测外,还含有HT9200和HT9170的DTMF信号发送、接收功能,接口可以直接与单片机相连,其封装为标准DIP40封装。在使用该芯片时主要是对HT9200编码和HT9170解码部分进行控制。HT9200和HT9170是常用uC接口的编码、解码芯片,其外围电路原件少且不需要滤波电路,控制简单,用单片机就可方便地控制。根据PH8810的芯片手册,主要功能引脚为:PHONEA/PHONEB:外部电话线路接口SW:主通道通断控制,低电平断开RING:振铃信号输出,低电平有效CE:HT9200片选DATA:HT9200串行数据CLK:HT9200串行时钟D0-D3:HT9170数据DV:HT9170检测DTMF有效端,当有信号时,该脚输出高电平OE:HT9170数据输出有效,设置为高时输出DTMF解码信号据此设计给出的PH8810基本接法如图4。图4PH8810基本接法其中F1为压敏电阻,防止电话线路遭雷击时的瞬间高压击穿模块。D5用作振铃信号指示,两个稳压二极管与降压电容相连接降压进行振铃信号检测。3.2.3上位机通信RS232上位机通信主要是提供更改本机指令码功能。单片机与串口调试助手之间进行通信是通过计算机和单片机串口进行的,由于信号电平的差异,二者之间需要通过MAX232进行电平转化,其电路连接方式如图5。图5RS232通信接口3.2.4环境温度检测DS18B20是Dallas半导体公司的单总线数字式温度传感器,由于其单总线结构,使得相应的硬件连接电路非常简单,只需一根线即能完成温度数据的传递,同时DS18B20的工作电源亦可由此单线获得而不需另接[4]。系统运行时,单片机从DS18B20中读取当前温度数据,并判断是否超过已定报警峰值。如果温度超出报警温度系统将向外拨号报警。4软件设计4.1部分操作协议分析DTMF信号所代表的编码都是固定的。对HT9200和HT9170来说,与单片机的数据交换必须按照相应的时序进行操作。图6为二者的操作时序。图6HT9200(a)编码和HT9170(b)解码时序根据HT9200的时序图,当片选CE有效时,必需等待相当长的时间(TUP)使振荡器正常工作,典型值为10ms;然后串行数据在时钟下降沿脉冲的控制下输入,低位在前高位在后,前一个编码的DTMF信号将在下一个信号来时才能输出,输出信号结束时要有停止代码。在HT9170进行解码时,当芯片检测到有效的DTMF信号时DV被置为高电平,当OE设置为高时D0-D4就会产生解码输出。当解码数据与单片机本身存储的指令码一致时,单片机通过光电隔离器控制驱动电路进行动作,完成本地的控制。4.2单片机程序设计单片机程序主要包括与上位机软件的通信、PH8810接口模块控制、温度检测、显示及驱动等功能的实现。图7为监控系统正常的工作流程,程序开始时首先对系统进行初始化,主要是对中断、变量和标志位等进行定义和设置及ROM指令的读取。初始化完毕后进入运行状态,需要时刻监控DTMF信号和通信标志及当前环境温度状态。如果接收到有效的DTMF信号时系统进入指令对比流程;当监测到当前环境温度异常时进入拨号程序向控制端发出报警信号。图7单片机系统程序流程5结束语本系统设计已制作为实际电路,各模块经调试后均能正常工作。实验结果表明,系统可由操作者发出指令码控制本地电器,并且可以在环境温度异常时向控制端拨号报警。该系统主要是针对远程、移动性监控的需要设计的,通过有线电话网络作为传输媒介,功耗低、抗干扰能力较好,可以使用在智能家居、工厂厂房、实验室等处,不需专门布线,避免了电磁污染,具有较好的适用性。姚伟超徐杰