文档库 最新最全的文档下载
当前位置:文档库 › HDLC协议处理芯片PT7A6525在交换机中应用2008-12-11

HDLC协议处理芯片PT7A6525在交换机中应用2008-12-11

HDLC协议处理芯片PT7A6525及其在交换机中应用

北京交通大学周学义

摘要:在目前数字程控交换机或网络设计中,通常采用HDLC高级数据链路控制协议;PT7A6525,是百利通(PERICOM)公司生产的具有两个完全独立的全双工HDLC协议处理器芯片,本文介绍了它的原理及在时钟模式,并给出了实际应用中交换网与PT7A6525的连接框图及信令消息读写程序,对其在数字程控交换机中的应用加以说明。

关键词:HDLC PT7A6525 FIFO 数字程控交换机

1.概述

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

笔者曾在《电子设计应用》2003年第04期介绍过MT8952B,见《HDLC协议处理芯片MT8952B在数字程控交换机中的应用》,接到不少读者对相关问题的咨询。随着电子技术的不断发展,交换机的交换容量要求也越来越高,通信量也越来越达,具有19字节FIFO的MT8952B已远远不能达到用户的需求,本文将介绍64字节FIFO,传输信息可以不受限制的HDLC芯片。

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

内部结构见图1.。

图1. PT7A6525内部结构图

2.PT7A6525寄存器

PT7A6525 HDLC协议控制器,处理符合CCITT建议的X.25(第二层)由包交换协议定义的协议结构和帧数据。通过零位插入和删除技术获得数据传输的透明性。在发送数据的过程中,自动产生HDLC帧标志(0111110)和FCS(frame check sequence)字段以及帧异常中止、信道空闲和其他接收状态,因而PT7A6525将准备发送的数据自动地构成HDLC帧。在接收端,把来自远方的HDLC帧进行FCS校验,并恢复原始数据。

PT7A6525有两个端口,一个是串行端口用来发送和接收数据包,另一个是并口,允许在单片机系统总线和协议处理器之间并行传输数据。这个接口包括数据总线(D0-D7)、地址总线(A0-A6)、时钟、片选(CS)和读写控制等,微处理器可以读写协议处理器的各个寄存器。表1.给出这些寄存器的地址,寄存器的详细描述可参考PT7A6525的数据手册[1]。

表1. 寄存器地址表

3. PT7A6525时钟模式

PT7A6525每个通道支持时钟模式有内部时钟晶振(OSC )模式、独立的波特率发生器

(BRG)和数字脉冲锁相环(DPLL)模式。接收和发送时钟可以通过设置寄存器产生:内部时钟可以通过

OSC 、BRG 和DPLL 产生,外部时钟可以通过TxCLK/RxCLK 获取,通过对信道配置寄存器1(CCR1)设置产生8种不同的时钟模式,见表2:

本文以外部时钟模式0例加以详细介绍,主要实用于点对点或点对多点连接,分别同步于收发引脚;

4. PT7A6525在交换机中的应用连接图

本文给出的示例为单板-主网间通信,采用点对多点、主从方式的串行HDLC 通信。其中主网控制板的HDLC 控制器作为主,其它单板的HDLC 作为从。主网控制板的HDLC 按地址轮询其它单板,只有轮询到的单板可以应答。其连接框图如图2所示。

单板的接收线经驱动后连到HDLC 控制器。单板的发送线经驱动后再送到背板,此驱动的输出受单板的逻辑控制,具体控制分几种情况:(1)上电复位时,逻辑控制为高阻输出。 (2)MCU 死机时,引起复位,也控制为高阻输出,以防止单板长期占用总线。(3)当轮询此单板时,单板发送数据前,先使能输出,发送结束后置为高阻,让出总线。

单板的HDLC 控制器采用的是本文介绍的双路HDLC 芯片PT7A6525直接与HDLC 芯片(如主网控制层用PT7A6632)相连。A6~A0为协议控制器的寄存器地址选择,单片机可以读写这些寄存器,串口可以传送/接收数据包,也可以连接到数字传输媒介或数字接口电路如MT8972、MT8980等,如TxD 和RxD 可以MT8980的母线相连。

图2 PT7A6525在交换机中的应用连接图

5.PT7A6525数据读写的应用程序实例

根据前面的介绍,参考图2.的应用连接图,具体接口图可参考芯片手册或《电子设计应用》的MT8952B,可以控制寄存器,达到所需要的目的。在实际应用当中,文中给出点到点模式的读取和发送数据的子程序实例,供参考。

5.1.读取数据

PT7A6525数据的读取,是在外部中断里实现,当有数据到达时,INT拉低,微处理器产生中断,可以在外部中断服务程序中操作。

//外部中断,由PT7A6525产生,完成一次消息的接收。

#define byte unsigned char

#define word unsingned int

#define PT7A6525_FIFO_LEN 32

#define MSG_LEN 256

byte r_ pt7a6525 [MSG_LEN]; //接收消息缓冲区

byte r_count=0; //接收计数

void ex0_int() interrupt 0

{

byte i;

byte r_byte_len;

byte bISTA,bEXIR;

bISTA= XBYTE[ISTA]; //读取中断状态并复位

bEXIR =XBYTE[EXIR]; //外部中断状态

if(bEXIR & 0x10) {/*溢出处理*/} //接收溢出

r_byte_len=(XBYTE[RBCH]&0X0F)<<4 + XBYTE[RBCL]; //接收数据长度

if(bISTA & 0x80) //接收数据结束

{

for(i==0;< r_byte_len; i++)

{

r_pt7a6525[i+r_count* FIFO_LEN]=XBYTE[RFIFO];

}

r_count=0;

CMDR=0X80;

}

if(bISTA & 0X40) //接收数据

{

for(i==0;i< FIFO_LEN;i++)

{

r_pt7a6525[i+ r_count* FIFO_LEN]=XBYTE[RFIFO];

}

r_count++;

}

}

在实际应用中,可能会遇到接收的数据不正确,可以读取外部中断寄存器接收溢出标志,若为1,则读取数据并放弃。若发送的数据不确定字节数,则可以判断FIFO状态寄存器中接收FIFO结束标志,这样能确保数据的正确性。

5.2.发送数据

PT7A6525的数据发送,既可以在中断里,也可以在程序执行中;假设要发送的数据放入缓冲区t_ pt7a6525 [MSG_LEN]里。在下面实例中,消息长度MSG_LEN很灵活,可为任意值,发送的可超过32个字节,注意每次最多发送32个字节,在发送数据最后小于32字节后,将命令寄存器的XTF和XME位写1,表明数据包发送结束。

byte x_count; //发送计数

void transmit_data (void);

{

uchar i,temp;

x_count= MSG_LEN/ FIFO_LEN;

temp=x_count;

while(x_count) //发送前n*32个字节数据,不必等待确认便可连续发送数据

{

for(i= 0;i< FIFO_LEN;i++)

{

XBYTE[XFIFO]= x_pt7a6525[i+(temp-x_count)*FIFO_LEN];

}

CMDR=0X08; //透明传输数据

x_count--:

}

for(i=0;i

{

XBYTE[XFIFO]= x_pt7a6525[i+temp*FIFO_LEN];

}

CMDR=0X08 | 0x02; //发送结束,XTF和XME置1

}

6.PT7A6525在程控数字交换机中应用

在程控数字交换机中,最广泛的应用的就是交换信令的传输和接收,微处理器根据收到的信令或消息,进行相应的操作,如收到SETUP消息,需发送SETUP ACKNOWLEDGE,再根据消息的不同,进行不同的话路接续、语音接续、电路控制等等。而在程控数字交换机应用中,尤其是标准的信令如NO.7,DSS1信令,局间的通信量较大,一条协议鉴别语(protocol discriminator)多数需要32个字节甚至更多,文中给出Q.931的协议鉴别语中消息建立(SETUP)实例供参考。

在Q.931协议中,规定了每个消息要包含以下几部分,如下表所示:

8 7 6 5 4 3 2 1 8位组

1

2

3

等等.

参考文献

1.https://www.wendangku.net/doc/c914613533.html,/new/manage/doc_datasheet/PT0017/PT7A6525-6525L-6526-8.pdf

2.周学义卢炜HDLC协议处理芯片MT8952B在数字程控交换机中的应用电子设计应

用2003年第04期

3.国家标准GB1715

4.1-1997控制协议技术规范GB/T17154-1997

4.周学义时隙数字交换电路MT8980D在程控机中的应用单片机与嵌入式系统应用

2002.7

相关文档
相关文档 最新文档