CN109660437B - 一种基于Matlab的CAN报文解析方法 - Google Patents
一种基于Matlab的CAN报文解析方法 Download PDFInfo
- Publication number
- CN109660437B CN109660437B CN201811605371.7A CN201811605371A CN109660437B CN 109660437 B CN109660437 B CN 109660437B CN 201811605371 A CN201811605371 A CN 201811605371A CN 109660437 B CN109660437 B CN 109660437B
- Authority
- CN
- China
- Prior art keywords
- data
- entering
- frame
- communication message
- processing
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/14—Arrangements for monitoring or testing data switching networks using software, i.e. software packages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller 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
技术领域
本发明涉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形式将对数据进行分类输出。
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 CN109660437A (zh) | 2019-04-19 |
CN109660437B true 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) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110282279A (zh) * | 2019-06-06 | 2019-09-27 | 江苏农牧科技职业学院 | 一种基于大数据的冷链蓄冷物流箱 |
CN111556011B (zh) * | 2020-03-24 | 2022-07-12 | 浙江飞碟汽车制造有限公司 | 一种基于MATLAB/Simulink的车载总线的数据分析方法 |
CN111638874B (zh) * | 2020-05-27 | 2023-05-16 | 江西五十铃汽车有限公司 | 基于Matlab软件的汽车控制器编码信息写入和读取方法 |
CN115277882B (zh) * | 2022-06-22 | 2023-08-29 | 东风汽车集团股份有限公司 | Can报文数据库建立方法、装置、车载电子设备及存储介质 |
Citations (3)
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信号的信号解析方法 |
-
2018
- 2018-12-26 CN CN201811605371.7A patent/CN109660437B/zh active Active
Patent Citations (3)
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)
Title |
---|
基于Matlab的电动汽车CAN总线数据分析方法;李大威等;《电器与能效管理技术》;20150730;正文第47-49页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109660437A (zh) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109660437B (zh) | 一种基于Matlab的CAN报文解析方法 | |
CN107450510B (zh) | 一种利用诊断信号快速定位can信号的信号解析方法 | |
CN111371638A (zh) | 智能设备测试方法、装置、服务器及存储介质 | |
CN103471621A (zh) | 一种适用于车载导航多媒体终端的测试方法及测试设备 | |
CN113778557B (zh) | 车辆诊断软件配置方法、装置、服务器及存储介质 | |
CN111443691A (zh) | 汽车智能在线诊断方法及装置 | |
CN114401203B (zh) | 基于can报文解析运算的自动驾驶测试方法和系统 | |
WO2023125272A1 (zh) | Radius环境下的全链路压测方法、装置、计算机设备及存储介质 | |
CN105099801A (zh) | 信息管理系统的测试系统和测试环境模拟方法 | |
CN114938521A (zh) | 网络状态检测方法、装置、电子设备及存储介质 | |
CN103645989A (zh) | 一种测试用例所需测试资源的分析装置以及方法 | |
CN113919518B (zh) | 电力计量自动化生产设备的故障确定方法、装置及终端 | |
CN110750500A (zh) | 一种智能变电站ccd文件与scd文件检验方法及系统 | |
CN116346650A (zh) | 一种can信号处理方法、装置、系统及电子设备 | |
CN106443238B (zh) | 高压设备状态评估方法、在线监测装置评估方法及装置 | |
CN115480944A (zh) | 车载娱乐终端的黑屏故障分析方法、装置、车辆及介质 | |
CN114697156A (zh) | 火箭总线数据监控方法、装置、终端设备及介质 | |
CN111639413B (zh) | 卫星自动化测试系统和方法 | |
CN110825065A (zh) | 一种实时检测工业互联网控制系统运行状态的方法及系统 | |
CN114022059A (zh) | 产品的不良原因分析方法、系统、终端设备和存储介质 | |
CN114331688A (zh) | 一种银行柜面系统业务批量运行状态检测方法及装置 | |
CN107666416B (zh) | 一种iperf测试结果判定系统 | |
US9494650B2 (en) | Efficient method of retesting integrated circuits | |
CN113256959A (zh) | 工业数据采集终端测试系统 | |
CN113238911A (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 |