CN111147463B - 基于异步422总线的可变长度帧高可靠性数据接收方法 - Google Patents
基于异步422总线的可变长度帧高可靠性数据接收方法 Download PDFInfo
- Publication number
- CN111147463B CN111147463B CN201911311396.0A CN201911311396A CN111147463B CN 111147463 B CN111147463 B CN 111147463B CN 201911311396 A CN201911311396 A CN 201911311396A CN 111147463 B CN111147463 B CN 111147463B
- Authority
- CN
- China
- Prior art keywords
- frame
- command
- data
- length
- buffer area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
Abstract
本申请提供一种基于异步422总线的可变长度帧高可靠性数据接收方法,方法包括:搜索帧头,若帧头有效则将帧头放入缓冲区;接收帧长度,并按照预设协议解析帧长度,将解析得到的帧长度放入缓冲区;接收命令控制码,若控制码有效则将控制码放入缓冲区;按照解析得到的帧长度接收指定长度的数据,将接收到的数据放入缓冲区;进行整帧数据有效性判断,若有效性判断正确则确定接收的帧为有效帧,若有效性判断错误则确定数据接收出现异常,清空缓冲区。本申请提供的方法先按照预设协议解析帧长度,再确定控制码有效,然后按照解析得到的帧长度接收指定长度的数据,最后进行整帧数据有效性判断,保证了数据接收的可靠性。
Description
技术领域
本发明涉及数据接收技术领域,尤其涉及一种基于异步422总线的可变长度帧高可靠性数据接收方法。
背景技术
RS-422异步串行通讯技术由于设计简单,占用资源少,广泛应用于导弹武器系统,但是异步422在物理层没有同步信号,在数据链路层没有HDLC(High-Level Data LinkControl,高级数据链路控制)协议保证数据可靠性,在应用协议层的可变长度帧更是加剧了数据接收的难度,这就造成需要在应用协议层去做协议帧层的解析去做帧头搜索、剔除误帧、超时帧等,目前没有统一的应用协议层标准去规范应用协议层的数据接收方法。
发明内容
为解决上述问题,本申请实施例提供了一种基于异步422总线的可变长度帧高可靠性数据接收方法,所述方法包括:
搜索帧头,若帧头有效则将所述帧头放入缓冲区;
接收帧长度,并按照预设协议解析所述帧长度,将解析得到的帧长度放入所述缓冲区;
接收命令控制码,若控制码有效则将所述控制码放入所述缓冲区;
按照解析得到的帧长度接收指定长度的数据,将接收到的数据放入所述缓冲区;
进行整帧数据有效性判断,若有效性判断正确则确定接收的帧为有效帧,若有效性判断错误则确定数据接收出现异常,清空所述缓冲区。
可选地,所述整帧数据有效性判断方式为循环冗余校验CRC16。
可选地,所述预设协议中周期通信采用命令应答式通信方式。
可选地,通信周期T中包括6段时间依次为:t1,t2,t3,t4,t5,t6;
所述命令应答式通信方式中命令帧和应答帧的时序为:t1为命令帧建立时间,在主站进行;t2为命令帧传送时间,在主、从二站进行;t3为命令帧处理时间,在从站进行;t4为应答帧建立时间,在从站进行;t5为应答帧传送时间,在主、从二站进行;t6为应答帧处理时间,在主站进行。
可选地,所述预设协议中周期通信时,从站在收到命令帧后超过T1时间仍然不能发送应答帧时,停止发送该应答帧;主站发送命令帧后超过T2时间仍然不能收到应答帧或应答帧错误是,应用上一周期的数据。
可选地,所述T1=t3+t4。
可选地,所述T2=t1+t2+t3+t4+t5+t6。
可选地,所述命令帧包括FLAG,帧长度,命令控制码CO,主站发送给从站的命令参数CP,校验和;
所述FLAG为帧头0,所述帧长度为包括帧头和校验的本帧总字节数,校验和为所述本帧前边字节按二进制数求CRC16。
可选地,所述应答帧包括FLAG,帧长度,应答状态码ST,从站回送给主站的应答参数SP,应答参数校验和。
可选地,所述帧长度为8位无符号整数;
CO是主站发送给从站的控制命令,为8位二进制整数;
ST是从站回送给主站的应答状态,为8位二进制整数。
有益效果如下:
本申请提供的方法先按照预设协议解析帧长度,再确定控制码有效,然后按照解析得到的帧长度接收指定长度的数据,最后进行整帧数据有效性判断,若有效性判断正确则确定接收的帧为有效帧,若有效性判断错误则确定数据接收出现异常,清空缓冲区,保证了数据接收的可靠性。
附图说明
下面将参照附图描述本申请的具体实施例,其中:
图1示出了本申请一实施例提供的一种预设协议的命令帧和应答帧建立、传送、处理时序示意图;
图2示出了本申请一实施例提供的一种基于异步422总线的可变长度帧高可靠性数据接收方法的流程示意图;
图3示出了本申请一实施例提供的一种基于异步422总线的可变长度帧高可靠性数据接收方法抗干扰示意图。
具体实施方式
RS-422异步串行通讯技术由于设计简单,占用资源少,广泛应用于导弹武器系统,但是异步422在物理层没有同步信号,在数据链路层没有HDLC协议保证数据可靠性,在应用协议层的可变长度帧更是加剧了数据接收的难度,这就造成需要在应用协议层去做协议帧层的解析去做帧头搜索、剔除误帧、超时帧等,目前没有统一的应用协议层标准去规范应用协议层的数据接收方法。
本申请提供了一种基于异步422总线的可变长度帧高可靠性数据接收方法,通过设计高可靠性数据接收协议、完善的数据接收流程和基于“搜索窗”算法的数据接收方法,实现基于异步422总线的可变长度帧高可靠性数据接收方法,能保证数据接收的正确性和可靠性,提高了异步422总线在导弹武器系统应用的可靠性,该方法也可以应用在对可靠性要求较高、需要一定通信冗余能力的通信系统。
本申请为了提高线路的利用率降低链路开销,预设了一种协议,该协议为一种可变长度的422总线帧协议以及相应的帧格式。同时基于该帧格式提供了一种基于收发应答帧的数据交互流程以及基于搜索窗算法的数据接收流程,以便保证数据时效性。
具体的,预设协议如下:
本申请的预设协议为变长度的422总线帧协议,具体为可变长度的高可靠性异步422总线帧协议。
假设周期通信系统通信周期为T,为了保证每周期数据都可以有效及时接收,周期通信采用命令应答式通信方式。
通信周期T中包括6段时间依次为:t1,t2,t3,t4,t5,t6,其命令帧和应答帧建立、传送、处理时序如图1所示。
命令应答式通信方式中命令帧和应答帧的时序为:
t1:命令帧建立时间,在主站进行;
t2:命令帧传送时间,在主、从二站进行;
t3:命令帧处理时间,在从站进行;
t4:应答帧建立时间,在从站进行;
t5:应答帧传送时间,在主、从二站进行;
t6:应答帧处理时间,在主站进行。
预设协议中周期通信时,从站在收到命令帧后超过T1(如T1=t3+t4)时间仍然不能发送应答帧时就停止发送该帧。主站在发送命令帧后超过T2(如T2=t1+t2+t3+t4+t5+t6)时间仍然不能收到应答帧或应答帧错误的情况下,应用上一周期的数据。
可变长度帧格式能够较高的降低系统链路开销,提高线路的利用率,命令应答帧格式采用可变长度帧格式。
命令帧格式为:
FLAG | 帧长度 | CO | CP | 校验和 |
应答帧格式为:
FLAG | 帧长度 | ST | SP | 校验和 |
其中:
FLAG:帧头0;
帧长度:包括帧头和校验和在内的本帧总字节数,8位无符号整数;
CO:命令控制码,是主站发送给从站的控制命令,8位二进制整数;
ST:应答状态码,是从站回送给主站的应答状态,8位二进制整数;
CP:主站发送给从站的命令参数;
SP:从站回送给主站的应答参数;
校验和:为本帧前边字节(包括帧头)按二进制数求CRC(循环冗余校验)16。
在设计好上述协议内容后,为了保证数据有效可靠接收,本申请还提供一种基于异步422总线的可变长度帧高可靠性数据接收方法,该方法是一种基于“搜索窗”的接收算法,具体包括:
搜索帧头,若帧头有效则将帧头放入缓冲区(如“搜索窗”缓冲区);
接收帧长度,并按照预设协议解析帧长度,将解析得到的帧长度放入缓冲区;
接收命令控制码,若控制码有效则将控制码放入缓冲区;
按照解析得到的帧长度接收指定长度的数据,将接收到的数据放入缓冲区;
进行整帧数据有效性判断,若有效性判断正确则确定接收的帧为有效帧,若有效性判断错误则确定数据接收出现异常,清空缓冲区。
参考图2,该一种基于异步422总线的可变长度帧高可靠性数据接收方法,并且能够容忍可变帧长度,设计完善的数据接收流程,接收流程分为5个阶段,只有在上个阶段正常有效之后才能进入下一个阶段,每个阶段发生异常、超时、错帧,均需重新接收。其中5个阶段为:
阶段1:搜索帧头,帧头有效则放入“搜索窗”缓冲区;
阶段2:接收帧长度,并按照协议解析帧长度,帧长度放入“搜索窗”缓冲区;
阶段3:接收命令控制码,控制码有效则放入“搜索窗”缓冲区;
阶段4:按照阶段2解析的帧长度接收指定长度的数据,数据放入“搜索窗”缓冲区;
阶段5:进行整帧数据有效性CRC16判断,CRC16正确则认为接收到一帧有效帧,如果错误则认为数据接收出现异常,“搜索窗”缓冲区清空。
该种基于异步422总线的可变长度帧高可靠性数据接收方法的抗干扰示意图如图3所示。
本申请提供的一种基于异步422总线的可变长度帧高可靠性数据接收方法,针对对数据实时性要求较高的周期通信系统。系统只对当前帧以及上一帧数据敏感,系统能容忍一定程度的丢帧、错帧、超时帧,但是需要确保下一个周期数据通信能够有效进行。
本申请所提供的一种基于异步422总线的可变长度帧高可靠性数据接收方法,利用可变长度的灵活的帧格式,降低链路开销,提高线路利用率;利用基于收发应答式的数据交互流程,保证了数据接收的时效性;利用了基于搜索窗算法的数据接收流程,保证了数据接收的可靠性。经过实践验证,该方法能够保证数据有效可靠接收,能够容忍一定的数据接收干扰,在对可靠性要求较高的系统有一定的使用价值。
有益效果:
本申请提供的方法先按照预设协议解析帧长度,再确定控制码有效,然后按照解析得到的帧长度接收指定长度的数据,最后进行整帧数据有效性判断,若有效性判断正确则确定接收的帧为有效帧,若有效性判断错误则确定数据接收出现异常,清空缓冲区,保证了数据接收的可靠性。
Claims (8)
1.一种基于异步422总线的可变长度帧高可靠性数据接收方法,其特征在于,所述方法包括:
搜索帧头,若帧头有效则将所述帧头放入缓冲区;
接收帧长度,并按照预设协议解析所述帧长度,将解析得到的帧长度放入所述缓冲区;
接收命令控制码,若控制码有效则将所述控制码放入所述缓冲区;
按照解析得到的帧长度接收指定长度的数据,将接收到的数据放入所述缓冲区;
进行整帧数据有效性判断,若有效性判断正确则确定接收的帧为有效帧,若有效性判断错误则确定数据接收出现异常,清空所述缓冲区;
所述预设协议中周期通信采用命令应答式通信方式;
通信周期T中包括6段时间依次为:t1,t2,t3,t4,t5,t6;
所述命令应答式通信方式中命令帧和应答帧的时序为:t1为命令帧建立时间,在主站进行;t2为命令帧传送时间,在主、从二站进行;t3为命令帧处理时间,在从站进行;t4为应答帧建立时间,在从站进行;t5为应答帧传送时间,在主、从二站进行;t6为应答帧处理时间,在主站进行。
2.根据权利要求1所述的方法,其特征在于,所述整帧数据有效性判断方式为循环冗余校验CRC16。
3.根据权利要求1所述的方法,其特征在于,所述预设协议中周期通信时,从站在收到命令帧后超过T1时间仍然不能发送应答帧时,停止发送该应答帧;主站发送命令帧后超过T2时间仍然不能收到应答帧或应答帧错误是,应用上一周期的数据。
4.根据权利要求3所述的方法,其特征在于,所述T1=t3+t4。
5.根据权利要求3所述的方法,其特征在于,所述T2=t1+t2+t3+t4+t5+t6。
6.根据权利要求3所述的方法,其特征在于,所述命令帧包括FLAG,帧长度,命令控制码CO,主站发送给从站的命令参数CP,校验和;
所述FLAG为帧头0,所述帧长度为包括帧头和校验的本帧总字节数,校验和为所述本帧前边字节按二进制数求CRC16。
7.根据权利要求6所述的方法,其特征在于,所述应答帧包括FLAG,帧长度,应答状态码ST,从站回送给主站的应答参数SP,应答参数校验和。
8.根据权利要求7所述的方法,其特征在于,所述帧长度为8位无符号整数;
CO是主站发送给从站的控制命令,为8位二进制整数;
ST是从站回送给主站的应答状态,为8位二进制整数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911311396.0A CN111147463B (zh) | 2019-12-18 | 2019-12-18 | 基于异步422总线的可变长度帧高可靠性数据接收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911311396.0A CN111147463B (zh) | 2019-12-18 | 2019-12-18 | 基于异步422总线的可变长度帧高可靠性数据接收方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111147463A CN111147463A (zh) | 2020-05-12 |
CN111147463B true CN111147463B (zh) | 2022-04-19 |
Family
ID=70518801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911311396.0A Active CN111147463B (zh) | 2019-12-18 | 2019-12-18 | 基于异步422总线的可变长度帧高可靠性数据接收方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111147463B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204507A (zh) * | 2021-04-25 | 2021-08-03 | 山东英信计算机技术有限公司 | 一种通用输入输出数据传输方法、装置、设备及介质 |
CN115801195B (zh) * | 2022-11-25 | 2024-06-18 | 天津津航计算技术研究所 | 一种可变帧头搜索系统和方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101330446A (zh) * | 2007-06-21 | 2008-12-24 | 中兴通讯股份有限公司 | 增强专用传输信道的帧协议层帧的解析方法 |
CN102104440A (zh) * | 2009-12-18 | 2011-06-22 | 北京华控技术有限责任公司 | 一种智能执行机构与现场总线通信的方法 |
CN102724122A (zh) * | 2012-06-21 | 2012-10-10 | 广东威创视讯科技股份有限公司 | 基于硬件系统的串口可靠传输方法及装置 |
CN103716293A (zh) * | 2012-10-25 | 2014-04-09 | 上海大学 | 采用时标同步冲突检测方法的低压电力线扩频通信协议 |
CN105573958A (zh) * | 2016-01-12 | 2016-05-11 | 西北工业大学 | 一种基于rs-422串行总线技术的数据可靠交互方法 |
CN107147657A (zh) * | 2017-05-31 | 2017-09-08 | 飞智控(天津)科技有限公司 | 适用于多机可靠通信的通信协议、编解码方法及通讯设备 |
-
2019
- 2019-12-18 CN CN201911311396.0A patent/CN111147463B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101330446A (zh) * | 2007-06-21 | 2008-12-24 | 中兴通讯股份有限公司 | 增强专用传输信道的帧协议层帧的解析方法 |
CN102104440A (zh) * | 2009-12-18 | 2011-06-22 | 北京华控技术有限责任公司 | 一种智能执行机构与现场总线通信的方法 |
CN102724122A (zh) * | 2012-06-21 | 2012-10-10 | 广东威创视讯科技股份有限公司 | 基于硬件系统的串口可靠传输方法及装置 |
CN103716293A (zh) * | 2012-10-25 | 2014-04-09 | 上海大学 | 采用时标同步冲突检测方法的低压电力线扩频通信协议 |
CN105573958A (zh) * | 2016-01-12 | 2016-05-11 | 西北工业大学 | 一种基于rs-422串行总线技术的数据可靠交互方法 |
CN107147657A (zh) * | 2017-05-31 | 2017-09-08 | 飞智控(天津)科技有限公司 | 适用于多机可靠通信的通信协议、编解码方法及通讯设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111147463A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5309562A (en) | Method and apparatus for establishing protocol spoofing from a modem | |
US6161207A (en) | Communications unit and method of communicating having efficient packet acknowledgement | |
CN111147463B (zh) | 基于异步422总线的可变长度帧高可靠性数据接收方法 | |
EP0117832A2 (en) | Vehicle multiplex system having protocol/format for secure communication transactions | |
CN106817197B (zh) | 一种基于占空比调制的通信编解码方法 | |
CN105978671A (zh) | 一种harq重传的指示方法及相关设备 | |
US20100138573A1 (en) | System including transmitter and receiver | |
CN106452688A (zh) | 一种北斗数据缺报重传方法及系统 | |
CN101146102A (zh) | Rru网络中hdlc数据下行、上行的方法及通讯装置 | |
US20070189619A1 (en) | SATA primitive prediction and correction | |
CN113132063A (zh) | 一种物理层重传控制方法 | |
CN104866454A (zh) | 面向板级高速总线的写报文前瞻处理方法及装置 | |
CN111106904A (zh) | 一种DigRF传输端的帧发送处理方法及系统 | |
CN100385844C (zh) | 移动台装置和基站装置 | |
CN104917590A (zh) | 一种信道编码纠错方法 | |
US4965883A (en) | Method and apparatus for transmitting and receiving characters using a balanced weight error correcting code | |
US4975907A (en) | Method and device for the asynchronous transmission of data by packets | |
CN111181689A (zh) | 一种简化DigRF接收侧的NEST机制处理方法及系统 | |
CN107257265A (zh) | 实时传输数据流前向纠错方法、设备及存储介质 | |
CN116633487A (zh) | 一种基于纠错技术的数据链路传输系统及方法 | |
CN113242167B (zh) | 一种基于单比特位同步的半异步can总线控制方法及控制器 | |
CN1996820B (zh) | 基于双层自动重传请求结构的数据传输方法及装置 | |
CN101316227A (zh) | 高速分组接入中检测ack/nack信息的方法和装置 | |
CN101686103A (zh) | 用于tdd模式的下行子帧授权信息检测方法及装置 | |
US5724029A (en) | Communication interconnection device with processing interrupt based on token address |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |