[发明专利]基于单个或多个DBC文件的CAN报文的解析方法在审
申请号: | 202110299499.0 | 申请日: | 2021-03-22 |
公开(公告)号: | CN113067821A | 公开(公告)日: | 2021-07-02 |
发明(设计)人: | 桑红燕;张溆金;田存伟;郭恒伟;王萍 | 申请(专利权)人: | 聊城大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/40;G06F16/35 |
代理公司: | 济南金迪知识产权代理有限公司 37219 | 代理人: | 董红娟 |
地址: | 252000 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 单个 dbc 文件 can 报文 解析 方法 | ||
1.一种基于单个或多个DBC文件的CAN报文的解析方法,其特征在于,包括以下步骤:
包括以下步骤:
s1:将所需的CAN报文文件、DBC文件读取到开发平台;
s2:读取CAN报文的第i行数据帧,并记录CAN报文的数据帧ID信息,并将CAN报文的数据帧ID转换为字符串格式,当i>M时,解析结束;其中,i为当前CAN报文的数据帧的行数,M为当前CAN报文数据帧的最大行数;
s3:读取第j个DBC文件的数据帧ID信息,并将DBC的数据帧ID转换为字符串格式,当j>N时,定义j=1,i=i+1,返回步骤s2;其中,j为当前调用DBC文件的顺序,N为当前所有的DBC文件的个数;
s4:判断当前DBC文件是否为当前数据帧的通信格式,包括以下事件处理机制:
事件a:DBC的数据帧ID信息与当前CAN报文的数据帧ID相同,记录当前DBC的数据帧ID的数据量的名称、起始位、数据长度、高低位设置、增益和偏移量等赋值到对应变量,写入Excel中,作为对应解析所得数据的表头;当前CAN报文根据读取当前DBC的数据帧ID进行对应信息检索,检索出的目标数据帧通过数据解析计算,将CAN报文解析为直观读取的实际值,对应设定的表头存入Excel中对应的数据分类下,保存Excel,此时,定义j=1,i=i+1,返回步骤s2;
事件b:DBC的数据帧ID信息与当前CAN报文的数据帧ID不同,此时,定义j=j+1,返回步骤s3。
2.根据权利要求1所述的基于单个或多个DBC文件的CAN报文的解析方法,其特征还在于,在事件a中,上述数据解析计算过程如下:
1)调用检索出的目标数据帧中信号变量的起始位和数据长度,并读取信号变量的数据帧;
2)判断信号变量数据帧的高低位是否高位在前,是则进行十位制转换,否则进行高低位互换;
3)判断是否有偏移量,根据偏移量还原数据;
4)判断是否有增益,根据增益还原数据;
5)得到CAN报文所对应的可直观读取的实际值。
3.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,计算机程序被处理器执行时实现权利要求1-2中任意一项所述的基于单个或多个DBC文件的CAN报文的解析方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于聊城大学,未经聊城大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110299499.0/1.html,转载请声明来源钻瓜专利网。