新闻中心

EEPW首页 > EDA/PCB > 设计应用 > HDLC协议处理芯片MT8952B在数字程控交换机中的应用

HDLC协议处理芯片MT8952B在数字程控交换机中的应用

作者:北京佳讯公司,周学义,中铁通信中心,卢炜时间:2004-06-18来源:电子设计应用收藏
摘 要: 在目前或网络设计中,普遍采用了高级数据链路控制协议。是Mitel公司生产的协议处理器芯片,本文介绍了它的原理及在内部时钟模式下的时序关系,并给出了单片机与的接口电路及信令消息读写程序,对其在中的应用进行了说明。

关键词:

在目前数字程控交换机或网络设计中,普遍采用了HDLC高级数据链路控制协议。HDLC协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率;所有帧均采用CRC校验,对信息帧进行顺序编号,可防止漏收或重分,传输可靠性高;传输控制功能与处理功能分离,具有较大的灵活性。

MT8952B简介
MT8952B HDLC协议控制器有以下特点:符合X.25 第二层标准数据格式,前向序列的产生和检测,单字节地址识别,具有微处理器端口,灵活操作和控制寄存器,发送和接收分别有19个字节的缓冲区,多路数据链路握手信号,高速串行时钟输出(2.5Mbps),符合ST-BUS的可编程的通道选择和时隙控制,独立的看门狗定时器,灵活的协议控制功能,低功耗ISO-CMOS技术。其适用的主要应用领域包括:数据链路控制和协议产生,数字设备,PBX和专用数据网,ISDN基本数据的D通道控制器,数据网络接口电路(典型的MT8972)的C通道控制器,内部通信处理等。内部结构见图1。

MT8952B电路的基本原理
MT8952B HDLC协议控制器,通过零位插入和删除技术获得数据传输的透明性。在发送数据的过程中,自动产生HDLC帧标志(0111110)和FCS(frame check sequence)字段以及帧异常中止、信道空闲和其他接收状态,因而MT8952B将准备发送的数据自动地构成HDLC帧。在接收端,把来自远方的HDLC帧进行FCS校验,并恢复原始数据。
MT8952B HDLC的帧格式
在HDLC中,数据和控制报文均以帧的标准格式传送。HDLC中命令和响应以统一的格式按帧传输。完整的HDLC帧由标志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验序列字段(FCS)等组成,其格式如表1。
标志字段(F):标志字段01111110的比特模式,用以标志帧的起始和前一帧的终止。通常,在不进行帧传送的时刻,信道仍处于激活状态。标志字段也可以作为帧与帧之间的填充字符。在这种状态下,发送方不断地发送标志字段,而接收方则检测每一个收到的标志字段,一旦发现某个标志字段后面不再是一个标志字段,便可认为一个新的帧传送已经开始。采用"0比特插入法"可以实现数据的透明传输,该法在发送端检测除标志码以外的所有字段,若发现连续5个"1"出现时,便在其后添插1个"0",然后继续发送后面的比特流;在接收端同样检测除标志码以外所有字段,若发现连续5个"1"后是"0",则将其删除以恢复比特流的原貌。
地址字段(A):地址字段的内容取决于所采用的操作方式。在操作方式中,有主站、从站、组合站之分,每一个从站和组合站都被分配一个惟一的地址。命令帧中的地址字段携带的地址是对方站的地址,而响应帧中的地址字段所携带的地址是本站的地址。某一地址也可分配给不止一个站,这种地址称为组地址,利用一个组地址传输的帧能被组内所有拥有该组地址的站接收,但当一个从站或组合站发送响应时,它仍应当用它唯一的地址。还可以用全"1"地址来表示包含所有站的地址,这种地址称为广播地址,含有广播地址的帧传送给链路上所有的站。
控制字段(C):控制字段用于构成各种命令和响应,以便对链路进行监视和控制。发送方主站或组合站利用控制字段来通知被寻址的从站或组合站执行约定的操作;相反,从站用该字段作为对命令的响应,报告已完成的操作或状态的变化。
信息字段(I):信息字段可以是任意的二进制比特串。HDLC协议比特串长度未做严格限定,但MT8952B的只有19个字节,所以每次发送不超过19个字节;而下限可以为0 ,即无信息字段。
帧校验序列字段(FCS):帧校验序列字段可以使用16位CRC,对两个标志字段之间的整个帧的内容进行校验。
MT8952B寄存器
MT8952B有两个端口,一个是串行端口用来发送和接收数据包,另一个是并口,允许在单片机系统总线和协议处理器之间并行传输数据。这个接口包括数据总线(D0-D7),地址总线(A0-A3),E时钟,片选(CS)和读写控制,单片机可以读写协议处理器的各个寄存器。表2给出这些寄存器的地址,寄存器的详细描述可参考MT8952B的数据手册。


图1 MT8952B内部结构图


图2 ST-BUS 格式


