双音多频" title="双音多频">双音多频信号(DTMF" title="DTMF">DTMF)是由一组低音频信号和一组高音频信号以一定方式的组合构成,每组音频信号各有4个音频信号,而每种组合有一个高音频信号和一个低音频信号,共16种组合。过去主要用于电话拨号信息传输,具有很强的抗干扰能力。目前市场上销售的DTMF专用芯片集编解码于一体,MT8880" title="MT8880">MT8880具有收发功能。本文通过89C51" title="89C51">89C51单片机控制MT8880实现计算机间的远距离数据传输。
1DTMF技术介绍
1.1DTMF信号介绍
DTMF信号的产生原理:双音频信号是2个正弦波信号的叠加,选定2个频率f1和f2后可得到这种信号的数学表达式:
f(t)=A.sin(2.pi.f1.t)+A.sin(2.pi.f2.t)
如果用合适的采样频率对这个信号进行A/D转换,则很容易计算出每一个采样点的A/D值,而如果将这些采样值形成一张表,在单片机里用同样的采样频率将这张表中的数值用D/A转换器输出,就是双音频信号。在实际应用中常用1b的DM编码来实现A/D和D/A过程,其中A/D过程可以在PC机上完成,用程序生成对应每一个DTMF信号的DM编码表,D/A过程在单片机上完成。与单音编码不同,DTMF信号是采用八中取二的方式来构成一个音频信号,由虚假信号的干扰,所以应用范围特别广泛。
对照表1可以发现DTMF信号由2个不同的频率信号合成。分为高频组和低频组,包各含有4个频率,可以构成16种不同的信号,依次对应着16个不同的BCD码。
1.2MT8880介绍
MT8880C是一个带有呼叫处理滤波器的单片DTMF信号收发器。他的制造采用MITEL公司的低功耗、高稳定性的ISO-CMOS技术。DTMF信号的接收部分采用DTMF信号接收单片机MT8870的工业制造标准;发送部分采用开关电容进行D/A转换发送高精度、低畸变的DTMF信号。内部寄存器提供一个群模式。在双音频群模式下DTMF信号可以通过精确的时序被发送出去。可选择呼叫处理滤波器让一个微处理器处理呼叫音频信号。MT8880C还具有标准的微处理器总路线与6800系列的微处理器直接连接。
整合了收发功能的MT8880C单片机的结构包括一个带有可变增益的内部放大器的高性能接收器和一个带有脉冲计数器的发射器。一个可以访问MT8880内部的寄存器的标准的微处理器接口。MT8880的内部寄存器包括1个状态寄存器、2个数据寄存器和2个控制寄存器,如图1所示。
2系统硬件设计
2.1系统组成
系统由发送和接收2大部分组成。如图2所示。实现PC机的两机间的通信步骤如下:
(1)将PC的信号与串口芯片的MAX232相连,将PC中的电平信号通过MAX232实现电平转换。
(2)将从MAX232中转换出来的信号接入89C51中进行处理,将出来的信号引入DTMF芯片MT8880中进行编码,编码后的信号经由普通的电缆线与另一个MT8880芯片进行连接,由MT8880进行解码处理。
(3)将解码后的信号接入89C51中进行处理。
(4)从89C51出来的信号再次经过串口芯片MAX232进行电平转换,将转换后的信号接入计算机的串口后就实现了两机的通信。
2.2MT8880接收电路设计
当MT8880作为DTMF接收器的时候,DTMF信号经由IN+和IN-输入,经过运算放大滤除信号中的拨号音频率,然后发送到双音频滤波器,分离出低频组和高频组信号,通过数字计数的方式检出DTMF信号的频率,并且通过译码器译成4位二进制码。4位二进制编码被锁存在接收数据寄存器中,此时状态寄存器中的延时控制识别位复位,状态寄存器中的接收数据寄存器满标识位置位,对外而言,当寄存器中的延时控制识别位复位时,IRQ/CP由高电平变为低电平。如果用IRQ/CP作为单片机的中断信号,IRQL由高电平变为低电平,向CPU发出中断请求,当CPU响应中断,读出寄存器中的数据后,IRQ返回高电平。MT8880的D0~D3与单片机的P1.0~P1.3相连,P1.4-P1.7分别与CK,RSO,CS,R/W相连,电路图如图3所示。
2.3发送电路设计
当MT8880作为发送器时数据总线上D0~D3四位二进制码被锁存在发送数据寄存器中,发送的DTMF信号频率由3.58MHz的晶振分频产生。分频器首先从基准频率分离出8个不同频率的正弦波,行列计数器根据发送数据寄存器中的数据,以八取二方式分离出一个高频信号和一个低频信号,经开关电容做D/A转换,在加法器中合成DTMF信号,并从TONE端输出,电路图如图4所示。
3系统软件设计
3.1MT8880的数据发送程序设计
MT8880的数据发送程序中用到了相应的串口接收程序,其程序流程图如图5所示。
程序清单如下:
3.2MT8880的数据接收程序设计
MT8880的数据接收程序中用到了相应的串口发送程序,其程序流程图如图6所示。
程序清单如下:
4结语
应用MT8880使DTMF信号的收发功能于一体,完成DTMF信号的编码与解码,达到数据传输的目的。大大简化了设计的复杂性,可以降低成本,减少体积。