CN109660437A - 一种基于Matlab的CAN报文解析方法 - Google Patents

一种基于Matlab的CAN报文解析方法 Download PDF

Info

Publication number
CN109660437A
CN109660437A CN201811605371.7A CN201811605371A CN109660437A CN 109660437 A CN109660437 A CN 109660437A CN 201811605371 A CN201811605371 A CN 201811605371A CN 109660437 A CN109660437 A CN 109660437A
Authority
CN
China
Prior art keywords
data
frame
communication message
completion
entered
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811605371.7A
Other languages
English (en)
Other versions
CN109660437B (zh
Inventor
赵晓男
王鹏
李鑫阳
乔昭杰
任效杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Luoyang Intelligent Agricultural Equipment Research Institute Co Ltd
Original Assignee
Luoyang Intelligent Agricultural Equipment Research Institute Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Luoyang Intelligent Agricultural Equipment Research Institute Co Ltd filed Critical Luoyang Intelligent Agricultural Equipment Research Institute Co Ltd
Priority to CN201811605371.7A priority Critical patent/CN109660437B/zh
Publication of CN109660437A publication Critical patent/CN109660437A/zh
Application granted granted Critical
Publication of CN109660437B publication Critical patent/CN109660437B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/14Arrangements for monitoring or testing data switching networks using software, i.e. software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提出了一种基于Matlab的CAN报文解析方法,其特征在于:包括以下步骤:S1):选择要解析的CAN报文文件,然后进入到步骤S2;S2):根据每帧CAN通信报文的ID对其进行分组后进入步骤S3;S3):对每帧CAN通信报文进行数据段进制转换后进入步骤S4;S4):对每帧CAN通信报文的时间进行处理,处理完成后进入步骤S5;S5):对每帧CAN通信报文进行数组拼接,拼接完成后进入步骤S6;S6):给各帧CAN通信报文分配空间;S7):判断每帧CAN通信报文的ID与CAN_ID_Unique是否相同,若相同则进入步骤S8,若否则直接丢弃;S8):将每帧CAN通信报文分配至对应的空间;S9):给各帧CAN通信报文数组赋值;S101):分离出时间数据,然后进入步骤S19;S102):信息数据则进入步骤S11。

Description

