您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 时隙交换电路MT8980D在程控机中的应用C语言
时隙交换电路MT8980D在程控机中的应用北京佳讯公司周学义摘要:在目前集成度较高的新型数字交换电路中,MT8980D是Mitel公司生产的8×32时隙数字交换电路,本文介绍了它的原理及时序关系,并给出了单片机W77E58P与MT8980D的接口电路及控制软件程序,对其在程控数字交换机中的应用加以说明。关键词:MT8980D母线时隙W77E58P1概述MT8980D是Mitel公司生产8线×32时隙数字交换电路,一种性能优良的低功耗CMOS芯片。它内部包含串-并变换器、数据存储器、帧计数器、控制接口电路、接续存储器、控制寄存器、输出复用电路及并-串变换器等功能单元。输入输出均连接8条PCM基群(30/32路,也称“母线”)数据线,在控制信号作用下,刻实现240/256路数字话音或数据的无阻塞数字交换。它是目前集成度较高的新型数字交换电路,可用于中小型程控用户数字交换机。在数字交换机中,数字交换网和用户电路占有较大比重,交换网络的大小和性能影响着交换机的最终容量和服务指标,MT8980D适合于中小型数字交换机中,信道速率64Kb/s,具有微处理器接口,见图1.。MT90820则可构成2048×2048的无阻塞数字交换网络,适合于大、中型程控交换机中,这里不作详细介绍。我国多数采用的是32路的PCM标准,常说的每条母线有32个时隙,其中0时隙用于传输系统的同步信息,第16时隙用于传输信令,其余30路时隙来传输语音或数据。图1.MT8980D功能框图2.MT8980D电路的基本原理串行PCM数据流以2.048Mb/s的速率(共32个64Kb/s,8比特数值时隙)分八路由STI0~STI7输入,经串-并变换后,根据母线号和时隙依次存入256×8比特数据存储器的相应单元内。控制寄存器通过控制接口接受来自微处理器的指令,并将此指令写到接续存储器。这样,数据存储器中各信道的数据即可按照接续存储器的内容(即接续命令)以某种顺序从中读出,再经复用、缓存、并-串变换后变为时隙交换后的八路2.048Mb/s串行码流,从而达到数字交换的目的。如果不再对控制存储器发出命令,则电路内部维持现有状态,刚才交换过的两时隙将一直处于交换过程,直到接受新命令为止。接续存储器(ConnectionMemory)的容量为256×11位,对应于256个输出信道。每个接续存储器11位又分为高3位和低8位两部分,前者决定本输出时隙的状态,后者决定本输出时隙所对应的输入时隙。另外,由于输出多路开关的作用,MT8980D可工作于两种模式。一种称为交换模式,可实现任意输入时隙至任意输出时隙的交换;另一种是消息模式(messagemode),它允许交换机的控制系统通过MT8980D的控制接口,以使接续存储器低8位的内容作为数据直接输出到相应的时隙中去。电路内部的全部动作均可由微处理器通过控制接口控制,可以读取数据存储器,控制寄存器和接续存储器的内容,并可向控制寄存器和接续存储器写入指令。此外,还可以置电路于分离方式,即微处理器的所有读操作均读自数据存储器,所有写操作均写至接续存储器的低8位微处理器对电路的控制主要体现在对内部存储器的读写操作,控制格式为:2.1地址线(A5~A0):若A5=0,选择控制寄存器,所有操作均针对控制寄存器。若A5=1,则由A4~A0选择时隙号,以保证对各时隙进行控制,如表1.所示。表1.寻址表A5A4A3A2A1A0地址寻址位置0XXXXX00-1F控制寄存器10000020时隙010000121时隙1……………………1111113F时隙312.2控制寄存器格式:如表2.所示。表2.控制寄存器格式位名称描述7模式控制位当bit7=1时,无论bit3,bit4是什么状态,所有读操作均读自数据存储器;所有写操作均写至接续存储器的低8位。6当bit6=1,ODE=1时,为消息方式,当bit6=0,为交换方式。5不用4-3存储器选择位00测试芯片时用,通常不能设成此状态01选择数据存储器10选择接续存储器低8位11选择接续存储器高8位2-0码流地址位决定所选下一操作的输入母线或输出母线号2.3接续存储器高8位格式:如表3.所示。表3.接续存储器高8位格式位名称描述7-3不用若读操作时,均置为02消息通道当b2=1时,工作于消息方式,接续存储器的低8位内容被作为数据送至输出母线中,当b2=0时,工作于交换方式,即接续存储器低8位的内容作为数据存储器的地址,将输入时隙数据读到交换所要求的输出母线的相应时隙中。1CSTo位其内容将在下帧从CSTo端输出0输出允许位当ODE=1时,且控制寄存器b6=0,若此位为1,则数据输出到相应母线和时隙中;若为0,则输出时隙呈高阻。2.4接续存储器高8位格式:如表4.所示。表4.接续存储器低8位格式位名称描述7-5码流地址位这3位的2进制数确定输入母线号,如b7b6b5=100,则接续存储器选中SDI4存入的数据存储地址。4-0信道地址位这5位确定b7~b5所选中的母线时隙号,如:b4b3b2b1b0=10010,选中的时隙为18。但若接续存储器高8位的b2=1时,便转入消息方式,b7~b0的内容会被直接送至相应输出的母线中。3.MT8980D的时序图我们可以从MT8980D时序图上看出(如图2.),对MT8980D进行读写时,在DS(数据选通信号)的上升沿,控制信号必须有效,当DTA(数据应答信号)应答后,在DS下降沿,读写数据有效。图2.MT8980D时序图4.W77E58P与MT8980D连接电路图由于MCS-51系列单片机与MT8980D不能直接相连,原因是MT8980D有一个DTA数据应答信号输出,微处理器接口的数据证实信号就是DTA数据输出信号,当读写MT8980D时,DTA有效,则表示处理完数据,所以我们要在DTA应答前,插入等待。笔者采用兼容MCS-51系列的W77E58P,它有一个WAIT脚,可以与MT8980D直接相连,读写MT8980D时,省去了DTA应答的插入等待时间,插入等待由微处理器内部进行,详见W77E58P的芯片说明。这里以W77E58P与MT8980D连接电路图为例,说明由微处理器通过I/O端口控制MT8980D的全部过程。如图3.所示。图3.W77E58P与MT8980D的连接电路图5.W77E58P控制MT8980D的程序实例根据本文前面的介绍,我们通过图3.的接口电路,可以读取数据存储器、控制寄存器和接续存储器的内容,并可向控制寄存器和接续存储器写指令。笔者在实践中,是把对MT8980D的控制写成以下子程序。5.1写MT8980D控制寄存器#defineucharunsignedchar#defineCMH0x18/*高位控制存储器选择*/#defineCML0x10/*低位控制存储器选择*/#defineX_W0x00/*写数据寄存器*/#defineX_R0x60/*读数据寄存器*/#defineDS8980P10#defineCS8980P27/*入口参数为:dat_w*/voidw9080cr(uchardat_w){DS8980=0;/*置DS为低*/P2=0X00;/*CS=0;选择控制寄存器写*/DS8980=1;/*置DS为高*/P0=dat_w;/*写控制字*//*Do{}while(DTA==1);若没有WAIT脚微处理器,判断DTA不为0时等待,加入此行*/DS8980=0;CS8980=1;/*CS=1*/}5.2对MT8980D寄存器的控制/*入口参数hlx:时隙(0-31),dat_w:数据*/voidw8980x(ucharhlx,uchardat_w){DS8980=0;/*DS置0*/P2=X_W|hlx;/*选中时隙*/DS8980=1;/*DS置1*/P0=dat_w;/*写数据dat_w*/DS8980=0;CS8980=1;/*CS=1*/}5.3在消息模式下,将相应的数据送到相应的输出母线中/*参数hwo:对应母线号,tso:对应时隙号,tdata:数据*/#pragmaDISABLE/*在本函数执行期间,禁止中断发生*/voidtmsg8980(ucharhwo,uchartso,uchartdata){w8980cr((CML+hwo));/*选中接续存储器低8位,母线为:hwo*/w8980x(tso,tdata);/*写相应数据tdata*/w8980cr((CMH+hwo));/*选中接续存储器高8位,母线为:hwo*/w8980x(tso,0x05);/*消息模式*/}5.4将两条指定线路做单向连接/*参数:hwi:输入母线,tsi:输入时隙,hwo:输出母线,tso:输出时隙*/#pragmaDISABLEvoidcatocb(ucharhwi,uchartsi,ucharhwo,uchartso){w8980cr((CMH+hwo));w8980x(tso,0x01);w8980cr((CML+hwo));w8980x(tso,((hwi5)+tsi));}5.5将两条指定线路做双向连接/*参数:hwi:输入母线,tsi:输入时隙,hwo:输出母线,tso:输出时隙*/voidconnect(ucharhwi,uchartsi,ucharhwo,uchartso){catocb(hwi,tsi,hwo,tso);catocb(hwo,tso,hwi,tsi);}6.W77E58P控制MT8980D在程控数字交换机中的应用实例6.1程控交换机中的时隙交换在数字程控交换系统中,话路连接、送音(如拨号音,忙音)等都要用到母线、时隙的交换。例如:共电用户母线为2,时隙为3;与程控交换机主网系统母线为0,时隙为8进行连接。只要调用5.5提到的双向连接即可,也就是通常所说的话路接续。connect(2,3,0,8);/*将母线2的时隙3与母线0的时隙8语音时隙进行双向连接*/当然,也可以单向连接,如共电摘机,需接拨号音,可以将拨号音对应的母线和时隙作单向连接。若拨号音的母线为4,时隙为7,则作如下单向连接,摘机即可听到拨号音:catocb(4,7,2,3);/*将拨号音送到共电*/6.2程控交换机的控制应用在数字程控交换系统中,微处理器控制MT8980D,通常是让其工作在消息模式,使接续存储器低8位的内容作为数据直接输出到相应的时隙中去,作位信令信号;也可以作为数据流用来控制码流,以控制MT8965、MT8967等,以共电板控制用户的输入输出增益为例。通过控制MT8965(PCM编解码与滤波器)的控制寄存器A和控制寄存器B,来控制发送和接收滤波器的增益。GAIN的操作数定义为,bit5-bit3为D/A增益设置,bit2-bit0为A/D增益设置。根据需要设置好GAIN的值,调用5.3的子程序即可:tmsg8980(hwo,tso,GAIN);/*设置增益值*/另外,微处理器可以根据读取MT8980D的存储器数据,作出不同的判断和控制。参考文献1.杨为理等.标准集成电路数据手册通信电路.电子工业出版社,19912.何立民.MCS-51系列单片机应用系统设计系统配置与接口技术.北京航空航天大学出版社,19903.马忠梅等.单片机的C语言应用程序设计.北京航空航天大学出版社,19974.朱世华.程控数字交换原理与应用.西安交通大学出版社,1993
本文标题:时隙交换电路MT8980D在程控机中的应用C语言
链接地址:https://www.777doc.com/doc-2412614 .html