CN111641635A - 一种无损传输can数据的方法及装置 - Google Patents

一种无损传输can数据的方法及装置 Download PDF

Info

Publication number
CN111641635A
CN111641635A CN202010467418.9A CN202010467418A CN111641635A CN 111641635 A CN111641635 A CN 111641635A CN 202010467418 A CN202010467418 A CN 202010467418A CN 111641635 A CN111641635 A CN 111641635A
Authority
CN
China
Prior art keywords
data
message
time
vehicle
data packet
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
CN202010467418.9A
Other languages
English (en)
Other versions
CN111641635B (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.)
Beijing Jingwei Hirain Tech Co Ltd
Original Assignee
Beijing Jingwei Hirain Tech 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 Beijing Jingwei Hirain Tech Co Ltd filed Critical Beijing Jingwei Hirain Tech Co Ltd
Priority to CN202010467418.9A priority Critical patent/CN111641635B/zh
Publication of CN111641635A publication Critical patent/CN111641635A/zh
Application granted granted Critical
Publication of CN111641635B publication Critical patent/CN111641635B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0644External master-clock
    • 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
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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
    • 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/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Abstract

本发明提供了一种无损传输CAN数据的方法及装置,该方案采集车辆的全量CAN数据,当业务需求发生变化时,只需从全量CAN数据选取对应的CAN数据即可,无需修改CAN数据采集程序,因此降低了车载设备的开发成本和开发难度,同时,提高程序的可靠性。而且,该方案在接收到CAN数据后根据精确绝对时间重建了CAN数据的时间戳,使得所有CAN数据具有基于同一精确计时标准的时间戳,因此,进一步能够准确重现整车状态。

Description

