[发明专利]串口突发接入应用层SLIP协议报文同步纠错方法有效
申请号: | 201910044479.1 | 申请日: | 2019-01-17 |
公开(公告)号: | CN109728879B | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 张盼华;张伟涛;陈华强;樊浩 | 申请(专利权)人: | 同方电子科技有限公司 |
主分类号: | H04L1/00 | 分类号: | H04L1/00 |
代理公司: | 北京纽乐康知识产权代理事务所(普通合伙) 11210 | 代理人: | 史静 |
地址: | 332000 江西*** | 国省代码: | 江西;36 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 串口 突发 接入 应用 slip 协议 报文 同步 纠错 方法 | ||
1.串口突发接入应用层SLIP协议报文同步纠错方法,其特征在于,具体包括以下步骤:
步骤1:串口突发接入设备,并依据SLIP协议报文的结构特点与格式特征,进行接收字节初始同步捕获;
步骤2:从捕获到的第一个字节开始进行匹配分析,若不是协议的开始或者结束标识则直接丢弃,一旦捕获同步信息后,则对同步信息的真实性进行进一步的甄别;
步骤3:进行真伪同步鉴定,判断DATA的收到数据长度是否大于2;如果大于2则判定当前报文正确同步,串口应用层已接收到一个完整正确的SLIP协议报文,否则判定当前报文为伪同步,当前报文属于SLIP协议伪报文,将标识Pflag置为1,将DATA数组中第二个位置的0xC0去掉,串口中断函数开始捕获字节,后续接收到的串口数据从DATA的第二个位置开始存储;判断标识Pflag置是否为1,如果不等于1则直接丢弃当前字节内容,不保存到缓存DATA数组中,执行串口中断函数开始捕获字节,否则将收到的字节内容放在DATA数组缓存的m+1位置,执行串口中断函数开始捕获字节;
步骤4:甄别后得到的第一个正确同步,判定当前报文同步成功,串口应用层正常报文。
2.根据权利要求1所述的串口突发接入应用层SLIP协议报文同步纠错方法,其特征在于,步骤1中串口突发接入设备及捕获字节的具体步骤为:
S0:定义完整SLIP协议报文标识Pflag,在初始化时置为0;
S1:定义存储协议报文内容临时缓存,大小为n的数组DATA一维变量,数组DATA的大小满足单条SLIP规定报文字节数出现最大长度,进行串口的初始化,等待设备串口突发接入;
S2:串口中断函数开始捕获字节,当串口中断收到字节则进行匹配分析,否则继续等待串口接收中断。
3.根据权利要求2所述的串口突发接入应用层SLIP协议报文同步纠错方法,其特征在于,S1中数组DATA的大小满足单条SLIP规定报文字节数出现最大长度,含转义后最大长度。
4.根据权利要求2所述的串口突发接入应用层SLIP协议报文同步纠错方法,其特征在于,步骤2中的字节匹配分析的具体步骤为:
S3:对收到的串口字节进行内容匹配检测是否为0xC0,如果是0xC0则执行S4,否则执行S11;
S4:如果当前字节内容是0xC0,且Pflag等于0,则执行S5;如果当前字节内容是0xC0,且Pflag等于1,则执行S6;
S5:将标识Pflag置为1,表示当前为一个新的SLIP协议报文,放在DATA数组的第一个存储位置,再执行S2;
S6:将标识Pflag置为2,表示已捕获完一个完整协议报文同步,放在DATA数组的m+2位置,将标识Pflag置为0,再执行S7;
S7:判断标识Pflag是否等于2,如果等于2则进行下一步的甄别,否则执行S2。
5.根据权利要求1所述的串口突发接入应用层SLIP协议报文同步纠错方法,其特征在于,S10中判定当前报文为伪同步的标准是:SLIP协议报文特点是由十六进制0xC0、0xC0组成,大小为2字节。
6.根据权利要求1或4中任意一项所述的串口突发接入应用层SLIP协议报文同步纠错方法,其特征在于,DATA数组中的m大小取决于Pflag等于1之后收到非0xC0字节的数量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同方电子科技有限公司,未经同方电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910044479.1/1.html,转载请声明来源钻瓜专利网。