一种基于Matlab的CAN报文解析方法
技术领域
本发明涉CAN通信技术领域,具体为一种基于Matlab的CAN报文解析方法。
背景技术
当前,汽车电子行业相关电子控制系统(BMS、VCU、MCU、地面或车载充电机、智能仪表等)之间都普遍采用了CAN总线通信方式进行数据的交互。这些数据包含了工作状态参数、控制参数和指令、故障信息等。在整车进行调试、检查、试验的时候都需要对这些数据进行显示并分析处理。然而市场上主流的CAN总线测试监控系统动辄都在数万元以上,且数据的分析处理能力方面也存在着不足,而一般用途的CAN总线适配器虽然价格便宜,但只能用于截取和保存CAN报文。为了直观的显示和深入分析CAN总线信息,借助Matlab软件强大的数据处理能力和编辑功能,将CAN报文导入到Matlab中进行二次开发,设计了一种基于Matlab环境的CAN总线数据分析方法。
发明内容
本发明要解决的技术问题是克服现有的缺陷,提供一种基于Matlab的CAN报文解析方法,可以有效解决背景技术中的问题。
为实现上述目的,本发明提出:一种基于Matlab的CAN报文解析方法,包括以下步骤:
S1):选择要解析的CAN报文文件,然后进入到步骤S2;
S2):根据每帧CAN通信报文的ID对其进行分组后进入步骤S3;
S3):对每帧CAN通信报文进行数据段进制转换后进入步骤S4;
S4):对每帧CAN通信报文的时间进行处理,处理完成后进入步骤S5;
S5):对每帧CAN通信报文进行数组拼接,拼接完成后进入步骤S6;
S6):给各帧CAN通信报文分配空间;
S7):判断每帧CAN通信报文的ID与CAN_ID_Unique是否相同,若相同则进入步骤S8,若否则直接丢弃;
S8):将每帧CAN通信报文分配至对应的空间;
S9):给各帧CAN通信报文数组赋值;
S101):分离出时间数据,然后进入步骤S19;
S102):信息数据则进入步骤S11;
S11):判断数据是否为Inter格式,若是,则低字节在前。若否,则为摩托罗拉格式,分类后的数据进入到步骤S12;
S12):对数据进行重组将其重组为64bit的信息数据,重组完成后的数据进入到步骤S13;
S13):根据Protocol对数据进行分类;分类完成后的数据进入到步骤S14;
S14):判断数据信息的Resolution是否为1,若是则进入到步骤S18;若不是,则进入到步骤S15;
S15):进行分辨率处理,处理完成后进行入到步骤S16;
S16):判断Offset是否为0,若是则进入到若是则进入到步骤S18;若否,则进入到步骤S17;
S17):对数据的偏移值进行处理,处理完成后进入到S18;
S18):对数据进行分类;
S181):若数据为状态数据则进入S1811,对数据进行定义与中文转换,转换后进入到S19;
S182):若数据为数值型数据则对数据进行分类,整型数据以整型输出,浮点型数据以浮点数输出,然后进入步骤S19;
S19):对信息进行重组,重组后进入到S20;
S20):将数据信息保存至Workspace,然后进入到步骤S21;
S21):以Excel形式将对数据进行分类输出。
与现有技术相比,本发明的有益效果是:本发明不仅解析速度快,而且可解析出直观的输出数据,使用方便,可以采集整车CAN总线上的数据,通过串口将数据发送到上位机中,由上位机监控软件进行数据的在线或离线测试和分析,而且可用于跟踪和再现车辆运行数据、分析司机驾驶操作和车辆运行状况、评价CAN总线通信品质。
附图说明
图1为本发明基于Matlab的CAN报文解析方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供以下技术方案:一种基于Matlab的CAN报文解析方法,包括以下步骤:
S1):选择要解析的CAN报文文件,然后进入到步骤S2;
S2):根据每帧CAN通信报文的ID对其进行分组后进入步骤S3;
S3):对每帧CAN通信报文进行数据段进制转换后进入步骤S4;
S4):对每帧CAN通信报文的时间进行处理,处理完成后进入步骤S5;
S5):对每帧CAN通信报文进行数组拼接,拼接完成后进入步骤S6;
S6):给各帧CAN通信报文分配空间;
S7):判断每帧CAN通信报文的ID与CAN_ID_Unique是否相同,若相同则进入步骤S8,若否则直接丢弃;
S8):将每帧CAN通信报文分配至对应的空间;
S9):给各帧CAN通信报文数组赋值;
S101):分离出时间数据,然后进入步骤S19;
S102):信息数据则进入步骤S11;
S11):判断数据是否为Inter格式,若是,则低字节在前。若否,则为摩托罗拉格式,分类后的数据进入到步骤S12;
S12):对数据进行重组将其重组为64bit的信息数据,重组完成后的数据进入到步骤S13;
S13):根据Protocol对数据进行分类;分类完成后的数据进入到步骤S14;
S14):判断数据信息的Resolution是否为1,若是则进入到步骤S18;若不是,则进入到步骤S15;
S15):进行分辨率处理,处理完成后进行入到步骤S16;
S16):判断Offset是否为0,若是则进入到若是则进入到步骤S18;若否,则进入到步骤S17;
S17):对数据的偏移值进行处理,处理完成后进入到S18;
S18):对数据进行分类;
S181):若数据为状态数据则进入S1811,对数据进行定义与中文转换,转换后进入到S19;
S182):若数据为数值型数据则对数据进行分类,整型数据以整型输出,浮点型数据以浮点数输出,然后进入步骤S19;
S19):对信息进行重组,重组后进入到S20;
S20):将数据信息保存至Workspace,然后进入到步骤S21;
S21):以Excel形式将对数据进行分类输出。
本发明好处:本发明不仅解析速度快,而且可解析出直观的输出数据,使用方便,可以采集整车CAN总线上的数据,通过串口将数据发送到上位机中,由上位机监控软件进行数据的在线或离线测试和分析,而且可用于跟踪和再现车辆运行数据、分析司机驾驶操作和车辆运行状况、评价CAN总线通信品质,数器数值将数据存放到指定的元组中,然后根据CAN通信协议进行相应的解析,转化为肉眼清晰可懂得图形或表格形式。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (1)

