一种多电路板或多模块电子系统的诊断测试系统及方法 【技术领域】
本发明属于集成电路故障诊断测试领域,特别涉及一种针对多电路板或多模块电子系统的诊断测试系统和方法。
背景技术
对于某些功能复杂的电子系统,其功能的实现依赖于多个电路板或多个子模块,对这样的电子系统进行诊断测试时,如果采用现有的诊断测试系统或按照现有的测试方法,需要外接专用测试设备对各电路板或子模块逐个地测试,不仅操作繁琐,而且测试周期长,也不利于实现自动化和智能化测试。
目前,针对包含多个电路板或子模块的电子系统诊断测试,设计了众多的测试控制器,但这些测试控制器大多只起到收集和发送测试数据的作用,分析测试结果的任务交由专用处理器或电脑处理,整个测试系统本身变得复杂和难以保障。
【发明内容】
本发明的目的就是针对现有技术的不足,提供一种具有高可靠性、高自动化程度、高效率、高安全性的针对多电路板或多模块电子系统的诊断测试系统及方法。
为实现上述目的,本发明的技术方案如下:
本发明提出的一种多电路板或多模块电子系统的诊断测试系统,包括人机交互设备、通讯总线、测试控制器、测试总线及被测对象。测试控制器通过通讯总线与人机交互设备通信,通过测试总线与被测对象通信;测试控制器包括主控器模块、接口控制模块、总线接口模块、数据处理模块、数据存储模块和寄存器组。
接口控制模块分别与寄存器组、主控器模块、数据存储模块连接,同时通过通讯总线与人机交互设备通信。
主控器模块分别与接口控制模块、寄存器组、数据处理模块、总线接口模块连接;主要执行来自人机交互设备的测试控制指令序列,根据测试控制指令序列生成控制信号,调配总线接口模块、数据处理模块和接口控制模块完成操作;能够按照测试控制指令序列自动进行测试,并且能够在测试控制器进行测试前,对被测对象包含的、用作测试通道的电路和测试控制器本身进行自测试,还能够根据测试响应分析结果确定故障源位置。主控器模块是测试控制器的处理核心,主要包括:与寄存器组连接的寄存器读写部件,控制寄存器组的读写;与接口控制模块连接的指令存储部件,指令存储部件包括只能暂时缓存测试控制指令序列的指令缓存单元和能长久保存测试控制指令序列的指令存储单元,指令缓存单元用于测试控制器的手动测试模式,指令存储单元用于测试控制器的自动测试模式,这使得测试控制器能在未接入人机交互设备的情况下,只要已经将测试控制器配置成了自动测试模式,主控器模块就能调配测试控制器的其他模块自动完成预先设置的测试任务;与接口控制模块连接的中断申请部件,若测试中发生错误、中断申请部件控制接口控制模块向人机交互设备发出错误中断申请,若测试成功完成、中断申请部件控制接口控制模块向人机交互设备发出测试完成中断申请;与总线接口模块连接的自测试控制部件,自测试控制部件中内置有自测试控制指令,控制测试控制器在进行测试前对被测对象包含的、用作测试通道的电路和测试控制器本身进行自测试;与数据处理模块连接的数据处理控制部件,生成控制数据处理模块的控制信号;与总线接口模块连接的测试控制指令译码部件,同时与自测试控制部件和数据处理控制部件连接;分别与寄存器读写部件、指令存储部件、中断申请部件、自测试控制部件、测试控制指令译码部件和数据处理控制部件连接的处理部件,处理部件包括中断处理、状态控制、指令处理、结果分析四个单元。
数据存储模块分别与接口控制模块、数据处理模块连接。
数据处理模块分别与总线接口模块、主控器模块、数据存储模块连接;主要在主控器模块控制下,负责将来自数据存储模块的测试激励转换成测试总线数据格式后发送到总线接口模块,负责将来自总线接口模块的测试响应数据转换成可存储的数据格式后存入数据存储模块;另外,负责分析测试响应数据得到测试响应分析结果,并发送到主控器模块。
总线接口模块分别与主控器模块、数据处理模块、寄存器组连接,同时通过测试总线与被测对象通信。
寄存器组分别与接口控制模块、主控器模块、总线接口模块连接。
被测对象包括待测电路和测试控制单元两部分,待测电路部分是被测对象实现其正常功能的部分,在测试状态下是进行故障诊断针对的具体对象;测试控制单元部分完成针对待测电路的测试,并且通过测试总线与测试控制器通信,包括接收测试配置指令和测试激励,以及在完成测试任务后向测试控制器发送状态信息和测试响应数据。
所述测试控制器通过通讯总线接收配置信息,该配置信息是测试人员在预先知道了被测对象的电路结构后制定的,是测试控制器能够识别的二进制文件,由测试控制指令序列、测试激励和标准测试响应组成,且该配置信息能一直保存;在预先配置好之后,测试控制器执行针对被测对象包含的、用作测试通道的电路和测试控制器本身的自测试;在保证被测对象包含的、用作测试通道的电路和测试控制器本身功能正常的情况下,测试控制器识别该配置信息并按其要求自动完成测试任务,并分析测试响应数据,最终生成测试结果报告,返回给人机交互设备。由于测试控制器在测试前进行自测试,只有被测对象包含的、用作测试通道的电路和测试控制器本身功能正常,才能执行测试任务,因此提高了测试结果的可靠性。测试控制器预先接收自动测试模式的配置信息后,无需人机交互设备的管理和操作,即可按照配置信息自动进行测试。所述测试控制器也可以按照手动测试模式的配置信息给定的被测对象地址,针对特定被测对象单独进行测试,提高了检测疑似发生故障的被测对象的效率。相对于具有多电路板或多模块的复杂电子系统,实现所述测试控制器地硬件代价相对较小,如果在设计复杂电子系统时集成了所述测试控制器结构,可实现电子系统的开机检测,能及时发现存在的故障,并立即进行处理;在安全性、稳定性要求较高的领域(比如航空航天、核电等领域),可以避免或尽可能降低损失。
本发明提出的一种多电路板或多模块电子系统的诊断测试方法,具体步骤如下:
(1)测试控制器中包括主控器模块、接口控制模块、总线接口模块、数据处理模块、数据存储模块和寄存器组。测试控制器上电后,自动完成硬件复位,然后检查测试控制器中是否有配置信息,即检查主控器模块中是否有测试控制指令序列、数据存储模块中是否有相应的测试激励和标准测试响应(即被测对象无故障情况下的测试响应)。如果有,测试控制器选择自动测试模式,直接执行第(5)步;如果没有,执行第(2)步。因为测试控制器支持人机交互设备预先向其写入自动测试模式的配置信息,并能长久保存该配置信息,因此测试控制器上电后不需连接人机交互设备也能实现自动测试。
(2)测试控制器处于待机状态,直到人机交互设备通过通讯总线向测试控制器发送工作模式选择指令,使测试控制器选择手动测试模式或自动测试模式。
(3)如果选择手动测试模式,人机交互设备通过通讯总线向测试控制器发送手动测试配置信息,所述配置信息包括手动测试控制指令序列、测试激励和标准测试响应;手动测试模式下,测试控制器接收一次配置信息只测试一个指定的被测对象。手动测试模式具有针对性强(可针对特定的被测对象进行测试)、可操控性强、速度快、效率高(在怀疑某个被测对象发生故障时,可直接测试该被测对象,提高测试效率)的优点,测试人员通过人机交互设备可以方便地改变测试控制指令序列和测试激励,并能够迅速地根据测试结果报告判断指定被测对象的故障状况。
如果选择自动测试模式,人机交互设备通过通讯总线向测试控制器发送自动测试配置信息,所述配置信息包括自动测试控制指令序列、测试激励和标准测试响应;自动测试模式下,测试控制器测试所有被测对象。自动测试模式能自动对所有被测对象进行测试,具有测试覆盖面广、自动化程度高的优点。
测试控制指令序列由测试人员通过人机交互设备产生,包括被测对象地址信息、被测对象测试配置指令,状态控制指令(只有手动测试控制指令序列包含状态控制指令)。被测对象地址信息用于选择指定的被测对象;被测对象测试配置指令用于设置指定测试对象的测试工作模式,测试人员根据具体的测试任务和具体的被测对象制定测试配置指令以设置不同的测试工作模式;状态控制指令用于手动测试模式下选择针对特定被测对象的测试完成后是否还要继续测试。
(4)接口控制模块将测试控制指令序列发送到主控器模块,将测试激励和标准测试响应存储到数据存储模块。
(5)主控器模块生成控制信号,使总线接口模块向测试总线发送地址信息(与测试总线连接的各被测对象具有不同的地址信息)选择指定的被测对象,被选中的被测对象将发回响应信息,与测试控制器建立起通信,该被测对象被测试控制器确定为指定测试对象。
(6)主控器模块自动执行其内置的自测试控制指令,生成自测试控制信号,控制测试控制器完成针对指定测试对象包含的、用作测试通道的电路和测试控制器本身的自测试。在主控器模块控制下,数据处理模块读取存放在数据存储模块的自测试激励、转换成测试总线数据格式后发送至总线接口模块;总线接口模块向指定测试对象发送转换成测试总线数据格式的自测试激励,指定测试对象接收完自测试激励后,将该激励原样发送回总线接口模块,总线接口模块将返回的激励原样送到数据处理模块;数据处理模块将所述激励原样与自测试激励比对,如果一致,则自测试成功;如果不一致,则认为存在故障,测试停止,向寄存器组写入故障原因,测试控制器停止工作,等待人机交互设备处理。
(7)自测试成功后,主控器模块通过总线接口模块向指定测试对象发送测试配置指令,用于确定指定测试对象的工作模式。
(8)主控器模块生成控制信号,使数据处理模块从数据存储模块读取测试激励,将测试激励转换成测试总线数据格式后发送到总线接口模块;总线接口模块将测试总线数据格式的测试激励发送到指定测试对象。
(9)指定测试对象按照接收到的测试配置指令和测试激励执行测试任务,然后向总线接口模块发送状态信息,该状态信息包括测试成功与否的信息;如果测试成功,指定测试对象将测试响应数据通过测试总线发送到总线接口模块。
(10)总线接口模块将指定测试对象的状态信息存入寄存器组,将测试响应数据送到数据处理模块。
(11)数据处理模块将接收到的测试响应数据转换成可存储的数据格式后存入数据存储模块;同时,在主控器模块的控制下,数据处理模块分析测试响应数据,数据处理模块从数据存储模块读取标准测试响应,将测试响应数据与标准测试响应对比,得到测试响应分析结果,然后,数据处理模块将测试响应分析结果发送到主控器模块。
(12)主控器模块根据测试响应分析结果(测试响应分析结果中包含测试响应数据和标准测试响应)确定指定测试对象是否存在故障。针对指定测试对象为数字电路:如果测试响应数据与标准测试响应完全一致,则认为指定测试对象无故障,生成测试结果报告;如果测试响应数据与标准测试响应不完全一致,则认为指定测试对象存在故障,同时主控器模块通过检查不一致位的位置信息,确定故障的位置,生成测试结果报告。针对指定测试对象为模拟电路:标准测试响应中包含有测试响应的允许最大偏差信息(由测试人员事先确定),测试响应分析结果中包含数据处理模块分析测试响应数据得到的实际测试响应偏差信息;如果测试响应数据与标准测试响应一致,则认为指定测试对象无故障,生成测试结果报告;如果测试响应数据与标准测试响应不一致,但实际测试响应偏差未超出允许最大偏差,则认为指定测试对象无故障,生成测试结果报告;如果测试响应数据与标准测试响应不一致,且实际测试响应偏差超出了允许最大偏差,则认为指定测试对象存在故障,同时主控器模块通过检查不一致的位置信息,确定故障的位置,生成测试结果报告。然后主控器模块将测试结果报告写入寄存器组,同时控制接口控制模块向人机交互设备发出测试完成中断申请,等待人机交互设备读取测试结果报告。
(13)人机交互设备回应中断申请后,接口控制模块从寄存器组读取测试结果报告,并通过通讯总线将测试结果报告发送到人机交互设备。
(14)如果第(3)步选择的是手动测试模式,测试控制器向人机交互设备发送完测试结果报告后,主控器模块检查配置信息中是否包含结束测试的指令;如果是,则测试完成;如果否,则测试控制器选择手动测试模式,重复执行第(3)-(14)步,直至测试控制器接收到带有结束测试指令的配置信息为止,则测试完成。
如果第(1)步后直接执行第(5)步或第(3)步选择的是自动测试模式,则测试完成。
与现有技术相比,本发明的有益效果是:能够在测试前对被测对象包含的、用作测试通道的电路和测试控制器本身进行自测试,能及时发现存在的故障,并立即进行处理,提高了诊断测试系统的安全性和稳定性,同时提高了测试结果的可靠性;能够在自动测试模式下,无需人机交互设备的管理和操作,按照测试控制指令序列自动进行测试,自动化程度高;能够在手动测试模式下,针对特定的被测对象进行测试,针对性强、速度快、效率高;能够对测试响应数据进行分析,使整个诊断测试系统易于被集成。
【附图说明】
图1是诊断测试系统的结构示意图。
图2是测试控制器的结构示意图。
图3是主控器模块的结构示意图。
图4是测试控制器内部的信号流向示意图。
图5是诊断测试方法的流程示意图。
【具体实施方式】
下面结合附图,对本发明的优选实施例作进一步的描述。
实施例1
如图1、图2、图3、图4、图5所示。构建应用于多电路板或多模块电子系统的诊断测试系统,包括人机交互设备、通讯总线、测试控制器、测试总线及被测对象;测试控制器通过通讯总线与人机交互设备通信,通过测试总线与被测对象通信,测试控制器包括主控器模块、接口控制模块、总线接口模块、数据处理模块、数据存储模块和寄存器组。接口控制模块分别与寄存器组、主控器模块、数据存储模块连接,同时通过通讯总线与人机交互设备通信;主控器模块分别与接口控制模块、寄存器组、数据处理模块、总线接口模块连接;数据存储模块分别与接口控制模块、数据处理模块连接;数据处理模块分别与总线接口模块、主控器模块、数据存储模块连接;总线接口模块分别与主控器模块、数据处理模块、寄存器组连接,同时通过测试总线与被测对象通信;寄存器组分别与接口控制模块、主控器模块、总线接口模块连接。其中,主控器模块包括:与寄存器组连接的寄存器读写部件;与接口控制模块连接的中断申请部件和指令存储部件,指令存储部件包括指令缓存单元和指令存储单元;与总线接口模块连接的自测试控制部件;与数据处理模块连接的数据处理控制部件;与总线接口模块连接的测试控制指令译码部件,同时与自测试控制部件和数据处理控制部件连接;分别与寄存器读写部件、指令存储部件、中断申请部件、自测试控制部件、测试控制指令译码部件和数据处理控制部件连接的处理部件,处理部件包括中断处理、状态控制、指令处理、结果分析四个单元。
选取电脑作为人机交互设备,USB总线作为通讯总线,采用Visual Studio 6.0软件在电脑上编写人机交互界面,测试人员通过人机交互界面向测试控制器提供配置信息,并在测试完成后,显示测试结果报告。选取Xilinx公司型号为SPARTAN-XC3S400的FPGA(Field Programmable Gate Array,即现场可编程门阵列)芯片作为测试控制器的硬件平台,使用verilog作为硬件描述语言在该芯片中分别实现测试控制器的主控器模块、接口控制模块、总线接口模块、数据处理模块、数据存储模块和寄存器组。选取基于IEEE1149.5标准的测试维护总线(MTM-Bus)作为测试总线,与6个被测对象相连。
被测对象包括待测电路和测试控制单元两部分,被测对象的待测电路分为数字型待测电路和模拟型待测电路;将6个被测对象分为2组,每3个被测对象为一组,分为数字电路故障诊断组和模拟电路故障诊断组。设计被测对象时预先向测试控制单元存入地址信息,数字电路故障诊断组的3个被测对象的地址分别设置为1-3,模拟电路故障诊断组的3个被测对象的地址分别设置为4-6。数字电路故障诊断组的被测对象的待测电路为数字电路,按照符合IEEE1149.1标准的边界扫描技术的可测性设计方案实现,使用ALTERA公司型号为CycloneII-EP2C8的FPGA芯片实现;数字电路故障诊断组的被测对象的测试控制单元实现的功能包括:按照IEEE1149.5标准与测试控制器通信,传输测试配置指令、测试激励、测试状态信息和测试响应数据,将测试配置指令和测试激励分别转换成满足IEEE1149.1标准的测试流程控制指令和测试激励,然后送到待测电路部分的TAP接口,同时接收TAP接口返回的测试响应数据,上述功能通过verilog在SPARTAN-XC3S400芯片中实现。模拟故障诊断组的被测对象的待测电路为模拟电路,使用包括ATAP接口的模拟器件按照符合IEEE1149.4标准的混合信号边界扫描技术的可测性设计方案实现;模拟电路故障诊断组的被测对象的测试控制单元实现的功能包括:按照IEEE1149.5标准与测试控制器通信,传输测试配置指令、测试激励、测试状态信息和测试响应数据,通过数模转换器件将测试激励转换成模拟测试激励,然后将其和测试配置指令分别转换成满足IEEE1149.4标准的测试流程控制指令和测试激励送到ATAP接口,同时接收返回的模拟测试响应数据,并通过模数转换器件将其转换成数字测试响应数据,上述功能通过verilog在SPARTAN-XC3S400芯片中实现。
针对6个被测对象中的数字电路故障诊断组的第3个被测对象进行诊断测试,测试人员通过人机交互设备使测试控制器选择手动测试模式,具体诊断测试方法步骤如下:
(1)测试控制器上电后,自动完成硬件复位,然后检查测试控制器中是否有配置信息;检测到主控器模块中没有测试控制指令序列、数据存储模块中没有相应的测试激励和标准测试响应。
(2)测试控制器处于待机状态,直到人机交互设备通过通讯总线向测试控制器发送工作模式选择指令,使测试控制器选择手动测试模式或自动测试模式。
(3)选择手动测试模式,人机交互设备通过通讯总线向测试控制器发送手动测试配置信息,所述配置信息包括手动测试控制指令序列、测试激励和标准测试响应,手动测试控制指令序列包括数字电路故障诊断组的第3个被测对象的地址3、芯片外测试指令(按照IEEE1149.1标准定义的边界扫描技术,若测试待测电路包含的芯片的引脚是否发生断路或短路故障,需要采用芯片外测试指令),状态控制指令。
(4)测试控制器接收完配置信息后,接口控制模块将测试控制指令序列发送到主控器模块的指令缓存单元,将测试激励和标准测试响应存储到数据存储模块。
(5)主控器模块生成控制信号,使总线接口模块向测试总线按照IEEE1149.5标准的数据格式发送包含地址为3的地址数据包,所有被测对象都接受该地址数据包,数字电路故障诊断组的第3个被测对象(该被测对象地址为3)将发回响应信息,总线接口模块接收到该响应信息后,数字电路故障诊断组的第3个被测对象就与测试控制器建立起通信,被测试控制器确定为指定测试对象。
(6)主控器模块自动执行其内置的自测试控制指令,生成自测试控制信号,控制测试控制器完成针对指定测试对象包含的、用作测试通道的电路和测试控制器本身的自测试。在主控器模块控制下,数据处理模块读取存放在数据存储模块的自测试激励、转换成测试总线数据格式后发送至总线接口模块;总线接口模块向指定测试对象发送转换成测试总线数据格式的自测试激励,指定测试对象接收完自测试激励后,将该激励原样发送回总线接口模块,总线接口模块将返回的激励原样送到数据处理模块;数据处理模块将所述激励原样与自测试激励比对,两者一致,自测试成功。
(7)自测试成功后,主控器模块通过总线接口模块向指定测试对象发送芯片外测试指令作为测试配置指令。
(8)主控器模块生成控制信号,使数据处理模块从数据存储模块读取测试激励,将测试激励转换成测试总线数据格式后发送到总线接口模块;总线接口模块将测试总线数据格式的测试激励发送到指定测试对象。
(9)指定测试对象按照接收到的测试配置指令和测试激励执行测试任务。指定测试对象的测试控制单元根据接收到的芯片外测试指令按照IEEE1149.1标准生成串行的测试流程控制指令,然后将测试流程控制指令和测试激励发送给待测电路的TAP接口;待测电路的TAP接口接收测试流程控制指令和测试激励并进行测试,同时输出测试响应数据,将测试响应数据传送到测试控制单元;测试控制单元接收完所有测试响应数据后测试任务完成。指定测试对象的测试控制单元向总线接口模块发送测试成功的状态信息,然后将测试响应数据通过测试总线发送到总线接口模块。
(10)总线接口模块将指定测试对象的状态信息存入寄存器组,将测试响应数据送到数据处理模块。
(11)数据处理模块将接收到的测试响应数据转换成可存储的数据格式后存入数据存储模块;同时,在主控器模块的控制下,数据处理模块分析测试响应数据,数据处理模块从数据存储模块读取标准测试响应,将测试响应数据与标准测试响应对比,得到测试响应分析结果,然后,数据处理模块将测试响应分析结果发送到主控器模块。
(12)主控器模块根据测试响应分析结果确定指定测试对象是否存在故障;如果测试响应数据与标准测试响应完全一致,则认为指定测试对象无故障,生成测试结果报告;如果测试响应数据与标准测试响应不完全一致,则认为指定测试对象存在故障,主控器模块通过检查不一致位的位置信息,确定故障的位置(主控器模块预先存储有与测试总线相连的所有被测对象的可测引脚对应的位置信息,主控器模块通过查找该位置信息,可将故障定位到芯片的具体引脚),生成测试结果报告(包括发现故障,及故障发生的具体引脚信息)。然后主控器模块将测试结果报告写入寄存器组,同时生成控制信号控制接口控制模块向人机交互设备发出测试完成中断申请,等待人机交互设备读取测试结果报告。
(13)人机交互设备回应中断申请后,接口控制模块从寄存器组读取测试结果报告,并通过通讯总线将测试结果报告发送到人机交互设备。
(14)测试控制器向人机交互设备发送完测试结果报告后,主控器模块检查配置信息中是否包含结束测试的指令,即配置信息中的状态控制指令是继续测试或是结束测试。本实例只需针对地址为3的被测对象进行测试,因此配置信息中包含结束测试的指令,测试结束。需要说明的是,如果还需要对其他被测对象进行测试,即状态控制指令是继续测试,则测试控制器选择手动测试模式,再次接收配置信息(本次指定测试对象之外的另一个被测对象对应的配置信息),重复执行第(3)-(14)步,直至测试控制器接收到带有结束测试指令的配置信息为止,则测试完成。
实施例2
与实施例1相同的地方不再重复叙述,不同之处在于:
诊断测试方法步骤(3):选择自动测试模式,人机交互设备通过通讯总线向测试控制器发送自动测试配置信息,所述配置信息包括自动测试控制指令序列、测试激励和标准测试响应,即自动测试配置信息包括6组单次测试配置信息,包括分别与地址信息从1到6的被测对象对应的测试配置信息(包括被测对象的地址信息和与之对应的测试配置指令、测试激励和标准测试响应)。自动测试模式下,测试控制器测试所有被测对象。
诊断测试方法步骤(5):主控器模块选取自动测试配置信息中地址最小的被测对象对应的单次测试配置信息作为本次测试的配置信息,主控器模块将根据本次测试配置信息对相应的被测对象进行测试。主控器模块生成控制信号,使总线接口模块向测试总线按照IEEE1149.5标准的数据格式发送地址数据包(地址数据包包括本次测试配置信息针对的被测对象的地址),所有被测对象都接收该地址数据包,与地址数据包中地址相同的被测对象将发回响应信息,总线接口模块接收到该响应信息后,该被测对象被测试控制器确定为指定测试对象。
诊断测试方法步骤(9):指定测试对象按照接收到的测试配置指令和测试激励执行测试任务。针对数字电路故障诊断组的被测对象:指定测试对象的测试控制单元根据接收到的测试配置指令按照IEEE1149.1标准生成串行的测试流程控制指令,然后将测试流程控制指令和测试激励发送给待测电路的TAP接口;待测电路的TAP接口接收测试流程控制指令和测试激励并进行测试,同时输出测试响应数据,将测试响应数据传送到测试控制单元;测试控制单元接收完所有测试响应数据后测试任务完成。针对模拟电路故障诊断组的被测对象:指定测试对象的测试控制单元通过数模转换器件将测试激励转换成模拟测试激励,然后根据接收到的测试配置指令按照IEEE1149.4标准生成串行的测试流程控制指令,将模拟测试激励和测试流程控制指令送到待测电路的ATAP接口,待测电路的ATAP接口接收测试流程控制指令和模拟测试激励并进行测试,同时输出模拟测试响应数据;测试控制单元接收模拟测试响应数据,并通过模数转换器件将其转换成数字测试响应数据;测试控制单元接收完所有测试响应数据后测试任务完成。测试控制单元执行的测试任务完成后,指定测试对象的测试控制单元向总线接口模块发送测试成功的状态信息,然后将测试响应数据通过测试总线发送到总线接口模块。
诊断测试方法步骤(12):主控器模块根据测试响应分析结果确定指定测试对象是否存在故障。针对数字电路故障诊断组的被测对象:如果测试响应数据与标准测试响应完全一致,则认为指定测试对象无故障,生成测试结果报告;如果测试响应数据与标准测试响应不完全一致,则认为指定测试对象存在故障,同时主控器模块通过检查不一致位的位置信息,确定故障的位置,生成测试结果报告(包括发现故障,及故障发生的具体引脚信息)。针对模拟电路故障诊断组的被测对象:标准测试响应中包含有测试响应的允许最大偏差信息(由测试人员事先确定),测试响应分析结果中包含数据处理模块分析测试响应数据得到的实际测试响应偏差信息;如果测试响应数据与标准测试响应一致,则认为指定测试对象无故障,生成测试结果报告;如果测试响应数据与标准测试响应不一致,但实际测试响应偏差未超出允许最大偏差,则认为指定测试对象无故障,生成测试结果报告;如果测试响应数据与标准测试响应不一致,且实际测试响应偏差超出了允许最大偏差,则认为指定测试对象存在故障,同时主控器模块通过检查不一致的位置信息,确定故障的位置,生成测试结果报告(包括发现故障,及故障发生的具体引脚信息)。主控器模块将本次测试使用的配置信息标示为已使用过,然后检查单次测试配置信息是否都使用过;如果是,主控器模块将测试结果报告写入寄存器组,同时生成控制信号控制接口控制模块向人机交互设备发出测试完成中断申请,等待人机交互设备读取测试结果报告;如果不是,选取未使用过的单次测试配置信息中具有最小地址信息的配置信息作为本次测试的配置信息,重复执行第(5)-(12)步,直到所有单次测试配置信息都被标示为已使用过。
诊断测试方法步骤(14):测试完成。
实施例3
与实施例1相同的地方不再重复叙述,不同之处在于:
测试控制器支持无人机交互设备连接情况下的自动测试模式,该测试模式需要预先向测试控制器的指令存储单元和数据存储模块写入自动测试配置信息,包括6组单次测试配置信息,即分别与地址信息从1到6的被测对象对应的测试配置信息(包括被测对象的地址信息和与之对应的测试配置指令、测试激励和标准测试响应)。针对6个被测对象进行自动诊断测试,具体诊断测试方法步骤如下:
(1)测试控制器上电后,自动完成硬件复位,然后检查测试控制器中是否有配置信息;检测到主控器模块中有预先保存的测试控制指令序列、数据存储模块中有相应的测试激励和标准测试响应,测试控制器进入无人机交互设备连接情况下的自动测试模式。
(2)主控器模块选取自动测试配置信息中地址最小的被测对象对应的单次测试配置信息作为本次测试的配置信息,主控器模块将根据本次测试配置信息对相应的被测对象进行测试。主控器模块生成控制信号,使总线接口模块向测试总线按照IEEE1149.5标准的数据格式发送地址数据包(地址数据包包括本次测试配置信息针对的被测对象的地址),所有被测对象都接收该地址数据包,与地址数据包中地址相同的被测对象将发回响应信息,总线接口模块接收到该响应信息后,该被测对象被测试控制器确定为指定测试对象。
(3)主控器模块自动执行其内置的自测试控制指令,生成自测试控制信号,控制测试控制器完成针对指定测试对象包含的、用作测试通道的电路和测试控制器本身的自测试。在主控器模块控制下,数据处理模块读取存放在数据存储模块的自测试激励、转换成测试总线数据格式后发送至总线接口模块;总线接口模块向指定测试对象发送转换成测试总线数据格式的自测试激励,指定测试对象接收完自测试激励后,将该激励原样发送回总线接口模块,总线接口模块将返回的激励原样送到数据处理模块;数据处理模块将所述激励原样与自测试激励比对,两者一致,自测试成功。
(4)自测试成功后,主控器模块通过总线接口模块向指定测试对象发送测试配置指令。
(5)主控器模块生成控制信号,使数据处理模块从数据存储模块读取测试激励,将测试激励转换成测试总线数据格式后发送到总线接口模块;总线接口模块将测试总线数据格式的测试激励发送到指定测试对象。
(6)指定测试对象按照接收到的测试配置指令和测试激励执行测试任务。针对数字电路故障诊断组的被测对象:指定测试对象的测试控制单元根据接收到的测试配置指令按照IEEE1149.1标准生成串行的测试流程控制指令,然后将测试流程控制指令和测试激励发送给待测电路的TAP接口;待测电路的TAP接口接收测试流程控制指令和测试激励并进行测试,同时输出测试响应数据,将测试响应数据传送到测试控制单元;测试控制单元接收完所有测试响应数据后测试任务完成。针对模拟电路故障诊断组的被测对象:指定测试对象的测试控制单元通过数模转换器件将测试激励转换成模拟测试激励,然后根据接收到的测试配置指令按照IEEE1149.4标准生成串行的测试流程控制指令,将模拟测试激励和测试流程控制指令送到待测电路的ATAP接口,待测电路的ATAP接口接收测试流程控制指令和模拟测试激励并进行测试,同时输出模拟测试响应数据;测试控制单元接收模拟测试响应数据,并通过模数转换器件将其转换成数字测试响应数据;测试控制单元接收完所有测试响应数据后测试任务完成。测试控制单元执行的测试任务完成后,指定测试对象的测试控制单元向总线接口模块发送测试成功的状态信息,然后将测试响应数据通过测试总线发送到总线接口模块。
(7)总线接口模块将指定测试对象的状态信息存入寄存器组,将测试响应数据送到数据处理模块。
(8)数据处理模块将接收到的测试响应数据转换成可存储的数据格式后存入数据存储模块;同时,在主控器模块的控制下,数据处理模块分析测试响应数据,数据处理模块从数据存储模块读取标准测试响应,将测试响应数据与标准测试响应对比,得到测试响应分析结果,然后,数据处理模块将测试响应分析结果发送到主控器模块。
(9)主控器模块根据测试响应分析结果确定指定测试对象是否存在故障。针对数字电路故障诊断组的被测对象:如果测试响应数据与标准测试响应完全一致,则认为指定测试对象无故障,生成测试结果报告;如果测试响应数据与标准测试响应不完全一致,则认为指定测试对象存在故障,同时主控器模块通过检查不一致位的位置信息,确定故障的位置,生成测试结果报告(包括发现故障,及故障发生的具体引脚信息)。针对模拟电路故障诊断组的被测对象:标准测试响应中包含有测试响应的允许最大偏差信息(由测试人员事先确定),测试响应分析结果中包含数据处理模块分析测试响应数据得到的实际测试响应偏差信息;如果测试响应数据与标准测试响应一致,则认为指定测试对象无故障,生成测试结果报告;如果测试响应数据与标准测试响应不一致,但实际测试响应偏差未超出允许最大偏差,则认为指定测试对象无故障,生成测试结果报告;如果测试响应数据与标准测试响应不一致,且实际测试响应偏差超出了允许最大偏差,则认为指定测试对象存在故障,同时主控器模块通过检查不一致的位置信息,确定故障的位置,生成测试结果报告(包括发现故障,及故障发生的具体引脚信息)。主控器模块将本次测试使用的配置信息标示为已使用过,然后检查单次测试配置信息是否都使用过;如果是,主控器模块将测试结果报告写入寄存器组,同时生成控制信号控制接口控制模块向人机交互设备发出测试完成中断申请,等待人机交互设备读取测试结果报告;如果不是,选取未使用过的单次测试配置信息中具有最小地址信息的配置信息作为本次测试的配置信息,重复执行第(2)-(9)步,直到所有单次测试配置信息都被标示为已使用过。
(10)人机交互设备回应中断申请后,接口控制模块从寄存器组读取测试结果报告,并通过通讯总线将测试结果报告发送到人机交互设备。
(11)测试完成。