CN108011743B - 一种故障注入的方法及装置 - Google Patents

一种故障注入的方法及装置 Download PDF

Info

Publication number
CN108011743B
CN108011743B CN201710630149.1A CN201710630149A CN108011743B CN 108011743 B CN108011743 B CN 108011743B CN 201710630149 A CN201710630149 A CN 201710630149A CN 108011743 B CN108011743 B CN 108011743B
Authority
CN
China
Prior art keywords
message
signal
messages
data
byte
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
CN201710630149.1A
Other languages
English (en)
Other versions
CN108011743A (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 CN201710630149.1A priority Critical patent/CN108011743B/zh
Publication of CN108011743A publication Critical patent/CN108011743A/zh
Application granted granted Critical
Publication of CN108011743B publication Critical patent/CN108011743B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种故障注入的方法及装置,本发明中对第一报文中部分或全部报文进行故障注入,得到第二报文,根据对第一报文注入的故障和报文接收时间得到与第二报文中每个报文对应的报文禁发信号和报文触发信号,根据与第二报文中每个报文对应的报文禁发信号和报文触发信号,将第二报文中需要发送给第二控制器的报文在其对应的报文发送时间发送给第二控制器,进而能够去测试第二控制器接收到故障报文时的响应,解决了目前还没有一种针对J1939类型报文进行CAN总线故障注入的方法的问题。

Description

一种故障注入的方法及装置
技术领域
本发明涉及硬件在回路仿真测试领域,更具体的说,涉及一种故障注入的方法及装置。
背景技术
HIL(硬件在环,hardware-in-the-loop)测试即硬件在回路仿真测试,已广泛应用于汽车电子、航空电子等领域中,通过高效地创建和执行自动化测试用例,极大地节约了产品和设备的测试时间和成本,同时提高了测试的可行性和安全性。HIL测试是半实物仿真测试,在搭建HIL测试平台的过程中,真实的控制器系统之间、真实的控制器与虚拟控制器模型之间通过CAN(控制器局域网络,Controller Area Network)总线进行通讯是常见的。其中,部分控制器收发的报文为长帧,遵守J1939协议,即收发的报文为J1939类型报文。
在通过CAN总线进行通讯时,为了测试控制器接收到故障报文时的处理响应,可以在报文中进行CAN总线故障注入。其中,故障注入是通过受控实验向系统中刻意引入故障,并观察系统中存在故障时的行为,即故障注入是验证系统可靠性的一种技术。
但是目前还没有一种针对J1939类型报文进行CAN总线故障注入的方法。
发明内容
有鉴于此,本发明提供一种故障注入的方法及装置,以解决目前还没有一种针对J1939类型报文进行CAN总线故障注入的方法的问题。
为解决上述技术问题,本发明采用了如下技术方案:
一种故障注入的方法,包括:
接收第一控制器发送的第一报文,所述第一报文包括:第一广播公告报文和至少一个第一数据传送报文;
记录所述第一报文中每个报文的报文接收时间;
对所述第一报文中部分或全部报文进行故障注入,得到第二报文,所述第二报文包括:第二广播公告报文和与所述第一数据传送报文数量相同的第二数据传送报文;其中,所述第二广播公告报文与所述第一广播公告报文对应,所述第二数据传送报文和所述第一数据传送报文一一对应;
根据对所述第一报文注入的故障和所述报文接收时间得到与所述第二报文中每个报文对应的报文禁发信号和报文触发信号;其中,每个所述报文禁发信号用于指示是否需要将其所对应的报文发送给第二控制器,每个所述报文触发信号用于指示其所对应的报文发送给所述第二控制器的报文发送时间;
根据与所述第二报文中每个报文对应的所述报文禁发信号和所述报文触发信号,将所述第二报文中需要发送给所述第二控制器的报文在其对应的所述报文发送时间发送给所述第二控制器。
优选地,对所述第一报文中部分或全部报文进行故障注入,得到第二报文,包括:
替换所述第一报文中部分或全部报文的报文信号数值,得到所述第二报文;
或者,根据用户设置的延时故障和所述报文接收时间计算所述第一报文中部分或全部报文的报文延时时间,得到所述第二报文;
或者,根据用户设置的丢帧故障和所述报文接收时间丢弃所述第一报文中部分或全部报文的部分数据帧,得到所述第二报文;
或者,根据用户设置的丢包故障和所述报文接收时间丢弃所述第一报文中部分或全部报文的部分数据传送包,得到所述第二报文。
优选地,对所述第一报文中部分或全部报文进行故障注入,得到第二报文,包括:
对所述第一报文中部分或全部报文进行报文解析与仿真操作,得到所述第二报文。
优选地,对所述第一报文中部分或全部报文进行报文解析与仿真操作,得到所述第二报文,包括:
获取所述第一报文中包括的多个第一数据传送包;
将多个所述第一数据传送包的数据信号通过移位和按位或运算组合成多个第一多字节信号;其中,组合原则为每个所述第一多字节信号中所承载的信息为所述第一报文中一个或多个报文的完整报文信号、且每个所述第一多字节信号的长度尽量长且不超过第一预设字节数;
对多个所述第一多字节信号进行移位和数据类型转换运算,得到若干个确定位数的报文信号;
根据所述报文信号所遵从的DBC协议得到与所述报文信号对应的比例因子和偏置因子;
根据所述比例因子、所述偏置因子,以及所述报文信号对应的物理值,计算所述报文信号的原始值;
更改报文信号的原始值;
将更改后的报文信号的原始值通过移位和按位或运算组合成多个第二多字节信号;其中,组合原则为每个所述第二多字节信号所承载的信息为更改后的报文信号的原始值对应的第一报文中一个或多个报文的完整报文信号、且每个所述第二多字节信号的长度尽量长且不超过所述第一预设字节数;
将多个所述第二多字节信号进行拆分和重新组合,得到多个第二数据传送包;
将每个所述第二数据传送包拆分成两个数据信号;
根据每个所述第二数据传送包拆分得到的数据信号,计算得到所述第二报文。
一种故障注入的装置,包括:
报文接收单元,用于接收第一控制器发送的第一报文,所述第一报文包括:第一广播公告报文和至少一个第一数据传送报文;
时间记录单元,用于记录所述第一报文中每个报文的报文接收时间;
故障注入单元,用于对所述第一报文中部分或全部报文进行故障注入,得到第二报文,所述第二报文包括:第二广播公告报文和与所述第一数据传送报文数量相同的第二数据传送报文;其中,所述第二广播公告报文与所述第一广播公告报文对应,所述第二数据传送报文和所述第一数据传送报文一一对应;
信号生成单元,用于根据对所述第一报文注入的故障和所述报文接收时间得到与所述第二报文中每个报文对应的报文禁发信号和报文触发信号;其中,每个所述报文禁发信号用于指示是否需要将其所对应的报文发送给第二控制器,每个所述报文触发信号用于指示其所对应的报文发送给所述第二控制器的报文发送时间;
报文发送单元,用于根据与所述第二报文中每个报文对应的所述报文禁发信号和所述报文触发信号,将所述第二报文中需要发送给所述第二控制器的报文在其对应的所述报文发送时间发送给所述第二控制器。
优选地,所述故障注入单元具体用于:
替换所述第一报文中部分或全部报文的报文信号数值,得到所述第二报文;
或者,根据用户设置的延时故障和所述报文接收时间计算所述第一报文中部分或全部报文的报文延时时间,得到所述第二报文;
或者,根据用户设置的丢帧故障和所述报文接收时间丢弃所述第一报文中部分或全部报文的部分数据帧,得到所述第二报文;
或者,根据用户设置的丢包故障和所述报文接收时间丢弃所述第一报文中部分或全部报文的部分数据传送包,得到所述第二报文。
优选地,所述故障注入单元具体用于:
对所述第一报文中部分或全部报文进行报文解析与仿真操作,得到所述第二报文。
优选地,所述故障注入单元包括:
获取子单元,用于获取所述第一报文中包括的多个第一数据传送包;
第一组合子单元,用于将多个所述第一数据传送包的数据信号通过移位和按位或运算组合成多个第一多字节信号;其中,组合原则为每个所述第一多字节信号中所承载的信息为所述第一报文中一个或多个报文的完整报文信号、且每个所述第一多字节信号的长度尽量长且不超过第一预设字节数;
运算子单元,用于对多个所述第一多字节信号进行移位和数据类型转换运算,得到若干个确定位数的报文信号;
第一计算子单元,用于根据所述报文信号所遵从的DBC协议得到与所述报文信号对应的比例因子和偏置因子;
第二计算子单元,用于根据所述比例因子、所述偏置因子,以及所述报文信号对应的物理值,计算所述报文信号的原始值;
原始值更改单元,用于更改报文信号的原始值;
第二组合子单元,用于将更改后的报文信号的原始值通过移位和按位或运算组合成多个第二多字节信号;其中,组合原则为每个所述第二多字节信号所承载的信息为更改后的报文信号的原始值对应的第一报文中一个或多个报文的完整报文信号、且每个所述第二多字节信号的长度尽量长且不超过所述第一预设字节数;
第三组合子单元,用于将多个所述第二多字节信号进行拆分和重新组合,得到多个第二数据传送包;
拆分子单元,用于将每个所述第二数据传送包拆分成两个数据信号;
第三计算子单元,用于根据每个所述第二数据传送包拆分得到的数据信号,计算得到所述第二报文。
相较于现有技术,本发明具有以下有益效果:
本发明提供了一种故障注入的方法及装置,本发明中对所述第一报文中部分或全部报文进行故障注入,得到第二报文,根据对所述第一报文注入的故障和所述报文接收时间得到与所述第二报文中每个报文对应的报文禁发信号和报文触发信号,根据与所述第二报文中每个报文对应的所述报文禁发信号和所述报文触发信号,将所述第二报文中需要发送给所述第二控制器的报文在其对应的所述报文发送时间发送给所述第二控制器,进而能够去测试第二控制器接收到故障报文时的响应,解决了目前还没有一种针对J1939类型报文进行CAN总线故障注入的方法的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的场景示意图;
图2为本发明提供的一种故障注入的方法的方法流程图;
图3为本发明提供的另一种故障注入的方法的方法流程图;
图4为本发明提供的一种故障注入的装置的结构示意图;
图5为本发明提供的另一种故障注入的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为方便理解,首先对本发明实施例的应用场景做一个简单的介绍。参见图1,为本发明实施例的一种应用场景的结构示意图。该应用场景包括实时处理系统11、第一控制器12和第二控制器13。在本发明实施例具体实施的过程中,实时处理系统11可为下载有编译Simulink模型的NI(美国国家仪器,Native Instruments)实时处理系统。实时处理系统11中配置有用于从第一控制器12和第二控制器13接收或发送报文的CAN板卡,Simulink模型中配置有用于对报文进行故障注入的故障注入模块,VeriStand模块用于配置工程以及用作试验管理界面,包括配置模型、实时处理系统和CAN板卡。其中,故障注入模块还用于对报文进行故障注入后根据注入的故障和报文接收时间确定报文禁发信号和报文触发信号。
本发明实施例提供了一种故障注入的方法,参照图2,包括:
S11、接收第一控制器发送的第一报文。
其中,第一报文包括:第一广播公告报文和至少一个第一数据传送报文。
第一控制器与第二控制器进行通信,为了测试第二控制器接收到故障报文时的响应,现将第一控制器发送给第二控制器的报文进行故障注入。其中,故障注入可以包括数据错误故障、丢帧故障、延时故障以及丢包故障的注入。需要说明的是,此时会断开第一控制器和第二控制器的连接线。通过NI CAN板卡转发第一控制器发送的报文到第二控制器,其中,使用Simulink模型干预转发过程。Simulink模型编译下载到NI实时处理系统中。
数据传送报文即TP·DT报文,广播公告报文即TP·CM报文。其中,TP·DT报文和TP·CM报文用来传送J1939报文。TP·CM报文的数量为一个,主要用于连接管理,包括一些控制信息,TP·DT报文的数量为一个或多个,主要用来传送数据。
需要说明的是,接收第一广播公告报文和至少一个第一数据传送报文的单元为NICAN板卡。NI VeriStand是一种配置实时测试应用程序的软件环境。在Veristand模块基于NI-XNET驱动软件配置CAN通道1,以接收第一广播公告报文和至少一个第一数据传送报文。
S12、记录第一报文中每个报文的报文接收时间。
其中,接收到每个报文的时间是不同的,此时,Veristand模块需要记录下每个报文的报文接收时间。在后期得到与第二报文中每个报文对应的报文禁发信号和报文触发信号时,需要每个报文的报文接收时间数据。
S13、对第一报文中部分或全部报文进行故障注入,得到第二报文。
其中,第二报文包括:第二广播公告报文和与第一数据传送报文数量相同的第二数据传送报文;其中,第二广播公告报文与第一广播公告报文对应,第二数据传送报文和第一数据传送报文一一对应。
具体地,Veristand模块在接收到第一报文中的每个报文,以及记录每个报文的报文接收时间后,将接收的每个报文以及每个报文的报文接收时间发送给故障注入模块,故障注入模块执行步骤S13和步骤14。
需要说明的是,当对第一广播公告报文进行故障注入后,得到第二广播公告报文,或者没有对第一广播公告报文进行故障注入,即,第二广播公告报文是与第一广播公告报文相同的报文。
对第一数据传送报文中的部分或者是全部报文进行了故障注入,得到了相应的第二数据传送报文。第二数据传送报文的数量与第一数据传送报文的数量相同,且与第一数据传送报文是一一对应的关系。
举例来说,假设有五个第一数据传送报文,分别为第一数据传送报文A、第一数据传送报文B、第一数据传送报文C、第一数据传送报文D和第一数据传送报文E。其中,对第一数据传送报文A、第一数据传送报文B、第一数据传送报文C进行了故障注入,没有对第一数据传送报文D和第一数据传送报文E进行故障注入。此时,会得到五个第二数据传送报文,分别为第二数据传送报文A1、第二数据传送报文B1、第二数据传送报文C1、第二数据传送报文D1和第二数据传送报文E1。其中,第二数据传送报文A1是第一数据传送报文A进行故障注入后得到的报文,第二数据传送报文B1是第一数据传送报文B进行故障注入后得到的报文,第二数据传送报文C1是第一数据传送报文C进行故障注入后得到的报文,第二数据传送报文D1与第一数据传送报文D相同,第二数据传送报文E1与第一数据传送报文E相同。
S14、根据对第一报文注入的故障和报文接收时间得到与第二报文中每个报文对应的报文禁发信号和报文触发信号。
其中,每个报文禁发信号用于指示是否需要将其所对应的报文发送给第二控制器,每个报文触发信号用于指示其所对应的报文发送给第二控制器的报文发送时间。
具体的,第二报文中的每个报文都有对应的报文禁发信号和报文触发信号,可以根据第二报文中每个报文所对应的报文禁发信号和报文触发信号来判断该报文在什么时间以及是否发送给第二控制器。
举例来说,假设一个报文的报文禁发信号是发送给第二控制器,报文触发信号是时刻1发送给第二控制器,则该报文会在时刻1发送给第二控制器。
假设一个报文的报文禁发信号是不发送给第二控制器,则该报文不会发送给第二控制器。
S15、根据与第二报文中每个报文对应的报文禁发信号和报文触发信号,将第二报文中需要发送给第二控制器的报文在其对应的报文发送时间发送给第二控制器。
其中,将Simulink模型中计算得到第二报文与VeriStand工程中相应的报文信号Mapping到一起。这样就可以基于VeriStand配置和NI CAN板卡仿真J1939类型报文的发送。
可以在VeriStand工程中基于NI-XNET驱动软件配置CAN通道2来转发第二报文到第二控制器。Disable通道关联第二报文禁发信号。
此外,触发方式配置为触发通道触发,故障注入后的报文触发信号会关联到配置好的CAN通道2的报文Trigger通道上。
具体的,步骤S15包括:
1)根据与第二报文中每个报文对应的报文禁发信号,判断第二报文中的每个报文是否需要发送至第二控制器;
2)将需要发送至第二控制器的报文在其对应的报文发送时间发送给第二控制器。
本实施例中,对第一报文中部分或全部报文进行故障注入,得到第二报文,根据对第一报文注入的故障和报文接收时间得到与第二报文中每个报文对应的报文禁发信号和报文触发信号,根据与第二报文中每个报文对应的报文禁发信号和报文触发信号,将第二报文中需要发送给第二控制器的报文在其对应的报文发送时间发送给第二控制器,进而能够去测试第二控制器接收到故障报文时的响应,解决了目前还没有一种针对J1939类型报文进行CAN总线故障注入的方法的问题。
其中,在本发明实施例具体实施方式的过程中,步骤S13中对第一报文中部分或全部报文进行故障注入时,故障的方式可以包括丢帧故障、丢包故障、延时故障、数据错误故障中的一种或多种。
具体的,在一种具体实现方式中,当故障方式包括数据错误故障时,具体故障注入过程包括:
替换第一报文中部分或全部报文的报文信号数值,得到第二报文;
具体的,将第一报文通过Mapping的方式传递到Simulink模型,Simulink模型更改第一报文中部分或全部报文的报文信号数值来实现数据错误故障注入,得到第二报文。
在另一种具体实现方式中,当故障方式包括延时故障时,具体故障注入过程包括:
根据用户设置的延时故障和报文接收时间,计算第一报文中部分或全部报文的报文延时时间,得到第二报文的发送时间;
具体的,可以在模拟触发信号模块中,可以设置报文延时时间,并且可以设置是否注入延时故障。通过影响报文触发信号来实现延时故障注入。设置第一报文中部分或全部报文的报文延时时间是为了注入延时故障。其中,这里的模拟触发信号模块位于Simulink模型中,模拟触发信号模块可是故障注入模块的子模块,也可以单独的一个模块。
在另一种具体实现方式中,当故障方式包括丢帧故障时,具体故障注入过程包括:
根据用户设置的丢帧故障和报文接收时间丢弃第一报文中部分或全部报文的部分数据帧,得到第二报文。
可以在故障注入模块中,可以设置丢帧故障,并且可以设置丢掉多少帧,以及可以设置是否注入丢帧故障。通过影响第二报文的报文禁发信号实现丢帧故障,丢帧时Simulink模型将关联到第二报文Disable通道的第二报文的报文禁发信号置1。
在另一种具体实现方式中,当故障方式包括丢包故障时,具体故障注入过程包括:
根据用户设置的丢包故障和报文接收时间丢弃第一报文中部分或全部报文的部分数据传送包,得到第二报文。
具体的,丢弃第一数据传送报文中的一个或者多个数据传送包,得到第二数据传送报文。
在故障注入模块中,可以设置丢包故障,并且可以设置具体丢哪些数据传送包,并且可以设置丢包的帧数,以及可以设置是否注入丢包故障。通过影响第二数据传送报文的报文触发信号实现丢包故障,丢包时Simulink模型使关联到第二数据传送报文Trigger通道的第二数据传送报文的报文触发信号保持上一运行周期的值,不发生改变。
本实施例中,可以设置数据错误故障、丢帧故障、丢包故障以及延时故障,来测试第二控制器接收到故障报文时的响应。
可选的,在图2对应的实施例的基础上,步骤S13包括:
对第一报文中部分或全部报文进行报文解析与仿真操作,得到第二报文。
具体的,参照图3,对第一报文中部分或全部报文进行报文解析与仿真操作,得到第二报文,可以包括下述步骤:
S21、获取第一报文中包括的多个第一数据传送包。
具体的,在VeriStand工程中基于NI-XNET驱动软件配置NI CAN板卡接收第一报文。Simulink模型编译下载到NI实时处理系统中。将NI CAN板卡接收到的第一报文通过Mpping的方式传递给Simulink模型。
因为VeriStand XNET不支持32位以上的数据类型,所以接收得到的每个第一数据传送包对应两个数据信号,其中一个32位,一个24位。将获得的第一报文中的每个第一数据传送包传递给Stateflow模块,通过Stateflow模块搭建模型将若干个第一数据传送包处理出来。
一条J1939长帧报文有若干个数据传送包,这若干个数据传送包是在不同时刻依次发送出来的。所以数据传送包对应两个第一数据传送包也是在不同时刻依次接收到的,所以用stateflow模块来得到一帧报文中的所有第一数据传送包。
S22、将多个第一数据传送包的数据信号通过移位和按位或运算组合成多个第一多字节信号。
其中,组合原则为每个第一多字节信号中所承载的信息为第一报文中一个或多个报文的完整报文信号、且每个第一多字节信号的长度尽量长且不超过第一预设字节数。移位运算可通过移位运算模块实现,按位或运算可通过按位或运算模块实现。
按位或运算模块功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。
移位运算模块功能是在二进制的基础上对数字进行平移。按照平移的方向分为:左移和右移。
每个第一多字节信号中所承载的信息为第一报文中一个或多个报文的完整报文信号,是指不要把跨字节的报文信号拆分到两个第一多字节信号中。
此外,第一预设字节数为128位字节,之所以限定为128位字节,是由于Simulink所支持的数据类型的限制。
S23、对多个第一多字节信号进行移位和数据类型转换运算,得到若干个确定位数的报文信号。
其中,确定位数是一个定值,是技术人员根据报文信号所遵从的DBC协议进行设定的。
S24、根据报文信号所遵从的DBC协议得到与报文信号对应的比例因子和偏置因子。
S25、根据比例因子、偏置因子,以及报文信号对应的物理值,计算报文信号的原始值。
其中,报文信号的原始值即报文数据场中的相应数据值,报文信号的物理值为报文所传递的具有物理意义的相应数值。原始值和物理值之间有一定的线性映射关系,这种线性映射关系通过比例因子和偏置因子来描述。
S26、更改报文信号的原始值;
具体的,更改第一报文中部分或全部报文的报文信号的原始值。其中,更改第一报文中部分或全部报文的报文信号的原始值是为了注入数据错误故障。
S27、将更改后的报文信号的原始值通过移位和按位或运算组合成多个第二多字节信号。
其中,组合原则为每个第二多字节信号所承载的信息为更改后的报文信号的原始值对应的第一报文中一个或多个报文的完整报文信号、且每个第二多字节信号的长度尽量长且不超过第一预设字节数。
其中,更改后的报文信号的原始值对应的第一报文即为第二报文。
需要说明的是,步骤S27与步骤22类似,请参照步骤S22中的描述。
S28、将多个第二多字节信号进行拆分和重新组合,得到多个第二数据传送包。
具体的,将多个第二多字节信号进行拆分和重新组合,得到多个56位第二数据传送包。
S29、将每个第二数据传送包拆分成两个数据信号。
再将每个56位第二数据传送包拆解为两个数据信号,得到多个数据信号。
两个数据信号的位数一个为32位,一个为24位。之所以需要拆解为两个数据信号,是由于VeriStand XNET不支持32位以上的数据类型,所以需要将每个56位第二数据传送包拆解为两个数据信号。
S210、根据每个第二数据传送包拆分得到的数据信号,计算得到第二报文。
具体的,根据每个第二数据传送包拆分得到的数据信号,按照商用车控制系统局域网络(CAN)通信协议计算第二报文中的每个报文信号。
本实施例中,通过对第一报文中部分或全部报文进行报文解析与仿真操作的方式可以得到第二报文。
可选的,本发明的另一实施例中提供了一种故障注入的装置,参照图4,包括:
报文接收单元101,用于接收第一控制器发送的第一报文,第一报文包括:第一广播公告报文和至少一个第一数据传送报文;
时间记录单元102,用于记录第一报文中每个报文的报文接收时间;
故障注入单元103,用于对第一报文中部分或全部报文进行故障注入,得到第二报文,第二报文包括:第二广播公告报文和与第一数据传送报文数量相同的第二数据传送报文;其中,第二广播公告报文与第一广播公告报文对应,第二数据传送报文和第一数据传送报文一一对应;
信号生成单元104,用于根据对第一报文注入的故障和报文接收时间得到与第二报文中每个报文对应的报文禁发信号和报文触发信号;其中,每个报文禁发信号用于指示是否需要将其所对应的报文发送给第二控制器,每个报文触发信号用于指示其所对应的报文发送给第二控制器的报文发送时间;
报文发送单元105,用于根据与第二报文中每个报文对应的报文禁发信号和报文触发信号,将第二报文中需要发送给第二控制器的报文在其对应的报文发送时间发送给第二控制器。
本实施例中,对第一报文中部分或全部报文进行故障注入,得到第二报文,根据对第一报文注入的故障和报文接收时间得到与第二报文中每个报文对应的报文禁发信号和报文触发信号,根据与第二报文中每个报文对应的报文禁发信号和报文触发信号,将第二报文中需要发送给第二控制器的报文在其对应的报文发送时间发送给第二控制器,进而能够去测试第二控制器接收到故障报文时的响应,解决了目前还没有一种针对J1939类型报文进行CAN总线故障注入的方法的问题。
需要说明的是,本实施例中的各个单元的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
可选的,本发明的另一实施例中,故障注入单元103具体用于:
替换第一报文中部分或全部报文的报文信号数值,得到第二报文;
或者,根据用户设置的延时故障和报文接收时间计算第一报文中部分或全部报文的报文延时时间,得到第二报文;
或者,根据用户设置的丢帧故障和报文接收时间丢弃第一报文中部分或全部报文的部分数据帧,得到第二报文;
或者,根据用户设置的丢包故障和报文接收时间丢弃第一报文中部分或全部报文的部分数据传送包,得到第二报文。
本实施例中,可以设置数据错误的故障、丢帧故障以及延时故障,来测试第二控制器接收到故障报文时的响应。
需要说明的是,本实施例中的各个单元的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
可选的,本发明的另一实施例中,故障注入单元103具体用于:
对第一报文中部分或全部报文进行报文解析与仿真操作,得到第二报文。
具体的,参照图5,故障注入单元103包括:
获取子单元201,用于获取第一报文中包括的多个第一数据传送包;
第一组合子单元202,用于将多个第一数据传送包的数据信号通过移位和按位或运算组合成多个第一多字节信号;其中,组合原则为每个第一多字节信号中所承载的信息为第一报文中一个或多个报文的完整报文信号、且每个第一多字节信号的长度尽量长且不超过第一预设字节数;
运算子单元203,用于对多个第一多字节信号进行移位和数据类型转换运算,得到若干个确定位数的报文信号;
第一计算子单元204,用于根据报文信号所遵从的DBC协议得到与报文信号对应的比例因子和偏置因子;
第二计算子单元205,用于根据比例因子、偏置因子,以及报文信号对应的物理值,计算报文信号的原始值;
原始值更改单元206,用于更改报文信号的原始值;
第二组合子单元207,用于将更改后的报文信号的原始值通过移位和按位或运算组合成多个第二多字节信号;其中,组合原则为每个第二多字节信号所承载的信息为更改后的报文信号的原始值对应的第一报文中一个或多个报文的完整报文信号、且每个第二多字节信号的长度尽量长且不超过第一预设字节数;
第三组合子单元208,用于将多个第二多字节信号进行拆分和重新组合,得到多个第二数据传送包;
拆分子单元209,用于将每个第二数据传送包拆分成两个数据信号;
第三计算子单元210,用于根据每个第二数据传送包拆分得到的数据信号,计算得到第二报文。
本实施例中,通过对第一报文中部分或全部报文进行报文解析与仿真操作的方式可以得到第二报文。
需要说明的是,本实施例中的各个单元的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种故障注入的方法,其特征在于,包括:
接收第一控制器发送的第一报文,所述第一报文包括:第一广播公告报文和至少一个第一数据传送报文;
记录所述第一报文中每个报文的报文接收时间;
对所述第一报文中部分或全部报文进行故障注入,得到第二报文,所述第二报文包括:第二广播公告报文和与所述第一数据传送报文数量相同的第二数据传送报文;其中,所述第二广播公告报文与所述第一广播公告报文对应,所述第二数据传送报文和所述第一数据传送报文一一对应;
根据对所述第一报文注入的故障和所述报文接收时间得到与所述第二报文中每个报文对应的报文禁发信号和报文触发信号;其中,每个所述报文禁发信号用于指示是否需要将其所对应的报文发送给第二控制器,每个所述报文触发信号用于指示其所对应的报文发送给所述第二控制器的报文发送时间;
根据与所述第二报文中每个报文对应的所述报文禁发信号和所述报文触发信号,将所述第二报文中需要发送给所述第二控制器的报文在其对应的所述报文发送时间发送给所述第二控制器。
2.根据权利要求1所述的方法,其特征在于,对所述第一报文中部分或全部报文进行故障注入,得到第二报文,包括:
替换所述第一报文中部分或全部报文的报文信号数值,得到所述第二报文;
或者,根据用户设置的延时故障和所述报文接收时间计算所述第一报文中部分或全部报文的报文延时时间,得到所述第二报文;
或者,根据用户设置的丢帧故障和所述报文接收时间丢弃所述第一报文中部分或全部报文的部分数据帧,得到所述第二报文;
或者,根据用户设置的丢包故障和所述报文接收时间丢弃所述第一报文中部分或全部报文的部分数据传送包,得到所述第二报文。
3.根据权利要求1所述的方法,其特征在于,对所述第一报文中部分或全部报文进行故障注入,得到第二报文,包括:
对所述第一报文中部分或全部报文进行报文解析与仿真操作,得到所述第二报文。
4.根据权利要求3所述的方法,其特征在于,对所述第一报文中部分或全部报文进行报文解析与仿真操作,得到所述第二报文,包括:
获取所述第一报文中包括的多个第一数据传送包;
将多个所述第一数据传送包的数据信号通过移位和按位或运算组合成多个第一多字节信号;其中,组合原则为每个所述第一多字节信号中所承载的信息为所述第一报文中一个或多个报文的完整报文信号、且每个所述第一多字节信号的长度尽量长且不超过第一预设字节数;
对多个所述第一多字节信号进行移位和数据类型转换运算,得到若干个确定位数的报文信号;
根据所述报文信号所遵从的DBC协议得到与所述报文信号对应的比例因子和偏置因子;
根据所述比例因子、所述偏置因子,以及所述报文信号对应的物理值,计算所述报文信号的原始值;
更改报文信号的原始值;
将更改后的报文信号的原始值通过移位和按位或运算组合成多个第二多字节信号;其中,组合原则为每个所述第二多字节信号所承载的信息为更改后的报文信号的原始值对应的第一报文中一个或多个报文的完整报文信号、且每个所述第二多字节信号的长度尽量长且不超过所述第一预设字节数;
将多个所述第二多字节信号进行拆分和重新组合,得到多个第二数据传送包;
将每个所述第二数据传送包拆分成两个数据信号;
根据每个所述第二数据传送包拆分得到的数据信号,计算得到所述第二报文。
5.一种故障注入的装置,其特征在于,包括:
报文接收单元,用于接收第一控制器发送的第一报文,所述第一报文包括:第一广播公告报文和至少一个第一数据传送报文;
时间记录单元,用于记录所述第一报文中每个报文的报文接收时间;
故障注入单元,用于对所述第一报文中部分或全部报文进行故障注入,得到第二报文,所述第二报文包括:第二广播公告报文和与所述第一数据传送报文数量相同的第二数据传送报文;其中,所述第二广播公告报文与所述第一广播公告报文对应,所述第二数据传送报文和所述第一数据传送报文一一对应;
信号生成单元,用于根据对所述第一报文注入的故障和所述报文接收时间得到与所述第二报文中每个报文对应的报文禁发信号和报文触发信号;其中,每个所述报文禁发信号用于指示是否需要将其所对应的报文发送给第二控制器,每个所述报文触发信号用于指示其所对应的报文发送给所述第二控制器的报文发送时间;
报文发送单元,用于根据与所述第二报文中每个报文对应的所述报文禁发信号和所述报文触发信号,将所述第二报文中需要发送给所述第二控制器的报文在其对应的所述报文发送时间发送给所述第二控制器。
6.根据权利要求5所述的装置,其特征在于,所述故障注入单元具体用于:
替换所述第一报文中部分或全部报文的报文信号数值,得到所述第二报文;
或者,根据用户设置的延时故障和所述报文接收时间计算所述第一报文中部分或全部报文的报文延时时间,得到所述第二报文;
或者,根据用户设置的丢帧故障和所述报文接收时间丢弃所述第一报文中部分或全部报文的部分数据帧,得到所述第二报文;
或者,根据用户设置的丢包故障和所述报文接收时间丢弃所述第一报文中部分或全部报文的部分数据传送包,得到所述第二报文。
7.根据权利要求5所述的装置,其特征在于,所述故障注入单元具体用于:
对所述第一报文中部分或全部报文进行报文解析与仿真操作,得到所述第二报文。
8.根据权利要求7所述的装置,其特征在于,所述故障注入单元包括:
获取子单元,用于获取所述第一报文中包括的多个第一数据传送包;
第一组合子单元,用于将多个所述第一数据传送包的数据信号通过移位和按位或运算组合成多个第一多字节信号;其中,组合原则为每个所述第一多字节信号中所承载的信息为所述第一报文中一个或多个报文的完整报文信号、且每个所述第一多字节信号的长度尽量长且不超过第一预设字节数;
运算子单元,用于对多个所述第一多字节信号进行移位和数据类型转换运算,得到若干个确定位数的报文信号;
第一计算子单元,用于根据所述报文信号所遵从的DBC协议得到与所述报文信号对应的比例因子和偏置因子;
第二计算子单元,用于根据所述比例因子、所述偏置因子,以及所述报文信号对应的物理值,计算所述报文信号的原始值;
原始值更改单元,用于更改报文信号的原始值;
第二组合子单元,用于将更改后的报文信号的原始值通过移位和按位或运算组合成多个第二多字节信号;其中,组合原则为每个所述第二多字节信号所承载的信息为更改后的报文信号的原始值对应的第一报文中一个或多个报文的完整报文信号、且每个所述第二多字节信号的长度尽量长且不超过所述第一预设字节数;
第三组合子单元,用于将多个所述第二多字节信号进行拆分和重新组合,得到多个第二数据传送包;
拆分子单元,用于将每个所述第二数据传送包拆分成两个数据信号;
第三计算子单元,用于根据每个所述第二数据传送包拆分得到的数据信号,计算得到所述第二报文。
CN201710630149.1A 2017-07-28 2017-07-28 一种故障注入的方法及装置 Active CN108011743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710630149.1A CN108011743B (zh) 2017-07-28 2017-07-28 一种故障注入的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710630149.1A CN108011743B (zh) 2017-07-28 2017-07-28 一种故障注入的方法及装置