1.一种基于Matlab的CAN报文解析方法,其特征在于:包括以下步骤:
S1):选择要解析的CAN报文文件,然后进入到步骤S2;
S2):根据每帧CAN通信报文的ID对其进行分组后进入步骤S3;
S3):对每帧CAN通信报文进行数据段进制转换后进入步骤S4;
S4):对每帧CAN通信报文的时间进行处理,处理完成后进入步骤S5;
S5):对每帧CAN通信报文进行数组拼接,拼接完成后进入步骤S6;
S6):给各帧CAN通信报文分配空间;
S7):判断每帧CAN通信报文的ID与CAN_ID_Unique是否相同,若相同则进入步骤S8,若否则直接丢弃;
S8):将每帧CAN通信报文分配至对应的空间;
S9):给各帧CAN通信报文数组赋值;
S101):分离出时间数据,然后进入步骤S19;
S102):信息数据则进入步骤S11;
S11):判断数据是否为Inter格式,若是,则低字节在前。若否,则为摩托罗拉格式,分类后的数据进入到步骤S12;
S12):对数据进行重组将其重组为64bit的信息数据,重组完成后的数据进入到步骤S13;
S13):根据Protocol对数据进行分类;分类完成后的数据进入到步骤S14;
S14):判断数据信息的Resolution是否为1,若是则进入到步骤S18;若不是,则进入到步骤S15;
S15):进行分辨率处理,处理完成后进行入到步骤S16;
S16):判断Offset是否为0,若是则进入到若是则进入到步骤S18;若否,则进入到步骤S17;
S17):对数据的偏移值进行处理,处理完成后进入到S18;
S18):对数据进行分类;
S181):若数据为状态数据则进入S1811,对数据进行定义与中文转换,转换后进入到S19;
S182):若数据为数值型数据则对数据进行分类,整型数据以整型输出,浮点型数据以浮点数输出,然后进入步骤S19;
S19):对信息进行重组,重组后进入到S20;
S20):将数据信息保存至Workspace,然后进入到步骤S21;
S21):以Excel形式将对数据进行分类输出。
CN201811605371.7A 2018-12-26 2018-12-26 一种基于Matlab的CAN报文解析方法 Active CN109660437B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811605371.7A CN109660437B (zh) 2018-12-26 2018-12-26 一种基于Matlab的CAN报文解析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811605371.7A CN109660437B (zh) 2018-12-26 2018-12-26 一种基于Matlab的CAN报文解析方法

Publications (2)

Publication Number Publication Date
CN109660437A true CN109660437A (zh) 2019-04-19
CN109660437B CN109660437B (zh) 2021-05-04

Family

ID=66116819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811605371.7A Active CN109660437B (zh) 2018-12-26 2018-12-26 一种基于Matlab的CAN报文解析方法

Country Status (1)