一种无损传输CAN数据的方法及装置
技术领域
本发明属于车联网技术领域,尤其涉及一种无损传输CAN数据的方法及装置。
背景技术
随着无线网络技术高速发展,车联网应用也迅速发展应用。车联网是物联网在汽车领域的典型应用,它以车内CAN总线网络、无线通信网、互联网为基础,按照约定的通信协议和数据交互标准,在车-人、车-路、车-车之间,进行实时的无线通讯和信息交换,从而能够实现智能交通管理、智能动态信息服务和车辆智能化控制的一体化网络体系。例如,典型的应用场景包括:用户可以通过手机APP查询和控制自己的车辆,整车厂可以通过车辆数据分析出车辆的当前状态。
目前的CAN数据传输方案基本都是针对具体需求确定需要采集哪类CAN数据,车载设备根据配置从CAN总线上筛选出指定类型的CAN数据,并在车载设备本地对数据进行初步处理,处理后的数据通过网络传输至云端服务器。这种方案只采集CAN数据中与配置相对应的信息,因此,无法重现整车的状态。而且,采集的CAN数据的时间戳不统一,无法准确地重现整车的状态。此外,若后期的需求进行调整,则需要对应调整CAN数据采集方案,如果需求不明确而频繁改动,则需要频繁修改对应的CAN数据采集方案,修改软件的成本非常高。
发明内容
有鉴于此,本发明的目的在于提供一种无损传输CAN数据的方法及装置,以解决传统的CAN数据传输方案只能采集部分有效信息且报文中的时间戳不统一的技术问题,具体的技术方案如下:
一方面,本发明提供了一种无损传输CAN数据的方法,应用于车载设备中,所述方法包括:
接收精确绝对时间并同步至所述车载设备;
采集每个CAN通道传输的CAN报文,并根据所述车载设备对应的绝对时间及机器时间重建接收到的CAN报文中的时间戳;
对重建时间戳后的CAN报文进行压缩得到压缩后的CAN数据;
将所述压缩后的CAN数据发送至云服务器。
可选地,所述采集每个CAN通道传输的CAN报文,并根据所述车载设备对应的绝对时间及机器时间重建接收到的CAN报文中的时间戳,包括:
创建数据包并根据所述车载设备本地最新的绝对时间更新创建数据包绝对时间,并记录与所述创建数据包绝对时间对应的机器时间,得到创建数据包机器时间;
当接收到CAN通道传输的CAN报文时,将所述CAN报文存入所述数据包中,并记录接收所述CAN报文的机器时间得到报文接收机器时间;
根据所述CAN报文对应的报文接收机器时间和存储所述CAN报文的数据包对应的创建数据包机器时间,计算得到接收所述CAN报文与创建数据包的时间差,并将所述时间差存储至所述CAN报文中,以使所述云服务器根据所述CAN报文中存储的时间差及存储所述CAN报文的数据包中存储的创建数据包绝对时间,计算得到所述CAN报文对应的接收绝对时间。
可选地,创建数据包并根据所述车载设备本地最新的绝对时间更新创建数据包绝对时间,包括:
在所述车载设备上电后,在所述车载设备的内存中配置用来存储CAN报文的内存空间,并在配置的内存空间内创建具有预设数据结构的数据包;
每当接收到所述精确绝对时间后,将接收到的精确绝对时间写入未写入数据的数据包的包头内。
可选地,对重建时间戳后的CAN报文进行压缩得到压缩后的CAN数据,包括:
对于未加密的CAN报文,依据CAN报文中的数据类别标识对重建时间戳后的CAN报文进行分类;
对于每一类重建时间戳后的CAN报文,利用无损压缩算法进行压缩得到压缩后的CAN数据;
将压缩后的CAN数据存储至所述车载设备的非易失存储芯片中。
可选地,对重建时间戳后的CAN报文进行压缩得到压缩后的CAN数据,包括:
对于加密的CAN报文,对加密的重建时间戳后的CAN报文进行解密得到重建时间戳后的解密CAN报文;
依据CAN报文中的数据类别标识,对所述重建时间戳后的解密CAN报文进行分类;
对于每一类重建时间戳后的解密CAN报文,利用无损压缩算法进行压缩得到压缩后的CAN数据;
将压缩后的CAN数据存储至所述车载设备的非易失性存储器中。
可选地,将所述压缩后的CAN数据发送至云服务器,包括:
获取所述车载设备所连接网络的当前网络状态;
若所述当前网络状态满足传输要求,则将所述压缩后的CAN数据发送至云服务器;
若所述当前网络状态不满足传输要求,则暂停向云服务器发送所述压缩后的CAN数据。
另一方面,本发明还提供了一种无损传输CAN数据的装置,应用于车载设备中,所述装置包括:
时间同步模块,用于接收精确绝对时间并同步至所述车载设备;
报文时间戳重建模块,用于采集每个CAN通道传输的CAN报文,并根据所述车载设备对应的绝对时间及机器时间重建接收到的CAN报文中的时间戳;
压缩模块,用于对重建时间戳后的CAN报文进行压缩得到压缩后的CAN数据;
上传模块,用于将所述压缩后的CAN数据发送至云服务器。
可选地,所述报文时间戳重建模块,包括:
创建包时间获取子模块,用于创建数据包并根据所述车载设备本地最新的绝对时间更新创建数据包绝对时间,并记录与所述创建数据包绝对时间对应的机器时间,得到创建数据包机器时间;
报文接收时间获取子模块,用于当接收到CAN通道传输的CAN报文时,将所述CAN报文存入所述数据包中,并记录接收所述CAN报文的机器时间得到报文接收机器时间;
报文时间差计算子模块,用于根据所述CAN报文对应的报文接收机器时间和存储所述CAN报文的数据包对应的创建数据包机器时间,计算得到接收所述CAN报文与创建数据包的时间差,并将所述时间差存储至所述CAN报文中,以使所述云服务器根据所述CAN报文中存储的时间差及存储所述CAN报文的数据包中存储的创建数据包绝对时间,计算得到所述CAN报文对应的接收绝对时间。
可选地,所述创建包时间获取子模块,用于创建数据包并根据所述车载设备本地最新的绝对时间更新创建数据包绝对时间时,具体用于:
在所述车载设备上电后,在所述车载设备的内存中配置用来存储CAN报文的内存空间,并在配置的内存空间内创建具有预设数据结构的数据包;
每当接收到所述精确绝对时间后,将接收到的精确绝对时间写入未写入数据的数据包的包头内。
可选地,所述压缩模块包括:
第一分类子模块,用于对于未加密的CAN报文,依据CAN报文中的数据类别标识对重建时间戳后的CAN报文进行分类;
第一无损压缩子模块,用于对于每一类重建时间戳后的CAN报文,利用无损压缩算法进行压缩得到压缩后的CAN数据;
第一存储子模块,用于将压缩后的CAN数据存储至所述车载设备的非易失存储芯片中。
本发明提供的无损传输CAN数据的方法,将外部模块提供的精确绝对时间同步至车载设备本地系统。采集每个CAN通道传输的CAN报文,即采集全量CAN数据,并根据车载设备的绝对时间及机器时间重建接收到的CAN报文中的时间戳,从而使接收到的所有CAN报文具有基于同一精确计时标准的时间戳。将重建时间戳后的CAN报文进行压缩后发送至云服务器。对CAN报文进行压缩提高传输效率,降低全量CAN数据的传输成本。利用该方案能够传输全量CAN数据,当业务需求发生变化时,只需从全量CAN数据选取对应的CAN数据即可,无需修改CAN数据采集程序,因此降低了车载设备的开发成本和开发难度,同时,提高程序的可靠性。而且,该方案在接收到CAN数据后根据精确绝对时间重建了CAN数据的时间戳,使得所有CAN数据具有基于同一精确计时标准的时间戳,因此,进一步能够准确重现整车状态。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种无损传输CAN数据的系统结构示意图;
图2是本发明实施例提供的一种无损传输CAN数据的方法流程图;
图3是本发明实施例提供的另一种无损传输CAN数据的方法流程图;
图4是本发明实施例提供的一种CAN数据的数据包的结构示意图;
图5是本发明实施例提供的一种无损传输CAN数据的装置结构示意图;
图6是本发明实施例提供的一种报文时间戳重建模块的结构示意图;
图7是本发明实施例提供的一种压缩模块的结构示意图;
图8是本发明实施例提供的另一种压缩模块的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,示出了本发明实施例提供的一种无损传输CAN数据的系统结构示意图,该系统包括车载设备1、云服务器2、CAN总线3和高精度时间模块4。
车载设备1和云服务器2之间通过网络互联,例如,移动通信网络(如4G网络、5G网络等),或其他网络。
车载设备1是指能够接入车身CAN总线,且硬件满足要求(如处理器性能、内存、磁盘、网络等)的设备,例如,车载设备1可以是车载通信模块(Telematics Box,T-Box)。
车载设备1用于采集车辆内部全部CAN总线3上的数据,即全量CAN数据,并发送至云服务器2。
高精度时间模块4用于周期性向车载设备1发送精确绝对时间,以使车载设备1根据该精确绝对时间重建接收到的CAN报文的时间戳。其中,高精度时间模块4可以是全球定位系统(Global Positioning System,GPS)模块。
请参见图2,示出了本发明实施例提供的一种无损传输CAN数据的方法流程图,该方法应用于图1中的车载设备中,如图2所示,该方法包括以下步骤:
S110,将接收到的精确绝对时间同步至车载设备。
本实施例以高精度时间模块为GPS模块为例进行说明,GPS模块周期性发出高精度的绝对时间(Coordinated Universal Time,UTC),车载设备每次接收到UCT时间后都同步校准系统本地的时间,例如,将每次接收到的UCT时间同步至车载设备中,例如,将接收到的UCT时间存储在车载设备本地。
S120,采集每个CAN通道传输的CAN报文,并根据车载设备对应的绝对时间及机器时间重建接收到的CAN报文中的时间戳。
本发明对车辆中的每一个CAN总线上的数据都进行采集,即采集全量CAN数据。
车载设备的绝对时间通过接收外部的高精度时间模块发出的精确绝对时间得到。车载设备的机器时间是车载设备根据处理器芯片自身的计数器记录的时间,对于不同的处理器芯片其计数器的一致性很难保证,所以不同处理器的机器时间不统一,因此,CAN报文中的时间戳存在不统一的问题。
数据包内记录有创建数据包的绝对时间,同时,车载设备记录了创建数据包的机器时间。当接收到CAN报文后,记录接收该CAN报文时的机器时间,然后,根据创建数据包的绝对时间、机器时间,以及接收CAN报文的机器时间,能够计算得到接收该CAN报文的绝对时间,可以将接收该CAN报文的绝对时间写入CAN报文中,得到重建时间戳后的CAN报文。
在本发明的一个优选实施例中,用来存储CAN数据的数据包中仅存储相对时间,即接收CAN报文的机器时间与创建该数据包的机器时间之间的时间差,因为相对时间的数据量小于绝对时间的数据量,因此,在数据包中存储相对时间能够节省存储空间。
S130,对重建时间戳后的CAN报文进行压缩得到压缩后的CAN数据。
由于全量CAN数据的数据量较大,所以传输全量CAN数据需要的传输时间较长,且需要耗费更多的带宽资源。对全量CAN数据进行压缩减小了数据量,节省了传输时间、节省了传输带宽资源,因此降低了传输成本、提高了传输效率。
其中,可以采用位比特压缩算法对CAN数据进行压缩。
S140,将压缩后的CAN数据发送至云服务器。
在本申请的一个实施例中,当将压缩后的CAN数据上传至云服务器时,先判断车载设备与云服务器之间的网络的状态,若网络状态良好,则将压缩后的CAN数据发送至云服务器。若网络状态较差或故障,则暂停向云服务器发送压缩后的CAN数据。待网络状态转好后再向云服务器上传压缩后的CAN数据。
本实施例提供的无损传输CAN数据的方法,将外部模块提供的精确绝对时间同步至本地系统。采集每个CAN通道传输的CAN报文,即采集全量CAN数据,并根据车载设备的绝对时间及机器时间重建接收到的CAN报文中的时间戳,从而使接收到的所有CAN报文具有基于同一精确计时标准的时间戳。将重建时间戳后的CAN报文进行压缩后发送至云服务器。对CAN报文进行压缩提高传输效率,降低全量CAN数据的传输成本。利用该方案能够传输全量CAN数据,当业务需求发生变化时,只需从全量CAN数据选取对应的CAN数据即可,无需修改CAN数据采集程序,因此降低了车载设备的开发成本和开发难度,同时,提高程序的可靠性。而且,该方案在接收到CAN数据后根据精确绝对时间重建了CAN数据的时间戳,使得所有CAN数据具有基于同一精确计时标准的时间戳,因此,进一步能够准确重现整车状态。
请参见图3,示出了本发明实施例提供的另一种无损传输CAN数据的方法流程图,该方法应用于车载设备中。本实施例将着重介绍重建CAN报文中的时间戳的过程,如图3所示,该方法主要包括如下步骤:
S210,车载设备周期性接收高精度时间模块发出的精确绝对时间。
本实施例中,以车载设备为多核处理器(如,多核IMX8系列处理器)为例进行说明,IMX8芯片内的内核Cortex-M4周期性接收GPS模块发出的高精度UCT绝对时间,并且,内核Cortex-M4根据UCT时间同步更新车载设备本地的绝对时间。
S220,创建数据包,根据车载设备本地最新的绝对时间更新创建数据包绝对时间,且车载设备记录与创建数据包绝对时间对应的机器时间得到创建数据包机器时间。
用来存储CAN数据的数据结构以数据包为基本单位,如图4所示,每个数据包包括包头帧(即,包头)和若干数据帧(即,数据1~N)。
每个包头帧包括包序号、数据长度、创建数据包时间;包序号用于区分不同的数据包,数据长度用来表示后面的数据帧的长度,创建数据包时间用来存储创建该数据包的绝对时间,即创建数据包绝对时间。
每个数据帧包括CANID、本条数据的长度、数据部分和与创建数据包的时间差。CANID是CAN数据的类别标识,用于表示本条CAN数据的类型;与创建数据包的时间差是指接收本条CAN数据与创建该数据包之间的时间差,如何获取时间差将在S240中详细介绍。
例如,CAN数据的类型可以包括:车窗信息、车灯信息、负载诊断等信息。
需要说明的是,本文中的创建数据包的时间实际是指创建包头帧的时间,此时数据包的数据帧中并未写入CAN数据。
在本发明的一个实施例中,车载设备初始化时,内核Cortex-M4根据设定好的程序分配好用来存储CAN数据的内存空间,当接收到CAN数据时在分配好的内存空间内创建数据包用来存储CAN数据。
本实施例中,在创建数据包时,将车载设备当前的绝对时间写入包头的创建数据包时间字段内,并装入包序号及数据长度。包头中的时间即创建数据包的绝对时间。与此同时,车载设备记录当前的机器时间,即创建数据包机器时间。
在本发明的另一个实施例中,在车载设备上电后,内核Cortex-M4根据设定好的程序分配用来存储采集到的CAN数据的内存空间,并在分配好的内存空间内创建空数据包,当接收到CAN数据后直接写入数据包中,此种提前创建空数据包的方式能够存储效率和传输效率。
在本实施例中,系统上电后内核Cortex-M4就提前创建数据包,创建数据包时,将车载设备的当前绝对时间注入包头,并装入帧号及数据长度。同时,车载设备记录当前的机器时间。此后,车载设备在每次接收到GPS模块发出的精确绝对时间后,都会更新未写入数据的数据包的包头中的时间信息(即,在向数据包中写入CAN数据之前,每接收到精确绝对时间都需要对应更新包头中的时间信息),同时,车载设备记录当前的机器时间,即创建数据包机器时间,需要说明的是,该机器时间记录在车载设备中并未写入数据包中。
本步骤中,车载设备记录创建数据包的机器时间的目的是便于后续计算出接收CAN报文与创建数据包之间的时间差。
S230,当接收到CAN报文时,将CAN报文写入数据包中,并记录接收CAN报文的机器时间,得到报文接收机器时间。
以IMX8芯片为例,当内核Cortex-M4从CAN通道接收到CAN报文后,将CAN报文写入数据包的同时记录当前的机器时间,即报文接收机器时间。需要说明的是,报文接收机器时间记录在车载设备中,并未写入数据包中。
S240,根据CAN报文对应的接收报文机器时间和对应的创建数据包机器时间,计算得到接收CAN报文与创建数据包的时间差,并将该时间差写入CAN报文中。
车载设备中记录有接收CAN报文的机器时间(即,接收报文机器时间),同时,还记录有用来存储该CAN报文的数据包的创建数据包机器时间,按照如下公式1计算得到接收CAN报文与创建数据包之间的时间差:
时间差=接收报文机器时间-创建数据包机器时间(式1)
最后,将计算得到的时间差存入该数据包的数据帧中的与创建数据包的时间差字段中。
当数据包传输至云服务器端后,云服务器可以根据数据包中存储的创建数据包绝对时间以及接收CAN报文与创建数据包的时间差,按照如下公式2计算得到车载设备接收CAN报文的绝对时间:
接收报文绝对时间=创建数据包绝对时间+时间差 (式2)
以IMX8芯片为例,内核Cortex-M4重复步骤S230~S240,将当前数据包装满,并把装满的数据包通过IMX8芯片的MU数据通道发送至IMX8芯片的内核Cortex-A。
S250,判断CAN报文是否加密,如果加密,则执行S260;如果未加密,则执行S270。
如果CAN报文已加密,则先将CAN报文进行解密,再执行后续的数据分类步骤;如果CAN报文未加密,则直接执行后续的数据分类步骤。
S260,对加密的CAN报文进行解密。
若车载设备接收到的CAN数据为加密数据,且车载设备具有相应的解密算法,则先利用相应的解密算法进行解密,得到解密后的CAN报文,然后执行S270。
S270,车载设备按照数据包内的数据类别标识,对当前数据包进行分类。
内核Cortex-A接收到内核Cortex-M4发送的数据包后,依据数据包内的CANID对当前包进行CAN数据分类。例如,根据图4所示数据结构中的CANID确定当前CAN数据的类型。
具有相同CANID的CAN报文的相似性较高,且在很长时间会保持不变,例如,汽车无论在行驶状态还是停泊状态,大多数车身信息几乎保持不变,如车窗、座椅、车灯、负载诊断(如,车灯是否损坏、座椅电机是否正常)信息等,这些信息数据的一致性较好,对具有较好一致性的数据进行压缩能够提高压缩效率,因此,在对CAN数据进行压缩之前先将CAN数据进行分类。
S280,利用无损压缩算法对每一类CAN报文进行压缩,得到压缩后的CAN数据。
对CAN数据分类后,内核Cortex-A利用无损压缩算法对每一类CAN数据进行压缩,得到压缩后的CAN数据。其中,无损压缩算法是指压缩后能够完整还原信息的压缩方式,如位比特压缩算法。
S290,车载设备将压缩后的CAN数据存储至非易失性存储器中。
非易失性存储器具有掉电不丢失数据的特性,因此将压缩数据存储至车载设备的非易失性存储器中能够保证数据的安全性。
S2100,车载设备获取自身与云服务器之间的网络的当前网络状态,若网络状态良好,则执行S2110;若网络状态较差或故障,则执行S2120。
车载设备与云服务器之间通过移动通信网络(例如,4G网络或5G网络)或其他网络连接。优选利用5G等高实时性的通信网络,以便减少通信过程的延时,提高云服务器接收数据的实时性。
例如,IMX8芯片的内核Cortex-A通过无线传输模块(如4G/5G通信模块)获取网络的信号强度,如果网络信号强度大于或等于信号强度预设值,则确定当前网络状态良好;如果网络信号强度小于信号强度预设值,则确定当前网络状态较差或出现故障。
当然,内核Cortex-A也可以通过发送数据包失败(或发送速度变慢)判断出网络状态较差,如内核Cortex-A连续发出的预设数量个(如,2个或3个)数据包都发送失败,则确定当前网络状态较差或存在故障。预设数量可以根据实际需求自行设定。
S2110,车载设备将压缩后的CAN数据上传至云服务器。
IMX8芯片的内核Cortex-A将压缩后的CAN数据发送至云服务器。
S2120,车载设备暂停向云服务器上传数据。
如果当前网络状态较差或存在故障,则暂停向云服务器传输数据,待网络状态良好后,再将数据上传至云服务器。
由上述内容可知,以车载设备的处理器芯片为IMX8芯片为例,S210~S240由内核Cortex-M4执行,S250~2120由内核Cortex-A执行。
本实施例提供的无损传输CAN数据的方法,采集全量CAN数据,车载设备不对CAN数据进行筛选处理,云服务器根据实际业务需求从接收的全量CAN数据中进行筛选即可,当业务需求发生变化时,无需修改车载设备侧的数据采集程序,因此,降低了修改软件程序的成本。而且,采集全量CAN数据并上传至云服务器能够根据具体需求进行深层次数据处理和分析。该方案还根据接收到的精确绝对时间重构接收到的CAN数据中的时间戳,使所有CAN数据具有基于同一精确计时标准的时间戳,能够准确记录各个时间下的整车状态。
此外,该方案在对数据进行压缩之前先对数据进行分类,同一类型的CAN数据的一致性较好,因此,提高了压缩效率,传输压缩数据能够提高数据传输效率。
相应于上述的无损传输CAN数据的方法实施例,本发明还提供了无损传输CAN数据的装置实施例。
请参见图5,示出了本发明实施例提供的一种无损传输CAN数据的装置结构示意图,该装置应用于车载设备中,如图5所示,该装置包括:时间同步模块110、报文时间戳重建模块120、压缩模块130和上传模块140。
时间同步模块110,用于接收精确绝对时间并同步至车载设备。
报文时间戳重建模块120,用于采集每个CAN通道传输的CAN报文,并根据车载设备对应的绝对时间及机器时间重建接收到的CAN报文中的时间戳。
在本发明的一个实施例中,如图6所示,报文时间戳重建模块120包括:创建包时间获取子模块121、报文接收时间获取子模块122和报文时间差计算子模块123。
创建包时间获取子模块121,用于创建数据包,并根据车载设备本地最新的绝对时间更新创建数据包绝对时间,并记录与创建数据包绝对时间对应的机器时间,得到创建数据包机器时间。
其中,创建数据包并根据车载设备本地最新的绝对时间更新创建数据包绝对时间的过程具体包括:
在车载设备上电后,在车载设备的内存中配置用来存储CAN报文的内存空间,并在配置的内存空间内创建具有预设数据结构的数据包;
每当接收到精确绝对时间后,将接收到的精确绝对时间写入未写入数据的数据包的包头内。
报文接收时间获取子模块122,用于当接收到CAN通道传输的CAN报文时,将CAN报文存入数据包中,并记录接收CAN报文的机器时间得到报文接收机器时间。
报文时间差计算子模块123,用于根据CAN报文对应的报文接收机器时间和存储CAN报文的数据包对应的创建数据包机器时间,计算得到接收CAN报文与创建数据包的时间差,并将时间差存储至CAN报文中,以使云服务器根据CAN报文中存储的时间差及存储CAN报文的数据包中存储的创建数据包绝对时间,计算得到CAN报文对应的接收绝对时间。
压缩模块130,用于对重建时间戳后的CAN报文进行压缩得到压缩后的CAN数据。
在本发明的一个应用场景中,车载设备采集到的CAN数据未加密,此应用场景下,如图7所示,压缩模块130可以包括:第一分类子模块1311、第一无损压缩子模块1312和第一存储子模块1313。
第一分类子模块1311,用于对于未加密的CAN报文,依据CAN报文中的数据类别标识对重建时间戳后的CAN报文进行分类;
第一无损压缩子模块1312,用于对于每一类重建时间戳后的CAN报文,利用无损压缩算法进行压缩得到压缩后的CAN数据;
第一存储子模块1313,用于将压缩后的CAN数据存储至车载设备的非易失存储芯片中。
在本发明的另一个应用场景中,车载设备采集的CAN已加密,此种应用场景下,如图8所示,压缩模块130包括:解密子模块1321、第二分类子模块1322、第二无损压缩子模块1323和第二存储子模块1324。
解密子模块1321,用于对于加密的CAN报文,对加密的重建时间戳后的CAN报文进行解密得到重建时间戳后的解密CAN报文;
第二分类子模块1322,用于依据CA报文中的数据类别标识,对重建时间戳后的解密CAN报文进行分类;
第二无损压缩子模块1323,用于对于每一类重建时间戳后的解密CAN报文,利用无损压缩算法进行压缩得到压缩后的CAN数据;
第二存储子模块1324,用于将压缩后的CAN数据存储至车载设备的非易失性存储器中。
上传模块140,用于将压缩后的CAN数据发送至云服务器。
在本发明的一个实施例中,上传模块具体用于:
获取车载设备所连接网络的当前网络状态;
若当前网络状态满足传输要求,则将压缩后的CAN数据发送至云服务器;
若当前网络状态不满足传输要求,则暂停向云服务器发送压缩后的CAN数据。
本实施例提供的无损传输CAN数据的装置,该装置采集车辆的全量CAN数据,当业务需求发生变化时,只需从全量CAN数据选取对应的CAN数据即可,无需修改CAN数据采集程序,因此降低了车载设备的开发成本和开发难度,同时,提高程序的可靠性。此外,采集全量CAN数据并上传至云服务器能够根据具体需求进行深层次数据处理和分析。而且,该方案在接收到CAN数据后根据精确绝对时间重建了CAN数据的时间戳,使得所有CAN数据具有基于同一精确计时标准的时间戳,因此,进一步能够准确重现整车状态。此外,该方案在对数据进行压缩之前先对数据进行分类,同一类型的CAN数据的一致性较好,因此,提高了压缩效率,传输压缩数据能够提高数据传输效率。
本发明实施例提供了一种车载设备,该车载设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述任一种无损传输CAN数据的方法实施例。
本发明还提供了一种计算设备可执行的存储介质,该存储介质中存储有程序,该程序由计算设备执行时实现上述的上述任一种无损传输CAN数据的方法实施例。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
需要说明的是,本说明书中的各个实施例记载的技术特征可以相互替代或组合,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明各实施例中的装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
本发明所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种无损传输CAN数据的方法,其特征在于,应用于车载设备中,所述方法包括:
接收精确绝对时间并同步至所述车载设备;
采集每个CAN通道传输的CAN报文,并根据所述车载设备对应的绝对时间及机器时间重建接收到的CAN报文中的时间戳;
对重建时间戳后的CAN报文进行压缩得到压缩后的CAN数据;
将所述压缩后的CAN数据发送至云服务器。
2.根据权利要求1所述的方法,其特征在于,所述采集每个CAN通道传输的CAN报文,并根据所述车载设备对应的绝对时间及机器时间重建接收到的CAN报文中的时间戳,包括:
创建数据包并根据所述车载设备本地最新的绝对时间更新创建数据包绝对时间,并记录与所述创建数据包绝对时间对应的机器时间,得到创建数据包机器时间;
当接收到CAN通道传输的CAN报文时,将所述CAN报文存入所述数据包中,并记录接收所述CAN报文的机器时间得到报文接收机器时间;
根据所述CAN报文对应的报文接收机器时间和存储所述CAN报文的数据包对应的创建数据包机器时间,计算得到接收所述CAN报文与创建数据包的时间差,并将所述时间差存储至所述CAN报文中,以使所述云服务器根据所述CAN报文中存储的时间差及存储所述CAN报文的数据包中存储的创建数据包绝对时间,计算得到所述CAN报文对应的接收绝对时间。
3.根据权利要求2所述的方法,其特征在于,创建数据包并根据所述车载设备本地最新的绝对时间更新创建数据包绝对时间,包括:
在所述车载设备上电后,在所述车载设备的内存中配置用来存储CAN报文的内存空间,并在配置的内存空间内创建具有预设数据结构的数据包;
每当接收到所述精确绝对时间后,将接收到的精确绝对时间写入未写入数据的数据包的包头内。
4.根据权利要求1所述的方法,其特征在于,对重建时间戳后的CAN报文进行压缩得到压缩后的CAN数据,包括:
对于未加密的CAN报文,依据CAN报文中的数据类别标识对重建时间戳后的CAN报文进行分类;
对于每一类重建时间戳后的CAN报文,利用无损压缩算法进行压缩得到压缩后的CAN数据;
将压缩后的CAN数据存储至所述车载设备的非易失存储芯片中。
5.根据权利要求1所述的方法,其特征在于,对重建时间戳后的CAN报文进行压缩得到压缩后的CAN数据,包括:
对于加密的CAN报文,对加密的重建时间戳后的CAN报文进行解密得到重建时间戳后的解密CAN报文;
依据CAN报文中的数据类别标识,对所述重建时间戳后的解密CAN报文进行分类;
对于每一类重建时间戳后的解密CAN报文,利用无损压缩算法进行压缩得到压缩后的CAN数据;
将压缩后的CAN数据存储至所述车载设备的非易失性存储器中。
6.根据权利要求1所述的方法,其特征在于,将所述压缩后的CAN数据发送至云服务器,包括:
获取所述车载设备所连接网络的当前网络状态;
若所述当前网络状态满足传输要求,则将所述压缩后的CAN数据发送至云服务器;
若所述当前网络状态不满足传输要求,则暂停向云服务器发送所述压缩后的CAN数据。
7.一种无损传输CAN数据的装置,其特征在于,应用于车载设备中,所述装置包括:
时间同步模块,用于接收精确绝对时间并同步至所述车载设备;
报文时间戳重建模块,用于采集每个CAN通道传输的CAN报文,并根据所述车载设备对应的绝对时间及机器时间重建接收到的CAN报文中的时间戳;
压缩模块,用于对重建时间戳后的CAN报文进行压缩得到压缩后的CAN数据;
上传模块,用于将所述压缩后的CAN数据发送至云服务器。
8.根据权利要求7所述的装置,其特征在于,所述报文时间戳重建模块,包括:
创建包时间获取子模块,用于创建数据包并根据所述车载设备本地最新的绝对时间更新创建数据包绝对时间,并记录与所述创建数据包绝对时间对应的机器时间,得到创建数据包机器时间;
报文接收时间获取子模块,用于当接收到CAN通道传输的CAN报文时,将所述CAN报文存入所述数据包中,并记录接收所述CAN报文的机器时间得到报文接收机器时间;
报文时间差计算子模块,用于根据所述CAN报文对应的报文接收机器时间和存储所述CAN报文的数据包对应的创建数据包机器时间,计算得到接收所述CAN报文与创建数据包的时间差,并将所述时间差存储至所述CAN报文中,以使所述云服务器根据所述CAN报文中存储的时间差及存储所述CAN报文的数据包中存储的创建数据包绝对时间,计算得到所述CAN报文对应的接收绝对时间。
9.根据权利要求8所述的装置,其特征在于,所述创建包时间获取子模块,用于创建数据包并根据所述车载设备本地最新的绝对时间更新创建数据包绝对时间时,具体用于:
在所述车载设备上电后,在所述车载设备的内存中配置用来存储CAN报文的内存空间,并在配置的内存空间内创建具有预设数据结构的数据包;
每当接收到所述精确绝对时间后,将接收到的精确绝对时间写入未写入数据的数据包的包头内。
10.根据权利要求7所述的装置,其特征在于,所述压缩模块包括:
第一分类子模块,用于对于未加密的CAN报文,依据CAN报文中的数据类别标识对重建时间戳后的CAN报文进行分类;
第一无损压缩子模块,用于对于每一类重建时间戳后的CAN报文,利用无损压缩算法进行压缩得到压缩后的CAN数据;
第一存储子模块,用于将压缩后的CAN数据存储至所述车载设备的非易失存储芯片中。
CN202010467418.9A 2020-05-28 2020-05-28 一种无损传输can数据的方法及装置 Active CN111641635B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010467418.9A CN111641635B (zh) 2020-05-28 2020-05-28 一种无损传输can数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010467418.9A CN111641635B (zh) 2020-05-28 2020-05-28 一种无损传输can数据的方法及装置

