HDLC协议芯片PT7A6525及其在交换机中的应用
时间:03-24
来源:互联网
点击:
1 概述
HDLC 协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“O比特插入法”易于硬件实现;全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率;所有帧均采用CRC校验,对信息帧进行顺序编号,可防止漏收或重发,传输可靠性高;传输控制功能与处理功能分离,具有较大的灵活性。
笔者曾撰文介绍过MT8952B,并收到不少读者对相关问题的咨询。随着电子技术的不断发展,交换机的交换容量要求也越来越高,通信量也越来越大,具有19字节FIFO的MT8952B已远远不能满足用户的需求。HDILC芯片有64字节FIFO,传输信息可以不受限制。
PT7A6525 HDLC协议控制器有以下特点:支持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,表明数据包发送结束。
HDLC 协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“O比特插入法”易于硬件实现;全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率;所有帧均采用CRC校验,对信息帧进行顺序编号,可防止漏收或重发,传输可靠性高;传输控制功能与处理功能分离,具有较大的灵活性。
笔者曾撰文介绍过MT8952B,并收到不少读者对相关问题的咨询。随着电子技术的不断发展,交换机的交换容量要求也越来越高,通信量也越来越大,具有19字节FIFO的MT8952B已远远不能满足用户的需求。HDILC芯片有64字节FIFO,传输信息可以不受限制。
PT7A6525 HDLC协议控制器有以下特点:支持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,表明数据包发送结束。
电子 CMOS 电路 单片机 总线 MCU LED 嵌入式 相关文章:
- 变革电信网网络安全框架 (01-03)
- 浅谈IPv6技术的若干问题(01-09)
- LG电子低成本CDMA手机的设计原则剖析 (01-12)
- 专家教你做个病毒高手(04-30)
- 数据库归档要考虑的四大问题(05-26)
- 5个步骤成功加密电子邮件(07-18)