[发明专利]一种串口通讯数据处理分析方法在审
申请号: | 201510166792.4 | 申请日: | 2015-04-10 |
公开(公告)号: | CN104765573A | 公开(公告)日: | 2015-07-08 |
发明(设计)人: | 吴永刚;姚海涛;李倩;陈金花;盖旗涛 | 申请(专利权)人: | 中国船舶重工集团公司第七一0研究所 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F11/14;G06F12/08 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 付雷杰;杨志兵 |
地址: | 443003 *** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种新型的串口通讯数据处理分析方法。使用本发明能够有效提高串口通讯的稳定性。本发明首先将通讯数据存入循环先进先出环形缓冲区中,然后依次提取缓冲区数据分别依次地进行严格的帧各个域(前导码、帧长度、帧号、数据域、校验和)的检查,实现对部分含有错误域的包和不完整的包的完美过滤,以及对混乱数据中正确包准确无误的抽取,减少数据帧(即报文)读取时由于数据错误提取带来的对报文的错误解读。 | ||
搜索关键词: | 一种 串口 通讯 数据处理 分析 方法 | ||
【主权项】:
一种串口通讯数据处理分析方法,其特征在于,将通讯数据存储于大小为SIZE的循环先进先出环形缓冲区中;数据存储时,首先判断缓冲区是否写满,若Tail不等于Head,则表示缓冲区不满,写入数据;否则,不能写入;其中,Tail表示该缓冲区中接收到的有效数据位置,Head表示该缓冲区中已经处理的有效数据位置;数据读出处理分析时采用如下步骤进行:步骤一、读取缓冲区数据进行前导码检查,若该数据与通信协议中预设的前导码不相等,则丢弃该数据,读取下一个数据继续进行前导码检查,直到读取数据与预设的前导码相等,即获得前导码,转入步骤二;步骤二、读取缓冲区中下一个数据进行帧长度检查,若该数据不满足通信协议中对帧长度可能出现的最大和最小包长要求,则丢弃该数据,读取下一个数据继续进行帧长度检查,直到读取数据满足通信协议要求,即获得帧长度,转入步骤三;步骤三、读取缓冲区中下一个数据进行帧号检查,若该数据与通信协议中预设的帧号不相等,则丢弃该数据,读取下一个数据继续进行帧号检查,直到读取数据与预设的帧号相等,即获得帧号,并令HeadBak等于Head,转入步骤四;其中,HeadBak为Head的备份;步骤四、读取缓冲区中下一个数据并与步骤二获得的帧长度所述长度进行比较,如果满足帧长度所述长度,则转入步骤五,如不满足,则继续读取下一个数据,直到读取数据长度满足帧长度所述长度;步骤五,按照通信协议对步骤四获得的数据域数据进行校验和检查,若校验和错误,则丢弃此次读取的数据域数据,并令Head=HeadBak,转入步骤一;若校验和正确,则读取(Head‑HeadBak+SIZE)%SIZE的长度数据,然后根据帧号,执行相应的操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七一0研究所,未经中国船舶重工集团公司第七一0研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510166792.4/,转载请声明来源钻瓜专利网。