




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文单片机设计的电话交换机语音处理系统 系 (部):信息科学与技术系专 业 :电子信息工程 摘 要随着经济的发展和人民生活水平的提高,电话通讯在生活及工作中发挥了重大作用,但普通的一个或多个话机并行接入一根外线的模式已经远远不能满足生活和工作上的需要,并带来许多不便;专用的交换机又太昂贵及功能太过强大造成浪费。小型程控交换机便是为了填补这个空白而设计的.本文将主要从硬件构架和软件工作原理上讨论一个一拖三的小型程控交换机的设计。用户交换机是构成现代交换式通信网的重要设备,主要由用户线接口部分、交换网络和控制系统3大部分组成。控制系统依靠单片机存储器中的程序和数据,引导单片机对各种信令进行相应的处理,对交换网络和接口进行控制。实际中实现交换系统的方案有较大差别,缺乏统一模式,我考虑将单片机知识与程控交换的基本原理相结合来设计简易的交换系统。该系统采用开关矩阵芯片,DTMF解码芯片和用户接口电路,以单片机为核心来实现电话交换机的呼叫处理、应答、话路接续及复位拆线等基本功能。关键词: 单片机 DTMF译码 交换网络 用户接口电路IAbstract With the development of the economy and the peoples living standards, telephone communication plays a major role in both life and work. But the ordinary model of accesssing several phones to an outline parallelly could no longer meet the demands of the life and work, and it also brings much inconvenience.A special switch is far too expensive and powerful which is a kind of wastage. PABX(Private Automatic Branch Exchange)is designed to fill this blank.This paper is mainly about the design of a switch of one-out to three-in based on hardware structure and software working thoery. User-switch is an important constitution of modern communications network device.It mainly contains the subscriber line interface,switch network and control system. Control system depends on the procedures and data to control single-chip microcomputer to deal with various signals,switch network and interface. Practical designs of phone switch differ greatly without a unified model.So I consider to combine the knowledge of single-chip with the basic thoery of switch to design a simple switch system. The system uses single-chip microcomputer, network switching chip and user interface circuit to realize the function such as dial-handling,answering ,line-connection and system reset. Key Words: Single-Chip Microcomputer DTMF Decoding Switching Network Subscriber Line Interface 目 录摘要IAbstractII绪论11 设计方案概述21.1 系统的基本组成21.2 各个模块实现方法21.3 系统工作过程22 硬件电路设计42.1 系统主要芯片42.1.1 单片机AT89C5242.1.2 矩阵开关CD2210042.1.3 DTMF译码芯片MT887052.1.4 语音芯片ISD142072.2 系统硬件电路功能92.2.1 用户接口电路模块92.2.2 交换网络模块112.2.3 DTMF解码电路122.2.4 语音提示模块132.2.5中继线铃流检测与模拟摘挂机模块142.2.6 系统电源模块152.2.7 系统控制模块153 软件设计163.1 系统总程序相关子函数及各变量功能说明163.2 系统总程序工作过程概述163.3程序流程图及程序代码173.3.1主程序代码及流程图173.3.2 中继呼叫子程序183.3.3 内线用户呼叫子程序203.3.4 分机振铃子程序203.3.5 交换网络清零子程序213.3.6 被叫应答摘机子程序224 硬件安装调试与软件调试234.1 元件焊接与硬件调试234.1.1 电源部分的调试234.1.2 振铃检测与模拟摘挂机部分的调试244.1.3 语音提示模块的调试254.1.4 DTMF解码部分的调试254.1.5 用户接口电路的调试254.1.6 交换网络模块的调试264.2 软件调试27结论28致谢29参考文献30附录1 系统原理图31附录2 PCB图32附录3 系统总程序33附录4 毕业设计实物图4141绪 论话音信息的交换仍然是当今社会信息交换的重要内容之一,方便、快捷的公共交换电话网(PSTN)线路遍布世界各地,已经成为生活中不可缺少的部份,它具有成本低,范围广,重复建设少等优点。PSTN通信网基于电路交换方式,其核心设备电路交换机如同是交换网的“立交桥”。 交换技术从早期的人工交换、机电交换发展到电子交换,从模拟交换发展到数字交换,从布控发展到程控13。如今先进的电路交换机同时采用数字交换、空分交换、时隙交换和程序控制等技术,因此具有抗干扰能力强,交换容量大以及控制灵活等特点。 电话通信的最基本原理就是每个用户使用一部电话机,用导线将话机连接起来,通过声能与电能的转换,使两地的用户可以互相通话。现今使用的交换设备都是程控交换机。如果细分可以分为模拟程控交换机和数字程控交换机,本设计属于模拟程控交换机,与数字程控交换机的主要区别是语音信号没有经过PCM编码。该设计是将在程控交换里应用广泛的“电路交换”以实物的形式展现出来。这台小型程控交换机模拟了程控交换网中的电路交换的全过程,既可以形象地作为教学的实物例子,也可以当做产品用于日常通话。该课题能够使我们掌握电话交换机工作的基本原理和设计方法,能够加深对电话交换机、局、各种电话信号音等概念的理解,并且能够将大学期间所学的各种相关知识运用到实际项目中,让我们对以前学过的理论知识有一个更直观的理解和认识。经过设计本课题,我们还可以复习提高51单片机硬软件的设计方法,同时也能掌握与设计相关的软件的使用方法,为以后做项目积累宝贵的实战经验。所以,研究本课题对工作和学习都是有积极意义的。 1 设计方案概述1.1 系统的基本组成本系统的基本组成模块包括:用户接口电路模块、交换网络模块、语音提示模块、中继线铃流检测与模拟摘挂机模块、系统电源模块和系统控制模块。在控制系统的控制下,各个模块协调工作,共同完成通话过程中各种动作。其中,控制系统以单片机为核心,对摘机检测信号和DTMF译码信号,做出相应的处理,并对模拟摘挂机电路、交换网络电路和语音提示电路做相应的控制。用户接口电路模块主要完成振铃信号的控制和电话机工作电压的提供。交换网络用来实现各个话路的空分交换。语音提示模块用来提供通话过程中必要的提示信息。中继线铃流检测电路提供铃流信号供单片机查询。电源模块为整个系统提供24V,10V直流电压和60V交流电压。1.2 各个模块实现方法控制系统采用单片机AT89C52,用户接口电路用模拟电路实现,包括产生摘机信号和提供振铃。交换网络采用开关矩阵芯片MT8804或CD22100,由于CD22100容易购买,所以最终采用CD22100矩阵开关芯片来实现交换网络。语音提示部分采用ISD1420语音芯片实现,语音总长度不超过20秒,对于存放电话提示音是足够的。中继线铃流检测与模拟摘挂机模块用模拟电路来实现。系统电源模块由变压器抽头输出的24V和10V交流电,经过整流桥得到直流电给系统供电。1.3 系统工作过程首先,系统查询外线铃流信号和内线的摘机信号,如果外线有铃流信号过来,控制系统首先给模拟摘机电路提供高电平,实现模拟摘机,然后将外线与语音提示线连接上,提示外线用户拨打分机号码,同时系统处于接收分机号码的状态。系统根据接收到的号码向对应的内线用户发送铃流信号,并检测被叫用户的摘机信号,一旦被叫摘机,则将主叫与被叫的通话线路接通。双方挂机则断开连接,继续进入查询状态。若是内线呼叫,则首先实现模拟摘机,再将内线与外线接通,利用外线提供信号音,若内线拨打的第一个号码不是“*”,则表示用户需要外线服务,系统不再干预通话,只查询挂机信号,做挂机处理。如果用户拨打的第一个号码是“*”,则表示用户需要内线服务,系统断开外线,但保持模拟摘机状态,屏蔽外线呼叫,同时系统接收被叫的用户号码,依次给被叫送振铃信号,检测呼叫应答信号,等待挂机信号,最后做挂机处理。在久呼不答、无法接通时,语音芯片会给出提示8。 2 硬件电路设计2.1 系统主要芯片2.1.1 单片机AT89C52AT89C52是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内含8K bytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系列及8052产品引脚兼容,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机适用于许多较为复杂的控制应用场合。单片机89C52引脚图如图2-1所示1,3:功能特性概述: 图2-1 单片机89C52引脚图AT89C52提供以下标准功能:8K字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM、定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位8,9,15。2.1.2 矩阵开关CD22100CD22100是一个4乘4的开关阵列,它有一个4线-16线编码器和16个锁存电路。通过正确地输入4线的地址可以选择16个开关中的任何一个。当“STROBE”为高电平时,可以通过控制“DATA IN”的电平的高低,使被选择的开关的立即打开或关闭。当CD22100加上工作电压之后,16个开关的状态是不确定的。所以,应该使“STROBE”为高电平,“DATA IN”为低电平,然后向地址线送所有开关的地址,使所有的开关都关闭。图2-2 CD22100芯片引脚图如图2-3所示,X1,X2,X3,X4是纵向4线,Y1,Y2,Y3,Y4是横向4线,纵横交叉后产生16个接点,通过正确控制STROBE(7脚)和DATA IN(2脚),即可以控制任何一个接点的导通与断开。 图2-3 CD2100芯片内部逻辑图X线路的端口可以通过连接到同一个Y线路使两条X线路接通,达到空分交换的目的。例如:X1,X2同时连接到Y1,则X1,X2两条线路接通。CD22100的接触电阻是150欧姆,两个节点串联后的电阻就是300欧姆,对语音通路基本无影响。2.1.3 DTMF译码芯片MT8870DTMF是英文Dual Tone Multiple Freguency的缩写,意为“双音多频”它在电话与程控交换系统中应用最为广泛。双音多频拨号方式中的双音是指用特定的两个单音信号的组合叠加来代表数字或符号(功能)。两个单音的频率不同,所代表的数字和功能也不同。按照组合的原理,它必须有8种不同的单音频信号。由于采用的频率有8种,故称之为多频。又因从8种频率中任意抽出两种进行组合,又称其为8中取2的双音编码方法。根据CCITT的建议,国际上采用697Hz、770Hz、825Hz、941Hz、1209Hz、1336Hz、1477Hz和1633Hz。把这8种频率分为两个群,即低频群和高频群。从高频群和低频群中任意各抽出一种频率进行组合,共有16种组合。代表16种不同的数字或功能。DTMF与二进制码的关系如表2-1所示: 表2-1 DTMF与二进制码的关系表fL/HzfH/Hz数字二进制DCBA6971209100016971336200106971477300117701209401007701336501017701477601108521209701118521336810008521477910019411336010109411209*10119411477#11006971633A11017701633B11108521633C11119411633D0000程控电话交换机是采用双音多频信号接收芯片来识别和接收用户所拨的号码的。在实际中我们选用的双音多频信号接收芯片的型号是MT8870。MT8870芯片是加拿大Mitel公司生产的应用较为普遍的双音多频信号接收芯片。它可用于有线通信网和无线移动通信网的终端设备。通常,程控电话交换机和其他的DTMF信号接收设备对用户电话机发出的DTMF信号识别和接收时一对一进行的,即一块MT8870芯片只接收一个电话机发出的DTMF信号。芯片引脚图如下所示:图2-4 MT8870芯片引脚图2.1.4 语音芯片ISD1420ISD1420为美国ISD公司出品的优质单片语音录放电路,由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。一个最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源、少数电阻电容组成。录音内容存入永久存储单元,提供零功率信息存储,这个独一无二的方法是借助于美国ISD公司的专利直接模拟存储技术(DAST TM)实现的。利用它,语音和音频信号被直接存储,以其原本的模拟形式进入EEPROM存储器。直接模拟存储允许使用一种单片固体电路方法完成其原本语音的再现。 特点: (1) 使用方便的单片录放系统,外部元件最少 (2) 重现优质原声,没有常见的背景噪音 (3) 放音可由边沿或电平触发 (4) 无耗电信息存储,省掉备用电池 (5) 信息可保存100年,可反复录放10万次 (6) 无需专用编程或开发系统 (7) 较强的分段选址能力可处理多达160段信息 (8) 具有自动节电模式图2-5 ISD1420物理引脚图 (9) 录或放后立即进入维持状态,仅需0.5A电流 (10) 单一5伏电源供电电特性: (1) 工作电压:5V (2) 静态电流:典型值0.5A,最大值2A (3) 工作电流:典型值15mA,最大值30mA(16欧姆) 表2-2 管脚功能表名 称管 脚功 能名 称管 脚功 能A0A516地址Ana Out21模拟输出A6、A79、10地址(MSB)Ana In20模拟输入VCCD28数字电路电源AGC19自动增益控制VCCA16模拟电路电源Mic17麦克风输入VSSD12数字地Mic Ref18麦克风参考输入VSSA13模拟地PLAYE24放音,边沿触发SP、14、15喇叭输出、REC27录音XCLK26外接定时器(可选)RECLED25发光二极管接口NC11空脚PLAYL23放音,电平触发操作模式: 地址输入有双重功能,根据地址中的A6,A7的电平状态决定A0A7的功能。如果A6,A7有一个是低电平,A0A7输入全解释为地址位,作为起始地址用。地址位仅作为输入端,在操作过程中不能输出内部地址信息。根据 PLAYL、PLAYE或REC的下降沿信号,地址输入被锁定。如果A6,A7同为高电平时,它们即为模式位。 使用操作模式需要注意的问题: (1) 所有初始操作都是从0地址开始,0地址是1420存储空间的起始端,以后的操作可根据模式的不同,而从不同的地址开始工作。当电路中录放音转换或进入省电状态时,地址计数器复位为0。 (2) 当PLAYE,PLAYL或REC为低电平,同时A6,A7为高电平时,执行对应操作模式。这种操作模式一直执行到下一个低电平控制输入信号出现为止,这一刻现行的地址/模式信号被取样并执行。 操作模式可以与微控制器一起使用,也可用硬件连线得到所需系统操作。 A0-信息检索(PLAYE或PLAYLonly) 不知道每个信息的实际地址,A0可使操作者快速检索每条信息,A0每输入一个低脉冲,可使得内部地址计数器跳到下一个信息。这种模式仅用于放音,通常与A4操作同时应用。 A1- 删除EOM标志可使录入的分段信息成为连续的信息,用A1可删除掉每段中间信息后的EOM标志,仅在所有信息后留一个EOM标志。当这个操作模式完成时,录入的所有信息就作为一个连续的信息放出。 A3- 循环重放信息(PLAYE或PLAYLonly)可使存于存储空间始端的信息自动地连续重放。一条信息可以完全占满存储空间,那么循环就可以从头至尾进行工作,并由始至终反复重放。 A4- 连续寻址:在正常操作中, 当一个信息放出, 遇到一个EOM标志,地址计数器会复位,A4可防止地址计数器复位,使得信息连续不断地放出。 A2、A5- 未用。表2-3 ISD1420P地址功能表地址状态功能说明DIP开关12345678(ON=0,OFF=1)地址位A0A1A2A3A4A5A6A7(1为高电平,0为低电平,*为高或低电平)00000000一段式最长20秒录放音,从首地址开始。10000000以八位二进制表示地址,每个地址代表125毫秒。地址模式00000010一段从A6地址开始的12秒录放音。*0只要A6、A7有一位是0,就处于地址模式。*0*00010011循环放音操作,按一下PE键可循环放音,按PL键停止;或按住PL键放音,松开即停止。操作模式00001011按顺序连续分段录放音,每段语音长度不限。00000011地址指针复位,开始录放第一段。10001011按PE键可快速选段放音2.2 系统硬件电路功能2.2.1 用户接口电路模块用户电路的作用是实现各用户线与交换机之间的连接,通常又称为用户线接口电路(SLIC,Subscriber Line Interface Circuit)。根据交换机制式和应用环境的不同,用户电路也有多种类型,对于程控数字交换机来说,目前主要有与模拟话机连接的模拟用户线电路 (ALC)及与数字话机,数据终端(或终端适配器)连接的数字用户线电路(DLC)。模拟用户线电路是适应模拟用户环境而配置的接口,其基本功能有:(1) 馈电(Battery feed):交换机通过用户线给电话机提供直流馈电。(2) 过压保护(Overvoltage Protection):防止用户线上的电压冲击或过压而损坏交换机。(3) 振铃(Ringing):向被叫用户话机馈送铃流。(4) 监视(Supervision):借助扫描点监视用户线通断状态,以检测话机的摘机,挂机,拨号脉冲等用户线信号,转送给控制设备,以表示用户的忙闲状态和接续要求。(5) 编解码(CODOC):利用编码器和解码器(CODEC),滤波器,完成话音信号的模数与数模交换,以与数字交换机的数字交换网络接口适配。(6) 混合(Hybrid):进行用户线的2/4线转换,以满足编解码与数字交换对四线传输的要求。(7) 测试(Test):提供测试端口,进行用户电路的测试。这7种功能常用第一个字母组成的缩写词(BORSCHT)代表。对于模拟程控交换机,不需要编解码功能;而在数字程控交换机中,除某些特定应用的小型交换机利用增量调制方式外,其它大部分均采用PCM编解码方式4。在本设计中,只需要完成七项中的三项即可,即:馈电,振铃,监视。图2-6 用户接口电路图如2-6图所示。馈电电路由+24V电源串接电阻后接到电话机上,由于语音信号是低频交流信号,电源的阻抗很小,如果不接电阻增加阻抗,语音信号会被电源短路,不能传到并接的另外一部话机。电话机的工作电压是8V到12V,增加电阻后,将馈电提高到24V,电话接通后电话机的压降在10V左右。如果两部电话机都摘机,这时,只需要将A点连接,两部电话机即可进行通话。此时,语音信号不会串到电源里去,而是进入到对方话机中。因此,控制通话线路的通断其实就是在控制每个用户话机A点的连接断开6。这部分工作是由单片机控制交换网络完成的。电话摘机后,三极管的发射结正向偏置,三极管导通,摘机信号测试点成为低电平,供单片机检测,完成监视的功能。继电器受单片机控制,给电话机提供振铃。在基极与地之间加了一个电解电容,是为了60V交流的振铃信号不影响基极的直流偏置。这就是用户接口电路的三个功能的实现方式。2.2.2 交换网络模块图2-7 交换网络硬件连接图空分交换是指在各通道间实现切换,现代程控交换系统中使用的交叉接点均是大规模集成电路构成的交换矩阵,具有开关速度快(微秒级),体积小,功耗小,无机械磨损,寿命长等优点。 在该系统里,采用HARRIS公司生产的CD22100芯片,用该芯片做交换网络,需要完成4条电话线(一条中继线,三条本地用户线),语音提示线(接ISD1420语音输出端)和DTMF解码线(接MT8870的DTMF信号输入端)之间的交叉连接,各个接点的连接均受单片机控制。该芯片接上电源后,7脚保持高电平,2脚根据需要给高或低电平,当需要关闭某个接点时,2脚给低电平,当需要打开某个接点时,2脚给高电平,再输入指定的地址控制对应的接点。通过输入需要的地址信息,使对应的开关打开,连接X线与Y线。中继线接X1,三个本地话机接到X2,X3,X4。Y4接ISD1420语音输出,为中继线和本地电话提供语音提示信息。Y3接MT8870的DTMF信号的输入端。在实际工作中,任何一路用户如要拨号码,首先是要将该条X线路与Y3连接,让用户拨出的DTMF信号能够进入到MT8870进行解码5,11,14。硬件原理图如图2-7所示。2.2.3 DTMF解码电路DTMF解码芯片的使用:用户音频电话机发出的双音多频(DTMF)信号通过电容(0.1F)及电阻(100k)耦合到芯片的2脚,它是芯片内部运算放大器的反向图2-8 DTMF解码部分电路原理图输入端,3脚是内部运算放大器的输出端,输入/输出之间接一个100 k的比例放大电阻。1114脚是DTMF信号对应号码的二进制的数据通道。他们与单片机的数据总线相连,通过此系统可把电话号码读入系统RAM单元中。芯片的18脚接+5V电源,16与17脚之间所接的100 k电阻及17与18脚之间所接的0.1F电容是识别DTMF信号所需要的时间常数电路。5、6、9脚接地,1、4脚相连,7、8脚之间接3.5795MHz晶振,分频产生片内所需要的DTMF信号双音对中的各单音比较信号,15脚是DTMF信号检测的输出端,当芯片接收到DTMF信号时该脚为高电平。10脚为数据输出允许端,允许芯片将接收到的DTMF信号的对应号码的二进制数据送到1114脚上。平时10脚保持低电平,1114脚位高阻态。在使用中通常将10脚与15脚直接相连,用15脚上的高电平作为数据输出允许的控制。用户拨出的DTMF信号通过交换网络连接到DTMF信号的输入端。单片机检测到15脚的高电平信号后,将解码出来的二进制数据被送往单片机处理7。2.2.4 语音提示模块图2-9 语音提示部分电路原理图语音电路的作用是提示用户进行操作,即当用户通过固定电话网或移动电话网接通控制系统时,语音电路将提示用户输入分机号码。因此语音电路所选用的芯片必须具备三种功能:分段录音、放音、可寻址。根据这些功能要求,本系统选用美国ISD公司的ISD1420作为语音电路的核心芯片。ISD1420录音电路通过开关控制录音控制端REC和地址线A0-A7,放音电路通过AT89C52的P2口控制PLAYER放音。语音提示部分的主要功能就是在需要提示信息的时候由单片机控制,通过交换网络的连接,给指定的用户线送提示音,提示用户进行操作。芯片内已有事先录好的语音信息,包括:“您好,请拨分机号码。”,“对不起,您拨打的电话正在通话中,请稍后再拨。”,“对不起,您拨打的电话暂时无人接听,请稍后再拨。”,“操作错误,谢谢使用,请挂机。”,“谢谢使用,请挂机。” 和“正在为您呼叫对方,请稍等。” 该芯片的14脚,即语音输出端接到CD22100的Y4上,通过输入正确的地址信息,可以使任一用户连接到该语音线。存入的语音信息有六段,每段都有自己的地址。第一段:“您好,请拨分机号码。”地址为00H 。第二段:“对不起,您拨打的电话正在通话中,请稍后再拨。”地址为10H 。第三段:“对不起,您拨打的电话暂时无人接听,请稍后再拨。”地址为30H。第四段:“操作错误,谢谢使用,请挂机。”地址为52H。第五段:“谢谢使用,请挂机。”地址为68H。第六段:“正在为你呼叫对方,请稍等。”地址为76H。2.2.5 中继线铃流检测与模拟摘挂机模块 图2-10 铃流检测电路图铃流检测模块如图2-10所示。采用模拟电路来实现。因为电话机的铃流信号是60V110V,25Hz的交流电,1秒通,2秒断。当有铃流来时,隔直电容就电话线上的直流成分滤除,让交流信号进入整流桥,整流桥将交流信号转换为直流信号,经过一个分压电阻后加在光电耦合管的发光管上,使得光耦管导通,其4号脚为低电平,不导通时为高电平,单片机可以通过查询该点的电平变化,判断是否有铃流信号到来,进而进行下一步处理。电话线上如果有直流信号,交换机则认为该用户线处于摘机状态。从这一点出发,我只需要设计出一个可由单片机控制的开关,能够控制电话线上直流信号的通断即可实现模拟摘挂机。图2-11 模拟摘机电路图处于摘机状态时,电话机两端的电压在812V之间。经过计算与调试,电阻R30相当于电话机,其阻值可在350欧姆到400欧姆之间,此时模拟摘机后的电压在810V之间,可被交换机识别为摘机状态。“HOOK”接单片机,由单片机控制该点的电平,从而实现模拟摘挂机。2.2.6 系统电源模块 电源模块向系统提供三种电压信号:+5V的芯片工作电压,+24V的电话机工作电压和60V的振铃电压。变压器输入为220V的交流电,经抽头得到10V,24V和60V的交流电压。再将10V和24V的交流电送到整流桥得到10V和24V的直流电压。10V电压再经过电源芯片7805和滤波电容后可得到5V的直流电供整个电路板上的芯片工作。24V直流直接作为电话机工作电源,不需要再经过其他处理。60V的交流电的一端用一个电解电容耦合到地线,另一端作为振铃信号线连接到振铃继电器的常开端,由单片机控制继电器给电话机引入振铃信号。2.2.7 系统控制模块系统控制是在单片机AT89C52的控制下完成的。在本系统中,单片机的P0口直接对接到语音芯片ISD1420的A0A7上,提供需要播放的语音地址。P1口的低四位接摘机信号,通过软件查询是否有用户摘机。P1口的高四位中,P1.4悬空,P1.5P1.7分别控制三个本地话机的振铃继电器。高电平时继电器不工作,不提供振铃信号,低电平时继电器工作,给对应的用户话机提供振铃信号。P2.1和P2.0作为播放开关控制语音芯片ISD1420的两种播放方式,其中2.1控制电平方式的播放,P2.0控制下降沿方式的播放。在不需要播放提示音时,这两个脚是高电平,通过上拉电阻连接到+5V电源;需要播放提示音时,单片机将这两个脚的任一个置0。在本设计中虽然这两根线都连接上了,但是在实际工作中只用电平触发方式控制ISD1420。P2.2接到MT8870的DTMF信号检测输出端。P2.3接到CD22100的DATA IN端,通过电平控制矩阵开关,高电平时,地址信息打开对应的接点,低电平时关闭对应的接点。P2口的高四位接到DTMF译码芯片MT8870的数据输出端Q1Q4。P3口的高四位接到CD22100的地址输入端,控制交换网络接点的各种连接,完成电路交换。P3.4接到模拟摘机的信号端,高电平时实现模拟摘机,低电平时实现模拟挂机。3 软件设计3.1 系统总程序相关子函数及各变量功能说明系统总程序包括:中继来电处理子程序,一号机呼叫处理子程序,二号机呼叫处理子程序,三号机呼叫处理子程序,长延时子程序,20ms短延时子程序,一号机振铃子程序,二号机振铃子程序,三号机振铃子程序,一号机应答摘机处理子程序,二号机应答摘机处理子程序,三号机摘机应答处理子程序,交换矩阵芯片清零子程序。程序中相关的状态标志变量包括:分机呼叫处理子程序中,跳出多层循环的控制变量brk_dial;分机振铃子程序中,跳出多层循环的控制变量brk_ring;被叫是否应答摘机标志pick_sign。呼叫标志变量dial_sign,初始值为255,在四个呼叫子程序中被修,在中继来电处理子程序中被修改为0,一号机呼叫处理子程序中被修改为1,二号机呼叫子程序中被修改为2,三号机呼叫子程序中被修改为3。相关变量说明:位变量hook对应于单片机的P1.4,控制中继线模拟摘挂机,置1时实现模拟摘机,清0时实现模拟挂机;位变量play对应于单片机的P2.1,控制语音芯片ISD1420的放音,置1时停止播放语音,清零时开始播放语音;位变量dn对应于单片机的P2.3,控制交换矩阵芯片CD22100的操作模式,置1时为打开接点工作模式,清零时为关闭接点工作模式;位变量ymlabel对应于单片机的P2.2,作为DTMF解码完成与否的标志,译码完成时为1,通常情况下为0。3.2 系统总程序工作过程概述在main主函数中,先进行必要的初始化,然后单片机不断查询P1口的低四位P1.0P1.4,程序经过初始化后此四位电平为高电平,检测到P1.0为低电平时,表示中继线来电,主程序调用中继呼叫处理子程序,P1.1、P1.2和P1.3任一为低电平时,表示对应的内线话机摘机,主程序调用分机呼叫处理子程序。进入中继来电处理子程序后,先后要完成连接中继线与语音线和DTMF解码线,模拟摘机,播放语音提示“您好,请拨分机号码。”,读入分机号码,呼叫对应分机(即调用对应分机振铃子程序)。还要将呼叫标志dial_sign修改为0,表示是中继线在呼叫。系统根据所拨的分机号码调用对应的分机振铃子程序ring_no1(),ring_no2()或ring_no3()。在分机振铃子程序中,程序控制电话机振铃,1秒通,2秒断。单片机通过P0口给语音芯片送地址,控制语音芯片发出语音,提示主叫正在连接,同时单片机还要检测被叫话机的应答摘机信号。如果此时被叫已经摘机,则语音提示该用户正在通话中。如果被叫摘机应答,则将brk_ring清零,将摘机应答标志变量pick_sign置1,并调用对应的分机摘机应答子程序pickup_No1()、pickup_No2()或pickup_No3()。如果十次振铃后人无人接听,则播放语音提示。进入分机摘机子程序后,程序根据呼叫标志dial_sign,将被叫话机与dial_sign中表示的主叫话机进行连接,实现通话。任一方挂机后,语音提示另一方挂机,双方挂机后程序再回到主程序进行下一轮的查询。处理程序根据拨号的标志向被叫发出振铃信号,等待摘机,最后结束通话。如果是分机摘机开始呼叫,程序进入对应的分机呼叫处理子程序。在分机呼叫处理子程序中,首先完成模拟摘机,并连接该分机与中继线、DTMF解码线。用户拨号之后。单片机将第一个号码读入并分析,如果是“*”,则表示主叫需要拨打内线,单片机将第二个号码读入,根据分机号调用对应的分机振铃子程序。后面的过程和中继线呼叫过程相同,这里不再赘述。如果第一个号码不是“*”,则表示用户需要拨打外线,此时系统只等待用户挂机,然后再回到主程序开始下一轮的查询。3.3 程序流程图及程序代码3.3.1 主程序代码及流程图在主程序中,首先是要将各个标志位和标志变量进行必要的初始化,其中包括交换矩阵芯片CD22100的复位。然后不断查询P10P13的电平,如果为低电平就转入对应的呼叫处理子程序,主程序代码如下:main()while(1) pick_sign=0; rsign=0xff;zhaiji=0x00; brk_dial=1; P3=0; clr22100(); /初始化程序 i f(P10=0) relay(); /中继来电子程序 if(P13=0) no1_dial(); /一号机摘机子程序 if(P12=0) no2_dial(); /二号机摘机子程序 if(P11=0) no3_dial(); /三号机摘机子程序 图3-1 主程序流程图3.3.2 中继呼叫子程序 程序进入中继呼叫子程序后,首先将hook置1,实现模拟摘机,然后连接中继线与语音线和DTMF解码线,播放语音提示外线用户拨打分机号,接收号码后,根据所拨打的分机号,程序进入一个switch分支语句,进入到对应的分机振铃子程序。中继呼叫子程序流程图如图3-2所示。图3-2 中继呼叫处理流程图图3-3 内呼叫处理流程图3.3.3 内线用户呼叫子程序内线用户摘机后,首先是实现模拟摘机,使该用户与外线连接,判断用户所拨的第一个号码,如果是*号则表示该用户需要拨打内线。如果不是*号,则表示是外线呼叫。系统对MT8870解码出来的号码二进制数据进行识,根据所拨号码分别转入振铃子程序。此过程与中继线呼叫时过程类似。内线用户呼叫流程图如3-3所示 。3.3.4 分机振铃子程序图3-4 内呼叫处理流程图在延时程序中,加入一条查询被叫摘机的语句,并调整延时的时间。进入振铃子程序以后,继电器受单片机的控制给被叫话机提供1秒通2秒断的振铃信号。即使继电器控制位保持低电平1秒钟,再保持高电平2秒钟。在保持电平的过程中还要查询被叫用户是否摘机应答,如果摘机应答的话必须马上停止振铃。如果振铃十次依然没有检测到对方摘机信号,则提示对方无人接听。如果用户摘机应答,在调用分机应答子程序后,要将循环控制变量brk_ring清零,这样,在调用应答处理子程序返回后不会再执行循环查询的语句。在C语言中有break语句,但是这个语句只能跳出当前层的循环,不能一次跳出全部循环,所以在每层循环中加入brk_ring作为一个总控制条件。振铃程序如下(以三号机振铃子程序为例):ring_no3()unsigned char time; for(time=10;time0&brk_ring=1;time-) /振铃次数控制10次 P17=0; /3号机振铃控制位清零,开始振铃 for(i1=4;i10&brk_ring=1;i1-) /延时1秒,内嵌摘机检测 for(j1=255;j10&brk_ring=1;j1-)for(k1=255;k10&brk_ring=1;k1-) if(P11=0) /查询对方摘机信号ADDRESSSELECTADRESSSELECTABCDABCD0000X1Y10001X1Y31000X2Y11001X2Y30100X3Y10101X3Y31100X4Y11101X4Y30010X1Y20011X1Y41010X2Y21011X2Y40110X3Y20111X3Y41110X4Y21111X4Y4 brk_ring=0; pickup_3(); pick_sign=1; P17=1; /振铃标志位置1,停止振铃for(i1=8;i10&brk_ring=1;i1-) /延时2秒,内嵌摘机检测 for(j1=255;j10&brk_ring=1;j1-)for(k1=255;k10&brk_ring=1;k1-) if(P11=0) /查询对方摘机信号 brk_ring=0; pickup_3(); pick_sign=1;/将是否应答标志设为1 3.3.5 交换网络清零子程序表3-1 CD22100各连接点地址中继线连接到X1,一号机连接到X2,二号机连接到X3,三号机连接到X4。通话时,用Y1连接其中两条线,达到连接两用户的目的。DTMF解码线连接到Y3,语音线连接到Y4。各种连接的地址如表3-1所示。由于CD22100刚上电时,其内部的各个开关状态是随即的,需要用软件的方式将其全部清零。然后,再打开相应的开关点。CD22100的数据状态标志位DN为高时,输入地址后可以打开相应的开关。DN为低电平时,输入地址后会关闭相应的开关。在开始时,主程序会调用清零子函数,如下所示:void clr22100(void) /CD22100开关清零子程序 unsigned char m=0,n=0; dn=0; /设置CD22100为关闭接点模式 for(m=16;m0;m-) /将所有接点关闭 n=m-1; n=n&0x0f; P3=n;3.3.6 被叫应答摘机子程序在之前呼叫处理子程序中,已经将dial_sign修改过了,在中继呼叫处理子程序中被修改为0,在一号机,二号机和三号机呼叫处理子程序中被对应修改为1,2或者3。进入应答子程序后,首先就要根据呼叫标志dial_sign,确定哪个用户是主叫用户,然后通过switch语句分别转入到对应的语句进行连接操作,图3-5 被叫应答子程序流程图4 硬件安装调试与软件调试4.1元件焊接与硬件调试印制电路板做好后,首先要把元件安装
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三明事业单位笔试真题2025
- 农发行长春市公主岭市2025秋招笔试英语题专练及答案
- 农发行滨州市惠民县2025秋招群面模拟题及高分话术
- 数字艺术作品版权保护与版权交易平台法律风险研究报告:2025年防范与应对策略
- 平等尊重你我他课件
- 新能源行业2025年技术创新驱动产业升级研究报告
- 环保产业园循环经济模式与绿色金融产品创新应用报告
- 2025年生物质能源供应链信息化解决方案报告
- 平煤矿井安全培训理念课件
- 2025-2030年新能源汽车核心零部件供应链金融风险控制策略报告
- 2025房屋宅基地买卖合同
- 2025年浙江警务辅助人员招聘考试(写作)历年参考题库含答案详解
- 上饶市属国有企业2025年度第一批次公开招聘【105人】考试参考题库及答案解析
- (新版)《普速铁路工务安全规则》考试题库及答案(含各题型)
- 小儿腺病毒感染护理查房
- 毒品成瘾原因课件
- 2025年疾病预防控制中心招聘考试笔试试题含答案
- 金太阳福建省2025-2026学年高三上学期9月开学联考数学试卷
- 2025年甘肃政治高考试题及答案
- 商户维护与管理办法
- 护理不良事件业务学习大纲
评论
0/150
提交评论