一种基于SLIP协议的数据传输方法技术

技术编号:21898839 阅读:37 留言:0更新日期:2019-08-17 18:22
本发明专利技术公开了一种基于SLIP协议的数据传输方法,通过从机数据链路层判断编码帧的数据序列字符(200)与上一个编码帧的数据序列字符(200)相比是否为顺序递增,若判断为否主机物理层对编码帧进行重传,通过从机数据链路层判断若解码用错误检测字符(400)与编码帧上的错误检测字符(400)是否相同,若判断为否从机数据链路层丢弃编码帧且主机物理层对编码帧进行重传。本发明专利技术提供的一种基于SLIP协议的数据传输方法,通过在编码帧上设定数据序列字符(200),从机数据链路层能够及时发现传输过程中的丢包现象并进行重传,通过在编码帧上设定错误检测字符(400),使得从机数据链路层能够及时发现传输过程中的错误信息并进行重传,提高了数据传输效率。

A Data Transfer Method Based on SLIP Protocol

【技术实现步骤摘要】
一种基于SLIP协议的数据传输方法
本专利技术涉及一种通讯
,具体涉及一种基于SLIP协议的数据传输方法。
技术介绍
从机(DSP)和主机(PC)之间的通信协议由大致遵循OSI7层网络协议的简化模型的三层协议组成。这三层包括:物理层定义主机和从机之间的电气接口,并提供通过物理链路传输的数据位的字节宽度。数据链路层将多字节数据消息编码成要在物理层上发送和接收的帧。应用层定义用于在主机和从机之间通信的消息集,这些消息称为APDU,应用程序层定义了一组用于通信的命令和响应。在层次上,应用层是提供用户界面并定义用于控制收发器的命令集的顶层。数据链路层是下一级别,为多字节应用层消息提供成帧,错误检测和丢帧检测。最后在最低层,物理层定义电接口,该电接口提供用于在设备之间物理传输比特的装置,该层还将比特帧化为8比特宽的数据传输单元,这三层构成了收发器和主机通信的协议栈。由于SLIP协议在数据链路层没有错误检测和纠正字节,因此SLIP智能通过IP报头校验和和其他机制在更高层提供这种保护,这就意味着只有在整个数据被发送和完整接收后从回传的递归堆栈中才能检测到错误,而且纠错只能以重新发送已损坏的数据的形式出现。数据传输效率极地效,特别是串行链路通常比普通LAN链路慢得多的情况下,影响数据的传送。
技术实现思路
为了解决现有技术中SLIP协议在数据传输过程中无法及时发现丢包现象与传输错误的技术问题,提供一种基于SLIP协议的数据传输方法,通过在编码帧上设定数据序列字符和错误检测字符,使得从机数据链路层能够及时发现传输过程中的丢包和错误信息并进行重传,提高了数据传输效率。本专利技术提供一种基于SLIP协议的数据传输方法,包括以下步骤:S1、在发送侧,主机数据链路层从主机应用层获取应用协议数据单元进行编码生成编码帧,并将编码帧传送至主机物理层;编码帧包括依次相连END字符、数据序列字符、应用协议数据单元、错误检测字符、END字符;S2、主机物理层将编码帧传送至位于接收侧的从机物理层;S3、从机物理层将编码帧传送至从机数据链路层进行解码;S4、对于每个顺序接收的编码帧,从机数据链路层将判断编码帧的数据序列字符与上一个编码帧的数据序列字符相比是否为顺序递增,如果判断为否则进入步骤S5,如果判断为是则进入步骤S6;S5、主机物理层对编码帧进行重传,返回至步骤S4;S6、对于每个顺序接收的编码帧,从机数据链路层通过错误检测字符进行解码,若错误检测字符与编码帧上的错误检测字符不同则进入步骤S7,若错误检测字符与编码帧上的错误检测字符相同则进入步骤S8;S7、从机数据链路层丢弃编码帧,主机物理层对编码帧进行重传,返回至步骤S6;S7、完成数据的传输。本专利技术所述的一种基于SLIP协议的数据传输方法,作为优选方式,步骤S1中编码帧的编码过程包括以下步骤:S11、在应用协议数据单元前添加数据序列字符;S12、根据数据序列字符和应用协议数据单元生成错误检测字符;S13、将错误检测字符添加至应用协议数据单元之后;S14、将END字符前置到数据序列字符之前;S15、对数据序列字符、应用协议数据单元、错误检测字符进行滑动编码;S16、在错误检测字符后增加一个END字符。本专利技术所述的一种基于SLIP协议的数据传输方法,作为优选方式,步骤S11中数据序列字符的设定包括以下步骤:S111、在复位和上电时,将所述数据序列字符设置为0×00;S112、在每个新编码帧发送前,数据序列字符将增加1mod0×7F并预先添加到编码帧上。数据序列字符的有效序列范围为0×00到0×0F。本专利技术所述的一种基于SLIP协议的数据传输方法,作为优选方式,从机数据链路层使用多项式CCITT-16(x^16+x^12+x^5+1)在应用协议数据单元上生成错误检测字符。本专利技术所述的一种基于SLIP协议的数据传输方法,作为优选方式,END字符为一个字节,数据序列字符为一个字节,错误检测字符为二个字节。本专利技术所述的一种基于SLIP协议的数据传输方法,作为优选方式,应用协议数据单元包括命令或响应。本专利技术所述的一种基于SLIP协议的数据传输方法,作为优选方式,命令包括依次相连的对象标识符、对象实例标识符、参数标识符和参数域名。本专利技术所述的一种基于SLIP协议的数据传输方法,作为优选方式,参数标识符包括用于指示所述命令中的参数动作是读或写的读/写位,设置为0的保留位,参数域名格式和用于标识正在寻址的对象和实例中特定参数的代码。本专利技术所述的一种基于SLIP协议的数据传输方法,作为优选方式,响应包括依次相连的对象标识符、对象实例标识符、参数标识符、命令结果和参数域名。本专利技术所述的一种基于SLIP协议的数据传输方法,作为优选方式,对象标识符为一个字节,对象实例标识符为一个字节,参数标识符为二个字节。本专利技术由于在编码帧上增加了数据序列字符,使协议可以有效地检测丢包现象,而且可以很快地向主机发出请求重传申请,有效而及时重发丢掉的数据包。本专利技术进一步在编码帧上增加了数据序列字符,使协议可以有效地检测丢包现象,而且可以很快地向主机发出请求重传申请,有效而及时重发丢掉的数据包。附图说明图1为一种基于SLIP协议的数据传输方法流程图;图2为一种基于SLIP协议的数据传输方法编码帧的编码流程图;图3为编码帧结构示意图;图4为命令消息格式示意图;图5为参数标识符格式示意图;图6为响应消息格式示意图。附图标记:100、END字符;200、数据序列字符;300、应用协议数据单元;310、对象标识符;320、对象实例标识符;330、参数标识符;331、读/写位;332、保留位;333、参数域名格式;334、代码;340、参数域名;340、命令结果;400、错误检测字符。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。实施例1如图1所示,一种基于SLIP协议的数据传输方法,包括以下步骤:S1、在发送侧,主机数据链路层从主机应用层获取应用协议数据单元进行编码生成编码帧,并将编码帧传送至主机物理层;编码帧包括依次相连END字符100、数据序列字符200、应用协议数据单元300、错误检测字符400、END字符100;如图3所示,编码帧包括依次相连一个字节的END字符100、一个字节的数据序列字符200、应用协议数据单元300、二个字节的错误检测字符400、一个字节的END字符100;如图2所示,编码帧的编码过程包括以下步骤:S11、在应用协议数据单元300前添加数据序列字符200;数据序列字符的有效序列范围为0×00到0×0F,其设定包括以下步骤:S111、在复位和上电时,将所述数据序列字符设置为0×00;S112、在每个新编码帧发送前,数据序列字符将增加1mod0×7F并预先添加到编码帧上;S12、根据数据序列字符200和应用协议数据单元300,从机数据链路层使用多项式CCITT-16(x^16+x^12+x^5+1)在应用协议数据单元300上生成错误检测字符400;S13、将错误检测字符400添加至应用协议数据单元300之后;S14、将END字符100前置到数据序列字符200之前;S15、对数据序列字符200、本文档来自技高网...

【技术保护点】
1.一种基于SLIP协议的数据传输方法,其特征在于:包括以下步骤:S1、在发送侧,主机数据链路层从主机应用层获取应用协议数据单元(300)进行编码生成编码帧,并将所述编码帧传送至主机物理层;所述编码帧包括依次相连END字符(100)、数据序列字符(200)、应用协议数据单元(300)、错误检测字符(400)、END字符(500);S2、所述主机物理层将所述编码帧传送至位于接收侧的从机物理层;S3、所述从机物理层将所述编码帧传送至从机数据链路层进行解码;S4、对于每个顺序接收的所述编码帧,所述从机数据链路层将判断所述编码帧的所述数据序列字符(200)与上一个所述编码帧的所述数据序列字符(200)相比是否为顺序递增,如果判断为否则进入步骤S5,如果判断为是则进入步骤S6;S5、所述主机物理层对所述编码帧进行重传,返回至步骤S4;S6、对于每个顺序接收的所述编码帧,所述从机数据链路层通过所述错误检测字符(400)进行解码,若所述错误检测字符(400)与所述编码帧上的所述错误检测字符(400)不同则进入步骤S7,若所述错误检测字符(400)与所述编码帧上的所述错误检测字符(400)相同则进入步骤S8;S7、所述从机数据链路层丢弃所述编码帧,所述主机物理层对所述编码帧进行重传,返回至步骤S6;S8、完成数据的传输。...

