CN118316826A - 基于can通信的功能安全自动化测试方法及装置 - Google Patents

基于can通信的功能安全自动化测试方法及装置 Download PDF

Info

Publication number
CN118316826A
CN118316826A CN202410512902.7A CN202410512902A CN118316826A CN 118316826 A CN118316826 A CN 118316826A CN 202410512902 A CN202410512902 A CN 202410512902A CN 118316826 A CN118316826 A CN 118316826A
Authority
CN
China
Prior art keywords
message
check
signal
communication
crc
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
Application number
CN202410512902.7A
Other languages
English (en)
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.)
Shenzhen Blue Automobile Nanjing Research Institute Co ltd
Original Assignee
Shenzhen Blue Automobile Nanjing Research Institute Co ltd
Filing date
Publication date
Application filed by Shenzhen Blue Automobile Nanjing Research Institute Co ltd filed Critical Shenzhen Blue Automobile Nanjing Research Institute Co ltd
Publication of CN118316826A publication Critical patent/CN118316826A/zh
Pending legal-status Critical Current

Links

Abstract

本申请涉及一种基于CAN通信的功能安全自动化测试方法及装置,其中,方法包括:烧录导入的预计进行测试的协议地址和测试程序的二进制文件地址;基于预计进行测试的协议地址,根据信号类型、信号名、信号中文名、信号长度、信号起始位和信号周期中的至少之一得到统计结果,并生成发送报文校验表和接收报文校验表;采集发送报文校验表对应的第一ID报文,并进行校验,以得到发送报文诊断通信表,并采集接收报文校验表对应的第二ID报文,并进行校验,以得到接收报文诊断通信表;基于发送报文诊断通信表和接收报文诊断通信表,根据输出接收报文诊断通信表生成功能安全自动化测试结果。本申请实可以降低CAN通信过程中安全测试的计算成本和出错概率。

Description

