MT8880电话远程控制资料          整理:憨牛电子

随着社会的发展科技的进步人们是如此的切身体会到互联网和电信技术给我们带来的便利以及时空距离的缩小当我们已经能

够随时随地的与远在千里之外的亲人朋友通电话的时候我们又在想
有没有一种办法可以实现对家电的远程遥控能够在炎炎夏

日下班前就把家中的空调打开一回到家中立
即能感受到那清凉舒适又或者家中万一遭遇非法入侵的时候能够自动地拨叫电话

或手机报警利用
LPC900 单片机与电话拨号芯片的结合实现电话远程报警电话远程遥控是目前比较流行且实用的解决方案

用的DTMF 电话拨号芯片有HOLTEK 公司的HT9200 HT9170 MITEL 公司的MT8880 MT8880 是单片
DTMF 收发芯片HT9200

是脚封装的DTMF 发送芯片而HT9170 18 脚的DTMF 接收芯片如果只是发送
DTMF 信号那采用HT9200 将是非常理想的若只

是接收DTMF 信号则采用HT9170 完全可以满足要求且
价格便宜如果既要接收又要发送DTMF 信号则有两套方案单片MT8880

或者是HT9200 HT9170
一套方案使用方便但后一套方案则更有价格优势这里我们只是简单探讨一下单片机与MT8880
接口技术实现DTMF 信号的接收与发送,更详细说明到www.hanniu.com网中查找。

 DTMF 收发器MT8880 简介

MT8880 是单片DTMF 双音频收发器提供与单片机的总线接口20 脚的MT8880 管脚配置如图

3.1 MT8880 管脚配置

         

 

3.1 接收部分

接收部分自带片内运算放大器接收到的信号被放大后再经过高通滤波器低通滤波器和350Hz440Hz 的陷波电路后分别进入

频群解码电路和低频群解码电路当两个解码电路检测到一个有效的双音频对时EST 脚输出高电平从而启动接收延时电路对电

C2 见图充电当St/GT 脚的电压充到阀值电压VTST St/GT 脚也驱动到高电平同时与有效双音频对相应的位代码被锁存到

接收数据寄存器Receive Data Register 状态寄存器中的接收标志置如果中断使能则IRQ/CP 脚将输出低电平此时单片机就

可以读取接收数据寄存器中的内容从而判断接收到双音频信号

3.2 发送部分

发送部分使用开关电容D/A 转换器可以选择突发模式Burst Mode 和连续模式两种模式现在的电话交换机都支持突发模式在

突发模式下如果音频输出使能只要写发送数据寄存器对应的双音频信号就从TONE 脚发送出持续时间为51 1mS 然后暂停51

1mS 这时一个数据发送完毕状态寄存器的发送标志位置表示可以发送下一个数据如果中断使能则IRQ/CP 输出低电平若选

择了CP模式则发送/暂停时间将延长为102 2mS 在该模式下只能发送DTMF 信号而不能接收DTMF 信号

      

    

   DTMF 信号编码/解码表

   

下面为二个控制寄存器(CRA和CRB)和一个状态寄存器各位如下表说明

名字

功能

描述

b0

TOUR

TONE 输出功能

TONE=1时无论突发还是连续方式均适用

b1

CP/DTMF

模式控制

0时,能发送和接收

双音频;为1时为呼叫模式

b2

IRQ

中断功能

1时表示中断允许

b3

RSEL

寄存器选择

当为1时表明控制寄存器AB循环写,写完CRA后下次写CRB

                   控制寄存器A

名字

功能

描述

b0

BRUST

突发功能

0为突发模式

b1

TEST

测试模式

当为1时,接到DTMF信号后,IRQ/CP脚出现一个反转前提CRA中的b1=0

b2

S/D

/双音频

0时允许产生双音多频;为1时产生横频或纵频这要由下面的b3来决定

b3

C/R

/列频选择

0时选择横频,为1选择纵频

 

 

 

 

 

 

 

                  控制寄存器B

名字

状态置位

清除状态位

b0

IRQ

在(b1)或(b2)置位时IRQ就置位

读宛后自动复位

b1

发送寄存器为空

(仅为BURST模式)

准备发送下一个数据

读后清0

b2

接收数据寄存器满

合法数据已在接收寄存器中

读后清0

b3

延时控制

合法DTMF信号缺失

检测到合法的DTMF

 

 

 

 

 

 

                     状太寄存器

判断的实现原理是:

由于电话系统信号音的拨号音、回铃音和忙音的音源频率均为450Hz(±25Hz)的正弦波,只是断续比不同且在时间上有明显

的差异(拨号音为450Hz±25Hz连续信号,忙音为0.35s通0.35s断,回铃音为1s通4s断)。要判断信号音,首先应将处理

DTMF信号的MT8880芯片设置为呼叫处理模式,使电话呼叫过程中的各种信号音经MT8880滤波、限幅后得到方波,并由

MT8880的IRQ端输出。然后对MT8880输出的IRQ信号计数5秒,拨号音的计数下限为(450-25)×5=2125,计数上限为(

450+25)×5=2375,即计数范围为2125~2375。同理,忙音的计数范围为1041~1212,回铃音的计数范围为425~475,无

信号音的计数应为零。但在实际编程中,需要考虑一定的计时计数误差,并且使程序简化,因此采用不同信号音相邻计数界

限的中间值为区分不同的信号音。同时,为合理利用FPGA硬件资源,中间值应尽量选为2的n次方(整数)。最后设定为计数值

大于1792为拨号音,在1024~1791之间的忙音,在256~1023之间的回铃音,小于255为无信号音。

      数据的发送还是接收以及发送及状态的读取要根据下面的控制格式:

      


上图中右边部分是控制寄存器工A和控制寄存器B的低四位字节部分关于代码的编写及控制过程见www.hanniu.com中后续部分。