一种串行数据接收处理方法技术

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

A Processing Method for Serial Data Receiving

The invention discloses a serial data receiving and processing method, which is realized by a communication protocol, which includes protocol header, address, length, data byte, check bit and terminator; receiving and processing adopts interrupt reception, first decides the header byte and effective address when receiving, and then decides the address bit when having address bit, both of which start to carry on the following data when they are correct. Formal reception, finally determine whether the check bits and terminators are correct, if both are correct, it indicates that the data received correctly, when receiving correctly, start processing and parsing, if not correct, the frame data received at this time is not completely discarded, the header byte is removed from the FIFO cache, the other bytes remain in the cache, waiting for the next byte to be received and continue to judge and receive. Compared with the prior art, the invention can filter out the interference if there is interference data in the data transmission interval, realize no frame loss transmission, and greatly improve the reliability of the system communication through specific system sample verification.

【技术实现步骤摘要】
一种串行数据接收处理方法
本专利技术涉及数据通信
,具体涉及一种串行数据接收处理方法。
技术介绍
工业控制通信中,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等平台上编程实现,通过具体的系统试样验证,系统在收到数据帧某个字节错误时能够实现紧邻下一帧数据的正确接收,在数据传输间隔中如有有干扰数据则能够滤除干扰,实现不丢帧传输,大大提高了系统通信可靠性。以上所描述的仅为本专利技术的较佳实施例,上述具体实施例不是对本专利技术的限制,凡本领域的普通技术人员根据以上描述所做的润饰、修改或等同替换,均属于本专利技术的保护范围。本文档来自技高网...

【技术保护点】
1.一种串行数据接收处理方法,是通过一通信协议来实现的,其特征在于:该通信协议包括协议头、地址、长度、数据字节、校验位及结束符;接收处理采用中断接收,接收时先判断头字节、有效地址位,有地址位时则判断地址位,两者都正确时开始进行后面数据的正式接收,最后判定校验位和结束符是否都正确,如果都正确则表明数据接收正确,接收正确时开始处理解析,若不正确,此时接收的这帧数据不完全丢弃,将头字节移除FIFO缓存,其他字节留在缓存中,等待接收下一个字节后继续判断和接收。

【技术特征摘要】
1.一种串行数据接收处理方法,是通过一通信协议来实现的,其特征在于:该通信协议包括协议头、地址、长度、数据字节、校验位及结束符;接收处理采用中断接收,接收时先判断头字节、有效地址位,有地址位时则判断地址位,两者都正确时开始进行后面数据的正式接收,最后判定校验位和结束符是否都正确,如果都正确则表明数据接收正确,接收正确时开始处理解析,若不正确,此时接收的这帧数据不完全丢弃,将头字节移除FIFO缓存,其他字节留在...

【专利技术属性】
技术研发人员:周磊李玉松尹中锋黄彦海王亚会王淑一侯阳
申请(专利权)人:河南中光学集团有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1