您现在的位置: 华玉生活网 >> 技术文库 >> 无线 >> 正文>> 繁体中文

一个简单实用的HDLC出错重发协议

一个简单实用的HDLC出错重发协议,HDLC,出错重发协议,包序号字节-中电网加入收藏设为首页EN|繁体首页新闻中心最新产品设计应用在线座谈紧缺人才培训研讨会电子商城解决方案电子百科博客技术论坛技术频道嵌入式系统电源管理3G手机汽车电子数字电视消费电子传感器通信技术工业控制测试测量可编程逻辑中国RoHSDSP与MCU无源元件电子制造模拟电路哈佛结构运算放大器非结晶硅太阳电池DSPMCU双核数据转换器MODEM专用型DSP检波器通用型DS
一个简单实用的HDLC出错重发协议,HDLC,出错重发协议,包序号字节-中电网加入收藏
设为首页
EN | 繁体  首页新闻中心最新产品设计应用在线座谈紧缺人才培训研讨会电子商城解决方案电子百科博客技术论坛技  术  频  道        嵌入式系统    电源管理        3G手机    汽车电子        数字电视    消费电子        传感器    通信技术        工业控制    测试测量        可编程逻辑    中国RoHS        DSP与MCU    无源元件        电子制造    模拟电路哈佛结构  运算放大器  非结晶硅太阳电池DSP MCU双核  数据转换器  MODEM专用型DSP   检波器   通用型DSP请您来编写词条                     更多>>一个简单实用的HDLC出错重发协议江西联创通信有限公司 贺晔晔
引 言

在现代通信中,通信的可靠性往往是一个非常重要的课题。因为在现实世界中各种干扰无所不在,单纯依靠硬件电路及物理线路上采取的各种屏蔽措施往往还不能解决全部问题。这就需要在软件及通信协议上采取措施,并与硬件及各种物理设备结合起来,共同解决通信的不稳定性问题,从而提高系统性能及可靠性。

笔者通过对各种通信协议的比较、分析,总结出它们各自的优缺点,并通过多次实践,提出了一种相对比较简单的点对点HDLC协议。

1 协议内容

发送方与接收方事先约定好数据通信格式、数据发送速率,并为每个要发送的数据包添加一个包序号字节(放在每个数据包的最后字节)。具体内容如下:

①发送方每隔50 ms(该时间可根据具体情况进行调整)检查自己的发送缓冲区,看是否有数据需要发送。若无数据发送,则返回;若有数据要发送,则连续发送10个数据包。其中,每个数据包之间的时间间隔为50 ms,若要发送的数据包不够10个,则不够的数据包用空闲包代替。每个数据包与空闲包的最后一个字节用作数据包包序号,分别标记为0~9。

②接收方设有一个接收包序号字节变量(初始值为0),用于表示下一个要接收到的包的包序号。接收方每收到一个数据包,就将该接收包序号字节变量的值与接收到的数据包的序号值相比较。若相等,则表示数据包接收正确,并将接收包序号字节变量加1,准备接收下一个数据包。若不相等,则表示出现了漏数据包现象,接收方往发送方回送一个NAK包,告诉对方出现了漏数据包现象;当发送方收到了该NAK包时,重发上次所发的10个数据包,接收方继续重复上述接收过程。但每次发送最多只重发3次,若已重发3次,接收方还未正确接收,则发送方和接收方都跳过当前数据包的发送,准备下一次数据包的发送。若已成功地接收到发送方所发的10个数据包,则接收方向发送方回送一个ACK包,告诉发送方已成功接收到发送方所发的10个数据包。

③若发送方连续发送10个数据包,接收方在规定的时间内没有回送消息,则发送方重发这10个数据包。若重发3次,接收方仍未回送消息,则退出当前数据包的发送,准备下一次数据包的发送。

2 收发流程

发送方发送流程如图1所示。发送方发送过程可在定时器或主程序中被定时调用。

接收方接收流程如图2所示。

3 应用实例

在一台工业控制计算机上的一个ISA插槽内插入一个通信卡(ISA接口卡),通过双绞线与另一个系统(由8051CPU和一块通信卡组成)相连。其中,通信卡主要由Mitel公司的MT8952及MT8980组成。MT8952为一通信控制芯片,支持HDLC协议;MT8980为一2B+D芯片,支持281Q码。由MT8952完成对MT8980的操作与控制。

MT8952受工业控制计算机(或8051)的操作与控制。通信双方通过中断方式完成对数据的接收,通过定时方式完成对数据的发送。系统组成关系如图3所示。

这里以工业控制计算机方的协议实现为例,采用C语言编写该协议的实现例程,供大家参考(阅读该程序代码时,须将发送程序代码与接收程序代码相结合,来了解其具体实现过程)。

编者注:发送和接收程序代码略。

发送方与接收方都采用如下的数据包格式:

其中,地址字节用于MT8952通信芯片内部自己的校验,高层应用程序不涉及该字节;校验字节等于0,表示为自己所要的数据。

4 结 论

各种实验证明,使用了该出错重发协议的系统比起那些没有采用任何纠错的系统,在性能上有了很大的改进,大大增强了系统的抗干扰能力,提高了通信的可靠性,而且在实现上也比较容易,具有一定的应用推广价值。

本文摘自《单片机与嵌入式系统应用》关于我们   |   网站导航   |  广告招商   |   联系方法   |   专家约稿   |   友情链接许可证号:粤ICP证010067Copyright © 2000-2009 ChinaECNet All Rights ReservedTel: 010-82888222, 0755-83243191Fax: 010-82888220, 0755-83243291


  • 扩展阅读
  • 上一个文章:
  • 【返回网站首页】 【返回无线】
  • 下一个文章:
  • 【字体: 】【】【发表评论】【加入收藏】【告诉好友】【打印此文
    文章 软件 电影 商品

    相关文章

    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    | 服务声明 | 充值中心| 华安五金电器 | 收费标准| 论坛| 留言| 实用查询| 会员中心| 下载帮助| 设为首页|

    技术支持:瑞达科技 即时交谈QQ:237013889 QQ群:13810759 E-Mail:237013889@qq.com
    非盈利网站,如有侵权,请来信来电告知,第一时间处理,谢谢!
    桂ICP备17008104号 华玉生活网网站统计
    tj