Country Link
CN (1) CN109660437B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110282279A (zh) * 2019-06-06 2019-09-27 江苏农牧科技职业学院 一种基于大数据的冷链蓄冷物流箱
CN111556011A (zh) * 2020-03-24 2020-08-18 浙江飞碟汽车制造有限公司 一种基于MATLAB/Simulink的车载总线的数据分析方法
CN111638874A (zh) * 2020-05-27 2020-09-08 江西五十铃汽车有限公司 基于Matlab软件的汽车控制器编码信息写入和读取方法
CN115277882A (zh) * 2022-06-22 2022-11-01 东风汽车集团股份有限公司 Can报文数据库建立方法、装置、车载电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572641A (zh) * 2009-05-26 2009-11-04 阴晓峰 基于can总线的控制器网络监控系统及监控方法
CN107231279A (zh) * 2016-03-26 2017-10-03 深圳市沃特玛电池有限公司 一种基于can通信的报文解析方法
CN107450510A (zh) * 2017-06-28 2017-12-08 中国汽车工程研究院股份有限公司 一种利用诊断信号快速定位can信号的信号解析方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572641A (zh) * 2009-05-26 2009-11-04 阴晓峰 基于can总线的控制器网络监控系统及监控方法
CN107231279A (zh) * 2016-03-26 2017-10-03 深圳市沃特玛电池有限公司 一种基于can通信的报文解析方法
CN107450510A (zh) * 2017-06-28 2017-12-08 中国汽车工程研究院股份有限公司 一种利用诊断信号快速定位can信号的信号解析方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李大威等: "基于Matlab的电动汽车CAN总线数据分析方法", 《电器与能效管理技术》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110282279A (zh) * 2019-06-06 2019-09-27 江苏农牧科技职业学院 一种基于大数据的冷链蓄冷物流箱
CN111556011A (zh) * 2020-03-24 2020-08-18 浙江飞碟汽车制造有限公司 一种基于MATLAB/Simulink的车载总线的数据分析方法
CN111556011B (zh) * 2020-03-24 2022-07-12 浙江飞碟汽车制造有限公司 一种基于MATLAB/Simulink的车载总线的数据分析方法
CN111638874A (zh) * 2020-05-27 2020-09-08 江西五十铃汽车有限公司 基于Matlab软件的汽车控制器编码信息写入和读取方法
CN115277882A (zh) * 2022-06-22 2022-11-01 东风汽车集团股份有限公司 Can报文数据库建立方法、装置、车载电子设备及存储介质
CN115277882B (zh) * 2022-06-22 2023-08-29 东风汽车集团股份有限公司 Can报文数据库建立方法、装置、车载电子设备及存储介质

Also Published As

Publication number Publication date
CN109660437B (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN109660437A (zh) 一种基于Matlab的CAN报文解析方法
CN107222362B (zh) 一种整车can网络自动化测试平台及其优化方法
CN1155069C (zh) 控制半导体集成电路测试过程的系统和方法
EP4037286A1 (en) Method and apparatus for predicting fault of optical module
CN110855493B (zh) 用于混合环境的应用拓扑图绘制装置
CN111103864B (zh) 一种适用于列控中心测试的方法及装置
CN109446157B (zh) 一种基于格式化数据的数据格式校查系统及其方法
CN106338978A (zh) 基于can总线通信功能测试系统及其测试方法
CN107579893A (zh) 基于saej1939can总线的发动机运行参数测量方法
CN108802517A (zh) 一种就地化保护装置的测试方法及系统
CN102896097A (zh) 电池组配分选方法及系统
CN104808096A (zh) 基于仪表控制的无线模块自动测试装置及方法
CN102540091B (zh) 电池组的电池状态及数据检验方法
CN116436833A (zh) 交换机端口测试中的故障诊断方法、装置及设备
CN209642687U (zh) T-box终端与can网络掉线检测装置
CN114414255A (zh) 基于can报文周期监测的自动驾驶测试方法和系统
CN205864449U (zh) 电动汽车充电设备通信规约一致性测试装置
CN201586640U (zh) 一种多工位声表面滤波器件测试分选控制系统
CN202921576U (zh) 电池组配分选系统
CN111865711A (zh) 一种用于智能网联汽车电磁抗扰性能测试的系统及方法
CN110191012A (zh) 充电桩通信兼容性检测装置及方法
CN115080641A (zh) 一种基于深度学习的大数据类型分类与挖掘方法、系统及装置
CN107943007A (zh) 一种不同车型发动机数据的编解码方法
CN1398123A (zh) 一种用于宽带交换设备功能测试的系统
CN113256959A (zh) 工业数据采集终端测试系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant