CN109446141A - 一种串行数据接收处理方法 - Google Patents

一种串行数据接收处理方法 Download PDF

Info

Publication number
CN109446141A
CN109446141A CN201811076239.1A CN201811076239A CN109446141A CN 109446141 A CN109446141 A CN 109446141A CN 201811076239 A CN201811076239 A CN 201811076239A CN 109446141 A CN109446141 A CN 109446141A
Authority
CN
China
Prior art keywords
correct
data
received
byte
processing method
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
Application number
CN201811076239.1A
Other languages
English (en)
Inventor
周磊
李玉松
尹中锋
黄彦海
王亚会
王淑
王淑一
侯阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Henan Costar Group Co Ltd
Original Assignee
Henan Costar Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Henan Costar Group Co Ltd filed Critical Henan Costar Group Co Ltd
Priority to CN201811076239.1A priority Critical patent/CN109446141A/zh
Publication of CN109446141A publication Critical patent/CN109446141A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种串行数据接收处理方法,是通过一通信协议来实现的,该通信协议包括协议头、地址、长度、数据字节、校验位及结束符;接收处理采用中断接收,接收时先判断头字节、有效地址位,有地址位时则判断地址位,两者都正确时开始进行后面数据的正式接收,最后判定校验位和结束符是否都正确,如果都正确则表明数据接收正确,接收正确时开始处理解析,若不正确,此时接收的这帧数据不完全丢弃,将头字节移除FIFO缓存,其他字节留在缓存中,等待接收下一个字节后继续判断和接收。与现有技术相比,本发明,通过具体的系统试样验证,在数据传输间隔中如有有干扰数据则能够滤除干扰,实现不丢帧传输,大大提高了系统通信可靠性。

Description

一种串行数据接收处理方法
技术领域
本发明涉及数据通信技术领域,具体涉及一种串行数据接收处理方法。
背景技术
工业控制通信中,RS232/RS422/RS485串口通信技术是一种常用的通信手段,某些行业有很多标准协议,在一些特定应用上需要编写专用协议,在根据系统特点和应用要求定制的专用协议中,有很多方法都能实现数据的通信传输,但如何能够增加容错性和可靠性,从而提高其抗干扰性、实现不丢帧在某些场合尤为重要。
发明内容
为解决上述缺陷,本发明的目的在于提供一种串行数据接收处理方法,能够有效提高其抗干扰性、实现不丢帧,移植在不同平台上使用。
为实现上述目的,本发明采用的技术方案是:一种串行数据接收处理方法,是通过一通信协议来实现的,该通信协议包括协议头、地址、长度、数据字节、校验位及结束符;接收处理采用中断接收,接收时先判断头字节、有效地址位,有地址位时则判断地址位,两者都正确时开始进行后面数据的正式接收,最后判定校验位和结束符是否都正确,如果都正确则表明数据接收正确,接收正确时开始处理解析,若不正确,此时接收的这帧数据不完全丢弃,将头字节移除FIFO缓存,其他字节留在缓存中,等待接收下一个字节后继续判断和接收。
进一步地,协议头为必选。
地址和长度根据系统要求可选。
校验位和结束符用于提高系统可靠性。
完整接收的数据,在置位接收标志时,中断外面进行的数据处理。
本发明采用上述技术方案在单片机/DSP/FPGA等平台上编程实现,通过具体的系统试样验证,系统在收到数据帧某个字节错误时能够实现紧邻下一帧数据的正确接收,在数据传输间隔中如有有干扰数据则能够滤除干扰,实现不丢帧传输,大大提高了系统通信可靠性。
附图说明
下面结合附图及实施例,对本发明的结构和特征作进一步描述。
图1是本发明的工作原理示意图。
图2是本发明中串行数据接收处理的流程图。
具体实施方式
附图1和图2是本发明的一种实施例,公开了一种串行数据接收处理方法,附图1中的具体状态包括5个状态:找头标志状态A、判断地址位状态B、数据接收状态C、校验位结束符判断状态D及接收正确状态E,系统开始运行及进入找头标志状态A;在找头标志状态下如果检测到头字节,则转入判断地址位状态B;在判断地址位状态下检测地址位是否正确,正确则转入数据接收状态C,否则返回到找头标志状态A;在数据接收状态下C,判断接收完毕所有的数据位后进入校验位结束符判断状态D;在状态D下,如果校验和结束符都正确,则进入接收正确状态E。
附图2公开了是一种串行数据接收处理的流程图,按照以下步骤来完成:
S0:进入中断;
S1:帧头判断,判断缓存中第一个字节是否为帧头,如果是则进入S2步骤,否则继续检测帧头;
S2:判断地址位是否正确,正确则转入S3步骤,否则返回S1等待下一次帧头检测;
S3:在有长度字节的协议中接收长度字节,之后转入S4;
S4:开始逐个接收数据字节,并判断根据长度判断是否接收完毕,如接收完毕则转入S5,否则继续S4;
S5: 接收并判断校验位/结束符是否正确,正确则转入S6,否则转入S7;
S6: 数据转存,并置接收数据标志,FIFO缓存清零,转入S1等待下一次帧头检测;
S7: 缓存中的第一个字节移除,后面的字节顺序前移,转入S1, 继续进行帧头检测。
本发明的实施例采用上述技术方案,在单片机/DSP/FPGA等平台上编程实现,通过具体的系统试样验证,系统在收到数据帧某个字节错误时能够实现紧邻下一帧数据的正确接收,在数据传输间隔中如有有干扰数据则能够滤除干扰,实现不丢帧传输,大大提高了系统通信可靠性。
以上所描述的仅为本发明的较佳实施例,上述具体实施例不是对本发明的限制,凡本领域的普通技术人员根据以上描述所做的润饰、修改或等同替换,均属于本发明的保护范围。

