CN107220138B - 一种通过can总线消息解析系统、方法及其函数存取方法 - Google Patents

一种通过can总线消息解析系统、方法及其函数存取方法 Download PDF

Info

Publication number
CN107220138B
CN107220138B CN201710390255.7A CN201710390255A CN107220138B CN 107220138 B CN107220138 B CN 107220138B CN 201710390255 A CN201710390255 A CN 201710390255A CN 107220138 B CN107220138 B CN 107220138B
Authority
CN
China
Prior art keywords
data
signal
variable
message
original data
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
Application number
CN201710390255.7A
Other languages
English (en)
Other versions
CN107220138A (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.)
Beacon Bird Travel Technology (Beijing) Co., Ltd.
Original Assignee
Beacon Bird Travel Technology (beijing) 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 Beacon Bird Travel Technology (beijing) Co Ltd filed Critical Beacon Bird Travel Technology (beijing) Co Ltd
Priority to CN201710390255.7A priority Critical patent/CN107220138B/zh
Publication of CN107220138A publication Critical patent/CN107220138A/zh
Application granted granted Critical
Publication of CN107220138B publication Critical patent/CN107220138B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明涉及一种CAN总线消息解析系统,包括:数据接口,用于获取CAN总线消息的帧数据;调用模块,用于根据所获取的总线消息数据帧的前4个字节获取消息号,并调用解析函数模块;解析函数模块,根据所述消息号,加载信号描述符变量模块中所述消息号所对应信号的解析变量,并对所述总线消息数据帧的后8个字节进行解析,获得原始数据,将获得的原始数据保存至信号描述符变量模块;信号描述符变量模块,按照消息中的每个信号,分别存储用于从总线消息数据帧中解析获得该信号原始数据的变量,以及用于存储解析获得的信号的原始数据。

Description

