[发明专利]一种适用于多种总线的协议解析方法有效

专利信息
申请号: 202011103070.1 申请日: 2020-10-15
公开(公告)号: CN112235302B 公开(公告)日: 2023-03-24
发明(设计)人: 王雨龙 申请(专利权)人: 天津津航计算技术研究所
主分类号: H04L69/22 分类号: H04L69/22;H04L69/18;H04L69/06;H04L12/40;H04L1/00
代理公司: 中国兵器工业集团公司专利中心 11011 代理人: 刘二格
地址: 300308 天津*** 国省代码: 天津;12
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 适用于 多种 总线 协议 解析 方法
【权利要求书】:

1.一种适用于多种总线的协议解析方法,其特征在于,包括以下步骤:

STEP1:设计通用通信协议;

STEP2:将各类总线的驱动底层接收函数封装为接口一致的统一接收函数DataRecv函数,DataRecv函数返回接收到的数据长度RecvLen,并把数据存在指针pData所指的缓冲区中,将起始地址为pData、长度为RecvLen的数据拷贝到TackBuf中;

STEP3:寻找帧头;

STEP4:寻找到帧头后,确定这一完整帧的长度FrmLen;比较FrmLen和接收到数据的长度RecvLen的大小,当RecvLen≥FrmLen时,收到了一个完整帧,继续进行处理;否则,继续接收数据,直到接收到数据RecvLen≥FrmLen,则转到STEP5,继续进行处理;

STEP5:校验数据帧的完整性;

STEP6:取出帧类型,判断这一帧是数据帧还是命令帧,根据目的地址和该系统的ID,判断这一帧数据是否为本系统需要的数据。

STEP7:根据功能码判断数据的类型,将数据使用内存拷贝函数memcpy函数拷贝到同一类型的结构体中,使用这个结构体进行算法计算与数据显示;

所述步骤STEP1中,通用通信协议为变长协议,协议内容包括两个字节的协议帧头、两个字节的帧长度、一个字节的帧类型、一个字节的目的地址、一个字节的源地址、两个字节的功能码、字节数不定的负载内容、两个字节的CRC校验,和两个字节的帧结尾;

所述步骤STEP1中,协议帧头的两个字节为0x55和0xAA;帧长度为从帧头到帧尾所有字节的长度;帧类型中,命令帧用0x01表示,数据帧用0x02表示;帧结尾两个字节为0xAA和0x55;

所述步骤STEP3中,先判断接收到数据的长度RecvLen,设置最少长度为12个字节;当RecvLen大于12个字节时,首先判断前两个字节是不是0x55和0xAA,如果不是,则抛弃前两个字节,重新寻找字节头0x550xAA,直到寻找到为止;

所述步骤STEP3中,使用内存移动方法memmove()将第三个字节起始的数据移动到缓冲区开头,然后重新寻找字节头0x550xAA;

所述步骤STEP4中,寻找到帧头后,将处理指针TackPtr向后移动两位,此时TackPtr指向这一帧的长度信息,取第三、四两个字节数据组成的字,这个字表示这一完整帧的长度FrmLen;

所述步骤STEP5中,校验数据帧完整性的过程为:

收到一帧完整数据后,根据帧长度FrmLen先判断结尾是不是0xAA 0x55,如果不是,直接抛弃这一帧,转到STEP2;在帧头帧尾都找到的情况下,将处理指针TackPtr移到FrmLen-4的位置,取出这一帧协议中的CRC值crc_get,使用CRC计算方法计算这一帧的crc值,比较crc_get值和crc值,如果一致则转到STEP6,如果不一致则转到STEP2;

当设备间通讯功能由一种总线迁移到另一种总线时,修改设备底层的总线驱动函数完成通讯协议相关部分的移植。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津津航计算技术研究所,未经天津津航计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011103070.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top