CN114760010A - 一种可靠的串口数据传输方法 - Google Patents
一种可靠的串口数据传输方法 Download PDFInfo
- Publication number
- CN114760010A CN114760010A CN202210352021.4A CN202210352021A CN114760010A CN 114760010 A CN114760010 A CN 114760010A CN 202210352021 A CN202210352021 A CN 202210352021A CN 114760010 A CN114760010 A CN 114760010A
- Authority
- CN
- China
- Prior art keywords
- data
- data packet
- sender
- packet
- serial port
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- 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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
- H04L5/0055—Physical resource allocation for ACK/NACK
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种可靠的串口数据传输方法,用于解决传统航空电子系统的由串口通信误码率高而导致数据包丢失的问题。本发明基于数据包丢失重传的思想,发送方在发送数据时,将该数据进行缓存;接收方接收到数据后,向发送方回复确认标识;发送方在规定的时间内没有收到确认标记,则从历史数据中重新发送该数据包;发送方接收到确认标识后,从历史数据中将该数据清除。本发明能够有效的解决串口传输误码率高而导致数据丢失的问题,提高了航空电子系统的可靠性。
Description
技术领域
本发明涉及一种通信管理技术,具体是一种可靠的串口数据传输方法。
背景技术
航空电子系统中有大量的处理单元之间使用串口进行通信。传统的串口通信是由处理单元上的一个任务负责收发所有的串口数据,在串口通信产生误码时,会导致数据丢失。关键性数据丢失则会导致系统故障的发生。
发明内容
本发明的目的:在航空电子系统中,由于串口传输产生误码而导致数据丢失,导致系统故障。为了解决上述问题,本发明提出一种可靠的串口数据传输方法,由发送方缓冲历史数据包,在数据丢失时重传丢失的数据包,提高了航空电子系统的可靠性。
本系统可靠的串口数据传输方法是基于丢失数据重传的思想。发送方在发送数据时,将该数据进行缓存;接收方接收到数据并通过校验后,向发送方回复确认标识;发送方在规定的时间内没有收到确认标记,则从历史数据中重新发送该数据包;发送方接收到确认标识后,从历史数据中将该数据清除。
可靠的串口数据传输方法分为三个部分:数据发送器、数据接收器和数据重传器。数据发送器负责缓存历史数据包;数据接收器接收到数据包后,向数据发送器发送确认标记;数据重发器定负责丢失数据的重传。
完成可靠的串口数据传输需要历史数据缓存表、CRC8校验的支撑。
历史数据包缓存表:记录发送方已发送但没有收到确认标识的数据包。包括数据包标识、数据包长度、数据包内容、重传时间、超时时间、校验码、传输开始时间。数据重传器依据历史数据包缓冲表中信息,在数据包传输中丢失时重传数据包。
CRC8校验:数据通信领域中常用的一种差错校验码,用于检测传输的数据包是否产生了误码。
本系统可靠的串口数据传输方法有效的解决了串口传输误码导致数据丢失的问题,提高了航空电子系统的可靠性。
附图说明
图1是可靠传输的原理图
图2是数据重传器原理图
表1是历史数据包缓存表
具体实施方式
在航空电子系统中,串口传输产生误码,会导致数据丢失,从而造成系统故障。为了解决上述问题,本发明提出一种可靠的串口数据传输方法,在数据丢失时重传数据。该方法解决了关键性的串口数据丢失而导致系统功能丧失的问题,提高了航空电子系统的可靠性。
基于数据丢失重传的思想。应用软件将数据发送给数据发送器,数据发送器将发送的数据进行缓存,并发送给数据接收器;数据接收器接收到数据并通过校验后,向数据发送器回复确认标记;数据发送方在发出数据后,在规定的时间内没有收到确认标记,则从历史数据中重新发送该数据包,直至收到确认标记后,从历史数据中将该数据包删除;接收方的应用软件从数据接收器中获取数据。
完成串口数据可靠传输需要历史数据缓存表、CRC8校验的支撑。
历史数据包缓存表:记录发送方已发送但没有收到确认标识的数据包。包括数据包标识、数据包长度、数据包内容、重传时间、超时时间、校验码、传输开始时间。数据包标识packetNum是该数据包在发送方的唯一标识,为一个32位的数,为0时无效,系统初始值为1。数据包长度packLen为一个8位的数据,为该数据包的长度;数据包内容data为一个有4096个成员的字符数组。重传时间replayTime为一个32位的数,单位为ms,表示发送方在多长时间内没有收到确认标识,发起重传数据包。超时时间timeOut为32位的数,单位为ms,表示发送方在多长时间内没有收到确认标识则向应用软件发送超时标记。校验码checkNum为一个8位数据,该数据包中有效数据的CRC8校验码。传输开始时间beginTime为一个32位的数据,表示该数据开始传输的时间。
CRC8校验:数据通信领域中常用的一种差错校验码,用于检测传输的数据包是否产生了误码。
系统运行方案的如下:
1.系统初始化
在系统启动时,将packetNum初始化为1,并启动数据重传器。
2.串口数据帧的组装
应用软件将数据包发送给数据发送器(包括数据长度和数据包的内容);数据发送器使用CRC8计算数据包的校验码;将数据包标识packetNum、CRC8校验码、数据包的长度、数据包的内容组装成串口通信的数据帧,将ACK确认码设置为0(0表示正常通信帧,1表示数据包接收确认帧)。
3.数据的发送和缓存
数据发送器通过访问串口设备将串口数据帧进行发送,同时查找历史数据包缓存表中第一个packetNum为0x0的地址,如果没有找到则向应用发送历史缓冲区数据满的事件,否则将该数据帧的信息填充到历史数据缓冲表中,并获取系统时间,将时间填到对应的数据包的beginTime中。并将packetNum加1。
4.发送确认标识
数据接收器在接收到数据包时,解析数据包格式,如果ACK确认码为0时,校验有效数据的正确性,如果正确,则将该数据反馈给应用软件。
用该有效数据包的packetNum填充网络帧的数据包标识,将ACK码填充为1(表示该数据帧是确认帧),将数据包长度填充为0,组装成数据确认帧发送给发送方。
5.清除历史数据
数据接收器接收到数据后,解析数据包格式,如果ACK确认码为1时,则依据该数据包的标识在在历史数据缓冲表中存放的地址,将该历史数据清除(将历史数据缓冲表中对应的packetNum设置为0)。
6.重传数据
数据重传器为一个定时的任务(周期为1ms),查找历史数据缓冲表中packetNum不为0x0的数据包,获取当前系统时间currentTime,如果(currentTime-beginTime)大于等于timeOut,则向应用软件发送数据超时事件。
如果(currentTime-beginTime)是replayTime的整数倍,则使用历史缓冲数据表中的填充串口数据帧,重新发送该数据包。
以下是本实例中使用的表格:
表1历史数据包缓存表
packetNum | packetLen | data | replayTime | timeOut | checkNum | beginTime |
0x1 | 10 | … | 10 | 100 | … | … |
0x2 | 15 | … | 10 | 100 | … | … |
0x3 | 20 | … | 10 | 100 | … | … |
… | … | … | … | … | … | … |
0x0 | 0 | … | 0x0 | 100 | … | … |
Claims (4)
1.一种可靠的串口数据传输方法,其特征在于:
所述发送方将发送的历史数据进行缓存;接收方在接收到数据包时向发送方回复确认标记;发送方在接收到确认标记后,将其数据包从历史数据中清除;发送方定时的查看历史数据中是否存在确认超时的数据包,存在则将该数据包重新发送。
2.根据权利要求1所述可靠的串口数据传输的方法,应用软件发送的数据包由数据发送器进行缓存,特征在于:
所述应用软件将数据包发送给数据发送器,数据发送器将数据包通过串口设备进行发送,并将其数据包缓存在历史数据中。
3.根据权利要求1所述可靠的串口数据传输的方法,接收方在接收到数据包后需要向发送方发送确认标识,特征在于:
所述接收方的数据接收器在接收到数据包时,进行校验,通过校验后,向数据发送方回复接收收到该数据包的标识。
4.根据权利要求1所述可靠的串口数据传输的方法,丢失的数据包重传,特征在于:
所述发送方的数据接收器接收到数据包确认标识后,从历史数据中将该数据包删除;数据重传器定时的查看历史数据中是否有数据包接收确认标记超时的数据包,如果有则重新发送该数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210352021.4A CN114760010A (zh) | 2022-04-02 | 2022-04-02 | 一种可靠的串口数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210352021.4A CN114760010A (zh) | 2022-04-02 | 2022-04-02 | 一种可靠的串口数据传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114760010A true CN114760010A (zh) | 2022-07-15 |
Family
ID=82329194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210352021.4A Pending CN114760010A (zh) | 2022-04-02 | 2022-04-02 | 一种可靠的串口数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114760010A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116112394A (zh) * | 2022-12-15 | 2023-05-12 | 广东博力威科技股份有限公司 | 一种测试bms电路板数据传输误码率的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050122995A1 (en) * | 1999-01-08 | 2005-06-09 | Michael Meyer | Communication device and method |
CN101030864A (zh) * | 2006-03-03 | 2007-09-05 | 中兴通讯股份有限公司 | 一种计算机和移动终端之间数据文件传输的方法 |
CN101179790A (zh) * | 2007-11-03 | 2008-05-14 | 青岛海信移动通信技术股份有限公司 | 一种移动终端处理器之间的串口通信方法 |
CN113794538A (zh) * | 2021-08-27 | 2021-12-14 | 杭州晶一智能科技有限公司 | 一种高效率的双机通讯反馈方法 |
-
2022
- 2022-04-02 CN CN202210352021.4A patent/CN114760010A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050122995A1 (en) * | 1999-01-08 | 2005-06-09 | Michael Meyer | Communication device and method |
CN101030864A (zh) * | 2006-03-03 | 2007-09-05 | 中兴通讯股份有限公司 | 一种计算机和移动终端之间数据文件传输的方法 |
CN101179790A (zh) * | 2007-11-03 | 2008-05-14 | 青岛海信移动通信技术股份有限公司 | 一种移动终端处理器之间的串口通信方法 |
CN113794538A (zh) * | 2021-08-27 | 2021-12-14 | 杭州晶一智能科技有限公司 | 一种高效率的双机通讯反馈方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116112394A (zh) * | 2022-12-15 | 2023-05-12 | 广东博力威科技股份有限公司 | 一种测试bms电路板数据传输误码率的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6629285B1 (en) | Data transmission | |
US8416809B2 (en) | Apparatus for reporting reception result of packets in mobile communication system | |
US8842528B2 (en) | System and method for improving transport protocol performance in communication networks having lossy links | |
US9871625B2 (en) | Status reporting for retransmission protocol | |
US20080195912A1 (en) | Method of communicatoin | |
CN109714130B (zh) | 一种基于喷泉码的文件传输方法 | |
US6640325B1 (en) | Immediate negative acknowledgement for a communication network | |
CN101662350B (zh) | 用于在移动通信系统中报告包的接收结果的方法 | |
CN101507318B (zh) | 移动通信系统中使用的无线通信装置及方法 | |
CN104113403A (zh) | 一种基于滑动窗口的半双工通信方法及系统 | |
KR20070108801A (ko) | 고속 데이터 처리를 위한 효율적인 재전송 장치 및 방법 | |
EP3734879A1 (en) | Method for reporting reception result of packets in mobile communication system | |
CN114760010A (zh) | 一种可靠的串口数据传输方法 | |
KR101116742B1 (ko) | 무선통신시스템에서 패킷 데이터 재전송 장치 및 방법 | |
KR100789931B1 (ko) | 선택적 하이브리드 자동재전송요구 시스템에서 수신기의버퍼 용량으로 인한 연속적인 패킷 오류 방지 방법 | |
EP3912289B1 (en) | Method of transmission of a data packet, computer program, and transceiver device | |
CN114095117A (zh) | 一种以太网错误帧的重传方法及相关装置 | |
KR20060079570A (ko) | 통신 시스템에서 데이터 재전송 장치 및 방법 | |
CN115633104B (zh) | 数据发送方法、数据接收方法、装置及数据收发系统 | |
US8438444B2 (en) | Method of associating automatic repeat request with hybrid automatic repeat request | |
KR100703501B1 (ko) | 이동통신시스템에서 블록 승인 프레임 구성방법 | |
CN113286000A (zh) | 应用在电力单向传输系统中的数据收发方法及装置 | |
KR100344979B1 (ko) | 래디오 링크 콘트롤(rlc)에서 서비스 데이터유닛(sdu)의 디스카드 처리 방법 | |
CN103078722B (zh) | 一种请求数据重传的方法及装置 | |
KR100392096B1 (ko) | 비동기 이동 통신 시스템에서의 미디어 억세스 콘트롤계층의 전송 방법 |
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 |