CN111447128A - 可远程动态配置的整车数据采集上传方法及存储介质 - Google Patents
可远程动态配置的整车数据采集上传方法及存储介质 Download PDFInfo
- Publication number
- CN111447128A CN111447128A CN202010215063.4A CN202010215063A CN111447128A CN 111447128 A CN111447128 A CN 111447128A CN 202010215063 A CN202010215063 A CN 202010215063A CN 111447128 A CN111447128 A CN 111447128A
- Authority
- CN
- China
- Prior art keywords
- uploading
- data
- signal
- mcu
- white list
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种可远程动态配置的整车数据采集上传方法及存储介质,采用白名单过滤机制,通过内置通讯模块接收TSP服务商下发的配置信息,在经过脚本解析后利用MCU控制CAN信号的触发条件与相应动作,并通过T‑BOX内的数据处理模块实现白名单CAN报文的数据采集,数据处理、存储和上传。本发明能够实现车身CAN网络与外界的实时通讯,使得汽车设计制造商或服务提供商能够实时监控车身各控制器的工作状态。
Description
技术领域
本发明属于整车数据采集传输技术领域,具体涉及一种可远程动态配置的整车数据采集上传方法、存储介质。
背景技术
在汽车控制中,每一个可控硬件都对应一个ECU(Electronic Control Unit),即电子控制单元。作为汽车专用微控制器,ECU在控制部件的同时产生相应的信号。随着汽车可控硬件的增多,ECU也随之增多。当车身存在众多ECU且存在信息交互时,CAN网络技术迅速得到了应用。
CAN(Aera Control Network)网络即局域控制器网络,普遍应用于汽车控制网络。在CAN网络中,参与CAN网络通讯的各个公共节点称之为CAN节点。对应于整车,每个ECU即视为一个CAN节点,而各个CAN节点通过CAN总线进行连接。由于车身ECU众多,各ECU的功能与信号传输速率也不尽相同。据此,将车身CAN总线分为多条CAN总线。为了方便管理各条CAN总线上各个CAN节点的信号传送与处理,同时又引入了网关来实现整体的管理。
总的来说,车身CAN网络相对封闭,无法与车身外的网络进行实时的信息交互。传统方式下,MCU终端会固定采集几类或几个信号进行上传,但此方法具有较多的局限性:一是在当今快速化的社会节奏中无法实现实时上传的要求;二是由于所采信号在出厂前均已成为默认设置,无法更加灵活地实现信息的交互。针对于此,开发一种新的方案实现可远程动态配置数据的采集与上传方案就显得尤为重要。
发明内容
本发明的目的是提供一种可远程动态配置的整车数据采集上传方法及存储介质,以实现车身CAN网络与外界的实时通讯,使得汽车设计制造商或服务提供商能实时监控车身各控制器的工作状态。
本发明所述的可远程动态配置的整车数据采集上传方法,采用白名单过滤机制,通过内置通讯模块接收TSP服务商下发的配置信息,在经过脚本解析后利用MCU控制CAN信号的触发条件与相应动作,并通过T-BOX内的数据处理模块实现白名单CAN报文的数据采集,数据处理、存储和上传。
进一步,在获取TSP服务商下发的XML脚本信息后,通过脚本解析转换,使脚本数据转换为***可识别的CAN白名单信息,由MCU配置相应CAN信号的触发条件与动作。
进一步,在MCU获取到CAN白名单信息后将该CAN白名单信息反馈到NAD侧,NAD依据车型DBC文获取到车身CAN信号中的各信号位置,并将各信号位置与MCU反馈的白名单配置信息中的CAN一一对应,完成TSP配置信息与车身CAN信号的匹配。
进一步,当CAN网络中处于CAN白名单内的CAN信号发生变化时,CAN收发模块即采集这些变化的CAN信号。
进一步,在对采集到的CAN信号做数据处理时,对采集到的CAN信号进行组合逻辑判断,在满足预设逻辑组合后则触发相应的事件,进行相应数据的封包上传;触发事件包括参数上传、参数的操作与历史数据上传。
进一步,依据配置流程中解析的其他项中获取当前配置脚本的上报逻辑,当上传方式为立即上传时,则对数据进行实时上传;当上传方式为定时存储上传时,则先将数据写入发送缓冲区,然后再进行压缩上传。
第二方面,本发明所述的一种存储介质,其存储有一个或多个计算机可读程序,所述计算机可读程序被一个或多个控制器调用执行时,能实现如本发明所述的可远程动态配置的整车数据采集上传方法的步骤。
本发明具有以下优点:在数据采集的过程中,可通过远程配置的方式实现待采数据信号的限定,在相应信号发生变化后即可进行采集,有效解决了因车身域数据众多而存储不足、带宽有限等实际问题带来的存储与通信压力。与其他数据采集方式相比,该方案可动态配置,可自由设定数据采集规则与上传规则,如定时采集、变化采集、事件触发采集;定时上传、固定数据大小上传、实时上传、压缩上传等。并拥有一定的数据储存能力与实时分析能力,可用于远程监控、行为分析、远程控制等多种场景。
附图说明
图1为本发明的***框架图;
图2为本发明中配置脚本解析和加载时序图;
图3为本发明中TSP服务器配置的XML脚本格式示意图;
图4为本发明中信号参数的对应关系图;
图5为本发明中CAN报文同步和处理时序图;
图6为本发明中数据包打包上传流程图;
图7为本发明中CAN报文状态迁移图;
图8为本发明中大数据处理模块的处理流程图;
图9为本发明中Tbox的NAD维护的CAN矩阵表示意图。
具体实施例
以下结合附图对本发明进行详细的说明。
本实施例中,一种可远程动态配置的整车数据采集上传方法,采用白名单过滤机制,通过内置通讯模块接收TSP服务商下发的配置信息,在经过脚本解析后利用MCU控制CAN信号的触发条件与相应动作,并通过T-BOX内的数据处理模块实现白名单CAN报文的数据采集,数据处理、存储和上传。该方法具体包括以下步骤:
在获取TSP服务商下发的XML脚本信息后,通过脚本解析转换,使脚本数据转换为***可识别的CAN白名单信息,由MCU配置相应CAN信号的触发条件与动作。
在MCU获取到CAN白名单信息后将该CAN白名单信息反馈到NAD侧,NAD依据车型DBC文获取到车身CAN信号中的各信号位置,并将各信号位置与MCU反馈的白名单配置信息中的CAN一一对应,完成TSP配置信息与车身CAN信号的匹配。
当CAN网络中处于CAN白名单内的CAN信号发生变化时,CAN收发模块即采集这些变化的CAN信号。
在对采集到的CAN信号做数据处理时,对采集到的CAN信号进行组合逻辑判断,在满足预设逻辑组合后则触发相应的事件,进行相应数据的封包上传;触发事件包括参数上传、参数的操作与历史数据上传。
依据配置流程中解析的其他项中获取当前配置脚本的上报逻辑,当上传方式为立即上传时,则对数据进行实时上传;当上传方式为定时存储上传时,则先将数据写入发送缓冲区,然后再进行压缩上传。
以下结合实例对本实施例进行详细的说明:
(1)TSP配置文件的解析
TSP服务器下发了配置文件中,包含了组合逻辑配置脚本。配置脚本解析和加载时序图如图2所示。
从TSP服务器配置的XML脚本格式,参见图3。
从上述的例子中,约定TSP服务器传输给T-BOX的报文包含如下四部分:
①respStatus(请求类型);
②errorCode(错误码);
③errorMsg(错误信息);
④data(大数据相关参数)。
如下将主要描述data段的参数功能:
1)CanIdWhiteList,CAN ID白名单描述字段,包含CanId字段、Timeout字段和SampleCycle字段;
2)UploadRuleList,待上传报文的采集上传规则,UploadRuleList中包含如下字段:
RuleType,当前Case的上传规则;
CollectionCondition,待上传报文的采集规则;
CollectionContent,采集条件触发后需要采集的CAN报文ID;
UploadCondition,case的上传条件;
ConditionType,采集报文的上传方式,包含立即上传和缓存上传;
ConditionContent,缓存上传限制条件,包含缓存大小等;
UploadType,采集报文的上传格式,包含TCP上传和文件上传;
UploadParameter,描述上传参数;
Mid,描述TCP上传方式是的MID编号;
FileType,描述上传的描述符。
3)ConfTimestamp,即当前配置脚本的配置时间,用以更新配置脚本使用。
大数据解析模块包括分析子模块和处理子模块,其中,分析子模块需要将上述报文解析成可同步给处理子模块的数据报文,约束的转换格式规则如下:
操作符的转换:将涉及到的操作符以1个字节的二进制数据进行转换,具体对应关系如表1所示。
表1:
CAN信号/报文的解析关系:信号转换的前提是NAD必须维护当前车型的CAN报文,NAD通过查找配置文件中的信号名表查找NAD侧信号表中信号的位置,并且将信号表的信号与名称严格对应。从而解析配置文件中条件和操作中相应的信号,实现信号的解析。信号参数的对应关系参见图4。
(2)CAN信号的更新同步
CAN网络中信号更新后,MCU侧的CAN模块将采集报文的变化并上传至NAD,NAD侧的CAN信号处理模块进行逻辑处理后,将结果组合上传至TSP服务器,其同步时序图如图5所示。
(3)采集数据的上报
大数据解析模块运算并处理触发结果,大数据解析模块需要依据配置流程中解析的Other项中获取当前配置脚本的上报逻辑。
数据上传模块需要分析Update_Method字段即上传方式:
当上传方式为立刻上传时:数据上传模块将数据封包后上传;
当上传方式为存储固定时间后上传时:数据上传模块依照ConditionContent描述的时间进行存储;当检测到触发超时时间大于预订时间时,数据上传模块将提取存储空间中时间段内的数据进行压缩后上传。
上报流程如图6所示。
(4)MCU侧CAN数据处理
①车身域中采集的CAN数据帧
车身域中采集的CAN报文可依据实际需要进行设定。当MCU实时采集CAN网络中的信号变化,并经过差分处理和CAN报文状态的处理后,同步到NAD(即联网模块)侧的CAN信号处理模块的存储缓冲区进行下一步的处理。
②IACC(即集成式自适应巡航***)需要采集的CAN数据帧
IACC需要采集的CAN报文可依据实际需要进行设定。当MCU实时采集CAN网络中的信号变化,并经过差分处理和CAN报文状态的处理后,同步到NAD侧的CAN信号处理模块的存储缓冲区进行下一步的处理。
③CAN信号采集上传的容错处理
车身域和IACC域中接收的CAN信号为大数据处理的必要的参数。在异常情况下,可能导致大数据处理的功能异常:
1)在MCU与NAD通讯中,部分必要的CAN报文丢失:必要CAN报文中信号丢失可能导致IACC模式下,数据上传模块将不间断地向TSP传输无效的数据,而影响其他联网功能模块的数据阻塞,影响整体的功能。
2)CAN网络阻塞:由于MCU与NAD传输带宽的限制,若CAN网络中信号变化较快,将会导致CAN报文同步阻塞,而导致数据丢失。
因此,在MCU侧CAN报文的采集逻辑中需要做容错处理,以确保大数据模块输入参数的高时效性。
容错策略:
1)在MCU侧的CAN报文接收阶段,需要检查报文的ID合法性、报文的合法长度、报文中信号的合法性等,不合法则直接丢弃;
2)在MCU侧需要监控记录CAN报文的状态,状态数据的同步可定时上传。
3)在MCU与NAD数据通信中需要对数据进行冗余校验和重传机制,防止数据丢失。
④CAN信号的采集
CAN报文的同步以二进制数据包的格式传输,用以降低MCU与NAD的传输带宽,具体的同步格式如表2所示:
表2:
ID | LENTH | PAYLOAD |
2BYTE | 1BYTE | n BYTE(n<=8) |
其中ID为CAN帧的编号,传输时高字节在前;LENTH为PAYLOAD的实际长度;PAYLOAD为CAN帧的实际数据。
⑤CAN信号的存储格式
由于MCU同步给NAD的报文并未描述详细的信号功能,所以在NAD侧的CAN报文处理模块中,需要依照DBC文件的定义,维护CAN网络中不同的信号,为其他模块提供方便的访问途径。NAD侧的CAN报文处理模块中维护的信号格式如下:
STRUCT SIGNAL{
SIGNAL_DATA_FROM_CAN;//CAN信号参数值
SIGNAL_NAME;//CAN信号的名称
SIGNAL_DATA_START_BIT;//CAN信号的起始位
SIGNAL_DATA_WIDE;//CAN信号占用的位数
SIGNAL_DATA_EXCHANGE_FROM_DBC;//信号转换为实际有效参数值
SIGNAL_DATA_STATE;//信号的状态。0表示此信号失效;1表示此信号正常。
};
⑥CAN信号状态同步
NAD接收到MCU同步的CAN报文,并实时更新自身维护的信号表。由于MCU的同步功能使用的是差分上报,即CAN信号在变化的情况下,才会同步给NAD侧。异常情况下,如CAN报文由正常发送到异常停止,此过程将无法获取到信号的真实值,而引起参数异常导致错误的结果。因此,在MCU同步给NAD差分变化的报文时,需要同步上传所有报文的状态,以作为CAN信号处理模块容错的依据。
CAN报文包含初始化、丢失与正常三种状态。
CAN报文的状态迁移如图7所示。由图中描述的CAN报文状态,可约定CAN报文状态同步的可取参数值,如表3所示。表中使用2bit来标记一个CAN报文的状态,所以在MCU侧标记全部CAN报文的状态仅需要较少的字节,从而在增加功能的前提下尽量降低MCU与NAD的通信压力。
表3:
(4)NAD侧CAN数据处理
大数据解析模块的主要功能有:CAN报文白名单的加载(CAN报文过滤);组合逻辑处理脚本的加载;组合逻辑处理脚本的解析;CAN信号的获取和封包;数据包的压缩和同步。接收到CAN信号变化后,CAN信号处理模块的处理流程如图9所示。
①CAN数据的分类
CAN信号处理模块主要的功能是依照TSP配置的报文过滤原语中定义的CAN报文,将MCU上报的差分信号进行分类。将接收到的CAN报文分为车型相关的CAN报文与大数据相关的CAN报文。
②CAN数据的存储
CAN数据的分发后将进行独立存储。车型相关的CAN报文会分成两部分,一部分是Tbox状态相关的信号(原始功能);另一部分是大数据相关的CAN报文,将直接同步到NAD的大大数据解析模块。
③CAN数据的条件组合与判断逻辑
CAN数据的条件组合逻辑的输入是CAN报文白名单中的部分CAN信号,CAN信号的组合逻辑在满足约定的条件时将触发相应的事件,以实现相应数据的上传。触发的事件可以为参数上传、参数的操作和历史数据上传等。当实时上报逻辑的触发条件满足后,将打包相应的需要上传的数据上传到TSP服务器端。在部分输入组合逻辑条件满足的情况下,将触发上报历史数据包。
在触发源执行后,需要记录触发状态改变时的前30s和后10s的数据,因此数据包的上报时刻为事件触发后的10s。而组合逻辑处理的原语可由TSP服务器进行配置,将对应的上传数据需求可分解为条件和动作。MCU将差分的CAN报文同步给NAD的CAN信号处理模块,该CAN信号处理模块需要维护所有上报的CAN信号状态表,即NAD侧的CAN信号表与MCU侧的CAN信号表保持一致。实时上传的参数数据如表1所示,需实时上传的历史数据如表4所示。
表4:
④组合逻辑数据的处理
组合逻辑由TSP配置下发到数据下载模块的数据格式采用的是Json格式。每一条原语必须包含如下内容:
Condition="";//条件,即输入
Operation="";//操作,即输出
如下例:
Condition="((ACC_ESPPrefill==0x1)||(ACC_ABAavailable==0x1)||(ACC_PCW_latentWarning==0x1)||(ACC_PCW_preWarning==0x1)||(ACC_AWBavailable==0x1)||(ACC_AEBDecCtrlAvail==0x1))!=0x00";
Operation="ACC_ESPPrefill;ACC_ABAavailable;ACC_PCW_latentWarning;ACC_PCW_preWarning;ACC_AWBavailable;ACC_AEBDecCtrlAvail;HU_LocalTimeYear;HU_LocalTimeMonth;HU_LocalTimeDate;HU_LocalTimeHour;HU_LocalTimeMinute;HU_LocalTimeSecond;HU_CurrentLocationLongitude;HU_CurrentLocationLatitude;IP_TotalOdometer;HU_navCurrentRoadType;ESP_VehicleSpeed;";
上例中,表示CAN信号满足Condition状况下,将触发Operation。即大数据处理模块读取CAN信号处理模块中维护的CAN信号表。仅当Condition成立,大数据处理模块将按照Operation中的原语描述执行相应的操作,将Operation中的信号进行封包并同步到数据上传模块。
大数据解析模块的组合逻辑处理子模块需要支持如下原语分析功能:原语依照操作符进行分割;CAN信号名与CAN信号值匹配;字符串与数值的转换;操作符的功能映射;
Operation的匹配和合并。
原语依照操作符进行分割。大数据解析模块需要从Condition中提取高优先级的操作原语片段并优先解释原语片段的内部运算逻辑。
CAN信号名与CAN信号值匹配。大数据解析模块需要从Condition中提取相应的CAN信号名称,并与CAN信号表进行比对和转义,并将转义后的结果作为下一步的参数。
字符串与数值的转换。大数据解析模块需要支持十进制和十六进制的参数转换。
操作符的功能映射,包含基本的二元运算符。大数据解析模块需要支运算符,从而支持部分的运算逻辑。
Operation的匹配和合并。Operation的匹配需要支持如下功能:定时器的设置;触发器的设置;待发送CAN信号名与CAN信号值的匹配;待发送信号的封包。
本实施例中,表5为组合逻辑处理原语的操作符表:
表5:
操作符 | 功能描述 | 备注 |
+ | 加 | 二元操作符 |
- | 减 | 二元操作符 |
* | 乘 | 二元操作符 |
/ | 除 | 二元操作符 |
% | 取余 | 二元操作符 |
& | 按位于 | 二元操作符 |
| | 按位或 | 二元操作符 |
&& | 与 | 二元操作符 |
|| | 或 | 二元操作符 |
> | 大于 | 二元操作符 |
< | 小于 | 二元操作符 |
>= | 不小于 | 二元操作符 |
<= | 不大于 | 二元操作符 |
!= | 不等于 | 二元操作符 |
() | 括号 | 组合操作符 |
; | 分号 | 分解操作符 |
⑤CAN数据包的打包与处理
CAN数据包的打包分为两部分。
1)实时数据包的打包。由于实时数据主要的功能是通过网络连接用户与汽车实现实时交互,所以在数据处理上,仅需要透传相应的固定报文,以消耗TSP服务器的带宽来降低服务器与T-box的处理压力。
2)历史/定长数据包的压缩打包。历史/定长数据主要的功能是记录汽车的运行数据,以记录车辆的使用情况。对数据的实时性要求较低。当数据包上传条件满足条件下,将数据写入文件并进行压缩传输,以降低TSP服务器的带宽。
(6)数据包上传与重发
将待上传的数据包写入发送缓冲区,并通知数据上传模块进行数据上传。
实时上传的数据包传输给TSPHander模块的数据格式如表6所示:
表6:
数据包上传,格式如下:
接口地址:
https://{fileUploadDomain}:{serverDomainPort}/{apiContext}/api/2.0/termina l/uploadFile
请求方式:POST
输入:HTTP URL Fields/HTTP Post Form Fields:
tuid:终端唯一标识
deviceTime:终端***时间戳(1970年到现在的long型表示),精确到毫秒。如:1463106055567(代表2016-5-13 10:21:46.567)。
type:上传文件的业务类型,取值范围为:BigData(大数据),Log(日志),Dtc(日志),OverHeat(过热),UserBehavior(用户行为),CarBody(车身域),如果为空,服务器默认为日志文件
sign:签名,取值为sha256(md5(终端证书公钥文件)+deviceTime)
validate:文件完整性校验,取值为md5(日志文件)
file:终端上传的日志文件,建议使用压缩包上传,所上传的日志请按如下规则进行命名:
[tuid]_[终端上传时间,格式:yyyyMMddHHmmss].zip如:
10001001160913110000000300287980_20170109161200.zip
数据包的重发功能需要交由数据上传模块处理,数据上传模块需要将发送的状态传递给大数据解析模块以作为模块的输入参数。
发送状态如下:发送成功;发送中;发送失败并重试;发送失败。
当数据上传模块发送数据包失败后,数据上传模块需要通知数据存储模块将发送失败的数据包存储到非易失存储区,等待后续重试。
由于数据包保存在读写Flash区,为防止长期向固定的Flash空间反复擦写导致Flash的寿命较低,所以数据存储模块需要实现非线性存储逻辑,即每次写入的数据包地址都不相同,从而降低Flash区域的使用寿命。
(7)相关模块的交互
①MCU到NAD通信协议
MCU在获取到CAN报文并处理完成后,将打包CAN报文的数据同步到NAD侧,以供NAD侧进行报文分析和信号分解。MCU在待上传阶段将以如表7所示的格式对报文进行封装:
表7:
数据类型 | CAN ID | Lenth | Payload |
数据长度 | 2字节 | 1字节 | (Lenth)字节 |
字段描述:
CAN ID:即MCU同步到NAD的CAN报文ID编号,标准帧ID从0x0000到0x07FF;
Lenth:即待上传CAN报文的Payload长度;
Payload:即当前CAN报文的实际数据,包含当前报文的所有信号。
MCU侧在采集到CAN报文后,将周期地向NAD同步,同步的通信协议格式如表8所示:
表8:
字段描述:
Channel:MCU同步CAN报文的通道号;
SID MID:MCU同步CAN报文的协议编号;
CAN Frame:单条CAN报文的数据;
CRC:当前数据帧的CRC校验值。
②NAD到MCU通信协议
NAD在接收到新的配置文件后,经过解析分解获取大数据白名单数据。NAD将白名单数据同步到MCU侧,以供MCU侧CAN报文的白名单解析上报。白名单的单条数据格式如表9所示:
表9:
数据类型 | CAN ID | Upload Count |
数据长度 | 2字节 | 2字节 |
字段描述:
CAN ID:即MCU同步到NAD的CAN报文ID编号,标准帧ID从0x0000到0x07FF;
Cycle Time:默认使用5s作为报文实效周期;
Upload Count:即MCU在采集到报文变化后,实际同步到NAD的频率。
NAD侧在收集到白名单数据后,将向MCU同步,同步的通信协议格式如表10所示:
表10:
字段描述:
Channel:NAD同步CAN报文白名单的通道号;
SID MID:NAD同步CAN报文白名单的协议编号;
Control St:控制帧,0x01表示为单帧,0x02表示为多帧未完,0x03表示为多帧结束;
White List:单条CAN报文白名单的数据;
CRC:当前数据帧的CRC校验值。
③MCU到NAD配置确认协议
MCU在接收到NAD配置的白名单数据后,将向NAD回复配置数据接收状态消息。消息格式如表11所示:
表11:
Channel | SID | MID | Status |
1字节 | 1字节 | 1字节 | 1字节 |
0x12 | 0x02 | 0x2E | ...... |
字段描述:
Channel:MCU同步CAN报文的通道号;
SID MID:MCU同步CAN报文的协议编号;
Status:单条CAN报文的数据。取值范围为:0x00同步失败;0x01同步成功。
④MCU到NAD报文状态同步协议
MCU在判断白名单中接收的报文在超时时间内未更新,将该报文的丢失状态同步到NAD。
消息格式如表12所示:
表12:
Channel | SID | MID | Status | CAN ID | Status | CAN ID |
1字节 | 1字节 | 1字节 | 1字节 | 2字节 | 1字节 | 2字节 |
0X12 | 0X02 | 0x25 | ...... | ...... | ...... | ...... |
字段描述:
Channel:MCU同步CAN报文的通道号;
SID MID:MCU同步CAN报文的协议编号;
状态组描述:
Status:单条CAN报文的状态。取值范围为:0x00丢失;0x01预留;
CAN ID:处于丢失状态的CAN报文ID值。
⑤TBox到TSP通信协议
Tbox的数据上传模块在收集待上报的CAN报文后,将按照配置脚本中的上传规则上传到TSP服务器。上传的方式包含如下:TCP上传方式;文件上传方式。当选择TCP上传方式时:SID为固定值7,MID由配置中UploadParameter参数中mid决定,Content内容如表13所示:
表13:
有多个Can信号时在此后追加。Timestamp为6字节长整形,代表1970到现在的毫秒数。当选择文件上传方式时:UploadParameter参数中的FileType参数作为“终端上传文件”接口的type参数。文件内容按照timestamp+CanId+CanContentLength+CanContent的顺(如:016439C7D960018C080102030405060708,016439C7D960为时间戳,018C为CanId,08是CanContent长度,0102030405060708为Can内容)将字节数组进行base64编码,然后写入文本文件,最后对文本文件zip压缩后上传。
⑥CAN矩阵表配置
T-BOX在下线配置时,将写入当前车型编码。车型编码将同步到NAD侧,作为与TSP服务器同步的参数。Tbox获取到车型参数后,将合并基础CAN矩阵表和车型专用CAN矩阵表。即T-BOX的NAD将存储如图9所示的CAN矩阵表,以适配下线配置时不同的车型。
NAD在接收到车型配置编码后,将执行如下操作,以适配当前车型,实现CAN报文的解析:
1)NAD侧的大数据模块接收到车型配置编码,如车型1;
2)查找车型1的专有矩阵表,即车型1专有矩阵表;
3)若车型1专有矩阵表中的条目ID与基础CAN矩阵表条目ID存在冲突(即存在ID相同的条目),需要将车型1的条目替换基础CAN矩阵表中对应的条目;
4)若车型1专有矩阵表中的条目ID不在基础CAN矩阵表中,则需要将车型1的条目追加到基础CAN矩阵表中。
上述执行完成以后,NAD侧仅依据基础CAN矩阵表来解析MCU同步的CAN报文,用以解析报文中的信号。另外,若需要添加新的车型,需要T-BOX在烧录时添加新车型的专有矩阵表,以适配新车型。
⑦虚拟CAN报文协议
Tbox的NAD大数据模块在运行时,需要额外依赖***的内部参数,如GPS、信号强度等数据。为了上报协议的一致和大数据条件的处理,此部分数据将虚拟成CAN报文。由于CAN标准帧中CAN的ID范围为0x0000到0x07FF,即0x0800到0xFFFF未被使用,未使用的部分可用于***虚拟的CAN报文,具体如表14所示:
表14:
虚拟CAN ID | 参数 | 描述 |
0x0800 | GPS数据 | 存储和传输GPS相关数据 |
0x0801 | 信号强度,运行时间等 | 存储和传输***相关数据 |
...... | ...... | ...... |
⑧车型编码的同步
T-BOX生产下线时,将烧录统一的应用程序。安装到车辆上后将在下线配置(EOL)阶段,写入当前车辆的数据,如车辆VIN码、APN、车型编码等。退出运输模式后车型编码将由MCU同步到NAD侧,作为NAD的大数据模块的必要参数,为大数据模块的CAN矩阵表操作提供依据。
本实施例中,所述的一种存储介质,其存储有一个或多个计算机可读程序,所述计算机可读程序被一个或多个控制器调用执行时,能实现如本实施例中所述的可远程动态配置的整车数据采集上传方法的步骤。
Claims (7)
1.一种可远程动态配置的整车数据采集上传方法,其特征在于:采用白名单过滤机制,通过内置通讯模块接收TSP服务商下发的配置信息,在经过脚本解析后利用MCU控制CAN信号的触发条件与相应动作,并通过T-BOX内的数据处理模块实现白名单CAN报文的数据采集,数据处理、存储和上传。
2.根据权利要求1所述的可远程动态配置的整车数据采集上传方法,其特征在于:在获取TSP服务商下发的XML脚本信息后,通过脚本解析转换,使脚本数据转换为***可识别的CAN白名单信息,由MCU配置相应CAN信号的触发条件与动作。
3.根据权利要求2所述的可远程动态配置的整车数据采集上传方法,其特征在于:在MCU获取到CAN白名单信息后将该CAN白名单信息反馈到NAD侧,NAD依据车型DBC文获取到车身CAN信号中的各信号位置,并将各信号位置与MCU反馈的白名单配置信息中的CAN一一对应,完成TSP配置信息与车身CAN信号的匹配。
4.根据权利要求3所述的可远程动态配置的整车数据采集上传方法,其特征在于:当CAN网络中处于CAN白名单内的CAN信号发生变化时,CAN收发模块即采集这些变化的CAN信号。
5.根据权利要求4所述的可远程动态配置的整车数据采集上传方法,其特征在于:在对采集到的CAN信号做数据处理时,对采集到的CAN信号进行组合逻辑判断,在满足预设逻辑组合后则触发相应的事件,进行相应数据的封包上传;触发事件包括参数上传、参数的操作与历史数据上传。
6.根据权利要求5所述的可远程动态配置的整车数据采集上传方法,其特征在于:依据配置流程中解析的其他项中获取当前配置脚本的上报逻辑,当上传方式为立即上传时,则对数据进行实时上传;当上传方式为定时存储上传时,则先将数据写入发送缓冲区,然后再进行压缩上传。
7.一种存储介质,其特征在于:其存储有一个或多个计算机可读程序,所述计算机可读程序被一个或多个控制器调用执行时,能实现如权利要求1至6任一所述的可远程动态配置的整车数据采集上传方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010215063.4A CN111447128A (zh) | 2020-03-24 | 2020-03-24 | 可远程动态配置的整车数据采集上传方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010215063.4A CN111447128A (zh) | 2020-03-24 | 2020-03-24 | 可远程动态配置的整车数据采集上传方法及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111447128A true CN111447128A (zh) | 2020-07-24 |
Family
ID=71652572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010215063.4A Pending CN111447128A (zh) | 2020-03-24 | 2020-03-24 | 可远程动态配置的整车数据采集上传方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111447128A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112017325A (zh) * | 2020-08-06 | 2020-12-01 | 广州小鹏车联网科技有限公司 | 一种报文处理方法、装置、车辆、存储介质 |
CN112073502A (zh) * | 2020-09-02 | 2020-12-11 | 武汉唯特迅数据科技有限公司 | 一种远程获取can数据的方法及装置 |
CN112084142A (zh) * | 2020-08-10 | 2020-12-15 | 广州汽车集团股份有限公司 | 一种日志存储方法、装置及t-box |
CN112104608A (zh) * | 2020-08-17 | 2020-12-18 | 华人运通(上海)云计算科技有限公司 | 一种车辆信息安全防护方法、***及存储介质 |
CN112731901A (zh) * | 2020-11-20 | 2021-04-30 | 江西五十铃汽车有限公司 | 一种基于can总线的集成诊断方法 |
CN112947376A (zh) * | 2021-02-19 | 2021-06-11 | 中国第一汽车股份有限公司 | 一种试验车使用监管方法和监管*** |
CN113709226A (zh) * | 2021-08-20 | 2021-11-26 | 上海柴油机股份有限公司 | 基于配置文件的远程通讯终端数据采集方法 |
CN114120482A (zh) * | 2021-11-30 | 2022-03-01 | 上汽通用五菱汽车股份有限公司 | 车辆数据采集方法、装置、车辆及计算机可读存储介质 |
CN114422291A (zh) * | 2022-01-24 | 2022-04-29 | 高新兴物联科技有限公司 | 一种can信号适配装置、***、方法、设备及存储介质 |
CN114664003A (zh) * | 2022-03-23 | 2022-06-24 | 深圳市星卡软件技术开发有限公司 | 一种远程采集车辆数据的方法、装置和设备 |
CN114979217A (zh) * | 2022-05-31 | 2022-08-30 | 重庆长安汽车股份有限公司 | 一种车身大数据传输方法 |
CN115206000A (zh) * | 2021-04-13 | 2022-10-18 | 广州汽车集团股份有限公司 | 汽车数据采集方法、装置、车载终端及汽车 |
CN115221161A (zh) * | 2021-11-25 | 2022-10-21 | 广州汽车集团股份有限公司 | 一种整车埋点数据采集方法及t-box |
CN115225699A (zh) * | 2021-11-17 | 2022-10-21 | 广州汽车集团股份有限公司 | 车辆数据获取方法、车载远程信息处理器及存储介质 |
CN115695508A (zh) * | 2022-09-20 | 2023-02-03 | 重庆长安汽车股份有限公司 | 可配置化远程控制方法、装置、电子设备及存储介质 |
CN116016024A (zh) * | 2023-01-03 | 2023-04-25 | 重庆长安汽车股份有限公司 | can报文的封装*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103108043A (zh) * | 2013-01-31 | 2013-05-15 | 厦门雅迅网络股份有限公司 | 一种应用数据库文件自适应采集ecu报文的方法 |
CN105656717A (zh) * | 2015-12-31 | 2016-06-08 | 天津布尔科技有限公司 | 一种新能源汽车can总线数据采集装置 |
CN107347101A (zh) * | 2016-08-19 | 2017-11-14 | 武汉英泰斯特电子技术有限公司 | 一种车联网can数据采集方法 |
CN108536469A (zh) * | 2018-05-28 | 2018-09-14 | 苏州德姆斯信息技术有限公司 | 基于配置脚本的物联网数据解析***及解析方法 |
CN209281209U (zh) * | 2019-02-01 | 2019-08-20 | 武汉电动汽车技术开发有限公司 | 一种车辆数据实时采集处理监控与控制装置 |
-
2020
- 2020-03-24 CN CN202010215063.4A patent/CN111447128A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103108043A (zh) * | 2013-01-31 | 2013-05-15 | 厦门雅迅网络股份有限公司 | 一种应用数据库文件自适应采集ecu报文的方法 |
CN105656717A (zh) * | 2015-12-31 | 2016-06-08 | 天津布尔科技有限公司 | 一种新能源汽车can总线数据采集装置 |
CN107347101A (zh) * | 2016-08-19 | 2017-11-14 | 武汉英泰斯特电子技术有限公司 | 一种车联网can数据采集方法 |
CN108536469A (zh) * | 2018-05-28 | 2018-09-14 | 苏州德姆斯信息技术有限公司 | 基于配置脚本的物联网数据解析***及解析方法 |
CN209281209U (zh) * | 2019-02-01 | 2019-08-20 | 武汉电动汽车技术开发有限公司 | 一种车辆数据实时采集处理监控与控制装置 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112017325A (zh) * | 2020-08-06 | 2020-12-01 | 广州小鹏车联网科技有限公司 | 一种报文处理方法、装置、车辆、存储介质 |
CN112084142A (zh) * | 2020-08-10 | 2020-12-15 | 广州汽车集团股份有限公司 | 一种日志存储方法、装置及t-box |
CN112104608A (zh) * | 2020-08-17 | 2020-12-18 | 华人运通(上海)云计算科技有限公司 | 一种车辆信息安全防护方法、***及存储介质 |
CN112073502A (zh) * | 2020-09-02 | 2020-12-11 | 武汉唯特迅数据科技有限公司 | 一种远程获取can数据的方法及装置 |
CN112731901A (zh) * | 2020-11-20 | 2021-04-30 | 江西五十铃汽车有限公司 | 一种基于can总线的集成诊断方法 |
CN112947376A (zh) * | 2021-02-19 | 2021-06-11 | 中国第一汽车股份有限公司 | 一种试验车使用监管方法和监管*** |
CN115206000A (zh) * | 2021-04-13 | 2022-10-18 | 广州汽车集团股份有限公司 | 汽车数据采集方法、装置、车载终端及汽车 |
CN113709226A (zh) * | 2021-08-20 | 2021-11-26 | 上海柴油机股份有限公司 | 基于配置文件的远程通讯终端数据采集方法 |
CN115225699B (zh) * | 2021-11-17 | 2023-10-20 | 广州汽车集团股份有限公司 | 车辆数据获取方法、车载远程信息处理器及存储介质 |
CN115225699A (zh) * | 2021-11-17 | 2022-10-21 | 广州汽车集团股份有限公司 | 车辆数据获取方法、车载远程信息处理器及存储介质 |
CN115221161A (zh) * | 2021-11-25 | 2022-10-21 | 广州汽车集团股份有限公司 | 一种整车埋点数据采集方法及t-box |
CN115221161B (zh) * | 2021-11-25 | 2024-03-01 | 广州汽车集团股份有限公司 | 一种整车埋点数据采集方法及t-box |
CN114120482A (zh) * | 2021-11-30 | 2022-03-01 | 上汽通用五菱汽车股份有限公司 | 车辆数据采集方法、装置、车辆及计算机可读存储介质 |
CN114422291B (zh) * | 2022-01-24 | 2023-09-08 | 高新兴物联科技股份有限公司 | 一种can信号适配装置、***、方法、设备及存储介质 |
CN114422291A (zh) * | 2022-01-24 | 2022-04-29 | 高新兴物联科技有限公司 | 一种can信号适配装置、***、方法、设备及存储介质 |
CN114664003A (zh) * | 2022-03-23 | 2022-06-24 | 深圳市星卡软件技术开发有限公司 | 一种远程采集车辆数据的方法、装置和设备 |
CN114979217A (zh) * | 2022-05-31 | 2022-08-30 | 重庆长安汽车股份有限公司 | 一种车身大数据传输方法 |
CN114979217B (zh) * | 2022-05-31 | 2023-06-06 | 重庆长安汽车股份有限公司 | 一种车身大数据传输方法 |
CN115695508A (zh) * | 2022-09-20 | 2023-02-03 | 重庆长安汽车股份有限公司 | 可配置化远程控制方法、装置、电子设备及存储介质 |
CN115695508B (zh) * | 2022-09-20 | 2024-05-14 | 重庆长安汽车股份有限公司 | 可配置化远程控制方法、装置、电子设备及存储介质 |
CN116016024A (zh) * | 2023-01-03 | 2023-04-25 | 重庆长安汽车股份有限公司 | can报文的封装*** |
CN116016024B (zh) * | 2023-01-03 | 2024-05-17 | 重庆长安汽车股份有限公司 | can报文的封装*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111447128A (zh) | 可远程动态配置的整车数据采集上传方法及存储介质 | |
CN106533527B (zh) | 可重配置的卫星遥测在轨监视与量化管理***及其实现方法 | |
CN1304909C (zh) | 车辆控制***can/lin网络监测仪及测试方法 | |
CN113051112A (zh) | 一种ecu故障信息的获取方法及*** | |
CN110320891A (zh) | 轨道车辆制动***can总线报文维护监控***及监控方法 | |
CN104468938A (zh) | 一种信息采集处理方法以及相关装置、移动终端和服务器 | |
CN112055096B (zh) | 自动设置设备通信地址的方法及装置 | |
KR20130021652A (ko) | 복수의 서로 다른 차량 진단 프로토콜을 표준 진단 프로토콜로 변환하는 인터페이스 장치 및 그 방법 | |
CN111294235B (zh) | 数据处理方法、装置、网关及可读存储介质 | |
CN113364624B (zh) | 基于边缘计算的混合云流量采集方法和*** | |
CN109471737B (zh) | 高速磁浮运行控制***半实物仿真的软件适配方法及设备 | |
CN112187936A (zh) | 车辆数据处理方法、装置、设备、存储介质及车辆 | |
CN113452486A (zh) | 车辆信息的上传方法、装置、设备和存储介质 | |
CN114860437A (zh) | 数据采集方法、边缘计算主机及计算机可读存储介质 | |
CN106549842A (zh) | 一种时间触发协议总线网络在线加载配置和监控方法 | |
CN117082102A (zh) | 基于面向服务架构的车辆数据处理方法、装置及设备 | |
CN116155720A (zh) | 一种t-box中can数据采集远程配置方法 | |
CN115277450B (zh) | 基于opnet的虚实结合异构通信网络融合***及应用 | |
CN115883675A (zh) | 一种可扩展的spi总线与can总线数据转换方法 | |
CN114661027A (zh) | 航空发动机分布式控制***通信数据帧设计及交互方法 | |
CN112565041B (zh) | 一种ff现场总线***的硬件信息配置方法、装置及介质 | |
CN114944969B (zh) | 车辆数据处理方法、车联网终端及计算机可读存储介质 | |
CN115529244B (zh) | 车辆终端的数据采传规则配置方法、装置、服务器及介质 | |
CN108446131B (zh) | 一种atm机固件升级方法、装置、设备及存储介质 | |
CN116017207A (zh) | 基于数据总线的can数据采集方法、***、设备和存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200724 |