HDLC 协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“O比特插入法”易于硬件实现;全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率;所有帧均采用CRC校验,对信息帧进行顺序编号,可防止漏收或重发,传输可靠性高;传输控制功能与处理功能分离,具有较大的灵活性。
笔者曾撰文介绍过MT8952B,并收到不少读者对相关问题的咨询。随着电子技术的不断发展,交换机的交换容量要求也越来越高,通信量也越来越大,具有19字节FIFO的MT8952B已远远不能满足用户的需求。HDILC芯片有64字节FIFO,传输信息可以不受限制。
PT7A6525HDLC协议控制器有以下特点:支持2个完全独立的全双工HDLC信道,符合X.25第二层标准数据格式,前向序列的产生和检测,单字节地址识别,具有微处理器端口,灵活操作和控制寄存器,发送和接收有64个字节的FIFO缓冲区,多路数据链路握手信号,高速串行时钟输出(8 Mbps),符合ST-BUS的可编程的通道选择和时隙控制,灵活的协议控制功能,低功耗ISO-CMOS技术。其适用的主要应用领域包括:数据链路控制和协议产生,数字设备、PBXs和专用数据网,ISDN基本数据的D通道控制器,数据网络接口电路的C通道控制器,内部通信处理等。
PT7A6525内部结构如图1所示。
2 PT7A6525寄存器
PT7A6525 HDLC协议控制器,处理符合CCITT建议的X.25(第2层)由包交换协议定义的协议结构和帧数据。通过零位插入和删除技术获得数据传输的透明性。在发送数据的过程中,自动产生HDLC帧标志(0111110)和FCS(Frame(;heck Sequence)帧校验序列字段以及帧异常中止、信道空闲和其他接收状态,因而PT7A6525将准备发送的数据自动构成HDLC帧。在接收端,把来自远方的HDLC帧进行FCS校验,并恢复原始数据。
PT7.A6525有2个端口:一个是串行端口,用来发送和接收数据包;另一个是并口,允许在单片机系统总线和协议处理器之间并行传输数据。这个接口包括数据总线(D0~D7)、地址总线(A0~A6)、时钟、片选(CS)和读/写控制等,微处理器可以读/写协议处理器的各个寄存器。表1给出这些寄存器的地址,寄存器的详细描述可参考PT7A6525的数据手册[1]。
3 PT7A6525时钟模式
PT7A6525 每个通道支持的时钟模式有内部时钟晶振(OSC)模式、独立的波特率发生器(BRG)和数字脉冲锁相环(DPLL)模式。可通过设置寄存器产生接收和发送时钟:内部时钟产生可以通过OSC、BRG和DPLL获得,外部时钟可以通过TxCLK/RxCLK获得。总之可通过信道配置寄存器1(CCRl)软件设置产生8种不同的时钟模式,如表2所列。
本文以外部时钟模式O为例加以详细介绍,主要适用于点对点或点对多点连接,分别同步于收发引脚。
4 PT7A6525在交换机中的应用连接图
本文给出的示例为单板一主网间通信,采用点对多点、主从方式的串行HDLC通信。连接框图如图2所示。其中主网控制板的HDLC控制器作为主,其他单板的HDLC作为从。主网控制板的HDLC按地址轮询其他单板,只有轮询到的单板可以应答。
单板的接收线经驱动连到HDLC控制器。单板的发送线经驱动后再送到背板。此驱动的输出受单板的逻辑控制,具体控制分几种情况:a.上电复位时,逻辑控制为高阻输出。b.MCU死机时,引起复位,也控制为高阻输出,以防止单板长期占用总线。c.当轮询此单板时,单板发送数据前先使能输出,发送结束后再置为高阻,让出总线。
单板的HDLC控制器采用的是本文介绍的双路HDLC.芯片PT7A6525直接与HDLC芯片(如主网控制层用 PT7A6632)相连。A6~A0为协议控制器的寄存器地址选择,单片机可以读/写这些寄存器,串口可以传送/接收数据包,也可以连接到数字传输媒介或数字接口电路,如MT8972、MT8980等。例如TxD和RxD可以与MT8980的母线相连。
5 PT7A6525数据读/写应用实例
根据前面的介绍,参考图2的应用连接图(具体接口图可参考芯片手册等)可以控制寄存器,达到所需的目的。在实际应用中,文中给出点到点模式的读取和发送数据子程序实例,以供参考。
5.1 读取数据
PT7A6525数据的读取在外部中断里实现。当有数据到达时,INT拉低,微处理器产生中断,可以在外部中断服务程序中操作。
在实际应用中,接收的数据可能不正确,这时可以读取外部中断寄存器接收溢出标志,若为1,则读取数据并放弃。若发送的数据不确定字节数,则可以判断FIFO状态寄存器中接收FIFO结束标志,这样就能确保数据的正确性。
5.2 发送数据
PT7A6525 既可以在中断里发送数据,也可以在程序执行中发送。假设要发送的数据放人缓冲区t_pt7a6525[MSG_LEN]。在下面的实例中,消息长度 MSG_LEN很灵活,可为任意值,可发送超过32字节。注意每次最多发送32字节,在最后发送数据小于32字节时,将命令寄存器的XTF和XME位写 1,表明数据包发送结束。
6 PT7A6525在程控数字交换机中的应用
在程控数字交换机中,最广泛应用的就是交换信令的传输和接收。微处理器根据收到的信令或消息,进行相应的操作。如收到SETUP消息,需发送SETUP AC-KNOWLEDGE。再根据消息的不同,进行不同的话路接续、语音接续、电路控制等。而在程控数字交换机应用中,尤其是标准的信令如NO.7、 DSSl信令,局间的通信量较大,1条协议鉴别语(protocol discriminator)多数需要32字节甚至更多,文中给出Q.931协议鉴别语中的消息建立(SETUP)实例供参考。
Q.931 协议规定了每个消息要包含协议鉴别语(pro-tocol discriminator)、呼叫参考(call reference)、消息类型(message type)、其他信息单元(other information ele-ments,as required)几部分,如下所示: