CN108512785B - 一种数据传输协议方法 - Google Patents
一种数据传输协议方法 Download PDFInfo
- Publication number
- CN108512785B CN108512785B CN201810329669.3A CN201810329669A CN108512785B CN 108512785 B CN108512785 B CN 108512785B CN 201810329669 A CN201810329669 A CN 201810329669A CN 108512785 B CN108512785 B CN 108512785B
- Authority
- CN
- China
- Prior art keywords
- data
- frame
- asynchronous
- combined
- synchronous
- 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
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种数据传输协议方法。该方法用于客户端与主机间的数据传输,包括以下步骤:步骤S1:将大小为M字节、每字节为N位的原始数据拼位为组合同步帧,所述同步帧由头向尾依次包含有同步帧头、异步帧的帧数、多个异步帧的数据位和同步帧尾,步骤S2:发送所述组合同步帧,步骤S3:接收所述组合同步帧,步骤S4:将所述组合同步帧中异步帧数据拆位还原为原始数据。采用本发明中的方法,突破了同步串行通信效率高,通信距离短,异步串行通信传输距离长,效率低的缺点,弥补选择不同的异步帧位数,发送数据时自动合并为比特流,接收数据时,自动分解组合为数据字节。解决了在长距离传输可靠情况下,解决加快传输效率。
Description
技术领域
本发明涉及远程总线通信技术领域,具体涉及一种数据传输协议方法。
背景技术
随着计算机网络通信的日益普及,计算机之间的通信平台的构建越来越重要。同步串行通信效率高,但通信距离短,异步串行通信传输距离长,但效率低。而目前串行通信通信线路质量和抗干扰性好。在为了解决加快传输效率,本发明就是使用了取长补短的方法,在上距离传输的情况下提高了传输效率。
发明内容
本发明的目的是针对现有技术存在的不足,提供一种数据传输协议方法。
本发明解决上述问题所采用的技术方案为:一种数据传输协议方法,用于客户端与主机间的数据传输,包括以下步骤:
步骤S1:将大小为M字节、每字节为N位的原始数据拼位为组合同步帧,所述同步帧由头向尾依次包含有同步帧头1、要发送的异步帧的帧数2、多个异步帧的数据位3和同步帧尾4,
步骤S2:发送所述组合同步帧,
步骤S3:接收所述组合同步帧,
步骤S4:将所述组合同步帧中异步帧数据拆位还原为原始数据。
其中,所述步骤S1包括:
步骤S101:将原始数据拼位为P个X位的异步帧数据,
作为优选,M×N+X>P×X>M×N,对剩余不足X的位补位,共得到P个异步数据帧,
步骤S102:将所述P个异步帧数据生成校验码,
步骤S103:将所述校验码与P个异步帧数据拼位,
步骤S104:在异步帧数据前端添加前同步帧头和将要发送的帧数,并在其后端添加同步帧尾以组合成同步帧数据。
作为优选,所述步骤S4包括:
步骤S401:检测同步帧头,当同步帧头为1时接收数据,
步骤S402:接收到帧数后对接收的异步帧数据计数并打开计时器计时,并将其写入缓冲区和校验模块,
步骤S403:判断同步帧尾,读出所述校验模块中的校验码,并将其与接收的组合同步帧中的校验码比较,正确,接收缓冲区中的数据,发回确认指令,否则,输出错误信息,并发回重发指令,
步骤S404:将多个异步帧数据拆位还原为原始数据,并写入数据输出缓冲区。
优选的是,所述校验码为奇偶校验码、海明校验码、累加校验码或CRC校验码中的一种。
作为优选,所述原始数据包括二进制数据、八进制数据、十进制数据、十六进制数据和ASCII数据。
作为优选,还包括对发送组合同步帧计时,以判断网络通断,当网络断开时,缓存发送网络断开报警,并将组合同步帧转存至存储器。
作为优选,转存至存储器的转存队列依次为:数据类别、时间、数据值、通道、数据序列号和数据状态。
作为优选,所述主机与客户端握手后先发送总数据量和序号开始与结束,然后发送数据,接收方未收到某一数据序列号对应的数据时,接收方将该序列号发送至发送方;无数据缺失时,接收方将序列号0发送至发送方。
有益效果:采用本发明中的方法,突破了同步串行通信效率高,通信距离短,异步串行通信传输距离长,效率低的缺点,弥补选择不同的异步帧位数,发送数据时自动合并为比特流,接收数据时,自动分解组合为数据字节。解决了在长距离传输可靠情况下,解决加快传输效率。
附图说明
图1是本发明实施例的方法流程图;
图2是本发明实施例的组合同步帧的结构示意图;
图3是本发明实施例的组合同步帧的生成方法流程图;
图4是本发明实施例的将组合同步帧中异步帧数据拆位还原为原始数据的方法流程图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,本实施例在以本发明技术方案为前提下进行实施,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围。
本发明实施例提供了一种数据传输协议方法,该方法用于主机和客户端之间的数据传输,基于数据拼位模块、校验生产算法模块、同步帧判断模块、异步帧判断模块校验值判断模块和数据拆位等模块来实现。
如图1至4所示,本方法具体包括以下步骤:
步骤S1:将原始数据拼位为组合同步帧,假设该原始数据的大小为M字节、每字节为N位。同步帧由头向尾依次包含有同步帧头、要发送的异步帧的帧数、多个异步帧的数据位和同步帧尾。
该组合同步帧的生成过程具体包括以下步骤:
步骤S101:将原始数据拼位为P个X位的异步帧数据,原始数据可以是二进制数据、八进制数据、十进制数据、十六进制数据和ASCII等数据。在拼位时,生成的异步帧数据的位数不受限制,可以是个位、十位、百位以上等任意位数的数据,只需满足条件:M×N+X>P×X>M×N即可,例如:原始数据为10个字节、每个字节为8位的数据,这样,原始数据共有80位,如要拼位成7位异步帧数据,剩余3位后面不足X的位,可以用0或1进行补位,这样就拼位成P个异步数据帧,此处P的值就为12。
步骤S102:将P个异步帧数据生成校验码。该校验码可以是现有技术中的奇偶校验码、海明校验码、累加校验码或CRC校验码中的任意一种。
步骤S103:将校验码与P个异步帧数据拼位。
步骤S104:在异步帧数据前端添加前同步帧头和将要发送的帧数,并在其后端添加同步帧尾以组合成同步帧数据。
步骤S2:发送组合同步帧。在发送过程中,发送端还对发送组合同步帧计时,以判断网络通断,当网络断开时,缓存发送网络断开报警,并将组合同步帧转存至存储器。其中,转存至存储器的转存队列依次为:数据类别、时间、数据值、通道、数据序列号和数据状态。
步骤S3:接收组合同步帧。在接收过程中,主机与客户端握手后先发送总数据量和序号开始与结束,然后发送数据,接收方未收到某一数据序列号对应的数据时,接收方将该序列号发送至发送方;无数据缺失时,接收方将序列号0发送至发送方。
步骤S4:将组合同步帧中异步帧数据拆位还原为原始数据。
将组合同步帧中异步帧数据拆位还原为原始数据具体包括以下步骤:
步骤S401:检测同步帧头,当同步帧头为1时接收数据。
步骤S402:接收到帧数后对接收的异步帧数据计数并打开计时器计时,并将其写入缓冲区和校验模块。
步骤S403:判断同步帧尾,读出所述校验模块中的校验码,并将其与接收的组合同步帧中的校验码比较,正确,接收缓冲区中的数据,发回确认指令,否则,输出错误信息,并发回重发指令。
步骤S404:将多个异步帧数据拆位还原为原始数据,并写入数据输出缓冲区。
基于上述实施例,采用本发明中的方法,突破了同步串行通信效率高,通信距离短,异步串行通信传输距离长,效率低的缺点,弥补选择不同的异步帧位数,发送数据时自动合并为比特流,接收数据时,自动分解组合为数据字节。解决了在长距离传输可靠情况下,解决加快传输效率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种数据传输协议方法,用于客户端与主机间的数据传输,其特征在于,包括以下步骤:
步骤S1:将大小为M字节、每字节为N位的原始数据拼位为组合同步帧,所述组合同步帧由头向尾依次包含有同步帧头、要发送的异步帧的帧数、多个异步帧的数据位和同步帧尾,
步骤S2:发送所述组合同步帧,
步骤S3:接收所述组合同步帧,
步骤S4:将所述组合同步帧中异步帧数据拆位还原为原始数据;
所述步骤S1包括:
步骤S101:将原始数据拼位为P个X位的异步帧数据,
其中,M×N+X>P×X>M×N,对剩余不足X的位补位,共得到P个异步数据帧,
步骤S102:将所述P个异步帧数据生成校验码,
步骤S103:将所述校验码与P个异步帧数据拼位,
步骤S104:在异步帧数据前端添加前同步帧头和将要发送的帧数,并在其后端添加同步帧尾以组合成同步帧数据;
所述步骤S4包括:
步骤S401:检测同步帧头,当同步帧头为1时接收数据,
步骤S402:接收到帧数后对接收的异步帧数据计数并打开计时器计时,并将其写入缓冲区和校验模块,
步骤S403:判断同步帧尾,读出所述校验模块中的校验码,并将其与接收的组合同步帧中的校验码比较,正确,接收缓冲区中的数据,发回确认指令,否则,输出错误信息,并发回重发指令,
步骤S404:将多个异步帧数据拆位还原为原始数据,并写入数据输出缓冲区。
2.根据权利要求1所述的数据传输协议方法,其特征在于,所述校验码为奇偶校验码、海明校验码、累加校验码或CRC校验码中的一种。
3.根据权利要求1所述的数据传输协议方法,其特征在于,所述原始数据包括二进制数据、八进制数据、十进制数据、十六进制数据和ASCII数据。
4.根据权利要求1所述的数据传输协议方法,其特征在于,还包括对发送组合同步帧计时,以判断网络通断,当网络断开时,缓存发送网络断开报警,并将组合同步帧转存至存储器。
5.根据权利要求4所述的数据传输协议方法,其特征在于,转存至存储器的转存队列依次为:数据类别、时间、数据值、通道、数据序列号和数据状态。
6.根据权利要求1所述的数据传输协议方法,其特征在于,所述主机与客户端握手后先发送总数据量和序号开始与结束,然后发送数据,接收方未收到某一数据序列号对应的数据时,接收方将该序列号发送至发送方;无数据缺失时,接收方将序列号0发送至发送方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810329669.3A CN108512785B (zh) | 2018-04-13 | 2018-04-13 | 一种数据传输协议方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810329669.3A CN108512785B (zh) | 2018-04-13 | 2018-04-13 | 一种数据传输协议方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108512785A CN108512785A (zh) | 2018-09-07 |
CN108512785B true CN108512785B (zh) | 2020-12-25 |
Family
ID=63381636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810329669.3A Active CN108512785B (zh) | 2018-04-13 | 2018-04-13 | 一种数据传输协议方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108512785B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143280B (zh) * | 2019-12-31 | 2023-10-10 | 广州广电运通信息科技有限公司 | 一种数据调度方法、系统、装置及存储介质 |
CN112181883B (zh) * | 2020-09-24 | 2022-11-08 | 深圳市乐唯科技开发有限公司 | 一种串口通讯的数据传输方法、系统及存储介质 |
WO2022155928A1 (en) * | 2021-01-22 | 2022-07-28 | Alibaba Group Holding Limited | End to end check code protection in storage engine |
CN113358139B (zh) * | 2021-04-30 | 2023-04-07 | 威胜信息技术股份有限公司 | 一种工频通信中利用相邻的畸变脉冲电流信号进行编码的方法 |
CN113645015A (zh) * | 2021-10-13 | 2021-11-12 | 徐州工程学院 | 一种被动重发的可靠传输方法 |
CN114826487A (zh) * | 2022-04-24 | 2022-07-29 | 上海威迈斯新能源有限公司 | 串口异步通信的发送方法及接收方法、存储介质 |
CN117271202B (zh) * | 2023-11-23 | 2024-02-09 | 中国西安卫星测控中心 | 多遍重发数据最优提取方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002044119A (ja) * | 2000-07-31 | 2002-02-08 | Fujitsu Ltd | 伝送ユニット |
US7050434B2 (en) * | 2001-10-31 | 2006-05-23 | Fujitsu Limited | Digital transmission apparatus for transmitting asynchronous frames by accomodating them in synchronous frames |
CN102647252A (zh) * | 2012-03-26 | 2012-08-22 | 航天东方红卫星有限公司 | 一种串行通信方法 |
CN104917590A (zh) * | 2015-06-09 | 2015-09-16 | 西安长远电子工程有限责任公司 | 一种信道编码纠错方法 |
CN107135049A (zh) * | 2017-04-19 | 2017-09-05 | 北京航天自动控制研究所 | 一种面向离散数据流的可靠异步通信方法 |
-
2018
- 2018-04-13 CN CN201810329669.3A patent/CN108512785B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002044119A (ja) * | 2000-07-31 | 2002-02-08 | Fujitsu Ltd | 伝送ユニット |
US7050434B2 (en) * | 2001-10-31 | 2006-05-23 | Fujitsu Limited | Digital transmission apparatus for transmitting asynchronous frames by accomodating them in synchronous frames |
CN102647252A (zh) * | 2012-03-26 | 2012-08-22 | 航天东方红卫星有限公司 | 一种串行通信方法 |
CN104917590A (zh) * | 2015-06-09 | 2015-09-16 | 西安长远电子工程有限责任公司 | 一种信道编码纠错方法 |
CN107135049A (zh) * | 2017-04-19 | 2017-09-05 | 北京航天自动控制研究所 | 一种面向离散数据流的可靠异步通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108512785A (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108512785B (zh) | 一种数据传输协议方法 | |
US4377862A (en) | Method of error control in asynchronous communications | |
CN101938334B (zh) | 随机网络编码和自动重传请求联合的自适应差错控制方法 | |
US20100027559A1 (en) | Transmission device and data extended transmission method | |
JPS62169537A (ja) | 送信エラ−の検出及び回復方法 | |
CN102984090A (zh) | 抖动缓冲器 | |
CN103684680A (zh) | 解码经编码的数据块 | |
CN101800757A (zh) | 一种基于单光纤结构的无反馈单向数据传输方法 | |
CN108513701B (zh) | 数据传输方法、设备、机器可读存储介质以及系统 | |
US20130064312A1 (en) | Data transmission method and device | |
CN104836642A (zh) | 基于纠删编码的ltp协议优化设计方法 | |
CN112181883B (zh) | 一种串口通讯的数据传输方法、系统及存储介质 | |
WO2021190031A1 (zh) | 基于wdm的数据传输方法、装置、系统及存储介质 | |
TW201321242A (zh) | 數位信號收發裝置、方法以及電動車系統 | |
CN101079815B (zh) | 报文转换方法、系统及装置 | |
CN111385069A (zh) | 数据传输方法及计算机设备 | |
CN113220652B (zh) | 一种基于压缩处理的多链路并发传输方法和系统 | |
CN113794538A (zh) | 一种高效率的双机通讯反馈方法 | |
CN117083820A (zh) | 数据传输方法、通信设备及系统 | |
CN107302532B (zh) | Raw图像数据传输系统 | |
JP2013017090A (ja) | 送受信装置およびこれを中継するシステム | |
CN101588222A (zh) | 具有纠错处理功能的通讯适配器及其应用 | |
US8332713B2 (en) | Communication method using code packet in wireless network | |
CN112235085A (zh) | 一种dlms电能表图像传输的断点续传方法 | |
CN111601342A (zh) | 一种基于位错误的低速无线个域网错误数据包恢复方法 |
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 |