CN109446141A - 一种串行数据接收处理方法 - Google Patents
一种串行数据接收处理方法 Download PDFInfo
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000004891 communication Methods 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims abstract description 5
- 238000012546 transfer Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus 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所述的串行数据接收处理方法,其特征在于:完整接收到一帧数据后,接收标志置位,再中断外面进行的数据处理。
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)
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)
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 | 北京机械设备研究所 | 一种定长单字节格式报文协议下串口接收预处理方法 |
-
2018
- 2018-09-14 CN CN201811076239.1A patent/CN109446141A/zh active Pending
Patent Citations (5)
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)
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 |