Publications (2)

Publication Number Publication Date
CN111641635A true CN111641635A (zh) 2020-09-08
CN111641635B CN111641635B (zh) 2022-05-27

Family

ID=72331176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010467418.9A Active CN111641635B (zh) 2020-05-28 2020-05-28 一种无损传输can数据的方法及装置

Country Status (1)

Country Link
CN (1) CN111641635B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102413055A (zh) * 2011-12-19 2012-04-11 曙光信息产业(北京)有限公司 一种软硬件结合实现的报文时间戳标记系统和方法
DE102012216012A1 (de) * 2012-09-10 2014-03-13 Continental Automotive Gmbh Datenaufzeichenvorrichtung für ein Fahrzeugnetzwerk
CN106603367A (zh) * 2017-02-28 2017-04-26 北京艾利特科技有限公司 一种用于时间同步的can总线通信方法
CN106885601A (zh) * 2017-01-09 2017-06-23 北京理工大学 无人车多传感器数据同步采集系统
US20170343392A1 (en) * 2016-05-24 2017-11-30 Quicklogic Corporation Sensor hub batch packing
CN108243259A (zh) * 2018-02-08 2018-07-03 北京车和家信息技术有限公司 车联网数据的传输方法、装置及系统
WO2018130363A1 (de) * 2017-01-10 2018-07-19 Bayerische Motoren Werke Aktiengesellschaft Zentrale datenablage im bordnetz
CN108377266A (zh) * 2018-02-07 2018-08-07 安徽星网软件技术有限公司 一种基于车联网的实时数据传输方法及系统
CN108377173A (zh) * 2018-02-09 2018-08-07 北京车和家信息技术有限公司 一种时钟同步方法及装置和车辆
CN109104259A (zh) * 2017-08-25 2018-12-28 杭州德泽机器人科技有限公司 一种多传感器对时同步系统和方法
CN109816811A (zh) * 2018-10-31 2019-05-28 杭州云动智能汽车技术有限公司 一种自然驾驶数据采集装置
CN111193781A (zh) * 2019-12-17 2020-05-22 郑州嘉晨电器有限公司 一种车辆运行数据实时采集传输方法及系统

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102413055A (zh) * 2011-12-19 2012-04-11 曙光信息产业(北京)有限公司 一种软硬件结合实现的报文时间戳标记系统和方法
DE102012216012A1 (de) * 2012-09-10 2014-03-13 Continental Automotive Gmbh Datenaufzeichenvorrichtung für ein Fahrzeugnetzwerk
US20170343392A1 (en) * 2016-05-24 2017-11-30 Quicklogic Corporation Sensor hub batch packing
CN106885601A (zh) * 2017-01-09 2017-06-23 北京理工大学 无人车多传感器数据同步采集系统
WO2018130363A1 (de) * 2017-01-10 2018-07-19 Bayerische Motoren Werke Aktiengesellschaft Zentrale datenablage im bordnetz
CN106603367A (zh) * 2017-02-28 2017-04-26 北京艾利特科技有限公司 一种用于时间同步的can总线通信方法
CN109104259A (zh) * 2017-08-25 2018-12-28 杭州德泽机器人科技有限公司 一种多传感器对时同步系统和方法
CN108377266A (zh) * 2018-02-07 2018-08-07 安徽星网软件技术有限公司 一种基于车联网的实时数据传输方法及系统
CN108243259A (zh) * 2018-02-08 2018-07-03 北京车和家信息技术有限公司 车联网数据的传输方法、装置及系统
CN108377173A (zh) * 2018-02-09 2018-08-07 北京车和家信息技术有限公司 一种时钟同步方法及装置和车辆
CN109816811A (zh) * 2018-10-31 2019-05-28 杭州云动智能汽车技术有限公司 一种自然驾驶数据采集装置
CN111193781A (zh) * 2019-12-17 2020-05-22 郑州嘉晨电器有限公司 一种车辆运行数据实时采集传输方法及系统

