CN107231279A - 一种基于can通信的报文解析方法 - Google Patents
一种基于can通信的报文解析方法 Download PDFInfo
- Publication number
- CN107231279A CN107231279A CN201610181331.9A CN201610181331A CN107231279A CN 107231279 A CN107231279 A CN 107231279A CN 201610181331 A CN201610181331 A CN 201610181331A CN 107231279 A CN107231279 A CN 107231279A
- Authority
- CN
- China
- Prior art keywords
- communication
- data
- message
- judge whether
- entering
- 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.)
- Pending
Links
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
Abstract
一种基于CAN通信的报文解析方法,包括以下步骤:步骤S1:判断是否接到CAN通信报文,若是,则进入到步骤S2;步骤S2:判断每帧CAN通信报文的ID与ID MASK两者是否相同,若是,则进入到步骤S3;步骤S3:判断是否达到更新时间,若是,则进入到步骤S5,若否,则进入到步骤S4;步骤S4:判断是否位跳变,若是,则进入到步骤S5;步骤S5:清除时间标识;步骤S6:选择是否低字节在前;步骤S7:将数据重组为64Bit数据;步骤S8:抽取重组为64Bit数据,然后进入步骤S9;步骤S9:选择所述的为64Bit数据的输出类型,若选择输出类型为整数型,则进入到步骤S91,若选择输出类型为浮点型,则进入步骤S92;步骤S91:输出整数型数据;步骤S92:输出浮点型数据。
Description
【技术领域】
本发明涉及CAN通信技术领域,尤其涉及一种基于CAN通信的报文解析方法。
【背景技术】
CAN是一种具有国际标准而且性能价格比又较高的现场总线,它在当今自动控制领域的发展中能发挥重要的作用,CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。但是CAN的数据内容均为十六进制数据,读起来生涩难懂,所以制定一种方法来快速的识别内容
现有的CAN分析上位机系统,只能接收和发送CAN报文,例如在电池管理系统(BMS)中常用到的电压和电流等信息,现在CAN通信报文需要使用计算器、协议文档等经过多次变换才能得到真实值。当数据快速变换时,一分钟的数据可能要用几小时甚至更长的时间才能分析完毕,效率低下。
【发明内容】
本发明的目的是提供一种可以快速解析CAN通信报文且解析结果直观易懂的基于CAN通信的报文解析方法。
为了实现上述目的,本发明提供一种基于CAN通信的报文解析方法,包括以下步骤:
步骤S1:判断是否接到CAN通信报文,若是,则进入到步骤S2,若否,则继续行者等待CAN通信报文;
步骤S2:判断每帧CAN通信报文的ID与ID MASK两者是否相同,若是,则进入到步骤S3,若否,则直接退出;
步骤S3:判断是否达到更新时间,若是,则进入到步骤S5,若否,则进入到步骤S4;
步骤S4:判断是否位跳变,若是,则进入到步骤S5;
步骤S5:清除时间标识,进入步骤S6;
步骤S6:选择是否低字节在前,若是,则进入步骤S61;若否则进入步骤S62;
步骤S61:以byte0作为LSB,然后进入步骤S7;
步骤S62:以byte7作为LSB,然后进入步骤S7;
步骤S7:将数据重组为64Bit数据,然后进入步骤S8;
步骤S8:抽取重组为64Bit数据,然后进入步骤S9;
步骤S9:选择所述的为64Bit数据的输出类型,若选择输出类型为整数型,则进入到步骤S91,若选择输出类型为浮点型,则进入步骤S92;
步骤S91:输出整数型数据;
步骤S92:输出浮点型数据。
相比于现有技术,本方法不仅解析速度快,而且可解析出直观的输出数据,使用方便。例如当本方法应用电池管理系统时,解析出的CAN通信报文可以直观读出电压、电流、电荷状态等数据。
【附图说明】
图1为本发明基于CAN通信的报文解析方法流程图。
【具体实施方式】
为了使本发明的目的、技术方案和有益技术效果更加清晰明白,以下结合附图和具体实施方式,对本发明进行进一步详细说明。应当理解的是,本说明书中描述的具体实施方式仅仅是为了解释本发明,并不是为了限定本发明。
如图1所示,为本发明基于CAN通信的报文解析方法,包括以下步骤:
步骤S1:判断是否接到CAN通信报文,若是,则进入到步骤S2,若否,则继续行者等待CAN通信报文;
步骤S2:判断每帧CAN通信报文的ID(标识)与ID MASK(即ID掩码)两者是否相同,若是,则进入到步骤S3,若否,则直接退出;
步骤S3:判断是否达到更新时间,若是,则进入到步骤S5,若否,则进入到步骤S4;
步骤S4:判断是否位跳变,若是,则进入到步骤S5;
步骤S5:清除时间标识,进入步骤S6;
步骤S6:选择是否低字节在前?若是,则进入步骤S61;若否则进入步骤S62;
步骤S61:以byte0(字节0)作为LSB(least significant bit,最低有效位),然后进入步骤S7;
步骤S62:以byte7(字节7)作为LSB(least significant bit,最低有效位),然后进入步骤S7;
步骤S7:将数据重组为64Bit数据,然后进入步骤S8;
步骤S8:抽取重组为64Bit数据,然后进入步骤S9;
步骤S9:选择所述的为64Bit数据的输出类型,若选择输出类型为整数型,则进入到步骤S91,若选择输出类型为浮点型,则进入步骤S92;
步骤S91:输出整数型数据;
步骤S92:输出浮点型数据。
由此完成对CAN通信报文的解析,本方法不仅解析速度快,而且可解析出直观的输出数据,使用方便。例如当本方法应用电池管理系统时,解析出的CAN通信报文可以直观读出电压、电流、电荷状态等数据。
本发明基于CAN通信的报文解析方法还进一步包括以下步骤:
步骤S10:在步骤S91或步骤S92之后,以列表的形式显示出整数形数据或者浮点型数据。
本发明基于CAN通信的报文解析方法还进一步包括以下步骤:
步骤11:在步骤S10之后,存储整数形数据或者浮点型数据。
本发明基于CAN通信的报文解析方法在步骤S4中,若位跳变为否,则进入到上述步骤S11。
本发明基于CAN通信的报文解析方法还进一步包括以下步骤:
在步骤S1之前,还包括以下步骤:
步骤S11:选择配置文件(程序开发者可以自定义配置文件的关键字);
步骤S12:对配置文件格式进行分析;
步骤S13:初始化解析数据。
本发明并不仅仅限于说明书和实施方式中所描述,因此对于熟悉领域的人员而言可容易地实现另外的优点和修改,故在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。
Claims (5)
1.一种基于CAN通信的报文解析方法,包括以下步骤:
步骤S1:判断是否接到CAN通信报文,若是,则进入到步骤S2,若否,则继续行者等待CAN通信报文;
步骤S2:判断每帧CAN通信报文的ID与ID MASK两者是否相同,若是,则进入到步骤S3,若否,则直接退出;
步骤S3:判断是否达到更新时间,若是,则进入到步骤S5,若否,则进入到步骤S4;
步骤S4:判断是否位跳变,若是,则进入到步骤S5;
步骤S5:清除时间标识,进入步骤S6;
步骤S6:选择是否低字节在前,若是,则进入步骤S61;若否则进入步骤S62;
步骤S61:以byte0作为LSB,然后进入步骤S7;
步骤S62:以byte7作为LSB,然后进入步骤S7;
步骤S7:将数据重组为64Bit数据,然后进入步骤S8;
步骤S8:抽取重组为64Bit数据,然后进入步骤S9;
步骤S9:选择所述的为64Bit数据的输出类型,若选择输出类型为整数型,则进入到步骤S91,若选择输出类型为浮点型,则进入步骤S92;
步骤S91:输出整数型数据;
步骤S92:输出浮点型数据。
2.如权利要求1所述的基于CAN通信的报文解析方法,其特征在于:进一步包括以下步骤:
步骤S10:在步骤S91或步骤S92之后,以列表的形式显示出整数形数据或者浮点型数据。
3.如权利要求2所述的基于CAN通信的报文解析方法,其特征在于:进一步包括以下步骤:
步骤11:在步骤S10之后,存储整数形数据或者浮点型数据。
4.如权利要求3所述的基于CAN通信的报文解析方法,其特征在于:在步骤S4中,若位跳变为否,则进入到上述步骤S11。
5.如权利要求1所述的基于CAN通信的报文解析方法,其特征在于:进一步包括以下步骤:
在步骤S1之前,还包括以下步骤:
步骤S11:选择配置文件;
步骤S12:对配置文件格式进行分析;
步骤S13:初始化解析数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610181331.9A CN107231279A (zh) | 2016-03-26 | 2016-03-26 | 一种基于can通信的报文解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610181331.9A CN107231279A (zh) | 2016-03-26 | 2016-03-26 | 一种基于can通信的报文解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107231279A true CN107231279A (zh) | 2017-10-03 |
Family
ID=59932544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610181331.9A Pending CN107231279A (zh) | 2016-03-26 | 2016-03-26 | 一种基于can通信的报文解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107231279A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660437A (zh) * | 2018-12-26 | 2019-04-19 | 洛阳智能农业装备研究院有限公司 | 一种基于Matlab的CAN报文解析方法 |
CN109743310A (zh) * | 2018-12-28 | 2019-05-10 | 百度在线网络技术(北京)有限公司 | 用于解析报文的方法和装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050166036A1 (en) * | 2001-06-01 | 2005-07-28 | Microchip Technology Inc. | Microcontroller instruction set |
CN103475523A (zh) * | 2013-09-10 | 2013-12-25 | 浙江大学 | 带总线错误解析功能的can总线分析系统 |
CN103605349A (zh) * | 2013-11-26 | 2014-02-26 | 厦门雅迅网络股份有限公司 | 一种基于CAN-bus的远程数据实时采集及分析统计系统及方法 |
CN103970110A (zh) * | 2014-05-27 | 2014-08-06 | 盛瑞传动股份有限公司 | Can解析方法、装置及系统 |
CN104156565A (zh) * | 2014-07-21 | 2014-11-19 | 北京航天发射技术研究所 | 基于离线can总线数据的系统状态分析方法及分析装置 |
CN204131547U (zh) * | 2014-05-22 | 2015-01-28 | 北京市亿能通电子有限公司 | 一种can信号解析装置 |
CN104331292A (zh) * | 2014-11-03 | 2015-02-04 | 重庆邮电大学 | 一种车联网中间件协议转换的配置生成方法 |
CN104460429A (zh) * | 2014-11-04 | 2015-03-25 | 盛瑞传动股份有限公司 | Can信号的解析方法和装置 |
CN104442831A (zh) * | 2014-11-25 | 2015-03-25 | 安徽安凯汽车股份有限公司 | 一种基于can信息的电动汽车故障智能诊断方法 |
CN105049281A (zh) * | 2015-06-25 | 2015-11-11 | 浪潮(北京)电子信息产业有限公司 | 一种报文解析方法和设备 |
EP2955888A1 (en) * | 2014-06-12 | 2015-12-16 | Nxp B.V. | Fine-grained stream-policing mechanism for automotive ethernet switches |
-
2016
- 2016-03-26 CN CN201610181331.9A patent/CN107231279A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050166036A1 (en) * | 2001-06-01 | 2005-07-28 | Microchip Technology Inc. | Microcontroller instruction set |
CN103475523A (zh) * | 2013-09-10 | 2013-12-25 | 浙江大学 | 带总线错误解析功能的can总线分析系统 |
CN103605349A (zh) * | 2013-11-26 | 2014-02-26 | 厦门雅迅网络股份有限公司 | 一种基于CAN-bus的远程数据实时采集及分析统计系统及方法 |
CN204131547U (zh) * | 2014-05-22 | 2015-01-28 | 北京市亿能通电子有限公司 | 一种can信号解析装置 |
CN103970110A (zh) * | 2014-05-27 | 2014-08-06 | 盛瑞传动股份有限公司 | Can解析方法、装置及系统 |
EP2955888A1 (en) * | 2014-06-12 | 2015-12-16 | Nxp B.V. | Fine-grained stream-policing mechanism for automotive ethernet switches |
CN104156565A (zh) * | 2014-07-21 | 2014-11-19 | 北京航天发射技术研究所 | 基于离线can总线数据的系统状态分析方法及分析装置 |
CN104331292A (zh) * | 2014-11-03 | 2015-02-04 | 重庆邮电大学 | 一种车联网中间件协议转换的配置生成方法 |
CN104460429A (zh) * | 2014-11-04 | 2015-03-25 | 盛瑞传动股份有限公司 | Can信号的解析方法和装置 |
CN104442831A (zh) * | 2014-11-25 | 2015-03-25 | 安徽安凯汽车股份有限公司 | 一种基于can信息的电动汽车故障智能诊断方法 |
CN105049281A (zh) * | 2015-06-25 | 2015-11-11 | 浪潮(北京)电子信息产业有限公司 | 一种报文解析方法和设备 |
Non-Patent Citations (2)
Title |
---|
李大威: "基于Matlab的电动汽车CAN总线数据分析方法", 《电器与能效管理技术》 * |
林利: "基于LabVIEW的混合动力汽车车载参数监控系统研发", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660437A (zh) * | 2018-12-26 | 2019-04-19 | 洛阳智能农业装备研究院有限公司 | 一种基于Matlab的CAN报文解析方法 |
CN109660437B (zh) * | 2018-12-26 | 2021-05-04 | 洛阳智能农业装备研究院有限公司 | 一种基于Matlab的CAN报文解析方法 |
CN109743310A (zh) * | 2018-12-28 | 2019-05-10 | 百度在线网络技术(北京)有限公司 | 用于解析报文的方法和装置 |
CN109743310B (zh) * | 2018-12-28 | 2021-11-16 | 阿波罗智联(北京)科技有限公司 | 用于解析报文的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2460258B1 (en) | Method and device for auto-generating goose signal connection topology from substation level | |
CN102752166B (zh) | 一种调试方法、芯片、单板及系统 | |
CN112187936B (zh) | 车辆数据处理方法、装置、设备、存储介质及车辆 | |
CN108063775B (zh) | 通信协议兼容方法、装置及系统 | |
CN107231279A (zh) | 一种基于can通信的报文解析方法 | |
CN113162931A (zh) | 一种在广域网传输Modbus RTU协议的方法 | |
CN103078765A (zh) | 网元设备性能测试方法和装置 | |
CN107025125B (zh) | 一种原始码流解码方法和系统 | |
JP5741446B2 (ja) | 利用可能帯域計測方法、利用可能帯域計測システム、端末装置及びプログラム | |
CN106126446A (zh) | 一种USB设备及其识别MacOS系统的方法 | |
CN104753804B (zh) | 一种数据流传输控制方法、装置及系统 | |
CN106022962B (zh) | 扩展61850模型解析合并单元配置文件的改进方法 | |
CN111245633B (zh) | 微电网主设备的配置文件及其运行方法 | |
CN103000207B (zh) | 蓝光播放器兼容性问题调试方法和系统 | |
CN106411534A (zh) | 一种具有接口识别和无线分享功能的嵌入式设备及系统 | |
CN110445752A (zh) | 一种支持多种can设备并灵活解析各类can报文的实现方法 | |
CN105207351B (zh) | 对智能电表进行信息广播的方法 | |
CN104216868A (zh) | 一种文档显示格式的适配方法及装置 | |
KR101649790B1 (ko) | 배전 선로 자동화 단말장치 | |
KR20140123126A (ko) | 변전소 구성 언어 기반의 데이터베이스 생성 방법 및 시스템 | |
CN203760209U (zh) | 一种mhl线缆及mhl线缆热插拔检测系统 | |
CN115396924A (zh) | 用于屏蔽接口差异性的方法和装置 | |
KR101755149B1 (ko) | M2m 기반 데이터 전송 장치, 방법 및 기록 매체 | |
EP2911423A1 (en) | Implementation method and device for virtual southbound interface and internet of things management platform | |
CN104426978A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171003 |
|
WD01 | Invention patent application deemed withdrawn after publication |