图3 内部时钟模式下的时序图


图4 W77E58P与MT8952B的连接电路图

MT8952B时序图
根据时钟控制寄存器的设置,MT8952B可以设置为内部和外部时钟模式。在外部时钟模式下,发送和接收数据分别由/TxCEN和/RxCEN使能,而/Foi仅仅用于看门狗定时器。在内部时钟模式下,发送和接收数据由输入时钟Cki和/Foi产生内部时钟控制,/Foi的输入定义一个帧的开始,见图2,所选择的时隙由设置TC0-TC3来选择,该模式下,输入/TxCEN和/RxCEN无效。Cki的选择是根据时钟控制寄存器的BRCK位来控制,BRCK为1时,Cki为2.048MHz,BRCK为0时,Cki为4.096MHz,与/Foi的时序关系见图3。

单片机与MT8952B连接电路图
文中给出在程控交换机上常用的连接电路图,通过MT8952B进行消息的发送和接收,如图4所示。A3~A0为协议控制器的寄存器地址选择,单片机可以读写这些寄存器,串口可以传送/接收数据包,可以连接到数字传输媒介或数字接口电路如MT8972、MT8980等,如DSTO52和DSTI52可以MT8980的一对母线相连。

MT8952B 数据读写的应用程序实例
根据前面的介绍,通过图4的接口电路,可以控制寄存器,达到所需要的目的。以下为读取和发送数据的子程序实例。
//定义8952的寄存器地址
#define FSR_R 0x1000 //读 FIFO 状态
#define DDR_W 0x0100 //写 发送数据
#define DDR_R 0x1100 //读 接收数据
#define CR_W 0x0200 //写 控制寄存器
#define CR_R 0x1200 //读 控制寄存器
#define IFR_R 0x1600 //读 中断标志寄存器
读取数据
MT8952B数据的读取,是在外部中断里实现的,当有数据到达时,IRQ拉低,单片机产生中断,可以在外部中断服务程序中操作。
//外部中断,由MT8952B产生,完成一次消息(19个字节)的接收。
#define uchar unsigned char
#define MSGLEN 19
uchar r_8952d[MSGLEN]; //接收消息缓冲区
void ex0_int() interrupt 0
{
uchar I ;
for(i=0;i<19;i++) r_8952d[i]=XBYTE[DDR_R]; //将接收到数据放入消息缓冲区
ACC=XBYTE[IFR_R]; //中断标志寄存器复位,
}
在实际应用中,可能会遇到接收的数据不正确,可以读取中断标志寄存器帧异常和接收溢出标志,若任意为1,则读取数据并放弃。若发送的数据每次均为19个字节,则可以判断FIFO状态寄存器中接收FIFO满标志,这样能确保数据的正确性。
发送数据
MT8952B的数据发送,既可以在中断里,也可以在程序执行中。假设要发送的数据放入缓冲区t_8952d[MSGLEN]里,在下面实例中,MSGLEN可以为小于或等于19,注意在发送消息或数据最后一个字节前,将控制寄存器的D0(EOP-EOP OF PACKET数据包结束)位写1,表明下一个数据是数据包要发送的最后一个字节。
void transmit_data (void);
{
uchar I;
for(i=0;i XBYTE[DDR_W] =t_8952d[i]; //发送数据
XBYTE[CR_W] = XBYTE[CR_R] | 0x01; //控制寄存器EOP位写1
XBYTE[DDR_W] = t_8952d[MSGLEN-1]; //发送最后一个字节数据
}

MT8952B在程控数字交换机中应用
在程控数字交换机中,最广泛的应用就是交换信令的传输和接收,微处理器根据收到的信令或消息,进行相应的操作。如收到占用请求消息,需发送占用证实,再根据消息的不同,进行不同的话路接续、语音接续、电路控制等等。而在程控数字交换机中,几乎所有的消息都不会超过19个字节,当确实需要更长的消息,可以发送多条即可。文中给出一条消息实例供参考。
消息名称:占用请求

主叫类型允许值为:2HEX-环路、8HEX-普通用户、12HEX-热线用户)、13HEX-遇忙记存用户、14HEX-不拨号用户,等等。
交换机中可以将交换网的一条母线与MT8952B的串行口相连,如图4的硬件连接图,将DSTO52和DSTI52与MT8980D的一条母线相连,利用其中的一个时隙就可以实现信令消息的收发。■

参考文献
1 Digital Switching/Networking G Data Book.MITEL Corporation, Printed in Canada, Issue 10, 1995
2 王兴宝.计算机网络技术基础与应用.电子科技大学出版社.2001
3 何立民. MCS-51系列单片机应用系统设计系统配置与接口技术. 北京航空航天大学出版社,1990
4 马忠梅等. 单片机的C语言应用程序设计. 北京航空航天大学出版社,1997

交换机相关文章:交换机工作原理




评论


相关推荐

技术专区

关闭