[发明专利]一种适用于多种总线的协议解析方法有效
| 申请号: | 202011103070.1 | 申请日: | 2020-10-15 |
| 公开(公告)号: | CN112235302B | 公开(公告)日: | 2023-03-24 |
| 发明(设计)人: | 王雨龙 | 申请(专利权)人: | 天津津航计算技术研究所 |
| 主分类号: | H04L69/22 | 分类号: | H04L69/22;H04L69/18;H04L69/06;H04L12/40;H04L1/00 |
| 代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 刘二格 |
| 地址: | 300308 天津*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 适用于 多种 总线 协议 解析 方法 | ||
本发明公开了一种适用于多种总线的方法,在更换总线或者系统移值时,完全不用重新设计协议,提高了系统间的适配性。本发明所提出的协议以及协议解析方法适用与多种总线,总线协议设计以及解析方法都脱离了总线物理层本身特性,该协议设计及解析方法具有更高的效率,更强的移值性。
技术领域
本发明属于航空航天系统数据通信技术领域,涉及一种适用于多种总线的协议解析方法。
背景技术
航空航天系统中有多种常用总线,如CAN总线、串口、以太网UDP协议,以太网TCP协议等,上述通讯总线均属于串行通信总线。而串行总线上数据的还原恢复即为协议解析,协议解析通常为总线应用层报文,应用拼包组帧容错等机制将总线上的数据最大程度地还原出来。
发明内容
(一)发明目的
在航空航天领域,系统间通讯有多种总线方式,常见的总线有串口422总线,CAN总线,以太网,不同的总线习惯定义不同的协议,如CAN总线每一个CAN帧数据只有8个字节,传统上定义协议只能定义短帧,或者占用CAN数据的有效字节去标记CAN帧序号等,系统间级联如果从CAN总线改为其他总线,原有协议很难被使用。同样以太网通常采用UDP协议,不考虑组帧丢包等问题,因此协议设计通常不包含帧头,帧位校验等,同样当更换总线或者移值到其他系统时,总线协议需要重新设计。
本发明在传统总线协议解析方法的基础上,提出一种适用于多种总线的方法,在更换总线或者系统移值时,完全不用重新设计协议,提高了系统间的适配性。
(二)技术方案
为了解决上述技术问题,本发明提供一种适用于多种总线的协议解析方法,包括以下步骤:
STEP1:设计通用通信协议
协议为变长协议,协议内容包括两个字节的协议帧头(协议头两个字节为0x55和0xAA),两个字节的帧长度(包括从帧头到帧尾所有字节的长度),一个字节的帧类型(命令帧用0x01表示,数据帧用0x02表示),一个字节的目的地址,一个字节的源地址,两个字节的功能码,字节数不定的负载内容,两个字节的CRC校验,两个字节的帧结尾(帧结尾两个字节为0xAA和0x55)。
STEP2:将各类总线的驱动底层接收函数封装为接口一致的统一接收函数DataRecv函数,DataRecv函数返回接收到的数据长度RecvLen,并把数据存在指针pData所指的缓冲区中,将起始地址为pData,长度为RecvLen的数据拷贝到TackBuf中。
STEP3:寻找帧头
需要先判断接收到数据的长度RecvLen,设置最少长度为12个字节;当RecvLen大于12个字节时,首先判断前两个字节是不是0x550xAA,如果不是则抛弃前两个字节,使用内存移动方法memmove()将第三个字节起始的数据移动到缓冲区开头,重新寻找字节头0x550xAA,直到寻找到为止。
STEP4:寻找到帧头后,将处理指针TackPtr向后移动两位,此时TackPtr指向这一帧的长度信息,取第三、四两个字节数据组成的字,这个字表示这一完整帧的长度FrmLen。比较FrmLen和RecvLen长度大小,当RecvLen≥FrmLen时,收到了一个完整帧,可以继续进行处理。否则,继续接收数据,直到接收到数据RecvLen≥FrmLen,则转到STEP5,继续进行处理。
STEP5:校验数据帧的完整性
收到一帧完整数据后,根据帧长度FrmLen先判断结尾是不是0xAA0x55,如果不是直接抛弃这一帧,转到STEP2;在帧头帧尾都找到的情况下,将处理指针TackPtr移到FrmLen-4的位置,取出这一帧协议中的CRC值crc_get,使用CRC计算方法计算这一帧的crc值,比较crc_get值和crc值,如果一致则转到STEP6,如果不一致则转到STEP2;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津津航计算技术研究所,未经天津津航计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011103070.1/2.html,转载请声明来源钻瓜专利网。