【技术特征摘要】
1.一种基于SLIP协议的数据传输方法,其特征在于:包括以下步骤:S1、在发送侧,主机数据链路层从主机应用层获取应用协议数据单元(300)进行编码生成编码帧,并将所述编码帧传送至主机物理层;所述编码帧包括依次相连END字符(100)、数据序列字符(200)、应用协议数据单元(300)、错误检测字符(400)、END字符(500);S2、所述主机物理层将所述编码帧传送至位于接收侧的从机物理层;S3、所述从机物理层将所述编码帧传送至从机数据链路层进行解码;S4、对于每个顺序接收的所述编码帧,所述从机数据链路层将判断所述编码帧的所述数据序列字符(200)与上一个所述编码帧的所述数据序列字符(200)相比是否为顺序递增,如果判断为否则进入步骤S5,如果判断为是则进入步骤S6;S5、所述主机物理层对所述编码帧进行重传,返回至步骤S4;S6、对于每个顺序接收的所述编码帧,所述从机数据链路层通过所述错误检测字符(400)进行解码,若所述错误检测字符(400)与所述编码帧上的所述错误检测字符(400)不同则进入步骤S7,若所述错误检测字符(400)与所述编码帧上的所述错误检测字符(400)相同则进入步骤S8;S7、所述从机数据链路层丢弃所述编码帧,所述主机物理层对所述编码帧进行重传,返回至步骤S6;S8、完成数据的传输。2.根据权利要求1所述的一种基于SLIP协议的数据传输方法,其特征在于:步骤S1中所述编码帧的编码过程包括以下步骤:S11、在所述应用协议数据单元(300)前添加所述数据序列字符(200);S12、根据所述数据序列字符(200)和所述应用协议数据单元(300)生成所述错误检测字符(400);S13、将所述错误检测字符(400)添加至所述应用协议数据单元(300)之后;S14、将所述END字符(100)前置到所述数据序列字符(200)之前;S15、对所述数据序列字符(200)、所述应用协议数据单元(300)、所述错误检测字符(400)进行滑动编码;S16、在所述错误检测字符(400)后增加一个所述END字符(100)。...

【专利技术属性】
技术研发人员:张载龙
申请(专利权)人:苏州龙欣通颖网络科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1