一种通过CAN总线消息解析系统、方法及其函数存取方法
技术领域
本发明涉及一种获取车辆状态信息的方法,尤其是一种获取CAN总线获取车辆信息的方法和装置。
背景技术
随着电子技术的发展,传统的车辆都往智能化方向发展,车辆的电控系统越来越多,并且,遍布于车身的各种传感器实时的监测车辆的状态信息,并将此信息发送至相对应的控制单元内。
车身上的这些控制单元并不是独立工作的,它们作为一个整体,需要信息的共享,因此存在信息传递的问题。目前普遍采用CAN-BUS即CAN总线技术(控制器局域网总线技术),通过该种方式,每个控制单元都连接到这两条上,这样此信息会在总线系统上进行传递,每个与总线系统连接的控制单元都会接收到此信息,如果此信息对自己有用则会存储下来,如果对其无用,则会进行忽略。CAN总线技术通过这种方式实现多个控制单元间的信息共享,所有的信息,不管信息容量的大小,都可以通过CAN总线进行传递,提高了整个系统的运行效率。
获取CAN总线的车辆状态信息并解析该信息能够对于智能汽车的功能实现十分重要,每个厂商的每个车型都有不同的CAN总线信号格式的定义,因此,需要一种有效的能够从各种车型中解析到CAN总线消息的方法。
发明内容
本发明的目的是为了提供一种能够动态解析CAN总线消息的方法。
一种CAN总线消息解析系统,包括:数据接口,用于获取CAN总线消息的帧数据;调用模块,用于根据所获取的总线消息数据帧的前4个字节获取消息号,并调用解析函数模块;解析函数模块,根据所述消息号,加载信号描述符变量模块中所述消息号所对应信号的解析变量,并对所述总线消息数据帧的后8个字节进行解析,获得原始数据,将获得的原始数据保存至信号描述符变量模块;信号描述符变量模块,按照消息中的每个信号,分别存储用于从总线消息数据帧中解析获得该信号原始数据的变量,以及用于存储解析获得的信号的原始数据。
上述系统中,信号描述符变量模块,所述描述符变量中包括第一标识位,用于标识变量中是否保存有原始数据。
上述系统中,所述信号描述符变量模块,还存储将原始数据换算为物理数据的变量;以及,调用物理数据接口获取原始数据;物理数据接口,按照所述变量将原始数据换算为物理数据。
上述系统中,所述物理数据接口将换算得到的物理数据发送到上层应用。
上述系统中,所述数据帧数据结构为摩托罗拉升序编码格式motolsb或者摩托罗拉降序编码格式motomsb或者英特尔编码格式intel中的一种。
一种CAN总线消息解析方法,包括:获取CAN总线消息的帧数据;根据所获取的总线消息数据帧的前4个字节获取消息号;查找该消息号对应的洗好描述符,获得各信号描述符分别对应的解析变量,分别从所述数据帧的后8个字节中解析获得各消息描述符对应的原始数据。
上述方法还包括:查找该消息号对应的消息描述符,获得各消息描述符分别对应的换算变量,根据所述换算变量将信号描述符所对应的原始数据换算为物理数据。
一种CAN总线消息解析函数存取方法,获取数据库容器文件dbc中的消息号以及信号名;查找所述信号名,获取从数据帧中获取所述信号原始数据的第一变量集合;查找所述信号名,获取将所述信号原始数据换算为物理数据的第二变量集合;按照预置的格式保存所述信号名以及所对应的所述第一变量集合与第二变量集合。
上述方法中,所述按照预置的格式保存第一变量集合与第二变量集合,具体为:保存信号名对应原始数据在数据帧的起始位置、原始数据长度以及原始数据位的初始化数据;保存信号名对应的原始数据到物理数据的换算比例、原始数据到物理数据的偏移、物理数据的最小值及物理数据最大值。
上述方法中,所述按照预置的格式保存还包括保存所述消息号。
本发明实施例可以有效的从各种车型中解析得到CAN总线的消息,提高了解析效率,降低各种车型CAN总线消息定义不同造成的解析错误的风险。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明系统实施例示意图;
图2为本发明方法实施例流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例可以有效的从各种车型中解析得到CAN总线的消息,提高了解析效率,降低各种车型CAN总线消息定义不同造成的解析错误的风险。
由于每个厂商的每个车型都有不同的CAN bus矩阵表格,该表格以dbc文件格式定义。从而导致通过CAN bus解析不同车辆类型状态的时候,需要实现不同的解析模块。其中,dbc是Microsoft Visual FoxPro数据库容器文件。
为实现本发明目的,首先对dbc文件进行解析。
比如,dbc文件的某段数据内容为:
BO_1028T_BOX_404:8Tbox
SG_TboxNMSleepAcknowledge:13|1@0+(1,0)[0|1]""BCM,IC,PEPS
SG_TboxNMSleepIndication:12|1@0+(1,0)[0|1]""BCM,IC,PEPS
SG_TboxNMLimphome:10|1@0+(1,0)[0|1]""BCM,IC,PEPS
SG_TboxNMRing:9|1@0+(1,0)[0|1]""BCM,IC,PEPS
SG_TboxNMAlive:8|1@0+(1,0)[0|1]""BCM,IC,PEPS
SG_TboxNMDestinationAddress:7|8@0+(1,0)[0|255]""BCM,IC,PEPS
以上dbc文件数据中,包含CAN bus消息的消息名,“T_BOX_404”为消息名。以及,消息名中包括CAN bus消息的消息号,为0X404。
以上dbc文件数据中,“TboxNMSleepAcknowledge”、“TboxNMSleepIndication”、“TboxNMLimphome”、“TboxNMRing”、“TboxNMAlive”、“TboxNMDestinationAddress”为消息名T_BOX_404对应的信号名。
对应于每个信号,信号名后面的数据表示该信号的描述信息,包括解析变量以及换算变量。其中,所述解析变量用于描述信号在总线采集到的帧数据中的起始位(bit),位宽,bit的endian模式,现在通用的有3中模式,Motorla升序,Motorla降序,Intel小端序,分别对应"motolsb_order","motomsb_order","intel_order";根据这三者信息,可以从帧数据中获取到信号的原始数据。所述换算变量,用于描述信息中包括原始数据到物理数据的变换比例和偏移量,原始数据×变换比例+偏移量就是对应的物理数据,经过这样的计算,就可以获取到信号表示的物理数据。
以SG_TboxNMSleepAcknowledge:13|1@0+(1,0)[0|1]""BCM,IC,PEPS为例,信号名TboxNMSleepAcknowledge的变量中,13表示该信号原始数据在数据帧中的起始位置,位宽为1;"@0"表示采用了Motorla升序排列;"+"表示有符号类型;"(1,0)"表示乘法因子和偏移量,Ex:value*1+0就是具体的数值;"[0|1]"表示这个值的最大值和最小值;"""BCM,IC,PEPS"表示BCM,IC,PEPS会关心这个TboxNMSleepAcknowledge变量。
在一个实际的CAN bus消息数据帧中共包含12个字节,其中,前4个字节用于放置所述消息号,后8个字节用于放置该消息的内容。参见以下CAN bus数据帧的举例,消息号0X404被置于数据帧中的前4个字节中。因此,当从CAN bus总线上获取到如下的数据帧时,则表示该CAN bus数据帧中存储的是消息名为T_BOX_404对应的消息内容。
0X04 0X04 0X00 0X00 XX XX XX XX XX XX XX XX
通过对dbc文件的解析,获得dbc文件中定义的所有消息名,以及各消息名对应的信号集合,即获得一个解析CAN消息的模块,该模块由.h头文件和.c实现文件构成。
其中,.h头文件的消息结构体通过扫描dbc文件实现,信号枚举定义通过扫描dbc文件获取各个消息的信号集构成,.h头文件的其他部分是模块接口声明。
其中,.c实现文件,包含了模块的接口实现,由模块初始化接口,模块卸载接口,获取信号物理数据的接口构成。
其中,模块初始化接口的功能是初始化模块的数据接口,打开物理设备,同时启动一个后台线程。该后台线程用于获取物理设备上的CAN bus消息,然后通过消息的前4个字节调用不同的CAN bus解析函数。该函数通过扫描dbc文件后动态生成,每个动态生成的解析函数读写动态生成的CAN_item变量,CAN_item数组的内容通过扫描dbc文件生成。由于不同的dbc文件有不同的消息头定义,所以调用CAN bus解析函数的部分,也是通过扫描dbc文件的消息生成。
模块卸载接口主要功能是释放模块申请的资源。
获取信号物理数据的接口主要功能是通过信号枚举获取该信号的物理值。
以下通过具体实例说明CAN消息解析模块的实现。
CAN消息解析模块的头文件,结构组成包括:信号集对应的枚举定义以及接口声明。其中,信号集合的枚举定义如下例所示:
Figure BDA0001307337730000051
Figure BDA0001307337730000061
CAN消息解析模块的头文件,模块包括:模块数据结构定义、信号描述符结构变量定义、消息解析函数定义以及调用消息解析函数的语句块。
1)模块数据结构定义如下:
Figure BDA0001307337730000062
order_type表示原始数据在总线上的排列格式,包括三种类型,分别是摩托罗拉升序编码格式motolsb、摩托罗拉降序编码格式motomsb、以及英特尔编码格式intel。
2)信号描述符数据结构定义
Figure BDA0001307337730000063
Figure BDA0001307337730000071
以下为一信号描述符结构变量举例。
Figure BDA0001307337730000072
Figure BDA0001307337730000081
以上述{motolsb_order,0,13,1,1.0,0.0,0.0,1.0,"TboxNMSleepAcknowledge",0X404,false,PTHREAD_RWLOCK_INITIALIZER}为例,其中:
motolsb_order表示信号编码格式为摩托罗拉升序编码格式;
0为u64raw的初始化值,此时还未获取到CAN bus上的原始数据,u64raw初始化值为0;
13是变量u32start表明的原始数据在数据帧内的起始bit位置;
该原始数据的比特位长度u32len为1;
该信号原始数据到物理数据的变换比例double scale为1.0;
该信号原始数据到物理数据的偏移值double offset为0.0
该信号物理数据的最小值double minimum为0.0
该信号物理数据的最大值double maximum为1.0
信号的描述字符串变量const char*desc表明该信号的信号名为TboxNMSleepAcknowledge
信号的消息号码变量u32id中0X404为信号TboxNMSleepAcknowledge对应的消息号;
bool loaded变量值为false,表明该信号的原始数据未从CAN bus上获取过;
PTHREAD_RWLOCK_INITIALIZER,是POSIX线程库中初始化锁的宏,有两个场景需要使用到这个锁,其一是当数据采集层从车身获取数据后,填充到相应系统Buffer,其二是当TBOX上的业务层从Buffer列表中获取这个数据上传平台,这两种情况都需要检查这个锁,是否是正在写或者正在读取。
3)消息解析函数定义
Figure BDA0001307337730000091
Figure BDA0001307337730000101
其中,get_field64和load_item函数在实现文件中静态定义,get_field64用于从数据帧中解析获取信号的原始数据,load_item用于将原始数据保存到信号描述符变量中,并在第一次获取到信号数据或者原始数据有变化时候通知上层模块。
4)调用消息解析函数的语句
case 0X404:
get_T_BOX_404(frm+4);
break;
以上举例中,调用消息号为0X404,消息名为T_BOX_404的解析函数,对CAN bus数据帧的后8个字节(即偏移前4个字节)的数据进行解析。
综上所述,为了实现对CAN bus消息的解析,通过对dbc文件的读取扫描,按照dbc文件中定义的CANbus消息所对应信号原始数据的解析变量和原始数据到物理数据的变量,获得了dbc文件中涉及的所有消息的解析函数;通过预置的信号描述符结构,按照dbc文件中每个信号的数据规则对信号描述符的变量进行初始化;其中u64raw以及bool loaded为默认初始值,信号描述符其余变量是通过读取dbc文件获得的解析信号所需的变量值,用于对数据帧解析获得原始数据,以及换算到物理数据。
从而,CANbus消息解析系统中包含了dbc文件中所有消息对应的信号,及信号描述符变量,生成解析函数,从而在解析的过程中通过对解析函数的调用获取和保存原始数据,以及将原始数据换算为物理数据。
参照图1,具体说明本发明实施例对CAN bus消息解析的系统。
数据接口11,用于获取CAN bus总线消息的帧数据;在实际的应用中,CANbus数据帧通常包括12个字节,其中前4个字节存储的数据是CAN bus总线消息的消息号,后8个字节存放的数据为消息号对应的消息内容。
调用模块12,根据数据接口11所获取的总线消息数据帧的前4个字节获取消息号,并根据消息号调用解析函数模块。
解析函数模块13,针对不同的CANbus消息号,预置分别存储了用于解析该消息的解析函数;所述解析函数通过加载信号描述符变量模块14中CANbus消息对应的每个信号的解析变量,对数据接口获取的CAN总线消息数据帧的后8个字节的数据进行解析,获得原始数据;以及,将获得的原始数据保存至信号描述符变量模块。
信号描述符变量模块14,存储有消息号所对应的信号描述符的变量集合,即按照消息中的每个信号,分别存储用于从总线消息数据帧中解析获得该信号原始数据的变量,以及将原始数据换算为物理数据的变量,以及对于每个信号分别存储解析获得的信号的原始数据。信号描述符变量模块结构定义参见上文所述的信号描述符数据结构定义描述部分。信号描述符变量集合举例如下。
Figure BDA0001307337730000111
Figure BDA0001307337730000121
以上述{motolsb_order,0,13,1,1.0,0.0,0.0,1.0,"TboxNMSleepAcknowledge",0X404,false,PTHREAD_RWLOCK_INITIALIZER}为例,其中:
motolsb_order表示信号编码格式为摩托罗拉升序编码格式;
0为u64raw的初始化值,此时还未获取到CAN bus上的原始数据,u64raw初始化值为0;
13是变量u32start表明的原始数据在数据帧内的起始bit位置;
该原始数据的比特位长度u32len为1;
该信号原始数据到物理数据的变换比例double scale为1.0;
该信号原始数据到物理数据的偏移值double offset为0.0
该信号物理数据的最小值double minimum为0.0
该信号物理数据的最大值double maximum为1.0
信号的描述字符串变量const char*desc表明该信号的信号名为TboxNMSleepAcknowledge
信号的消息号码变量u32id中0X404为信号TboxNMSleepAcknowledge对应的消息号;
bool loaded变量值为false,表明该信号的原始数据未从CAN bus上获取过;
PTHREAD_RWLOCK_INITIALIZER,是POSIX线程库中初始化锁的宏,有两个场景需要使用到这个锁,其一是当数据采集层从车身获取数据后,填充到相应系统Buffer,其二是当TBOX上的业务层从Buffer列表中获取这个数据上传平台,这两种情况都需要检查这个锁,是否是正在写或者正在读取。
解析函数模块13解析获得消息号所对应的信号的原始数据时,信号描述符变量模块14将所述原始数据保存至相应的信号描述符变量中,即将u64raw变量中的初始值更新为所获取的原始数据。
参见上文对信号描述符数据结构定义的描述,变量结合中包含第一标识位,用于标识变量中是否保存有原始数据,当第一次保存原始数据替代初始化值时,该标识位由false变为TRUE;
并且,信号描述符变量模块调用物理数据接口获取所述更新后的原始数据;
物理数据接口15,用于将信号描述符变量中的原始数据换算为物理数据,将原始数据换算为物理数据的参数保存在信号描述符变量模块中,物理接口数据按照信号描述符变量模块中的参数将原始数据换算为物理数据。以及,在原始数据发生变化时,所述物理数据接口还将换算得到的物理数据发送到上层应用。
其中,所述数据帧数据结构为摩托罗拉升序编码格式motolsb或者摩托罗拉降序编码格式motomsb或者英特尔编码格式intel中的一种。
参照图2,说明本发明方法实施例的实现。
步骤21:获取CAN总线消息的帧数据;
步骤22:根据所获取的总线消息数据帧的前4个字节获取消息号;
步骤23:查找该消息号对应的信号描述符,获得各信号描述符分别对应的解析变量;
步骤24:利用解析函数及所述解析变量,分别从所述数据帧的后8个字节中解析获得各消息描述符对应的原始数据。
若从CAN总线解析得到消息所对应信号的原始数据时,还包括:
步骤25:保存所述原始数据与该信号的信号描述符的对应关系;
步骤26:查找该消息号对应的消息描述符,获得各消息描述符分别对应的换算变量;
步骤27:根据所述换算变量将信号描述符所对应的原始数据换算为物理数据;
步骤28:将所述物理数据发送至上层应用。
在步骤25中,若第一次获取保存信号的原始数据,则在该信号描述符所对应的标志位中进行标记。
以上对实施例的说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种CAN总线消息解析系统,其特征在于,包括:
数据接口,用于获取CAN总线消息的帧数据;
调用模块,用于根据所获取的总线消息数据帧的前4个字节获取消息号,并调用解析函数模块;
解析函数模块,根据所述消息号,加载信号描述符变量模块中所述消息号所对应信号的解析变量,并对所述总线消息数据帧的后8个字节进行解析,获得信号的原始数据,将获得的信号的原始数据保存至信号描述符变量模块;
信号描述符变量模块,按照总线消息中的每个信号,分别存储用于从总线消息数据帧中解析获得该信号的原始数据的变量,以及用于存储解析获得的信号的原始数据。
2.如权利要求1所述的系统,其特征在于,
信号描述符变量模块,所述信号描述符变量中包括第一标识位,用于标识变量中是否保存有原始数据。
3.如权利要求1或2所述的系统,其特征在于,
所述信号描述符变量模块,还存储将原始数据换算为物理数据的变量;以及,调用物理数据接口获取原始数据;
物理数据接口,按照所述变量将原始数据换算为物理数据。
4.如权利要求3所述的系统,其特征在于,
所述物理数据接口将换算得到的物理数据发送到上层应用。
5.如权利要求4所述的系统,其特征在于,
所述总线消息数据帧数据结构为摩托罗拉升序编码格式motolsb或者摩托罗拉降序编码格式motomsb或者英特尔编码格式Intel中的一种。
6.一种CAN总线消息解析方法,其特征在于,
获取CAN总线消息的帧数据;
根据所获取的总线消息数据帧的前4个字节获取消息号;
查找该消息号对应的信号描述符,获得各信号描述符分别对应的解析变量,
分别从所述数据帧的后8个字节中解析获得各信号描述符对应的原始数据。
7.如权利要求6所述的方法,其特征在于,还包括:
查找该消息号对应的消息描述符,获得各信号描述符分别对应的换算变量,
根据所述换算变量将信号描述符所对应的原始数据换算为物理数据。
8.一种CAN总线消息解析函数存取方法,其特征在于,应用于权利要求1-5任一项所述的CAN总线消息解析系统,所述方法包括:
获取数据库容器文件dbc中的消息号以及信号名;
查找所述信号名,获取从数据帧中获取信号原始数据的第一变量集合;
查找所述信号名,获取将所述信号原始数据换算为物理数据的第二变量集合;
按照预置的格式保存所述信号名以及所对应的所述第一变量集合与第二变量集合。
9.如权利要求8所述的方法,其特征在于,
所述按照预置的格式保存第一变量集合与第二变量集合,具体为:
保存信号名对应原始数据在数据帧的起始位置、原始数据长度以及原始数据位的初始化数据;
保存信号名对应的原始数据到物理数据的换算比例、原始数据到物理数据的偏移、物理数据的最小值及物理数据最大值。
10.如权利要求8所述的方法,其特征在于,
所述按照预置的格式保存还包括保存所述消息号。
CN201710390255.7A 2017-05-27 2017-05-27 一种通过can总线消息解析系统、方法及其函数存取方法 Active CN107220138B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710390255.7A CN107220138B (zh) 2017-05-27 2017-05-27 一种通过can总线消息解析系统、方法及其函数存取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710390255.7A CN107220138B (zh) 2017-05-27 2017-05-27 一种通过can总线消息解析系统、方法及其函数存取方法

Publications (2)

Publication Number Publication Date
CN107220138A CN107220138A (zh) 2017-09-29
CN107220138B true CN107220138B (zh) 2020-05-12

Family

ID=59946883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710390255.7A Active CN107220138B (zh) 2017-05-27 2017-05-27 一种通过can总线消息解析系统、方法及其函数存取方法

Country Status (1)

Country Link
CN (1) CN107220138B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108600192B (zh) * 2018-04-03 2021-03-30 南京越博动力系统股份有限公司 一种基于正则表达式的dbc文件解析及报文分析方法
CN108965293B (zh) * 2018-07-13 2021-06-11 智车优行科技(北京)有限公司 报文解析方法和装置、电子设备
CN109889482B (zh) * 2018-12-27 2020-05-12 北京理工大学 一种车辆协议解析方法及系统
CN110545283B (zh) * 2019-09-12 2022-08-23 潍柴动力股份有限公司 一种基于比特位的j1939变量数据采集方法
CN113438211A (zh) * 2021-06-07 2021-09-24 杭州鸿泉物联网技术股份有限公司 Dbc格式解析和报文解析方法、装置、电子设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101515861A (zh) * 2008-02-20 2009-08-26 中兴通讯股份有限公司 一种基于mcu的基站单板引导程序模块下载方法及系统
CN103941625A (zh) * 2014-05-08 2014-07-23 哈尔滨工业大学 Can总线数据传输监控系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016108963A1 (en) * 2014-12-30 2016-07-07 Battelle Memorial Institute Temporal anomaly detection on automotive networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101515861A (zh) * 2008-02-20 2009-08-26 中兴通讯股份有限公司 一种基于mcu的基站单板引导程序模块下载方法及系统
CN103941625A (zh) * 2014-05-08 2014-07-23 哈尔滨工业大学 Can总线数据传输监控系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1 5 53 B 总线消息解析方法研究和应用;舒传华;《遥测遥控》;20151130;全文 *

Also Published As

Publication number Publication date
CN107220138A (zh) 2017-09-29

Similar Documents

Publication Publication Date Title
CN107220138B (zh) 一种通过can总线消息解析系统、方法及其函数存取方法
US8788787B2 (en) Systems, methods and architecture for facilitating software access to acceleration technology
CN109558290B (zh) 服务器、接口自动化测试方法及存储介质
CN108388454B (zh) 动态提供兼容js脚本内容的方法、装置和终端设备
CN111541590B (zh) 链路监控方法、告警方法、系统、终端及存储介质
CN103294652A (zh) 一种数据转换方法及系统
CN112187936A (zh) 车辆数据处理方法、装置、设备、存储介质及车辆
CN112417515A (zh) 组态软件协议处理方法及系统
CN112147983B (zh) 一种车辆诊断方法、装置、电子设备及存储介质
CN114089713A (zh) 一种基于uds的通信方法、ecu及上位机
CN114385612A (zh) 一种数据处理方法、展示方法及装置、设备、存储介质
CN114282519A (zh) Can数据的解析方法及装置
CN116366701A (zh) 一种数字化楼宇的管理控制系统和方法
CN111176756A (zh) 数据采集方法、装置、计算机可读存储介质及电子设备
CN111694990B (zh) 车辆数据的处理方法、装置及存储介质
US8914420B2 (en) Populating data structures of software applications with input data provided according to extensible markup language (XML)
CN110826074A (zh) 一种应用漏洞检测方法、装置和计算机可读存储介质
CN115630614A (zh) 数据传输方法、装置、电子设备与介质
CN112463156B (zh) 一种组件属性联动校验的方法与终端
CN116010147A (zh) 异常处理表的生成方法、系统、电子设备及存储介质
CN106855888B (zh) 基于Logstash分布式系统的日志监控系统
CN114611500A (zh) 表达式处理方法、装置、电子设备及计算机可读存储介质
CN110297947B (zh) 一种数据调用方法、装置及电子设备
CN114063943A (zh) 数据传输系统、方法、装置、介质和设备
CN106230646B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190521

Address after: 100191 Healthy Zhigu 604, Building No. 35, Huayuan North Road, Haidian District, Beijing

Applicant after: Beacon Bird Travel Technology (Beijing) Co., Ltd.

Address before: 100083 Beijing Haidian District Garden North Road, No. 35, Building 6, 607

Applicant before: Cloud travel Intelligent Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant