《程控课程设计》由会员分享,可在线阅读,更多相关《程控课程设计(18页珍藏版)》请在金锄头文库上搜索。
1、 计算机与信息工程学院程控交换课程设计题 目: DTMF 板二次开发 专业班级: 指导老师: 谢铁强 姓 名: 同组成员: 1.硬件电路设计、制作及工艺 (20 分)2.程序编写、烧录及运行状况 (20 分)3.自检运行状态 (20 分)4.系统调试、运行及波形测试 (20 分)5.设计报告 (20 分)6.总分: DTMF 板二次开发一、课程设计目的1.了解电话号码双音多频信号在程控交换系统中的发送和接收方法。2.熟悉该电路的组成及工作过程。3.通过进行 DTMF 二次开发,熟悉 MT8870 的工作方式以及在编译码中的作用。4.通过编写单片机程序,进一步提高自己的编程水平。5.通过焊接电路
2、板,进一步提高自己的焊接水平以及动手能力。6.对程控交换系统有进一步的认识。二、课程设计原理1.双音多频 DTMF 的产生与接收在电话机中,有两种拨号方式,即脉冲拨号和双音多频拨号。双音多频,简写 DTMF(Dual Tone Multifrequency) 。双音多频拨号方式中的双音多频是指用两个特定的单音频信号的组合来代表数字或功能,两个单音频的频率不同,所代表的数字和功能也不同,在双音多频电话机中有 16 个按键,其中有 10 个数字键 09,6 个功能键*、#、A、B、C、D,按照组合的原理,它必须有 8 种不同的单音频信号,由于采用的频率有 8 种,故又称之为多频,又因以 8 种频率
3、中任意抽出 2 种进行组合,又称其为 8 中取 2 的编码方式。随着通讯事业的发展,数字传输的逐渐普及,DTMF 信号已经不仅仅局限于终端信令的传输,同时也广泛应用于 IP 网关、远程控制、局端信令传输,成为传统业务和现代 科技应用系统的桥梁。根据 CCITT 的建议,国际上采用 697 Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz 和 1633Hz,把这 8 种频率分成两个群,即高频群和低频群,从 高频群和低频群中任意各抽出一种频率进行组合,共有 16 种不同组合,代表 16 种不同数字或功能。见下图。图 1.双音多频(DTMF)信号频率表例如拨数字号码
4、“6” ,则发双音多频信号频率为 fH=1477Hz、fL=770Hz。(1)双音多频 DTMF 信号的产生DTMF 发送器的原理与构成如图所示,它主要包括:晶体振荡器:外接晶体(通常采用 3.579545 MHz)与片内电路构成振荡器,经分频产生参考信号。键控可变时钟产生电路:它是一种可控分频比的分频器,通常由 n 级移位寄存器与键控反馈逻辑单元组成。正弦波产生电路:它由正弦波编码器与 D/A 变换器构成,通常,可变速时钟 信号先经 5 位移位寄存器,产生一组 5 位移位代码,再由可编程逻辑阵列(PLA) 将其转换成二进制代码,加到 D/A 变换器形成台阶型正弦波。显然台阶的宽度等于 时钟频
5、率的倒数,这样形成的正弦波信号频率必然对应时钟的速率和按键的号码。混合电路:将键盘所对应产生的行、列正弦波信号(即低、高群 fL、fH)相加、混合成双音信号输出。附加功能单元:如有时含有单音抑制,输出控制(禁止) 、双键同按无输出等控制电路。图 2.DTMF 信号产生原理DTMF 发送器按输入控制方式可分为键盘行列控制和 BCD 接口控制两种。它们的控制部分真值表分别示于图 3、图 4。图 3.键盘行列控制图 4.BCD 接口控制(2)双音多频 DTMF 信号的接收图 5.DTMF 信号接收原理DTMF 接收器包括 DTMF 分组滤波器和 DTMF 译码器,其基本原理如图 4-2 所示。DTM
6、F 接收器先经高、低频组带通滤波器进行 fL/fH 区分,然后过零检测、比较,得到相应于 DTMF 的两路 fH、fH 信号输出。该两路信号经译码、锁存、缓冲,恢复成对应于 16 种 DTMF 信号音的 4 比特二进制码(D1D4) 。在本系统电路中,DTMF 接收器采用的是 MT8870 芯片。(3)MT8870 芯片简介MT8870 音调译码器(Tone Decoder)是 MITEL 公司所开发生产为一颗常用复频译码 IC,引脚图如图 6 所示,这个电路可以接收 DTMF 信号,是一个完整的 DTMF 接收器。它接收了DTMF 信号后,内部将信号分成高频带和低频带,并将此信号送至数字译码
7、器,然后将讯号送至数字译码器以解出按键值,接着将解出的按键值以二进制的方式以四条线(Q1、Q2、Q3、Q4)输出到外部共享总线上,MT887 引脚说明如图 7 及内部结构如图 8 所示。值得一提的是,当 MT8870 解出一个按键值且输出到外部时,其 STD 接脚会由低态升为高态,经一段时间后再降为低态,我们便可利用此特点侦测到此脚有讯号时便马上将 Q1-Q4接脚所产生的值读入 CPU,即可解出电话按键值。MT8870 应用电路图如图 9 所示。图 6.MT8870 引脚图该芯片的基本特性提供 DTMF 信号分离滤波和译码功能,输出相应 16 种 DTMF 频率组合的 4 位并行二进制码;可外
8、接 3.579545MHz 晶体,与内含振荡器产生基准频率信号;具有抑制拨号音和模拟信号输入增益可调的能力;二进制码为三态输出;提供基准电压(VDD2)输出;电源:+5V;功耗:15mw;工艺:MOS;封装:引线双列直插。图 7.MT8870 引脚说明图 8.MT8870 内部结构图 9.MT8870 应用电路MT8870 解码功能如下图所示图 10. MT8870 解码功能图1、该电路的基本特性提供 DTMF 信号分离滤波和译码功能,输出相应 16 种 DTMF 频率组合的 4位并行二进制码;可外接 3.579545 MHz 晶体,与内含振荡器产生基准频率信号;具有抑制拨号音和模拟信号输入增
9、益可调的能力;二进制码为三态输出;提供基准电压(VDD2)输出;电源:+5 V;功耗:15 mw;工艺:MOS;封装:引线双列直插。2、引脚简要说明表4-54.3.4 电路的工作原理它完成典型 DTMF 接收器的主要功能:输入信号的高、低频组带通滤波、限幅、频率检测与确认、译码、锁存与缓冲输出及振荡,监测等,具体说就是 DTMF 信号从芯片的输入端输入,经过输入运放和拨号音抑制滤波器进行滤波后,分两路分别进入高、低频组滤波器以分离检测出高、低频组信号。如果高、低频组信号同时被检测出来,便在 EC0 输出高电平作为有效检测 DTMF 信号的标志;如果 DTMF 信号消失,则 EC0 即返至低电平
10、,与此同时 EC0 通过外接 R 向 C 充电,得到 CI,GT。 (通常此两端相短接)积分波形,若经 tGTP 延时后,CI,GT 电压高于门限值 VTst 时,产生内部标志,这样,该电路在出现 EC0 标志时,将证实后的两单音送往译码器,变成 4 比特码字并送到输出锁存器,而 CI 标志出现时,则该码字送到三态输出端 D01D04,另外 CI 信号经形成和延时,从 CID 端输出,提供一选通脉冲,表明该码字已被接收和输出已被更新,如若积分电压降到门限VTst 以下,使 CID 也回到低电平。需要指出,在本系统中,8870 芯片主要对四路用户电路进行号码检测接入,为了不影响电路的正常工作,则
11、由模拟开关来接通或断开 DTMF 信号,模拟开关的第二个作用是它对话音信号进行隔离,阻止话音信号进入 8870 芯片,防止误动作的发生,在实际应用中,采取排队等待方式工作的情况下,在具体设计这方面的电路时,可要全面考虑电路的设计,使之能正常工作而不出现漏检测现象。图 4-7 是双音多频检测模块电原理图。图 4-7 是双音多频检测模块电原理图其中,双音多频信号测试点为 SP01,数据输出允许端 EN 的测量点为SP07,它经反相器反向后得到。数据输出则可以通过发光二极管 D3D0 显示出来,它代表的数是 8421 码。图 4-8 是它的工作时序波形图。4.4 用户测量点说明(1)M202 电源测
12、试点1、地:SP18、SP19、SP20、SP21、SP242、+12V:SP22(总线提供)3、+5V:SP17(2)M202 信号及状态测试点1.用户语音发 Vi_VX:系统模式为 SP01,二次开发为 SP092、按键状态检测 Vi_DTMFSTD:系统模式为 SP02,二次开发为 SP103、按键的 BCD 码键值: DTMFD3(对应芯片 Q4):系统模式为 SP03,二次开发为 SP11 DTMFD2(对应芯片 Q3):系统模式为 SP04,二次开发为 SP12 DTMFD1(对应芯片 Q2):系统模式为 SP05,二次开发为 SP13 DTMFD0(对应芯片 Q1):系统模式为
13、SP06,二次开发为 SP144、输出使能 Vi_DTMFTOE:系统模式为 SP07,二次开发为 SP155、晶振 XTAL:系统模式为 SP08,二次开发为 SP164.5 实验内容1、通过试验、测试、调试等了解 DTMF 工作原理与应用;2、学习使用 M202 DTMF 检测模块进行系统二次开发; DTMF 检测的系统流程图如图 4-9 所示开始TMOD 初始化STD 的值进行显示 LED等待开定时器中断响铃STD 的值关中断3、程序#include sbit LED1=P04; / 程序初始化,定义引脚与端口sbit LED2=P05; / 定义电话键盘的 12 个指示灯口,和 MT8
14、870 能端sbit LED3=P06; /的端口定义,BCD 码的指示灯端口定义。sbit LED4=P07;sbit LED5=P27;sbit LED6=P26;sbit LED7=P25;sbit LED8=P23;sbit LED9=P24;sbit LED10=P21;sbit LED11=P22;sbit LED12=P20;sbit EOC=P30;sbit STD=P31;sbit laba=P42;sbit LED13=P17;sbit LED14=P15;sbit LED15=P16;sbit LED16=P14;sbit Q4=P13;sbit Q3=P12;sbit
15、Q2=P11;sbit Q1=P10;unsigned int STH0,STL0; / 设置整形变量void delay() / 延时子程序unsigned int i, j,k,m ; / 设置整形变量for(m=10;m0;m-)for(i=100;i0;i-)for(j=100;j0;j-)for(k=10;k0;k-);void lsd() / 跑马灯、BCD 显示LED1=0; / 低电平点亮 1 指示灯,对应 BCD 码灯亮,1LED13=1;LED14=1;LED15=1;LED16=0;delay(); / 调用延时程序LED1=1; / 高电平灭,下一个灯亮以下循环,2LED2=0;/ P1=0XB0; / 电平点亮 2 指示灯,对应 BCD 码灯亮LED13=1;LED14=1;LED15=0;LED16=1;delay();LED2=1;LED3=0; /3/ P1=0XA0;LED13=1;LED14=1;LED15=0;LED16=0;delay();LED3=1; /4