本发明属于汽车电子产品诊断技术领域,更具体的说,是涉及一种电子产品的下线检测方法及系统。
背景技术:
汽车电子产品在进行量产阶段,在产线组装阶段,一般需要对组装后的产品进行EOL(End of line,下线)检测,是对产品下线时的检测,通过检测确保产品的输入、输出及产品内部其它电路在出现问题时能够及时被发现,避免不合格产品流入客户手中。
目前,对产品进行检测方法一般是通过下线测试设备进行,包含测试产品所需要的模拟输入接口、模拟输出负载、通讯接口部分及上位机控制系统,下线测试设备对产品的测试只关注产品硬件电路的测试(输入、输出、通讯接口及内部检测及控制电路),不关注产品软件逻辑的实现。
下线检测对产品输入端口的测试通过上位机控制设备的输入接口状态的变化模拟产品输入,产品在检测到输入变化后,根据上位机与产品之间的测试通讯协议,将输入状态通过通讯接口以报文的形式反馈给上位机,上位机根据控制的输入状态与产品反馈的状态进行比对,从而判断输入端口电路是否存在问题,当反馈状态与预期状态一致时,说明输入端口电路没有问题,反之当反馈状态与预期状态不一致时,则说明产品的输入电路有问题,上位机将以故障信息的形式反馈显示出来。
对于输出电路部分,上位机通过上位机与产品之间的测试通讯协议,发送输出控制指令给产品,控制产品输出端口按照控制指令动作,并通过接在此控制端口的模拟负载的电压电流等状态检测来判断输出是否按照预期的命令正确进行了动作,若模拟负载的输出状态与预期的状态一致,说明此输出接口电路没有问题,反之此输出端口电路有问题。用对产品输入端口或产品输出电路的检测方法也可以实现对产品其它电路的检测,包含内部检测电路、控制电路及通讯电路的检测。
在下线检测过程中最重要的一个内容是产品和上位机的通讯协议的制定,其是整个测试方案的基础,关系到上位机及产品与之配合的测试软件的编写实现过程。之前的很多电子产品需要针对测试过程专门制定一个通讯协议,此通讯协议规定了测试模式的控制过程,同样也包含了输入、输出及通讯等电路的控制查询等命令的定义,因此就需要在产品软件基础上专门开发设计针对测试协议的软件模块,这种方法不仅增加了软件设计开发的工作量,而且产品有在某种特定条件下容易误触发进入到下线测试模式,在此模式下由于产品只响应上位机的输入命令,导致正常的产品功能将无法实现。
技术实现要素:
有鉴于此,本发明提供了一种电子产品的下线检测方法及系统,以解决现有技术中由于需要在产品软件基础上专门开发设计针对测试协议的软件模块,这种方法不仅增加了软件设计开发的工作量,而且产品有在某种特定条件下容易误触发进入到测试模式,在此模式下由于产品只响应上位机的输入命令,导致正常的产品功能将无法实现的问题。
为实现上述目的,本发明提供如下技术方案:
一种电子产品的下线测试方法,基于统一诊断服务UDS的诊断服务,该方法包括:
获取所述电子产品的端口外部输入的预期状态信息,所述预期状态信息为ON状态或OFF状态;
根据所述UDS诊断服务指令查询所述端口的实际状态信息,所述实际状态信息为ON状态或OFF状态;
判断所述预期状态信息和所述实际状态信息是否一致;
若是,则所述端口对应的电路正常,测试通过,且设置测试成功信息;
若否,则所述端口对应的电路异常,测试不通过,且设置测试故障信息。
优选的,还包括:
循环检测所述电子产品的所有端口测试是否完成,若是,则结束测试过程;
若否,则继续进行其他端口的测试过程。
其中,所述获取所述电子产品的端口输入的预期状态信息,具体为:
接收所述下线测试发送的UDS诊断服务指令;
根据所述UDS诊断服务指令控制所述端口的输入的预期状态信息。
其中,所述根据所述UDS诊断服务指令查询所述端口的实际状态信息,具体为:
根据所述UDS诊断服务指令通过预设通信协议查询所述端口的实际状态信息;
所述预设通信协议为CAN通信协议或LIN通信协议或其他通讯协议。
其中,所述判断所述预期状态信息和所述实际状态信息是否一致,具体为:
当外部输入的预期状态信息为ON状态时,检测实际状态信息为ON状态,则确定预期状态信息和实际状态信息一致;检测实际状态信息为OFF状态,则确定预期状态信息和实际状态信息不一致;
当外部输入的预期状态信息为OFF状态时,检测实际状态信息为OFF状态,则确定预期状态信息和实际状态信息一致;检测实际状态信息为ON状态,则确定预期状态信息和实际状态信息不一致。
一种电子产品的下线测试系统,基于统一诊断服务UDS的诊断服务,该系统包括:
获取单元,用于获取所述电子产品的端口输入的预期状态信息,所述预期状态信息为ON状态;
查询单元,用于根据所述UDS诊断服务指令查询所述端口的实际状态信息,所述实际状态信息为ON状态或OFF状态;
判断单元,用于判断所述预期状态信息和所述实际状态信息是否一致,若是,则所述端口对应的电路正常,测试通过,且设置测试成功信息,若否,则所述端口对应的电路异常,测试不通过,且设置测试故障信息。
优选的,还包括:
循环检测单元,用于循环检测所述电子产品的所有端口测试是否完成,若是,则结束测试过程,若否,则继续进行其他端口的测试过程。
其中,所述获取单元包括:接收单元和控制单元,其中:
所述接收单元,用于接收所述下线测试发送的UDS诊断服务指令;
所述控制单元,用于根据所述UDS诊断服务指令控制所述端口的输入的预期状态信息。
其中,所述查询单元包括:查询子单元,
所述查询子单元,用于根据所述UDS诊断服务指令通过预设通信协议查询所述端口的实际状态信息;
所述预设通信协议为CAN通信协议或LIN通信协议或其他通讯协议。
其中,所述判断单元包括:第一检测单元和第二检测单元,其中:
所述第一检测单元,用于当外部输入的预期状态信息为ON状态时,检测所述实际状态信息为ON状态,则确定所述预期状态信息和所述实际状态信息一致;检测所述实际状态信息为OFF状态,则确定所述预期状态信息和所述实际状态信息不一致;
所述第二检测单元,用于当外部输入的预期状态信息为OFF状态时,检测所述实际状态信息为OFF状态,则确定所述预期状态信息和所述实际状态信息一致;检测所述实际状态信息为ON状态,则确定所述预期状态信息和所述实际状态信息不一致。
经由上述的技术方案可知,与现有技术相比,本发明公开了一种电子产品的下线检测方法及系统,基于统一诊断服务UDS的诊断服务,该方法包括:获取电子产品的端口输入的预期状态信息,预期状态信息为ON状态或OFF状态;根据UDS诊断服务指令查询端口的实际状态信息,实际状态信息可以为ON状态或OFF状态;通过判断预期状态信息和实际状态信息是否一致来确定端口电路是否正常。该方法及系统基于UDS诊断功能,且诊断功能均为标准配置要求,通过UDS诊断完成产品硬件电路的诊断减低了额外开发下线测试协议的工作量,且需要通过一定级别的安全访问才能进行检测控制权,在诊断掉线后,自动恢复到产品工正常作模式,因此,避免了产品陷于EOL测试模式而无法正常工作的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种电子产品的下线检测方法流程示意图;
图2为本发明实施例提供的一种电子产品的下线检测系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前汽车电子产品一般都需要按照UDS(Unified Diagnostic Services,统一诊断服务)实现电子产品的诊断功能,这是汽车电子产品功能实现的一个基本要求。目前汽车电子产品的诊断一般是基于CAN通讯协议基础上实现的,也可以建立在其它通讯协议基础上,例如:LIN通信协议等。诊断实现的功能中不仅包含了输入接口信息的查询,同样一包含了输出端口的控制要求,因此下线测试过程完全可以借用此协议实现对于产品的测试要求,基本不需要太多额外的协议开发过程。
UDS诊断服务包含多种,基本的诊断服务有0x10诊断模式控制服务、0x22通过ID读取数据服务、0x27安全访问服务、0x2E通过ID写数据服务、0x2F通过ID进行输入输出控制、0x31例程控制等。下线测试只需要选取其中的几个服务就可以实现产品测试要求。
0x22服务是通过ID读取产品数据服务(Read Data By Identifier,读取数据的标识符),可以根据产品需求的要求设计不同的ID读取产品的各种信息,如读取产品的零部件号、产品的名称、软硬件版本号、产品的流水号等信息,也可以根据下线的测试需求,设计下线测试所需要的DID(Data Identifier,数据标识符,数据ID)服务,读取产品输入端口测试所需要的服务。如果产品功能需求中已经包含了输入端口状态的查询DID服务,则下线输入端口的测试可以完全按照产品0x22服务中对端口的查询服务实现。如果产品需求中没有对端口状态的查询或查询DID服务不能完全覆盖下线测试需求时,就需要设计增加或补充对端口输入状态查询服务的0x22服务DID,以满足下线测试要求,这种增加或补充工作是在原有产品软件架构基础上实现,不会造成对原有产品功能的影响。
由于UDS有多帧传输的功能,因此为了提高输入端口的测试效率,可以根据产品输入端口的数量设计此服务的数据场的大小,可以保证在一个0x22诊断查询中完成所有产品输入端口的测试查询测试过程;也可以根据测试过程的要求,将不同类型的输入端口测试设计在一个DID查询服务中实现,通过几个类别的DID实现所有输入端口的测试。当然也可以将一个端口的测试设计在一个DID服务中实现,这完全取决于产品下线输入端口的测试需求而定。
在现有技术中的UDS诊断服务的基础上,本发明公开了一种电子产品的下线测试方法及系统。
请参阅附图1,图1为本发明实施例提供的一种电子产品的下线测试方法流程示意图。本发明实施例公开了一种电子产品的下线检测方法,基于统一诊断服务UDS的诊断服务,该方法具体包括如下步骤:
S101、获取电子产品的端口外部输入的预期状态信息,其预期状态信息为ON状态或OFF状态。
在本实施例中,需要说明的是,获取电子产品的端口输入的预期状态信息具体为:
接收下线测试发送的UDS诊断服务指令;根据UDS诊断服务指令控制端口的输入的预期状态信息。
S102、根据UDS诊断服务指令查询端口的实际状态信息,其实际状态信息为ON状态或OFF状态。
在本实施例中,需要说明的是,根据UDS诊断服务指令查询端口的实际状态信息具体为:
根据UDS诊断服务指令通过预设通信协议查询端口的实际状态信息;预设通信协议为CAN通信协议或LIN通信协议。
S103、判断预期状态信息和实际状态信息是否一致,若是,则进入步骤S104,若否,则进入步骤S105。
在本实施例中,需要说明的是,判断预期状态信息和实际状态信息是否一致具体为:
当外部输入的预期状态信息为ON状态时,检测实际状态信息为ON状态,则确定预期状态信息和实际状态信息一致;检测实际状态信息为OFF状态,则确定预期状态信息和实际状态信息不一致;
当外部输入的预期状态信息为OFF状态时,检测实际状态信息为OFF状态,则确定预期状态信息和实际状态信息一致;检测实际状态信息为ON状态,则确定预期状态信息和实际状态信息不一致。
S104、端口对应的电路正常,测试通过,且设置测试成功信息。
S105、端口对应的电路异常,测试不通过,且设置测试故障信息。
在上述公开的基础上,本发明还可以包括:
S106、循环检测所述电子产品的所有端口测试是否完成,若是,则结束测试过程,若否,则进入步骤S107。
S107、继续进行其他端口的测试过程。
需要说明的是,在本实施例中,UDS诊断0x2F服务(Input Output Control By Identifier,输入输出控制标识符)是通过不同ID进行输入输出控制的服务,可以根据产品需求的要求设计通过不同的ID对输入输出端口进行控制(一般用来对输出端口进行控制)。一般产品设计都有输出端口的诊断测试需求,而且也有通过其它诊断服务实现的方式,如通过0x31服务(Routine Control,常规控制)。不同服务实现对输出端口的命令方式和控制过程是不同的,但本质上都是实现对输出的测试验证过程。下线测试需求中有对产品输出电路进行验证确认的要求,因此下线输出端口测试完全可以借用产品的0x2F服务或0x31服务来实现。在输出端口的测试过程中,一般都需要在诊断扩展模式下进行,并且都需要通过一定级别的安全访问后才可以取得上位机对产品输出端口的控制权(与产品诊断测试过程一致)。上位机通过诊断控制输出端口闭合或打开,下线设备通过模拟负载的测量确认输出是否正常。
通过0x31服务实现产品休眠电流的检测,即通过0x31的DID服务发送产品的快速休眠指令(也可以利用其它的诊断命令),被测产品在收到测试命令后,关断全部输出负载,将控制电路设置为低功耗工作模式,设置控制单元MCU(Microprocessor Control Unit,微处理机控制器)进入类似STOP的工作模式,模拟实际产品的休眠状态。在这种命令控制下,下线设备通过测试产品电源的工作确定产品的静态电流。
另外,通过诊断服务也可以实现其它电路的检测,其检测方法即可以通过下线设备检测实现,也可以由产品自身进行自检,将检测结果反馈给上位机,这需要根据电路检测方案来确定,但相同的是都是经过诊断通讯协议的控制来完成的。
本实施例公开的一种电子产品的下线检测方法,基于UDS诊断功能,且诊断功能均为标准配置要求,通过UDS诊断完成产品硬件电路的诊断减低了额外开发下线测试协议的工作量,且需要通过一定级别的安全访问才能进行检测控制权,在诊断掉线后,自动恢复到产品工正常作模式,因此,避免了产品陷于EOL测试模式而无法正常工作的情况。
请参阅附图2,图2为本发明实施例提供的一种电子产品的下线检测系统结构示意图。如图2所示,本实施例公开了一种电子产品的下线检测系统,该系统基于统一诊断服务UDS的诊断服务,具体的,该系统可以包括:获取单元201、查询单元202和判断单元203,其中:
获取单元201,用于获取电子产品的端口外部输入的预期状态信息,预期状态信息为ON状态;查询单元202,用于根据UDS诊断服务指令查询端口的实际状态信息,实际状态信息为ON状态或OFF状态;判断单元203,用于判断预期状态信息和实际状态信息是否一致,若是,则端口对应的电路正常,测试通过,且设置测试成功信息,若否,则口对应的电路异常,测试不通过,且设置测试故障信息。
优选的,该系统还可以包括:循环检测单元204,具体的,
循环检测单元204,用于循环检测电子产品的所有端口测试是否完成,若是,则结束测试过程,若否,则继续进行其他端口的测试过程。
其中,上述提及的获取单元201包括:接收单元和控制单元,具体的:
接收单元,用于接收下线测试发送的UDS诊断服务指令;控制单元,用于根据UDS诊断服务指令控制端口的输入的预期状态信息。
其中,上述提及的查询单元202包括:查询子单元,具体的:
查询子单元,用于根据UDS诊断服务指令通过预设通信协议查询端口的实际状态信息;预设通信协议为CAN通信协议或LIN通信协议。
其中,上述提及的判断单元203包括:第一检测单元和第二检测单元,具体的:
第一检测单元,用于当外部输入的预期状态信息为ON状态时,检测实际状态信息为ON状态,则确定预期状态信息和实际状态信息一致;检测实际状态信息为OFF状态,则确定预期状态信息和实际状态信息不一致;
第二检测单元,用于当外部输入的预期状态信息为OFF状态时,检测实际状态信息为OFF状态,则确定预期状态信息和实际状态信息一致;检测实际状态信息为ON状态,则确定预期状态信息和实际状态信息不一致。
由于本实施例中的各单元能够执行图1所示的方法,本实施例未详细描述的部分,可参考对图1的相关说明。
本实施例公开的一种电子产品的下线检测系统,基于统一诊断服务UDS的诊断服务,该系统包括:获取单元、查询单元和判断单元。本系统基于通用数据系统的诊断功能,且诊断功能均为标准配置要求,通过UDS诊断完成产品硬件电路的诊断减低了额外开发下线测试协议的工作量,且需要通过一定级别的安全访问才能进行检测控制权,在诊断掉线后,自动恢复到产品工正常作模式,因此,避免了产品陷于EOL测试模式而无法正常工作的情况。
综上所述:本发明公开的一种电子产品的下线检测方法及系统,基于统一诊断服务UDS的诊断服务,该方法包括:获取电子产品的端口外部输入的预期状态信息,预期状态信息为ON状态或OFF状态;根据UDS诊断服务指令查询端口的实际状态信息,实际状态信息可以为ON状态或OFF状态;通过判断预期状态信息和实际状态信息是否一致来确定端口电路是否正常。本发明基于UDS诊断功能,且诊断功能均为标准配置要求,通过UDS诊断完成产品硬件电路的诊断减低了额外开发下线测试协议的工作量,且需要通过一定级别的安全访问才能进行检测控制权,在诊断掉线后,自动恢复到产品工正常作模式,因此,避免了产品陷于EOL测试模式而无法正常工作的情况。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上结合附图对本发明所提出的方法进行了示例性描述,以上实施例的说明只是用于帮助理解本发明的核心思想。对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,如前后桥都有电机参与驱动的混合动力系统等。综上所述,本说明书内容不应理解为对本发明的限制。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。