



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DTMF双音多频论文计算机与信息工程学院程控交换课程设计题目:专业班级:指导老师:姓名:同组成员:一.DTMF简介在电话机中,有两种拨号方式,即脉冲拨号和双音多频拨号。双音多频拨号方式中的双音多频是指用两个特定的单音频信号的组合来代表数字或功能,两个单音频的频率不同,所代表的数字和功能也不同,在双音多频电话机中有 16 个按键,其中有 10 个数字键 09, 6 个功能键*、 #、 A、 B、 C、 D,按照组合的原理,它必须有 8 种不同的单音频信号,由于采用的频率有 8 种,故又称之为多频,又因以 8 种频率中任意抽出 2 种进行组合,又称其为 8 中取 2 的编码方式。随着通讯事业的发展
2、,数字传输的逐渐普及, DTMF 信号已经不仅仅局限于终端信令的传输,同时也广泛应用于 IP 网关、远程控制、局端信令传输,成为传统业务和现代科技应用系统的桥梁。把现代科技的优越性带给世界上最通用、最经济、流动性最强、操作最简单的终端-标准电话机。根据 CCITT 的建议,国际上采用 697 Hz、770 Hz、 852 Hz、 941 Hz、 1209 Hz、1336 Hz、1477 Hz 和 1633 Hz,把这 8 种频率分成两个群,即高频群和低频群,从高频群和低频群中任意各抽出一种频率进行组合,共有 16种不同组合,代表16 种不同数字或功能, 具体如下表所示:二. MT8870简介1
3、) MT8870 简介The MT8870D/MT8870D-1 is a complete DTMF receiver integrating both the bandsplit filter and digital decoder functions. The filter section uses switched capacitor techniques for high and low group filters; the decoder uses digital counting techniques to detect and decode all 16 DTMF tonepa
4、irs into a 4-bit code. External component count is minimized by on chip provision of a differential input amplifier, clock oscillator and latched three-state bus interface.2) MT8870 结构框图3). 引脚定义及其功能说明4).控制电路(Steering Circuit)在MT8870完成音频信号译码输出时, 将会把StD引脚置高以使MCU读取并存储数据.当MCU完成读取后,MT8870将会准备进行下次音频信号的译码.
5、MT8870是通过St/GT引脚来获知MCU的读取情况.实际应用中,MCU一般不会专门控制St/GT引脚,相应的是通过延时电路来实现的.在StD有效时,在一段时间后St/GT会自动被置为有效电平以使MT8870重新进入工作状态,经典的电路如下所示 :5) 滤波段Separation of the low-group and high group tones is achieved by applying the DTMF signal to the inputs of two sixth-order switched capacitor bandpass filters, the bandwi
6、dths of which correspond to the low and high group frequencies. The filter section also incorporates notches at 350 and 440 Hz for exceptional dial tone rejection (see Figure 3). Each filter output is followed by a single order switched capacitor filter section which smooths the signals prior to lim
7、iting. Limiting is performed by high-gain comparators which are provided with hysteresis to prevent detection of unwanted low-level signals. The outputs of the comparators provide full rail logic swings at the frequencies of the incoming DTMF signals.滤波器频率响应如下图所示:6) 译码对照表7) MT8870典型应用下图说明了 MT8870 的典
8、型应用电路示例.8) 典型时序图三.双音多频模块说明1) 模块的电原理图如下所示:2) 电路工作原理电路主要完成典型 DTMF 接收器的主要功能:输入信号的高、低频组带通滤波、限幅、频率检测与确认、译码、锁存与缓冲输出及振荡,监测等,具体说就是 DTMF 信号从芯片的输入端输入,经过输入运放和拨号音抑制滤波器进行滤波后,分两路分别进入高、低频组滤波器以分离检测出高、低频组信号。如果高、低频组信号同时被检测出来,便在 EC0 输出高电平作为有效检测 DTMF信号的标志;如果 DTMF 信号消失,则 EC0 即返至低电平,与此同时 EC0 通过外接 R 向 C 充电,得到 CI, GT。(通常此两
9、端相短接)积分波形,若经 tGTP 延时后,CI, GT 电压高于门限值 VTst 时,产生内部标志,这样,该电路在出现 EC0 标志时,将证实后的两单音送往译码器,变成 4 比特码字并送到输出锁存器,而 CI 标志出现时,则该码字送到三态输出端D01D04,另外 CI 信号经形成和延时,从 CID端输出,提供一选通脉冲,表明该码字已被接收和输出已被更新,如若积分电压降到门限 VTst 以下,使 CID 也回到低电平。需要指出,在本系统中, 8870 芯片主要对四路用户电路进行号码检测接入,为了不影响电路的正常工作,则由模拟开关来接通或断开 DTMF 信号,模拟开关的第二个作用是它对话音信号进
10、行隔离,阻止话音信号进入 8870 芯片,防止误动作的发生,在实际应用中,采取排队等待方式工作的情况下,在具体设计这方面的电路时,可要全面考虑电路的设计,使之能正常工作而不出现漏检测现象。四.二次开发区1) DTMF检测整体模块结构图通过跳线区的跳线,我们可以有选择性的将四路用户中的某一路信号引入 M202, M202 是一个号码检测模块,当某路用户摘机拨号时,与之相对应的DTMF 信号检测模块从该路模拟语音发 Vi_VX 上检测到双音多频信号,若有双音多频信号 Vi_DTMFSTD 输出高电平,否着输出低电平。若由总线引入的 DTM使能信号 Vi_DTMFTOE 为高则允许 BCD 号码键值
11、输出到总线上,若为低 MT8870的 Q4Q1 为高阻态。本模块在此还提供了二次开发单元,用户可通过二次开发切换开关,将此模块切换到开发模式,对 MCS51 进行编程,实时观察按键拨号号码和键值。需要注意的是: 5 个切换开关全部松开时是二次开发模式,全部按下时是系统模式,切不可部分按下部分松开。2) MCU 引脚连接示意图五.DTMF检测示例程序1) 程序流程图如下图所示:2) 注意事项1. 读取数据时,先将相应的端口寄存器置1.2. 检测到DTMF_STD信号有效时,置DTMF_EOC信号有效以读取BCD码.3. 注意并妥善处理MT8870的保护时间(guard time)4.先进行基本的
12、LED灯和蜂鸣器测试以确保硬件正常.5. 注意本次课程设计单片机使用的是 24M Hz的晶振频率.6. 本次课程设计所用的MCU为STC89C51RD+, 其 P4 口地址为 0xC0.3).程序源码附于文档附录中.附录 :DTMF检测二次开发源码如下:/* Name : dtmf.c* Date : 2021.06.24* Describe : dtmf 测试实验* CopyRight: freedom.* Note : use for C51.* : DTMF 部分请参考官方文档 : MT8870DE/DE-1(Integrated * DTMF Receiver).MITEL*/#inc
13、lude #include delay.h/* STC89C51 还有 P4 口, 地址是 0xC0 . */sfr P4 = 0xC0;/* define LED pins */#define LED_ON 0#define LED_OFF 1sbit led_1 = P04; sbit led_2 = P05;sbit led_3 = P06; sbit led_4 = P07;sbit led_5 = P27; sbit led_6 = P26;sbit led_7 = P25; sbit led_8 = P23;sbit led_9 = P24; sbit led_10 = P22;s
14、bit led_11 = P21; sbit led_12 = P20;/* led_13 led_16 use for show BCD */sbit led_13 = P17; sbit led_14 = P15;sbit led_15 = P16; sbit led_16 = P14;/* define DTMF pins */#define DTMF_Q P1 /* 仅使用低四位 */sbit dtmf_Q1 = P13;sbit dtmf_Q2 = P12;sbit dtmf_Q3 = P11;sbit dtmf_Q4 = P10;sbit dtmf_EOC = P31; /* 输出
15、使能端 */sbit dtmf_STD = P31; /* 有效解码输出的指示端口 */sbit buzzer = P42;unsigned int clocks;/* 对于每个键值对应的蜂鸣器频率* 由于耳朵对两个音的倍数敏感而非它们的相差值, 所以这个数组并不十分科学 */ code int freq_table12 = 200, 250, 300, 350,400, 450, 500, 550,600, 650, 700, 750,;/* LED 和蜂鸣器测试, LED 为跑马灯测试 */int simple_test();/* 设置第 led_i 的值为 value, 如你所见, va
16、lue = 0 or 1. */int led_set_i(int i, int value);/* 显示 8421 码 */int led_show_BCD(int bcd);/* 启动蜂鸣器, 设置频率为 freq Hz */int buzzer_start(int freq);/* 关闭蜂鸣器 */int buzzer_stop();int main()int dtmf_bcd;/* LED 和蜂鸣器测试, LED 为跑马灯测试 */while(1)simple_test();while(1)/* 设置 DTMF_Q (P1 低四位) 为读取状态 */P1 |= 0x0F;/* DTMF
17、 芯片的 EOC 使能端设置为 关闭 */dtmf_EOC = 0;/* 当检测到合适的音频信号时, dtmf_STD 被拉高为 1* 在一段保护时间后(guard time), dtmf_STD 重新恢复到 0* 这是通过简单的延时电路实现的, 对于R = 300 K, C = 0.1 pF, * V_TSt = 2.4 V, VDD = 5V, t_GTA = 20 ms* 保护时间 guard time = 20ms + t_DP, t_DP 未知 . */if(dtmf_STD = 1)/* DTMF 芯片的 EOC 使能端设置为 开启 */dtmf_EOC = 1;/* 取得音频信号
18、对应的 BCD 码值 */dtmf_bcd = DTMF_Q & 0x0F;/* 点亮与 BCD 码对应的键盘 LED 灯 (12个键盘 LED 灯) */if(dtmf_bcd 0 & dtmf_bcd led_set_i(dtmf_bcd, LED_ON);/* 显示 BCD 码值 */led_show_BCD(dtmf_bcd);/* 启动蜂鸣器, 其频率与 BCD 码相关 */* 以 freq_tablei 的频率启动蜂鸣器 */buzzer_start(freq_tabledtmf_bcd % 12); /* 此语句可省略.* 延时 100 ms, 无论如何, 蜂鸣器会在一个频率至少
19、工作 100 ms, * 这是为了防止过低的 guard time 和过高的 信号速率带来的* 信息淹没 */delay_ms(100);/* 使 MCU 等待 STMF 芯片的 保护时间 (guard time)* 保护时间过后, dtmf_STD 等于逻辑低 */while(dtmf_STD = 1);/* 熄灭与 BCD 码对应的键盘 LED 灯 (12个键盘 LED 灯) */if(dtmf_bcd 0 & dtmf_bcd led_set_i(dtmf_bcd, LED_OFF);/* 停止蜂鸣器 */buzzer_stop();return 0;/* LED 和蜂鸣器测试, LED
20、 为跑马灯测试 */int simple_test()int i;for(i = 1; i led_set_i(i, LED_ON);led_show_BCD(i);buzzer_stop();/* 以 freq_tablei 的频率启动蜂鸣器 */buzzer_start(i % 12); delay_ms(500);led_set_i(i, LED_OFF); buzzer_stop();return 0;/* 设置第 led_i 的值为 value, 如你所见, value = 0 or 1. */int led_set_i(int i, int value)switch(i)case
21、1 : led_1 = value; break;case 2 : led_2 = value; break;case 3 : led_3 = value; break;case 4 : led_4 = value; break;case 5 : led_5 = value; break;case 6 : led_6 = value; break;case 7 : led_7 = value; break;case 8 : led_8 = value; break;case 9 : led_9 = value; break;case 10 : led_10 = value; break;cas
22、e 11 : led_11 = value; break;case 12 : led_12 = value; break;case 13 : led_13 = value; break;case 14 : led_14 = value; break;case 15 : led_15 = value; break;case 16 : led_16 = value; break;default : break; /* 之外的为错误值, 不做响应 */return 0;/* 显示 8421 码 */int led_show_BCD(int bcd)led_13 = (bcd & (1 led_14
23、= (bcd & (1 led_15 = (bcd & (1 led_16 = (bcd & (1 return 0;/* 启动蜂鸣器, 设置频率为 freq Hz */int buzzer_start(int freq)float MC;/* 一个机器周期所占的秒数, 这里假定一个指令周期为 12 个 clock */MC = 1.0 / CRYSTAL_FREQ_MHZ * 12;MC /= 1000;MC /= 1000;/* clocks : 蜂鸣器信号的一个周期所需的 C51 机器周期, 不要试图在其他函 *数更改此值 */clocks = (1.0 / freq) / MC / 2;TH0 = (65535 - clocks) / 256;TL0 = (65535 - clocks) % 256;TMOD = 0x01; /* 设置 T0 为 16位定时器 */EA = 1; /* 开 CPU 中断 */ET0 = 1; /* 开 T0 中断 */TR0 = 1; /* T0 开始计时 */return 0;/* 关闭蜂鸣器 */int buzzer_stop()EA = 0; /* 关 CPU 中断 */ET0 = 0; /* 关 T0 中断 */TR0 = 0; /* 关闭 T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省南京市江浦高级中学2025届高三适应性练习(一)英语试题试卷含解析
- 江苏省淮安市南陈集中学2025届初三2月教学质量检测试题语文试题含解析
- 普洱学院《西方思想史》2023-2024学年第二学期期末试卷
- 江西省上饶市广丰区2025届初三化学试题周四测试试题含解析
- 商洛学院《社区预防》2023-2024学年第二学期期末试卷
- 部编版语文八年级上册第11课《短文二篇》教学课件
- 浙江东方职业技术学院《问题解决与数学实践》2023-2024学年第二学期期末试卷
- 上海民航职业技术学院《视频剪辑》2023-2024学年第二学期期末试卷
- 湖北省恩施州2025年初三教学质量检测试题试卷(二)生物试题含解析
- 华中科技大学《管理学理论教学》2023-2024学年第二学期期末试卷
- 两位数除以一位数(有余数)计算题200道
- 产后早开奶好处健康宣教
- 2024届江苏省期无锡市天一实验校中考联考英语试题含答案
- 内镜室院感培训知识
- 北师大版数学三年级下册《长方形的面积》
- 八年级黄金矩形(公开课)
- 住院医师规范化培训临床小讲课指南(2021年版)全文解读
- 岩石锚喷支护设计计算书
- 医院手卫生依从性观察表
- 某工程项目精细化管理宣贯课件
- 精装修算量与计价学习总结课件
评论
0/150
提交评论