Publications (2)

Publication Number Publication Date
CN108011743A CN108011743A (zh) 2018-05-08
CN108011743B true CN108011743B (zh) 2020-09-29

Family

ID=62050894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710630149.1A Active CN108011743B (zh) 2017-07-28 2017-07-28 一种故障注入的方法及装置

Country Status (1)

Country Link
CN (1) CN108011743B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737187B (zh) * 2018-05-23 2021-07-20 哈尔滨工业大学 一种can总线故障模拟系统及故障模拟方法
CN110674028A (zh) * 2019-08-20 2020-01-10 华为技术有限公司 故障注入方法及其装置、业务服务系统
CN110658000B (zh) * 2019-10-15 2021-09-21 北京经纬恒润科技股份有限公司 实车故障注入测试的恢复方法及装置
CN110928275B (zh) * 2019-12-12 2022-07-01 重庆长安新能源汽车科技有限公司 多控制器联合hil台架报文丢帧故障注入测试系统及方法
CN111124929B (zh) * 2019-12-29 2023-06-09 合肥工大高科信息科技股份有限公司 一种计算机联锁通信的故障测试方法及装置
CN112463609B (zh) * 2020-11-30 2024-02-09 重庆长安汽车股份有限公司 一种控制系统横向控制故障的功能测试方法、装置、控制器及计算机可读存储介质
CN112859817A (zh) * 2021-01-21 2021-05-28 中国第一汽车股份有限公司 一种整车故障诊断测试系统
CN114095271A (zh) * 2021-11-30 2022-02-25 北京天融信网络安全技术有限公司 通信总线检测方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658381A (zh) * 2004-02-21 2005-08-24 华为技术有限公司 一种逻辑故障注入的方法和装置
CN102566567A (zh) * 2012-02-20 2012-07-11 浙江大学 一种用于发动机hils系统的ecu传感器信号故障注入装置
CN102594589A (zh) * 2012-02-01 2012-07-18 北京经纬恒润科技有限公司 一种以太网故障注入方法、装置及其系统
CN102624574A (zh) * 2011-01-27 2012-08-01 西门子公司 一种对协议实现进行安全测试的方法及装置
CN206235726U (zh) * 2016-11-16 2017-06-09 广西电网有限责任公司南宁供电局 一种用于电子式电能表压力测试和功能测试的装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8861718B2 (en) * 2012-02-10 2014-10-14 Electronics And Telecommunications Research Institute Method of preventing fault-injection attacks on Chinese Remainder Theorem-Rivest Shamir Adleman cryptographic operations and recording medium for storing program implementing the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658381A (zh) * 2004-02-21 2005-08-24 华为技术有限公司 一种逻辑故障注入的方法和装置
CN102624574A (zh) * 2011-01-27 2012-08-01 西门子公司 一种对协议实现进行安全测试的方法及装置
CN102594589A (zh) * 2012-02-01 2012-07-18 北京经纬恒润科技有限公司 一种以太网故障注入方法、装置及其系统
CN102566567A (zh) * 2012-02-20 2012-07-11 浙江大学 一种用于发动机hils系统的ecu传感器信号故障注入装置
CN206235726U (zh) * 2016-11-16 2017-06-09 广西电网有限责任公司南宁供电局 一种用于电子式电能表压力测试和功能测试的装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于dSPACE的故障注入系统在汽车电子集成测试中的应用;穆天宇;《汽车实用技术》;20160326;全文 *

Also Published As

Publication number Publication date
CN108011743A (zh) 2018-05-08

Similar Documents

Publication Publication Date Title
CN108011743B (zh) 一种故障注入的方法及装置
CN103561479B (zh) 一种蓝牙设备通信方法和装置
US9898611B2 (en) Method and apparatus for scrambling a high speed data transmission
KR20190026896A (ko) 오류 코드 검출 방법, 기기, 시스템 및 컴퓨터 판독 가능 저장 매체
CN109347598A (zh) 校验码处理方法、电子设备及存储接介质
CN107104782A (zh) 数据传输方法及装置
CN115766242A (zh) 一种基于安全隔离通讯的环保管理系统
CN109617763B (zh) 一种用于fc-ae总线的压力测试方法及装置
CN114785634A (zh) 一种在hil测试过程中对can通讯系统传输的数据进行crc校验的实现方法
CN111835448B (zh) 多通道的通信时序控制方法及系统
CN109995548B (zh) 设备管理方法、系统和数据传输方法、系统及终端设备
CN111200653B (zh) 多平台通讯方法、多平台通讯装置及中间服务器
CN112422358B (zh) 一种总线信号解析仪以及解析方法
CN104734900A (zh) 一种通信协议测试的发送控制方法
CN111464386A (zh) 用于数据传输的通信转换方法和装置、通信系统
CN101272211B (zh) 业务交叉软件测试方法及系统
CN110557298A (zh) 用于测试系统的方法和系统
CN112187536B (zh) 基于tms配置数据的信息交互方法及装置、存储介质、电子装置
CN104615573A (zh) 一种通信方法及装置
CN104469427A (zh) 数据传输方法和终端及服务器
Kocić et al. A novel solution for an ECU simulator as a key component for automated testing and verification of a vehicle diagnostic device
CN109981394B (zh) 基于增强型can总线协议分析仪的通信方法和装置
CN102413017A (zh) 时延性能监测方法及装置
CN113204512A (zh) 一种基于uart总线的数据传输方法、系统、介质及设备
CN113132060A (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
CP03 Change of name, title or address

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

Patentee after: Beijing Jingwei Hengrun Technology Co., Ltd

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

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

CP03 Change of name, title or address