基于CAN通信的功能安全自动化测试方法及装置
技术领域
本申请涉及新能源新能源汽车控制技术领域,特别涉及一种基于CAN通信的功能安全自动化测试方法及装置。
背景技术
新能源汽车中,相对于常规车,控制器部件(即电子控制单元,ECU)的数量要多得多,为了保证车辆可以正常运行,需要首先保证各个控制器部件之间的正常通信。目前为了保证车辆的通信速率,多采用CAN(Controller Area Network,控制器局域网总线)通讯。由于车辆电磁环境故障,车辆运行环境多变,出现CAN通信故障的情况非常多,为了避免由于通信故障导致车辆性能受限或动力中断的等情况,需要对CAN通讯进行诊断。
目前的CAN诊断中,为确认报文内容是否正确,多采取CRC(Cyclic RedundancyCheck,循环冗余校验码)校验。由于参与发送和接收的信号和报文日益增多,手动分析协议;使用CAN通信软件采集SVDC(Super Vehicle Dynamics Control,车辆动态控制系统)发送报文进行计算,对比CRC校验值;使用CAN通信软件发送报文,计算预设CRC校验值;SVDC接收报文后,确认CRC校验反馈信号是否正确,
然而,相关技术中的CAN通信及CAN诊断过程需耗费大量时间和精力,且容易出现错判漏判,成本较高的情况下可靠性较低,难以满足车辆在多种场景中的通信安全需求,亟待解决。
发明内容
本申请提供一种基于CAN通信的功能安全自动化测试方法及装置,以解决相关技术中的CAN通信及CAN诊断过程需耗费大量时间和精力,且容易出现错判漏判,成本较高的情况下可靠性较低,难以满足车辆在多种场景中的通信安全需求的技术问题。
本申请第一方面实施例提供一种基于CAN通信的功能安全自动化测试方法,包括以下步骤:烧录导入的预计进行测试的协议地址和测试程序的二进制文件地址;基于所述预计进行测试的协议地址,根据信号类型、信号名、信号中文名、信号长度、信号起始位和信号周期中的至少之一得到统计结果,并根据所述统计结果生成放入预设路径下的发送报文校验表和接收报文校验表;采集所述发送报文校验表对应的第一ID报文,并进行校验,以得到发送报文诊断通信表,并采集所述接收报文校验表对应的第二ID报文,并进行校验,以得到接收报文诊断通信表;基于所述发送报文诊断通信表和所述接收报文诊断通信表,根据输出接收报文诊断通信表生成功能安全自动化测试结果。
根据上述技术手段,本申请实施例可以输入预计的CAN协议和待测程序的二进制文件地址即可得到诊断通信发送报文和接收报文的结果,通过对发送报文和接收报文的校验,得到安全的自动化测试结果,有效的节省了在分析报文安全时的计算的时间和精力,可靠性较高,成本较低,可以广泛应用于新能源汽车CAN通信的安全系统中。
可选地,在本申请的一个实施例中,所述根据所述统计结果生成放入预设路径下的发送报文校验表和接收报文校验表,包括:将所述统计结果编入预设表格中,生成统计表格;基于所述统计表格,设置SVDC发送所需进行校验报文和SVDC接收所需进行校验报文的全部内容,以得到所述发送报文校验表和所述接收报文校验表。
根据上述技术手段,本申请实施例可以根据进行测试的协议地址的关键信息生成发送报文校验表和接收报文校验表,通过对信号类型、信号名、信号中文名、信号长度、信号起始位和信号周期等关键信息的统计和分析,更好地理解信号在通信过程中的表现,进而优化通信协议和信号处理方式,发送报文校验表和接收报文校验表便于后期验证发送和接收的报文数据的完整性,进而提高通信的可靠性。
可选地,在本申请的一个实施例中,所述采集所述报文校验表对应的第一ID报文,并进行校验,以得到发送报文诊断通信表,包括:根据所述第一ID报文的CRC信号起始位和信号长度确认第一报文所处位置与第一校验方式;基于所述第一报文所处位置与所述第一校验方式,计算第一CRC信号前所有内容,以得出第一理论CRC校验值;比较所述理论CRC校验值与实际值,其中,如果数值一致,则校验成功,否则校验失败,以将结果输出到目标地址的表格中,生成所述发送报文诊断通信表。
根据上述技术手段,本申请实施例可以生成发送报文校验表的发送报文诊断通信表,通过发送报文的所处位置和校验方式等,得到理论上的CRC校验值,并和实际值进行比较,由此得到校验结果,可以验证发送报文的完整性和准确性,确保数据传输无误,提高通信的可靠性。
可选地,在本申请的一个实施例中,所述采集所述接收报文校验表对应的第二ID报文,并进行校验,以得到接收报文诊断通信表,包括:根据所述第二ID报文的CRC信号起始位和信号长度,确认第二报文所处位置与第二校验方式;基于所述第二报文所处位置与所述第二校验方式,计算第二CRC信号前所有内容,以得出第二理论CRC校验值,以进行丢帧校验、CRC错误的报文校验和CRC正确的报文校验,生成所述接收报文诊断通信表。
根据上述技术手段,本申请实施例可以生成接收报文校验表的接收报文诊断通信表,通过发送报文的所处位置和校验方式等,得到理论上的CRC校验值,并再次进行丢帧校验、CRC错误的报文校验和CRC正确的报文校验等三种校验,确保生成的接收报文诊断通信表能够准确保障诊断结果的真实性和完整性,避免误判或遗漏。
可选地,在本申请的一个实施例中,在根据所述输出接收报文诊断通信表生成所述功能安全自动化测试结果之前,还包括:基于所述接收报文校验表,获取所需进行接收校验的报文ID和所处CAN通路,以得到所述输出接收报文诊断通信表。
根据上述技术手段,本申请实施例可以确定接受校验的报文ID和CAN通路,从而精确筛选和定位需要校验的报文,确保输出接收报文诊断通信表的准确性,为后续的功能安全测试提供可靠的数据支持。
本申请第二方面实施例提供一种基于CAN通信的功能安全自动化测试装置,包括:烧录模块100,用于烧录导入的预计进行测试的协议地址和测试程序的二进制文件地址;生成模块200,用于基于所述预计进行测试的协议地址,根据信号类型、信号名、信号中文名、信号长度、信号起始位和信号周期中的至少之一得到统计结果,并根据所述统计结果生成放入预设路径下的发送报文校验表和接收报文校验表;采集模块300,用于采集所述发送报文校验表对应的第一ID报文,并进行校验,以得到发送报文诊断通信表,并采集所述接收报文校验表对应的第二ID报文,并进行校验,以得到接收报文诊断通信表;测试模块400,用于基于所述发送报文诊断通信表和所述接收报文诊断通信表,根据输出接收报文诊断通信表生成功能安全自动化测试结果。
根据上述技术手段,本申请实施例可以输入预计的CAN协议和待测程序的二进制文件地址即可得到诊断通信发送报文和接收报文的结果,通过对发送报文和接收报文的校验,得到安全的自动化测试结果,有效的节省了在分析报文安全时的计算的时间和精力,可靠性较高,成本较低,可以广泛应用于新能源汽车CAN通信的安全系统中。
可选地,在本申请的一个实施例中,所述生成模块200,包括:生成单元,用于将所述统计结果编入预设表格中,生成统计表格;设置单元,用于基于所述统计表格,设置SVDC发送所需进行校验报文和SVDC接收所需进行校验报的全部内容,以得到所述发送报文校验表和所述接收报文校验表。
根据上述技术手段,本申请实施例可以根据进行测试的协议地址的关键信息生成发送报文校验表和接收报文校验表,通过对信号类型、信号名、信号中文名、信号长度、信号起始位和信号周期等关键信息的统计和分析,更好地理解信号在通信过程中的表现,进而优化通信协议和信号处理方式,发送报文校验表和接收报文校验表便于后期验证发送和接收的报文数据的完整性,进而提高通信的可靠性。
可选地,在本申请的一个实施例中,所述采集模块300,包括:第一确定单元,用于根据所述第一ID报文的CRC信号起始位和信号长度确认第一报文所处位置与第一校验方式;第一计算单元,用于基于所述第一报文所处位置与所述第一校验方式,计算第一CRC信号前所有内容,以得出第一理论CRC校验值;比较单元,用于比较所述理论CRC校验值与实际值,其中,如果数值一致,则校验成功,否则校验失败,以将结果输出到目标地址的表格中,生成所述发送报文诊断通信表。
根据上述技术手段,本申请实施例可以生成发送报文校验表的发送报文诊断通信表,通过发送报文的所处位置和校验方式等,得到理论上的CRC校验值,并和实际值进行比较,由此得到校验结果,可以验证发送报文的完整性和准确性,确保数据传输无误,提高通信的可靠性。
可选地,在本申请的一个实施例中,所述采集模块300,包括:第二确定单元,用于根据所述第二ID报文的CRC信号起始位和信号长度,确认第二报文所处位置与第二校验方式;第二计算单元,用于基于所述第二报文所处位置与所述第二校验方式,计算第二CRC信号前所有内容,以得出第二理论CRC校验值,以进行丢帧校验、CRC错误的报文校验和CRC正确的报文校验,生成所述接收报文诊断通信表。
根据上述技术手段,本申请实施例可以生成接收报文校验表的接收报文诊断通信表,通过发送报文的所处位置和校验方式等,得到理论上的CRC校验值,并再次进行丢帧校验、CRC错误的报文校验和CRC正确的报文校验等三种校验,确保生成的接收报文诊断通信表能够准确保障诊断结果的真实性和完整性,避免误判或遗漏。
可选地,在本申请的一个实施例中,还包括:获取模块,用于在根据所述输出接收报文诊断通信表生成所述功能安全自动化测试结果之前,基于所述接收报文校验表,获取所需进行接收校验的报文ID和所处CAN通路,以得到所述输出接收报文诊断通信表。
根据上述技术手段,本申请实施例可以确定接受校验的报文ID和CAN通路,从而精确筛选和定位需要校验的报文,确保输出接收报文诊断通信表的准确性,为后续的功能安全测试提供可靠的数据支持。
本申请第三方面实施例提供一种车辆,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的基于CAN通信的功能安全自动化测试方法。
本申请第四方面实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上述实施例所述的基于CAN通信的功能安全自动化测试方法。
本申请第五方面实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被所述处理器执行时,以实现如上述实施例所述的基于CAN通信的功能安全自动化测试方法。
本申请实施例的有益效果:
(1)本申请实施例可以输入预计的CAN协议和待测程序的二进制文件地址即可得到诊断通信发送报文和接收报文的结果,通过对发送报文和接收报文的校验,得到安全的自动化测试结果,有效的节省了在分析报文安全时的计算的时间和精力,可靠性较高,成本较低,可以广泛应用于新能源汽车CAN通信的安全系统中。
(2)本申请实施例可以根据将通信内容分为SVDC发送所需进行校验报文和SVDC接收所需进行校验报文的全部内容,并由此分为两个新的发送报文校验表和接受报文校验表,便于分别对发送校验报文和接收校验报文进行各种统计分析,减少计算与分析时间,进而提高通信过程中的校验效率。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的一种基于CAN通信的功能安全自动化测试方法的流程图;
图2为根据本申请一个实施例提供的SVDC发送报文CRC校验示意图;
图3为根据本申请一个实施例提供的SVDC接收报文CRC校验示意图;
图4为根据本申请实施例的基于CAN通信的功能安全自动化测试装置的结构示意图;
图5为根据本申请实施例提供的车辆的结构示意图。
其中,10-基于CAN通信的功能安全自动化测试装置;100-烧录模块、200-生成模块、300-采集模块和400-测试模块;501-存储器、502-处理器、503-通信接口。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的基于CAN通信的功能安全自动化测试方法及装置。针对上述背景技术中提到的CAN通信及CAN诊断过程需耗费大量时间和精力,且容易出现错判漏判,成本较高的情况下可靠性较低,难以满足车辆在多种场景中的通信安全需求的技术问题,本申请提供了一种基于CAN通信的功能安全自动化测试方法,在该方法中,可以输入预计的CAN协议和待测程序的二进制文件地址即可得到诊断通信发送报文和接收报文的结果,通过对发送报文和接收报文的校验,得到安全的自动化测试结果,有效的节省了在分析报文安全时的计算的时间和精力,可靠性较高,成本较低,可以广泛应用于新能源汽车CAN通信的安全系统中。由此,解决了相关技术中的CAN通信及CAN诊断过程需耗费大量时间和精力,且容易出现错判漏判,成本较高的情况下可靠性较低,难以满足车辆在多种场景中的通信安全需求的技术问题。
具体而言,图1为根据本申请实施例提供的一种基于CAN通信的功能安全自动化测试方法的流程图。
如图1所示,该基于CAN通信的功能安全自动化测试方法包括以下步骤:
在步骤S101中,烧录导入的预计进行测试的协议地址和测试程序的二进制文件地址。
本领域技术人员可以理解的是,烧录就是程序员写好的程序,把程序导入到目标IC上面,实行一个完整的动作,在此处可以理解为是指用刻录机把数据刻录(也称烧录)到刻录盘。二进制文件在此处可以理解为文件数据在物理上的存储方式是二进制的,即由0/1字符串构成,只存储数据而不写明数据类型,在解读文件时可以利用值编码或字符编码等方式进行解读。二进制地址是指通常情况下在实地址方式下,通过段地址乘以16加上偏移地址所得到的一个地址。
举例而言,导入预计进行测试的协议地址和测试程序的二进制文件地址后,便可以使用脚本自动使用软件向SVDC(Super Vehicle Dynamics Control,车辆动态控制系统)进行二进制文件的烧录。
本申请实施例可以通过二进制文件地址,确保程序的完整性和正确性,如果地址错误或程序被篡改,测试将无法正常进。烧录预计进行测试的协议地址和测试程序的二进制文件地址则有助于准确地找到协议并执行测试程序。
在步骤S102中,基于预计进行测试的协议地址,根据信号类型、信号名、信号中文名、信号长度、信号起始位和信号周期中的至少之一得到统计结果,并根据统计结果生成放入预设路径下的发送报文校验表和接收报文校验表。
可以理解的是,协议地址(Protocol address)在此处可以理解但不限于为IP地址(Internet Protocol Address)。协议地址可以用于在网络中唯一标识和定位一个设备,实现设备间的通信和数据交换,是计算机网络中不可或缺的一部分,其确保了数据的准确传输和网络的正常运行。
在一些实施例中,导入预计进行测试的协议后,便可以编辑协议的Excel表格。该表格主要包括但不限于有信号类型、信号名、信号中文名、信号长度、信号起始位和信号周期等信息。
其中,信号类型主要为区分SVDC发送和接收的信号。举例而言,车辆中的模拟信号、数字信号、状态信号、控制信号、数据通信信号、保护信号等,这些信号可以用于监控、控制和保护车辆的直流电源系统及其连接的设备。
信号名(SignalName)中主要包含有“CRC(Cyclic Redundancy Check,循环冗余校验码)”,即该信号采用了CRC技术来确保数据的完整性和准确性。例如,在车辆通信系统中,CRC被广泛应用于各种数据包的校验,以确保数据在传输过程中的正确性。如在CAN(Controller Area Network)总线上传输的数据帧中,通常会包含CRC字段,用于校验数据的完整性。
信号中文名中主要包含“报文校验”,报文校验是在车辆通信系统中所采用的一种数据完整性验证方法,可以用于确保传输的报文(即数据包)在传输过程中没有被篡改或损坏,从而保证接收到的信息是准确和可靠的。如在车载网络的CAN总线系统中,报文校验可以广泛应用于确保各个电子控制单元(ECU)之间传输的数据的准确性和完整性。
信号长度,即待传输数据的位数,在根据数据长度选择的校验方式时,可以但不限于采用crc8校验方式和crc16校验方式。例如,在数据长度为8位(或者说1字节)时,可以使用CRC8校验方式,CRC8会产生一个8位的校验码,用于检测数据传输过程中的错误;当传输的数据长度为16位(或者说2字节)时,推荐使用CRC16校验方式。CRC16会产生一个16位的校验码,提供更强的错误检测能力。
信号起始位是数据传输中的一个持续一个比特时间的逻辑低电平信号,标志着数据传输的开始。利用起始位可以使接收方的接收时钟与发送方的数据同步,从而确保数据的正确接收和解析。且本申请实施例中的CRC校验是对CRC信号前所有报文内容进行计算,即在校验码(CRC信号)之前的所有数据内容都会被纳入CRC的计算范围。举例来说,发送方会根据一定的算法(通常涉及多项式和除法运算)计算出一个CRC校验码,并附加在报文数据的末尾。接收方在收到数据后,会使用同样的算法对报文数据(不包括附加的CRC校验码)进行计算,得出一个新的CRC校验码。接收方然后将计算出的CRC校验码与发送方附加的校验码进行对比。如果两者一致,说明数据传输过程中没有发生错误;如果不一致,则说明数据在传输过程中可能出现了错误。
信号周期通常指的是一个完整信号传输过程所需的时间,在此处可以理解为信号传输的固定时间间隔或频率。在本申请实施例中的信号周期可以与报文周期保持一致,其中,报文周期是指在网络通信中,发送或接收报文的时间间隔。信号周期与报文周期保持一致在此处可以理解为在某种通信系统中,信号传输的周期与报文的发送周期是同步的,每个信号周期结束时,恰好完成一个报文的发送。需要注意的是,本申请实施例中的“一致”并不意味着信号周期和报文周期的绝对时间长度必须完全相同,而是指它们的开始和结束时间点能够相互对应,保持一种同步的状态,以确保数据传输的效率和准确性。
在得到信号类型、信号名、信号中文名、信号长度、信号起始位和信号周期等至少之一的关键信息后,本申请实施例还可以对这些关键信息进行匹配筛选得到一个统计结果,并根据统计结果生成放入预设路径下的发送报文校验表和接收报文校验表。
需要说明的是,预设路径在此处指的是在预先设定完成的任一路径,具体可由本领专业技术人员进行设定,此处仅作示例性说明,不做具体解释。
本申请实施例可以通过对信号类型、信号名、信号中文名、信号长度、信号起始位和信号周期等关键信息的统计和分析,更好地理解信号在通信过程中的表现,进而优化通信协议和信号处理方式,还可以根据统计结果生成放入一定路径下的发送报文校验表和接收报文校验表,便于后期验证发送和接收的报文数据的完整性,进而提高通信的可靠性。
可选地,在本申请的一个实施例中,根据统计结果生成放入预设路径下的发送报文校验表和接收报文校验表,包括:将统计结果编入预设表格中,生成统计表格;基于统计表格,设置SVDC发送所需进行校验报文和SVDC接收所需进行校验报文的全部内容,以得到发送报文校验表和接收报文校验表。
基于其他实施例的相关说明可以理解的是,本申请实施例可以对通信过程中的关键信息等进行统计和分析,并可以根据统计结果生成放入一定路径下的发送报文校验表和接收报文校验表。
进一步地,在根据统计结果生成放入预设路径下的发送报文校验表和接收报文校验表的实际过程中,本申请实施例还可以将统计结果编入新的表格中,生成新的2页Excel,其中,每一页表格可以分别编有SVDC发送所需进行校验报文和SVDC接收所需进行校验报文的全部内容,然后将该新表格放入一定的路径下,最终得到发送报文校验表和接收报文校验表。
本申请实施例可以根据统计结果将内容分为SVDC发送所需进行校验报文和SVDC接收所需进行校验报文的全部内容,并由此分为两个新的发送报文校验表和接受报文校验表,便于分别对发送校验报文和接收校验报文进行各种统计分析,进而提高通信过程中的校验效率。
在步骤S103中,采集发送报文校验表对应的第一ID报文,并进行校验,以得到发送报文诊断通信表,并采集接收报文校验表对应的第二ID报文,并进行校验,以得到接收报文诊断通信表。
在一些实施例中,得到发送报文校验表和接受报文校验表后,为了保证数据的正确传输,可以采取一定的诊断和校验措施,对表中的内容进行校验,并将校验结果分别整理成对应的报文诊断通信表。由此,本申请实施例便可以采集并校验一定的报文数据用于校验。
举例而言,在对发送报文校验表进行校验时,可以采集发送报文校验表对应的第一ID报文,可以理解为从发送端捕获一些具有特定标识符(即第一ID)或是说包含了关键的信息的报文数据。利用这些报文数据后进行校验,由此便可以得到发送报文诊断通信表。
又或者,对接收报文校验表进行校验时,可以采集接收报文校验表对应的第二ID报文,并进行校验,由此便可以得到接收报文诊断通信表。
校验完成后得到的发送报文诊断通信表和接收报文诊断通信表,可以记录每个报文的校验结果,包括哪些报文通过了校验,哪些没有,以及可能存在的错误类型和位置等。
本申请实施例可以分别对校验表中的内容进行校验,检测数据在传输过程中是否出现损坏、丢失或篡改等,保障通信的安全,得到的发送报文诊断通信表和接收报文诊断通信表有助于快速定位通信过程中的问题所在,便于后续的数据分析、安全系统改进等。
可选地,在本申请的一个实施例中,采集发送报文校验表对应的第一ID报文,并进行校验,以得到发送报文诊断通信表,包括:根据第一ID报文的CRC信号起始位和信号长度确认第一报文所处位置与第一校验方式;基于第一报文所处位置与第一校验方式,计算第一CRC信号前所有内容,以得出第一理论CRC校验值;比较理论CRC校验值与实际值,其中,如果数值一致,则校验成功,否则校验失败,以将结果输出到目标地址的表格中,生成发送报文诊断通信表。
实际执行过程中,在根据报文校验表对应的第一ID报文进行校验,以得到报文诊断通信表时,需要先根据得出的SVDC发送报文校验表,利用脚本自动采集对应ID报文如本申请实施例中的第一ID报文,其中,每个ID的报文可以但不限于采5帧。接着可以根据该ID报文的CRC信号起始位和信号长度,确认其在报文所处位置及校验方式,并由此对该报文CRC信号前所有内容进行计算,得出理论CRC校验值,并与实际值进行对比。若数值一致则校验成功,不一致则校验失败,同时还可以将校验结果输出到指定地址的Excel即SVDC发送报文诊断通信表中,该表格包含但不限于有:信号英文名,信号中文名,总线名,网段ID,校验方式,校验结果,CRC解析值,接收到的报文等。
如图2所示,即为本申请一个实施例的SVDC发送报文CRC校验示意图。
举例而言,通过CAN协议得到SVDC发送报文诊断通信表过程可以表示如下:
首先,在原CAN协议中添加一页用作报文发送页,在原信号内容页中通过筛选标志,例如,符合Sender=VCU、TBOX(即在车载网络通信中信息的发送方是VCU(VehicleControl Unit,车辆控制单元)或TBOX(Telematics BOX,车联网系统的一部分),SignalName包含“CRC”,NameInChinese包含“报文校验”等条件的信号,即为所需进行CRC校验的SVDC发送信号,并将这些信号的所有内容输入到一定的报文发送页。
接着,将报文发送页中所需信息写入新的SVDC发送报文诊断通信表中:信号英文名可以输入SignalName内容,信号中文名可以输入NameInChinese内容,总线名可以输入sub-net(一个专门的网络分段,可以将大型的、复杂的网络划分为更小、更易于管理的子网)内容,网段ID可以输入ID内容,校验方式根据Signal Length即信号长度可以选择输入crc8或crc16校验方式,接收到的报文可以输入实际采集到的报文内容,CRC解析值可以输入根据实际采集的报文内容+校验方式计算得出的理论CRC校验值,校验结果可以输入CRC解析值与接收到的报文中CRC实际值对比得出的结果。
根据上述技术手段,本申请实施例可以生成发送报文校验表的发送报文诊断通信表,通过发送报文的所处位置和校验方式等,得到理论上的CRC校验值,并和实际值进行比较,由此得到校验结果,可以验证发送报文的完整性和准确性,确保数据传输无误,提高通信的可靠性。
可选地,在本申请的一个实施例中,采集接收报文校验表对应的第二ID报文,并进行校验,以得到接收报文诊断通信表,包括:根据第二ID报文的CRC信号起始位和信号长度,确认第二报文所处位置与第二校验方式;基于第二报文所处位置与第二校验方式,计算第二CRC信号前所有内容,以得出第二理论CRC校验值,以进行丢帧校验、CRC错误的报文校验和CRC正确的报文校验,生成接收报文诊断通信表。
在另一些实施例中,根据接收报文校验表对应的第二ID报文进行校验,以得到接收报文诊断通信表时,同样也可以根据得到的SVDC接收报文校验表,发送对应ID的报文如本申请实施例中的第二ID报文,每个报文可以按照协议里的信号周期即报文周期进行发送。接着同样根据该ID报文的CRC信号起始位和信号长度,确认其在报文所处位置及校验方式。需要注意的是,该报文其余信号值在范围内可以随机赋值,即该报文除CRC校验值外内容可以随机。然后对该报文CRC信号前所有内容进行计算,得出理论CRC校验值。
如图3所示,即为本申请一个实施例的SVDC接收报文CRC校验示意图。
举例而言,通过CAN协议得到SVDC接收报文诊断通信表过程可以表示如下:
首先,在原CAN协议中添加一页用作报文接收页,在原信号内容页中通过筛选标志,符合Sender!=VCU、TBOX、GW(即信息的发送方(Sender)不是车辆控制单元(VCU)、车联网系统(TBOX)或网关(GW)),SignalName包含“CRC”,NameInChinese包含“报文校验”等条件的信号,即为所需进行CRC校验的SVDC接收信号,接着将这些信号的所有内容输入报文接收页。
进一步地,对于一个ID的报文本申请实施例中可以但不限于进行3种校验,分别为丢帧校验(即工具不向SVDC发送该报文),CRC错误的报文校验(即不对CRC信号进行赋值),CRC正确的报文校验(即对CRC信号赋理论正确值)。
接着,将报文接收页中所需信息写入新的SVDC接收报文诊断通信表中:源总线名可以输入sub-net内容,源网段ID可以输入ID内容,信号结构体名字可以输入根据固定结构体名+Sender+ID+校验类型后缀(丢帧校验和CRC校验)组合成的内容(与实际待测软件中所需校验的信号名一致),默认值可以输入InitialValue(初始值),未发送时读出的值可以输入工具未发送对应ID报文时该校验信号诊断值,发送错误CRC时读出的值可以输入工具发送CRC校验值错误的报文时该校验信号诊断值,发送正确CRC时读出的值可以输入工具发送CRC校验值正确的报文时该校验信号诊断值。
进一步地,以上3种情况下理论信号诊断值与实际信号诊断值对比结果可以表示为:理论丢帧校验信号诊断值:未发送为1,发送错误CRC为0,发送正确CRC为0;理论CRC校验信号诊断值:未发送为0,发送错误CRC为1,发送正确CRC为0)。
根据上述技术手段,本申请实施例可以生成接收报文校验表的接收报文诊断通信表,通过发送报文的所处位置和校验方式等,得到理论上的CRC校验值,并再次进行丢帧校验、CRC错误的报文校验和CRC正确的报文校验等三种校验,确保生成的接收报文诊断通信表能够准确保障诊断结果的真实性和完整性,避免误判或遗漏。
步骤S104,基于发送报文诊断通信表和接收报文诊断通信表,根据输出接收报文诊断通信表生成功能安全自动化测试结果。
作为一种可能实现的方式,在得到发送报文诊断通信表和接收报文诊断通信表后,便可以得到输出的接收报文诊断通信表,进而得到安全且自动化的测试结果,即理论信号诊断值与实际信号诊断值对比结果。
其中,在根据得出的SVDC接收报文校验表,发送对应ID的报文,每个报文按照协议里的信号周期即报文周期进行发送以进行校验时,可以但不限于使用工具向SVDC进行3种情况的报文发送。
举例而言,本申请实施例可以利用脚本控制工具自动按照ID和情况顺序向SVDC发送报文,同时自动使用软件读取SVDC对应ID报文的丢帧校验信号诊断值,例如,值为0:不丢帧,值为1:丢帧;CRC校验信号诊断值,例如,值为0:CRC校验通过,值为1:CRC校验不通过等。并将诊断值输入本申请实施例中的输出接收报文诊断通信表,与理论值对比,最终得到测试结果。
其中,脚本中计算CRC理论正确值,可以根据报文发送或接收页,确认对应CRC信号的所在报文ID(根据ID),确认校验方式(根据Signal Length),确认所需进行计算内容的位置(根据Signal StartBit+Signal Length)。之后,就可以在工具上对采集到的SVDC发送报文进行CRC校验值的计算,也可以对待发送的SVDC接收报文进行(如CRC校验值正确或错误这2种情况下)报文内容的设置。
可选地,在本申请的一个实施例中,在根据输出接收报文诊断通信表生成功能安全自动化测试结果之前,还包括:基于接收报文校验表,获取所需进行接收校验的报文ID和所处CAN通路,以得到输出接收报文诊断通信表。
在另一些实施例中,在根据输出接收报文诊断通信表生成功能安全自动化测试结果之前,为了得到准确的输出接收报文诊断通信表,本申请实施例还会根据接收报文校验表,得出所需进行接收校验的报文ID,以及其所处CAN通路。
由于丢帧校验信号(反馈该报文是否丢帧的信号)和CRC校验信号(反馈该报文CRC校验是否通过的信号)所处的结构体固定,且命名规则固定,因此可以得出每个通道所需进行校验的具体信号名(结构体名.校验信号名)。
其中,输出SVDC接收报文诊断通信表,可以但不限于包含:源总线名,信号结构体名字,源网段ID,默认值,未发送时读出的值,发送错误CRC时读出的值,发送正确CRC时读出的值,即测试结果。
根据上述技术手段,本申请实施例可以确定接受校验的报文ID和CAN通路,从而精确筛选和定位需要校验的报文,确保输出接收报文诊断通信表的准确性,为后续的功能安全测试提供可靠的数据支持。
根据本申请实施例提出的基于CAN通信的功能安全自动化测试方法,可以输入预计的CAN协议和待测程序的二进制文件地址即可得到诊断通信发送报文和接收报文的结果,通过对发送报文和接收报文的校验,得到安全的自动化测试结果,有效的节省了在分析报文安全时的计算的时间和精力,可靠性较高,成本较低,可以广泛应用于新能源汽车CAN通信的安全系统中。由此,解决了相关技术中的CAN通信及CAN诊断过程需耗费大量时间和精力,且容易出现错判漏判,成本较高的情况下可靠性较低,难以满足车辆在多种场景中的通信安全需求的技术问题。
其次参照附图描述根据本申请实施例提出的基于CAN通信的功能安全自动化测试装置。
图4为根据本申请实施例提供的基于CAN通信的功能安全自动化测试装置的结构示意图。
如图4所示,该基于CAN通信的功能安全自动化测试装置10,包括:烧录模块100、生成模块200、采集模块300和测试模块400。
其中,烧录模块100,用于烧录导入的预计进行测试的协议地址和测试程序的二进制文件地址。
生成模块200,用于基于预计进行测试的协议地址,根据信号类型、信号名、信号中文名、信号长度、信号起始位和信号周期中的至少之一得到统计结果,并根据统计结果生成放入预设路径下的发送报文校验表和接收报文校验表。
采集模块300,用于采集发送报文校验表对应的第一ID报文,并进行校验,以得到发送报文诊断通信表,并采集接收报文校验表对应的第二ID报文,并进行校验,以得到接收报文诊断通信表。
测试模块400,用于基于发送报文诊断通信表和接收报文诊断通信表,根据输出接收报文诊断通信表生成功能安全自动化测试结果。
可选地,在本申请的一个实施例中,生成模块200,包括:生成单元和设置单元。
其中,生成单元,用于将统计结果编入预设表格中,生成统计表格。
设置单元,用于基于统计表格,设置SVDC发送所需进行校验报文和SVDC接收所需进行校验报的全部内容,以得到发送报文校验表和接收报文校验表。
可选地,在本申请的一个实施例中,采集模块300,包括:第一确定单元、第一计算单元和比较单元。
其中,第一确定单元,用于根据第一ID报文的CRC信号起始位和信号长度确认第一报文所处位置与第一校验方式。
第一计算单元,用于基于第一报文所处位置与第一校验方式,计算第一CRC信号前所有内容,以得出第一理论CRC校验值。
比较单元,用于比较理论CRC校验值与实际值,其中,如果数值一致,则校验成功,否则校验失败,以将结果输出到目标地址的表格中,生成发送报文诊断通信表。
可选地,在本申请的一个实施例中,采集模块300,包括:第二确定单元和第二计算单元。
其中,第二确定单元,用于根据第二ID报文的CRC信号起始位和信号长度,确认第二报文所处位置与第二校验方式。
第二计算单元,用于基于第二报文所处位置与第二校验方式,计算第二CRC信号前所有内容,以得出第二理论CRC校验值,以进行丢帧校验、CRC错误的报文校验和CRC正确的报文校验,生成接收报文诊断通信表。
可选地,在本申请的一个实施例中,还包括:获取模块。
其中,获取单元,用于在根据输出接收报文诊断通信表生成功能安全自动化测试结果之前,基于接收报文校验表,获取所需进行接收校验的报文ID和所处CAN通路,以得到输出接收报文诊断通信表。
需要说明的是,前述对基于CAN通信的功能安全自动化测试方法实施例的解释说明也适用于该实施例的基于CAN通信的功能安全自动化测试装置,此处不再赘述。
根据本申请实施例提出的基于CAN通信的功能安全自动化测试装置,可以输入预计的CAN协议和待测程序的二进制文件地址即可得到诊断通信发送报文和接收报文的结果,通过对发送报文和接收报文的校验,得到安全的自动化测试结果,有效的节省了在分析报文安全时的计算的时间和精力,可靠性较高,成本较低,可以广泛应用于新能源汽车CAN通信的安全系统中。由此,解决了相关技术中的CAN通信及CAN诊断过程需耗费大量时间和精力,且容易出现错判漏判,成本较高的情况下可靠性较低,难以满足车辆在多种场景中的通信安全需求的技术问题。
图5为根据本申请实施例提供的车辆的结构示意图。该车辆可以包括:
存储器501、处理器502及存储在存储器501上并可在处理器502上运行的计算机程序。
处理器502执行程序时实现上述实施例中提供的基于CAN通信的功能安全自动化测试方法。
进一步地,车辆还包括:
通信接口503,用于存储器501和处理器502之间的通信。
存储器501,用于存放可在处理器502上运行的计算机程序。
存储器501可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器501、处理器502和通信接口503独立实现,则通信接口503、存储器501和处理器502可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponentInterconnect,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选地,在具体实现上,如果存储器501、处理器502及通信接口503,集成在一块芯片上实现,则存储器501、处理器502及通信接口503可以通过内部接口完成相互间的通信。
处理器502可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的基于CAN通信的功能安全自动化测试方法。
本实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上的基于CAN通信的功能安全自动化测试方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或N个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种基于CAN通信的功能安全自动化测试方法,其特征在于,包括以下步骤:
烧录导入的预计进行测试的协议地址和测试程序的二进制文件地址;
基于所述预计进行测试的协议地址,根据信号类型、信号名、信号中文名、信号长度、信号起始位和信号周期中的至少之一得到统计结果,并根据所述统计结果生成放入预设路径下的发送报文校验表和接收报文校验表;
采集所述发送报文校验表对应的第一ID报文,并进行校验,以得到发送报文诊断通信表,并采集所述接收报文校验表对应的第二ID报文,并进行校验,以得到接收报文诊断通信表;
基于所述发送报文诊断通信表和所述接收报文诊断通信表,根据输出接收报文诊断通信表生成功能安全自动化测试结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述统计结果生成放入预设路径下的发送报文校验表和接收报文校验表,包括:
将所述统计结果编入预设表格中,生成统计表格;
基于所述统计表格,设置SVDC发送所需进行校验报文和SVDC接收所需进行校验报文的全部内容,以得到所述发送报文校验表和所述接收报文校验表。
3.根据权利要求1所述的方法,其特征在于,所述采集所述发送报文校验表对应的第一ID报文,并进行校验,以得到发送报文诊断通信表,包括:
根据所述第一ID报文的CRC信号起始位和信号长度确认第一报文所处位置与第一校验方式;
基于所述第一报文所处位置与所述第一校验方式,计算第一CRC信号前所有内容,以得出第一理论CRC校验值;
比较所述理论CRC校验值与实际值,其中,如果数值一致,则校验成功,否则校验失败,以将结果输出到目标地址的表格中,生成所述发送报文诊断通信表。
4.根据权利要求1所述的方法,其特征在于,所述采集所述接收报文校验表对应的第二ID报文,并进行校验,以得到接收报文诊断通信表,包括:
根据所述第二ID报文的CRC信号起始位和信号长度,确认第二报文所处位置与第二校验方式;
基于所述第二报文所处位置与所述第二校验方式,计算第二CRC信号前所有内容,以得出第二理论CRC校验值,以进行丢帧校验、CRC错误的报文校验和CRC正确的报文校验,生成所述接收报文诊断通信表。
5.根据权利要求1所述的方法,其特征在于,在根据所述输出接收报文诊断通信表生成所述功能安全自动化测试结果之前,还包括:
基于所述接收报文校验表,获取所需进行接收校验的报文ID和所处CAN通路,以得到所述输出接收报文诊断通信表。
6.一种基于CAN通信的功能安全自动化测试装置,其特征在于,包括:
烧录模块100,烧录导入的预计进行测试的协议地址和测试程序的二进制文件地址;
生成模块200,用于基于所述预计进行测试的协议地址,根据信号类型、信号名、信号中文名、信号长度、信号起始位和信号周期中的至少之一得到统计结果,并根据所述统计结果生成放入预设路径下的发送报文校验表和接收报文校验表;
采集模块300,用于采集所述发送报文校验表对应的第一ID报文,并进行校验,以得到发送报文诊断通信表,并采集所述接收报文校验表对应的第二ID报文,并进行校验,以得到接收报文诊断通信表;
测试模块400,用于基于所述发送报文诊断通信表和所述接收报文诊断通信表,根据输出接收报文诊断通信表生成功能安全自动化测试结果。
7.根据权利要求6所述的装置,其特征在于,所述生成模块,包括:
生成单元,用于将所述统计结果编入预设表格中,生成统计表格;
设置单元,用于基于所述统计表格,设置SVDC发送所需进行校验报文和SVDC接收所需进行校验报文的全部内容,以得到所述发送报文校验表和所述接收报文校验表。
8.一种车辆,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-5任一项所述的基于CAN通信的功能安全自动化测试方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-5任一项所述的基于CAN通信的功能安全自动化测试方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时,以用于实现如权利要求1-5任一项所述的基于CAN通信的功能安全自动化测试方法。
CN202410512902.7A 2024-04-26 基于can通信的功能安全自动化测试方法及装置 Pending CN118316826A (zh)

Publications (1)

Publication Number Publication Date
CN118316826A true CN118316826A (zh) 2024-07-09

Family

ID=

Similar Documents

Publication Publication Date Title
CN109634258B (zh) 一种用于硬件在环测试的总线报文校验方法、装置及系统
JP2003229875A (ja) Can−コントローラ内部のデータ伝送におけるエラーの認識方法,can−コントローラ,プログラム,記録媒体,及び制御装置
US7539903B2 (en) Method for monitoring the execution of a program by comparing a request with a response and introducing a falsification in a response
CN109088780B (zh) 一种信号检测方法和检测装置
CN113225232B (zh) 硬件测试方法、装置、计算机设备及存储介质
CN112181444B (zh) 一种基于1553b总线的dsp多核数据烧写方法
CN118316826A (zh) 基于can通信的功能安全自动化测试方法及装置
CN111861858A (zh) 一种启动图像压缩功能验证的方法、装置及相关设备
US11928019B2 (en) Serial management interface with improved reliability
CN115357513B (zh) 程序模糊测试方法、装置、设备及存储介质
CN115378419A (zh) 一种熔丝修调的控制电路
CN113010114A (zh) 一种数据处理方法、装置、计算机设备及存储介质
CN113407444A (zh) 一种接口的测试用例生成方法、装置、设备及存储介质
CN116094531B (zh) Sent信号接收系统、芯片
CN113504931B (zh) 一种控制器测试方法、装置、设备及存储介质
JP3549702B2 (ja) バス制御回路及びその試験方法
CN115633044B (zh) 报文的处理方法、装置、电子设备及存储介质
CN114726482B (zh) 一种spi数据传输方法
CN117608618B (zh) 服务器固件升级方法及装置、存储介质和电子设备
CN117785782A (zh) 基于NVMe 2.0协议的数据检测方法、装置、设备及介质
US20230231739A1 (en) Inspection apparatus and inspection method
CN117711475A (zh) 存储单元的故障检测电路及方法、功能芯片
CN113867325A (zh) 仪控系统的通信诊断方法及系统
CN117395097A (zh) 一种总线报文的转发方法、装置、电子设备及介质
CN115237702A (zh) 一种1553b协议总线芯片的错误注入测试方法

Legal Events

Date Code Title Description
PB01 Publication