Claims (5)

1.一种串行数据接收处理方法,是通过一通信协议来实现的,其特征在于:该通信协议包括协议头、地址、长度、数据字节、校验位及结束符;接收处理采用中断接收,接收时先判断头字节、有效地址位,有地址位时则判断地址位,两者都正确时开始进行后面数据的正式接收,最后判定校验位和结束符是否都正确,如果都正确则表明数据接收正确,接收正确时开始处理解析,若不正确,此时接收的这帧数据不完全丢弃,将头字节移除FIFO缓存,其他字节留在缓存中,等待接收下一个字节后继续判断和接收。
2.根据权利要求1所述的串行数据接收处理方法,其特征在于:协议头为必选。
3.根据权利要求1所述的串行数据接收处理方法,其特征在于:地址和长度根据系统要求可选。
4.根据权利要求1所述的串行数据接收处理方法,其特征在于:校验位和结束符用于提高系统可靠性。
5.根据权利要求1所述的串行数据接收处理方法,其特征在于:完整接收到一帧数据后,接收标志置位,再中断外面进行的数据处理。
CN201811076239.1A 2018-09-14 2018-09-14 一种串行数据接收处理方法 Pending CN109446141A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811076239.1A CN109446141A (zh) 2018-09-14 2018-09-14 一种串行数据接收处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811076239.1A CN109446141A (zh) 2018-09-14 2018-09-14 一种串行数据接收处理方法

Publications (1)

Publication Number Publication Date
CN109446141A true CN109446141A (zh) 2019-03-08

Family

ID=65532551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811076239.1A Pending CN109446141A (zh) 2018-09-14 2018-09-14 一种串行数据接收处理方法

Country Status (1)

Country Link
CN (1) CN109446141A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130969A (zh) * 2019-12-30 2020-05-08 歌尔科技有限公司 串口数据接收方法和装置、耳机、充电设备及存储介质
CN112732618A (zh) * 2021-01-08 2021-04-30 歌尔股份有限公司 一种串口通信方法、装置和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527561A (zh) * 2003-09-22 2004-09-08 中兴通讯股份有限公司 实现rs-485多点通讯的方法
WO2008052685A2 (de) * 2006-10-31 2008-05-08 Moeller Gmbh Verfahren und anordnung zur kommunikation auf einem lin-bus
CN102724122A (zh) * 2012-06-21 2012-10-10 广东威创视讯科技股份有限公司 基于硬件系统的串口可靠传输方法及装置
CN107257277A (zh) * 2017-05-11 2017-10-17 杭州航海仪器有限公司 串行帧同步多型锁定控制方法
CN107395565A (zh) * 2017-06-15 2017-11-24 北京机械设备研究所 一种定长单字节格式报文协议下串口接收预处理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527561A (zh) * 2003-09-22 2004-09-08 中兴通讯股份有限公司 实现rs-485多点通讯的方法
WO2008052685A2 (de) * 2006-10-31 2008-05-08 Moeller Gmbh Verfahren und anordnung zur kommunikation auf einem lin-bus
CN102724122A (zh) * 2012-06-21 2012-10-10 广东威创视讯科技股份有限公司 基于硬件系统的串口可靠传输方法及装置
CN107257277A (zh) * 2017-05-11 2017-10-17 杭州航海仪器有限公司 串行帧同步多型锁定控制方法
CN107395565A (zh) * 2017-06-15 2017-11-24 北京机械设备研究所 一种定长单字节格式报文协议下串口接收预处理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130969A (zh) * 2019-12-30 2020-05-08 歌尔科技有限公司 串口数据接收方法和装置、耳机、充电设备及存储介质
CN111130969B (zh) * 2019-12-30 2021-06-18 歌尔科技有限公司 串口数据接收方法和装置、耳机、充电设备及存储介质
CN112732618A (zh) * 2021-01-08 2021-04-30 歌尔股份有限公司 一种串口通信方法、装置和系统
CN112732618B (zh) * 2021-01-08 2022-12-09 歌尔股份有限公司 一种串口通信方法、装置和系统

Similar Documents

Publication Publication Date Title
CN107147657B (zh) 适用于多机可靠通信的编解码方法及通讯设备
CN109446141A (zh) 一种串行数据接收处理方法
CN102347949B (zh) 基于dpi的应用协议分析方法
CN104052758A (zh) 电能表多通信协议的自适应方法
KR101283482B1 (ko) Pci 익스프레스 프로토콜 처리 장치
CN110704356A (zh) 一种通用的解析串口数据方法
CN105791439A (zh) 一种数据处理方法、数据接收设备及数据处理系统
BR0206459A (pt) Método e sistema para processar os dados errÈneos na comunicação comutada por pacote onde os pacotes são divididos e processados em partes, estação móvel, e, elemento de rede
US20050034045A1 (en) System for optimizing PCI-Express communications
KR101001074B1 (ko) 버스 상에 데이터를 전송하기 위한 방법
CN110704133B (zh) 一种基于有限状态机的卫星分包遥控接收控制方法
CN103281287A (zh) 基于udp协议的风力发电机组通信方法及系统
US7181675B2 (en) System and method for checksum offloading
CN109936859B (zh) 适于高延时低带宽卫星通信小数据量传输方法
CN106911530B (zh) 一种基于串口冗余策略的关键测试指令传输系统及方法
CN101159691B (zh) 始发多协议标签交换报文最大长度确定方法及节点
CN104735551B (zh) Advb接收容错及处理方法
CN101483637B (zh) 降低Multilink PPP等待队列里缓存分片数量的方法
CN108833377A (zh) 一种改进的can协议数据帧结构及数据处理方法
US7231501B2 (en) Method for avoiding aliased tokens during abnormal communications
JP2014082578A (ja) 通信パケットを用い送信装置と受信装置を有する全二重通信装置及びその通信方法
US7701977B2 (en) Method and apparatus to align and standardize packet based parallel interfaces
US7929577B2 (en) Method and apparatus for packet error detection
CN102447597A (zh) 一种实现ip有效性检测的方法及装置
CN103036957B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190308