Also Published As

Publication number Publication date
CN111641635B (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
CN111010415B (zh) 针对车联网的数据传输方法和装置
CN108011904B (zh) 信息发送方法、接收方法、装置及信息收发系统
CN106936890B (zh) 汇聚车辆相关的大数据
EP3267647B1 (en) Method and device for data transmission
WO2018137712A1 (zh) 一种通信方法和通信设备
CN110858850A (zh) 一种轨道交通系统综合网管方法、装置及系统
CN110740481B (zh) 基于服务质量的数据处理方法、设备和计算机存储介质
CN109963749B (zh) 在机载网络中的中央数据存档
CN112672328A (zh) 数据传输方法、装置及设备及环境数据的获取方法
CN111641635B (zh) 一种无损传输can数据的方法及装置
CN107528757B (zh) 一种mvb总线数据的监控方法、装置及系统
WO2013135090A1 (zh) 一种消息发送、获取、处理方法及相关装置及系统
CN111694766B (zh) 一种can数据采集方法及装置
US11945382B2 (en) System, server computer thereof, control method, and computer program
WO2021147319A1 (zh) 一种数据处理方法、装置、设备及介质
CN113127472A (zh) 一种针对大上报量的司机数量实时去重统计的方法及系统
US10330484B2 (en) Correlating a route with a network operation
WO2020114310A1 (en) Method, network node and network for recording and providing data,
CN115473858A (zh) 数据传输方法和流式数据传输系统
CN111935199B (zh) 一种车载软件版本信息同步方法、装置、系统及车辆
KR20180118853A (ko) 차량 데이터의 특성 및 가용 통신망에 근거하여 그 차량 데이터를 외부에 제공하는 방법 및 장치
Wac et al. Measurements-based performance evaluation of 3G wireless networks supporting m-health services
Görne et al. Smart data preprocessing method for remote vehicle diagnostics to increase data compression efficiency
CN115426684B (zh) 一种院前数据的接收方法
KR102614923B1 (ko) 통합 v2x 데이터 포맷을 활용한 v2x 데이터 처리 방법

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
CB02 Change of applicant information

Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020

Applicant after: Beijing Jingwei Hengrun Technology Co., Ltd

Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101

Applicant before: Beijing Jingwei HiRain Technologies Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant