南京亚册云象通信技术有限公司

智慧城市网免费会员

收藏

行业通信实用方面的DLC协议知识

时间:2014-07-08      阅读:1827

  HDLC协议,有时又称SDLC协议,是行业通信普遍采用的一种链路层协议。
  
  HDLC协议规范参见ISO/IEC13239标准文档,该规范取代了HDLC协议早期的三个标准:ISO/IEC7809(HDLC的规约类别汇编)、ISO/IEC3309(HDLC的帧结构)和ISO/IEC4335(HDLC的规约要素汇编)。
  
  本文只描述HDLC协议的关键技术点,详细的介绍和说明请参考http://baike.baidu.com/view/89174.htm。
  
  HDLC帧界定
  
  SDLC/HDLC协议的标志符是一个8bit位组合,其格式为01111110(十六进制7E),即两个0中间夹着6个连续的1。一帧信息以标志符为起始,并以标志符作为结束,所以标志符也称为帧定界符。
  
  HDLC协议的目标是能传输任意位组合的数据(即所谓的数据透明传输),同时标志符具有*性,即在数据序列中不能再出现01111110的序列。
  
  为了达到透明传输的目的,发送方采用“0比特插入技术”,在发送信息帧时,对于除标志符以外的所有信息,只要遇到5个连续的1,就在其后自动插入1个0。接收方为恢复信息的原来格式,在接收时采用“0比特删除技术”,即除标志符外,当连续接收到5个1时,就自动删除1个0。
  
  帧格式
  
  HDLC完整的帧由标志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验序列字段(FCS)等组成:
  
  ●标志字段(F):为标志符01111110,标志帧的起止。
  
  ●地址字段(A):标识通信站点的地址,其中全1表示广播地址。
  
  ●控制字段(C):确定帧类型。
  
  ●信息字段(I):可变长字节的信息内容,必须是8位的整数倍,也可以为0长度。
  
  ●帧校验序列(FCS):采用16位的CRC,对两个标志字段之间的整个帧的内容进行校验。
  
  开始标志
  
  Openingflag地址字段
  
  AddressField控制字段
  
  ControlField信息字段
  
  InformationField帧校验序列
  
  FrameCheckSequenceField结束标志
  
  ClosingFlag
  
  011111101字节1字节可变长,N字节2字节01111110
  
  帧类型与操作方式
  
  HDLC协议根据控制字段把帧划分为信息帧I(Information)、监控帧S(Supervisory)和无编号帧U(Unnumbered)三大类。并定义了NRM、ARM、ABM三种链路操作方式,约定通信端点之间如何主从,如何进行握手。
  
  在实际应用中,我们只是利用HDLC的帧机制,透明传输用户自定义的数据包,一般不实现协议规定的帧类型和操作模式。用户根据行业通信的需要,采用自定义帧类型及地址字段。FCS字段一般是必须的,为了保证数据的可靠性,CRC校验往往*。
  
  针对不同的应用,用户一般自定义链路操作方式,并不实现HDLC规范定义的操作方式。
  
  实际应用的帧格式
  
  实际应用的帧格式往往如下图所示:
  
  开始标志
  
  Openingflag用户自定义数据字段
  
  DataField帧校验序列
  
  FrameCheckSequenceField结束标志
  
  ClosingFlag
  
  01111110可变长,N字节2字节01111110
  
  由于HDLC很多情况下工作在低速线路上,为了避免包的延迟过长,要求数据字段尽可能的短,一般zui长不超过256字节。
  
  原来出自:南京亚测
提示

请选择您要拨打的电话: