基于单片机控制的小型简易程控交换系统
摘 要:介绍了一种基于单片机控制的小型程控交换系统,他能模仿市话呼叫处理的各种基本功能。对该系统的硬件组成、软件设计、工作原理、各部分功能进行了详细地论述。
关键词:单片机;呼叫处理;交换网络;用户线接口
用户交换机是构成现代交换式通信网的重要设备,主要由用户线接口部分、交换网络和控制系统3大部分组成。控制系统依靠存储器中的程序和数据,引导微处理器对各种信令进行适当的处理,对交换网络和接口实行必要的控制。由于微处理机功能的不断增强和集成电路成本的不断下降,人们已有可能用合理的造价生产出功能齐全的交换机。实际中实现交换系统的方案有较大差别,缺乏统一模式,这就给详细、具体地掌握系统的内部结构带来了一定的困难。基于以上原因,我们考虑将单片机知识与程控交换的基本原理相结合来设计简易的交换系统。该系统采用单片机、网络交换芯片和用户接口电路芯片,以单片机为微控制器来实现通信系统的呼叫响应、处理、应答,话路接续,通话计时及复位拆线等基本功能。
1 系统的组成及原理
1.1 工作原理
本系统是依据程控交换原理设计的微型空分交换系统,系统原理框图如图1所示。其基本工作原理:当用户1摘机呼叫用户2时,交换机向主叫方发送拨号音,同时由单片机将主叫号码送七段显示器显示,主叫方拨打相应号码后,DTMF译码电路译出对应的编码并引起单片机中断,AT89C51读入数据同时显示被叫号码,此时交换机切断拨号音并检测被叫方状态,若被叫用户忙则交换机向主叫方发送忙音,否则,向被叫方送铃流、向主叫方送回铃音。当被叫方摘机后,交换机切断铃流和回铃音,接续话路,双方开始通话并启动通话计时。当一方挂机后,计时停止显示通话时间并向对方送催挂音,对方挂机后系统拆线复原。
1.2 硬件电路组成
(1)信号检测、信号音控制电路
信号检测电路用来检测用户的状态并接收用户拨打的电话号码,并根据用户状态启动相应的信号音控制信号。以2个通话用户为例,采用AT89C51的P1口与用户接口电路相连,用以检测是否有用户呼叫并控制DTMF解码电路。P1.0、P1.1用于接收主、被叫方的摘挂机信号,用户摘机则话机经P1.0、P1.1向AT89C51发出一高电平信号,此时表示有用户呼叫。P1.3、P1.4通过模拟开关CD4066控制主、被叫双方的DTMF解码电路,高电平有效。采用8255的PC口接收话机经用户接口发送来的电话号码,单片机中断时从PC口读入数据。
信号音控制电路采用8255芯片的PA、PB口进行控制,PA0、PA1作为铃流控制输出信号,PA4、PA5用作回铃音控制信号,PB0、PB1为忙控制信号,PB4、PB5为拨号音控制信号,各控制信号均为高电平有效。因此,1片8255可同时对2对用户的信号音进行控制。单片机根据检测到的用户状态产生相应信号音的控制信号,以便向用户端发送信号音。信号检测、信号音控制电路如图2所示。
(2)双音多频解调电路
MT8870是双列直插DTMF解码专用电路。双音多频解调电路如图3所示。
AT89C51的P1.3、P1.4接模拟开关CD4066的13、12脚来控制MT8870的解码,高电平时允许解码电路工作。2个用户的双音多频信号分别由CD4066的1、11脚输入,经过MT8870内部的前置放大器送入高低频组带通滤波器,再经幅度检测器进入译码电路,最后从输出端输出相应的编码。采用CD4066还可起到隔离话音信号与DTMF信号的作用,以免对解码造成干扰。MT8870的STD接AT89C51的INT0,当STD电平由低变高时引起单片机中断读取电话号码。
(3)交换网络电路
电子接线器是空分交换网络的核心部件,我们采用MT8816来完成通话双方线路的接续。MT8816芯片是8×16的模拟开关阵列,8路列输入/输出(Y0~Y7)和16路行输入/输出(X0~X15)形成模拟交换矩阵,芯片有保持电路,可保持任一交叉点处于接通状态,直至接收到复原信号为止,其引脚如图4所示。AT89C51 的P0口通过列地址线AY0~AY2和行地址线AX0~AX3控制列线与行线选择需要接通的交叉点(例如,要接通Y0和X1间的交叉点需向AY0~AY2送000,向AX0~AX3送1000)。DATA为交叉点开关控制位,高电平时交叉点开关连通相反则断开。RST为复位信号输入,高电平时全部开关均置于截止状态。STB为选通脉冲输入,AT89C51送入列、行地址码后还必须给STB端送一脉冲信号同时DATA置高电平,才能使MT8816完成接续工作,MT8816拆线复原的过程与接续过程类似,此时只须将DATA置低电平即可。
交换网络向用户端发送的各种信号音的接通和切断可通过相应的信号音控制信号(8255的PA、PB口)选通CD4066来实现。
(4)用户接口电路
用户接口电路是由用户线接口芯片MH88612和PCM编解码芯片TP3067组成,两者共同完成BORSCHT七项功能。用户线接口检测到用户1摘机后,MH88612的SHK引脚输出一高电平至P1.0,AT89C51将8255的PB4端置高电平控制交换网络向用户1送拨号音,单片机收到正确号码后控制系统发出振铃控制信号即将8255的PA1置高电平并由MH88612的RC脚输入,驱动继电器K闭合向用户线接口2送振铃,同时将PA4置高电平控制交换网络向用户1送回铃音。当用户2摘机时,其接口电路的SHK脚输入一高电平至P1.1,单片机控制MT8816接续通话线路。当任一方挂机时其相应的SHK输出一低电平控制系统向另一方送催挂音。
线路接续成功后,话音信号经MH88612的VX输出送入TP3067中进行编码。PCM编码器的抽样频率为8 kHz,由帧同步脉冲FSX获得,FSX除提供PCM抽样频率外,还选通输出缓存器使缓存器中的8 B,自FSX下降沿开始以主时钟2.048 Mb/s的速率由DX端输出至交换网络,主时钟由MCLKX脚输入。PCM解码是指将来自交换网络的主时钟频率的PCM信号在帧同步信号FSR的下降沿开始时由DR接收至输入缓存器中,其主时钟频率由MCLKR输入仍为2.048 Mb/s。用户接口电路如图5所示。
(5)其他电路
交换机向用户发送的铃流信号是25 Hz、幅度为90 V的方波信号,拨号音、回铃音、忙音、催挂音是通过控制450 Hz交流信号的断续时间来产生的,各种信号音可由单片机编程产生,但为避免程序过于复杂,使AT89C51更好的对系统主要部分进行监控,设计中各种信号音的产生均采用硬件电路完成,可由555芯片配以适当的外围电路产生各种信号音。
显示电路主要利用了8155芯片作为AT89C51的扩展输出口,由8155、74LS240和MC1413及七段LED组成,用来显示主叫、被叫方号码及通话时间。8155的PA口与MC1413相连经反相后作为数码管的位选信号,PB口经74LS240作为段选信号送数码管显示,片选信号接AT89C51的P2.7。由于整个系统较为复杂,在显示电路的调试过程中我们只采用了5位数码显示管,中间3位显示通话时间(1位分钟,2位秒针),前后2位分别显示主被叫方的代号(如用户1用1表示,用户2用2表示),但只须对程序稍加变动既可使分别显示主被叫放的电话号码和通话时间。
2 软件设计
(1)系统初始化程序
对AT89C51设置中断及内部数据存储器单元清零,8155和8255进行端口功能设置。
(2)主叫摘机检测程序
主叫方摘机后,显示电路显示主叫号码,拨号音控制信号置高电平,交换网络向主叫方送拨号音,等待主叫方拨打电话号码。
(3)拨号检测与等待摘机程序
检测到拨号脉冲后,立刻切断拨号音,AT89C51响应中断读取电话号码对应的二进制编码。若被叫号码对应的话机不存在或被叫方处于状态,则忙音控制信号置高电平,交换网络向主叫方送忙音,催其挂机;若号码检测正确则铃流控制信号置、回铃音控制信号置高电平,交换网络向被叫方送铃流信号,同时向主叫方送回铃音。
(4)话路接续程序
检测到被叫方摘机信号后,系统停止发送铃流和回铃音,AT89C51启动MT8816接通通话线路。
(5)计时与通话检测程序
线路一旦接续成功,双方即可进行通话,AT89C51内部时钟计时开始,通过8155芯片加以显示。对用户状态进行判断,当检测到任一方挂机信号后,跳出计时程序交换网络向未挂机用户送催挂音(本系统中催挂音用忙音代替),双方挂机后,AT89C51控制MT8816拆除通话线路,回初始化程序重新等待用户摘机。
(6)显示程序
动态显示主、被叫方的电话号码及通话时间。
3 结语
本系统除了能模拟市话进行正常的通信外,还附加了在通话的同时显示通话时间和主被叫号码的功能。只要对该系统进行适当的扩展后,可用于楼层内部间的电话通讯还可用作通信专业程控交换原理课程的实验设备。
联系客服