用于在具有至少两个计算机芯的计算单元中对计算机芯进行测试的方法和装置的制作方法

xiaoxiao2020-7-22  5

专利名称:用于在具有至少两个计算机芯的计算单元中对计算机芯进行测试的方法和装置的制作方法
技术领域
本发明涉及一种用于在具有至少两个计算机芯的计算单元中对计算机芯进行测试的方法,其中所述计算机芯通过内部的连接系统彼此相连接并且这两个计算机芯致力于机器的运行过程,并且本发明涉及一种用于实施所述方法的装置。
背景技术
在半导体制造商处就已对集成的线路的良好性能进行测试。这尤其适用于计算机芯,出于安全原因应该对计算机芯的功能能力进行检查。这在制造半导体芯片上的微处理器之后在非安装的状态中由半导体制造商来进行,在半导体制造商处还没有将计算机芯安装到控制仪中。
由DE 10 2006 014 267 Al公开了一种用于对至少一个安装在控制仪中的计算单元进行测试的方法,对于该方法来说借助于控制仪接口来装载测试数据用于对第一计算单元进行测试并且随后将所装载的第一测试数据保存在第二计算单元的存储单元中。而后通过所述第二计算单元将所述第一计算单元切换到测试模式中,在该测试模式中使用所述第一测试数据。借助于所述第二计算单元来检查所述第一计算单元的测试结果数据的可信性。
不过,通过这些测试也只能保证特定的故障识别程度,因为这样的测试只能将计算单元闭锁较短的时间。因为所述计算单元在测试之后必须立即无限制地供人使用,所以能够使用的测试模型并且由此故障识别率受到限制。

发明内容
本发明的任务是,说明用于测试计算机芯的一种方法和一种装置,其中以最小的时间花费来获得较高的故障识别率。
所述按本发明的用于测试计算机芯的方法具有这样的优点,即提高故障识别率并且测试可以在较长时间里不中断的情况下进行,由此可以使用更好的测试模型。由此可靠地排除硬件故障。在机器的运行过程中对一个计算机芯进行测试,而同时另一个计算机芯则执行其正常的程序流程,由此可以在实时系统中使用所述测试。对运行过程进行控制的软件在测试过程中无变化地保持处理能力,并且甚至可以用于产生测试模型,从而能够使用多种多样的测试模型。
有利的是,在一个计算机芯中进行测试,而同时在另一个计算机芯中则执行用于实施机器的运行过程的程序。通过这种方式,不仅机器的运行过程而且在其运行过程中的可靠性都在不中断的情况下得到了保证,因为机器在测试过程中维持其功能能力。
在一种改进方案中,为了开始测试而将测试询问输出给两个计算机芯,而后在这两个计算机芯同意该测试询问之后将第一计算机芯置于一种测试模式中并且第二计算机芯向第一计算机芯加载测试数据并且在测试结束后对第一计算机芯的测试结果的正确性
4进行检查。通过测试询问来保证,将测试在这样的时刻插入到运行过程中,使得机器的功能能力保持不受干扰。这样的测试询问可以容易地通过以下方式来实现,即这两个计算机芯必须同时同意一项条件。
如果在周期性的系统中同样周期性地提出测试询问,那么在还没有发送或者接收数据时(离线)就可以确定有利的用于测试的时刻。
有利的是,所述计算机芯触发相应的测试,该测试将两个计算机芯对测试询问的同意确定为首要条件。作为替代方案,所述计算机芯将要触发相应的测试,该测试在预先给定的时刻对所述计算机芯对测试询问的应答进行分析。在这种情况下,总是一个计算机芯在预先给定的时刻检查所述计算机芯对测试询问的同意情况,由此保证所述测试在同意之后也真正地立即得到实施。
在本发明的一种改进方案中,为实施所述测试首先装载来自存储器的第一测试数据。随后通过所述第二计算机芯将第一计算机芯切换到测试模式中,在该测试模式中能够取用所述第一计算机芯的扫描链(Scan-Kette)。然后,借助于所述第二计算机芯来将所述第一测试数据移动通过所述第一计算机芯的扫描链,由此提供用于所述第一计算机芯的测试结果。所述第二计算机芯而后检查为所述第一计算机芯得到的测试结果的可信性。通过以下方式来形成扫描链,也就是将所述计算机芯的内部的触发器联结成移位寄存器。根据这种简单的方法,也可以在机器运行时在检查计算机芯时使用这样的在制造计算单元时在生产条件下已经由半导体制造商使用的测试模型。由此可以在很大程度上放弃新的测试模型的编制。作为测试模型,可以使用固定型测试模型(Stuck-at Testmuster)和通路延迟测试模型(Path Delay Testmuster),这些测试模型能够在运行中实现计算单元的较高的故障识别率。
在一种设计方案中,将所述第一测试参数从包含所述计算机芯的计算单元的内部的存储器中读出来。由此可以放弃额外的存储单元。
不过也存在着将所述测试数据从机器的其它控制仪中读出来的可能性。这里也利用将已经存在的存储器用于存储测试数据并且放弃额外的存储器这样的优点。
有利的是,所述测试数据可以变化以便实施所述测试,由此通过不同的测试数据的使用可以检查不同的硬件组件的良好效能。在此没有由硬件引起的对模型的数目的限制。因此所使用的具有相同的硬件的模型的数目能够仅仅通过软件的配置来调节。在进行周期性的或者至少以预先给定的间隔实施的测试的情况下,可以在每次实施时使用不同的测试模型。
在本发明的一种改进方案中,在所述第一计算机芯上进行测试的过程中由另一个计算机芯执行被测试的计算机芯的至少部分对于机器的运行过程来说必要的程序流程。由此保证,快速执行重要的程序段,所述重要的程序段的中断会在机器的运行过程中导致干扰。机器的操作者或者所运行的应用程序在机器的运行过程中未注意到任何差别,尽管有待测试的第一计算机芯在测试过程中未供程序流程使用。
有些程序段的执行对机器来说不代表着任何紧急的功能和/或安全重要性,对于这些程序段来说将来自机器的运行过程的在第一计算机芯上进行测试的过程中发给所述第一计算机芯的指令周期(Befehlsabl^ife)加以存储,并且只有在该计算机芯在测试之后又已经接收其正常的工作方式之后才将其执行。
在另一种设计方案中,在计算机芯的预先给定的时窗中实施所述测试。在有利的时窗中实施测试,通过所述有利的时窗的选择不仅可以将重新配置开销而且将用于处理未处理的软件的时间花费降低到最低限度,所述重新配置开销以及所述时间花费在某种程度上相当于在相应的计算机芯上软件的正常运行的干扰。
可以特别容易地完成这一点,如果对于时间控制的计算机芯来说将所述时窗放到该计算机芯的空转阶段中。由此可以将特别空闲的时窗用于主动的或者被动的测试。
在计算机芯中进行事件控制的程序流程时,在紧接在预先给定的事件之后实施所述测试。在此利用这样的事实,即在一个事件之后下一个事件在时间上还离得较远,因而在这样的时刻之后所述测试的调用有意义。
在本发明的另一种改进方案中,在一种用于在具有至少两个计算机芯的计算单元中测试计算机芯的方法中在一个计算机芯中进行测试,同时在另一个计算机芯中执行用于实施机动车的行驶运行的程序,其中所述计算机芯通过内部的连接系统彼此相连接并且这两个计算机芯致力于机动车的行驶运行。
这样做的优点是,可供使用的硬件的测试不仅可以在实时条件下而且可以在汽车的边界条件下实施,而在机动车的行驶运行中没有出现干扰。所述测试由此尤其满足机动车内的与安全相关的要求。再也没有必要在维修厂对所述包含具有计算机芯的计算单元的控制仪进行测试或者这种测试可以得到简化,因为在行驶运行过程中就已识别和显示出故障源。
在一种设计方案中,在机动车的行驶运行过程中一个计算机芯对另一个计算机芯进行测试。而在这个时刻被测试的计算机芯未供行驶运行的程序流程使用时,另一个计算机芯则承担与机动车有关的程序流程。由此机动车的使用者没有注意到测试流程。
在机动车的初始化过程中,在实施用于第一个计算机芯的高度用电 (stromintensive)的测试时则有利地将另一个计算机芯置于省电的状态中。这比如可以通过主频的降低来实现,或者通过阻止特定的软件访问高速缓存存储器这种方式来实现。
在本发明的另一种改进方案中,在一种用于在具有至少两个计算机芯的计算单元中对计算机芯进行测试的装置中,存在着一些器件,借助于这些器件在一个计算机芯中进行测试,同时在另一个计算机芯中执行用于实施机动车的行驶运行的程序,其中所述计算机芯通过内部的连接系统彼此相连接并且这两个计算机芯致力于机动车的行驶运行。
该装置允许在使用运行的控制仪的过程中进行测试,其中在测试过程中维持机动车的行驶运行。在进行该测试时以最小的开销获得较高的故障识别率。


本发明允许实现大量的实施例。其中之一应该借助于在图纸中示出的附图来进行详细解释。
其中
图1是机动车的控制仪中的计算单元的原理图; 图2是按本发明的方法的一种实施例的示意性的流程图。
具体实施例方式在图1中示出了用在机动车的控制仪中的计算单元1。该计算单元1在这里的情况中具有两个计算机芯2和3,但是在需要时也可以具有多个计算机芯。此外,在所述计算单元1中包含了 RAM4、R0M5和闪存存储器6。所述计算机芯2和3以及RAM4.RAM5和闪存存储器6彼此间通过内部的连接系统7比如总线来进行通信。
如可以从图2中看出一样,在步骤201中所述控制仪在机动车的行驶运行过程中运行。所述计算机芯2在此负责所述机动车的电子稳定程序ESP的程序流程,而计算机芯 3则负责马达控制系统的燃料喷射的程序流程。
为了现在在行驶运行过程中确定,所述计算机芯2、3是否正确地起作用,在步骤 202中通过软件来将测试询问从一个计算机芯2发送给另一个计算机芯3,用于确定在这个时刻是否能够进行所述计算机芯2、3之一的测试。在此也建议,对哪一个计算机芯2、3进行测试并且在测试过程中哪一个计算机芯2、3相应地承担被测试的计算机芯2、3的任务。 为此有大量的方案。因此可以使用计数器、RAM元件或者专用寄存器,用于确定是否两个计算机芯2、3同时同意一项条件。
在步骤203中通过计算机芯2、3对测试询问进行评估,在当前的行驶状况中是否可以实施测试。可能的标准可以从所要求的比如依赖于转速的计算功率中获得。第一个计算机芯2比如将对马达转速进行检查。如果马达转速超过3000转/分钟的转速,那么该计算机芯2就拒绝同意进行测试。如果马达功率低于3000转/分钟,那么该计算机芯2就将同意测试。
另一种可能的标准是中断的可能性。该可能性比如依赖于喷射。所述计算机芯在这种情况下检查,何时是上次燃料喷射的时刻。如果刚刚才进行这样的喷射,那么所述计算机芯就同意测试,因为下一次喷射在时间上还离得比较远。但是,如果上次喷射已经过去了一定的时间,那么该计算机芯就拒绝同意进行测试,因为它首先必须考虑到喷射。如从解释中发现的一样,这依赖于在询问计算机芯2、3是否同意测试询问并且对计算机芯2、3中的哪一个进行测试的时刻当前的运行过程。用于同意的标准必须在软件中得到实现并且依赖于应用程序。
在步骤204中确定,应该何时实施测试。如果不应该在双方同意测试之后立即实施测试,那么这个步骤204明确地是必要的。因此,比如可以使用所提到的计数器、RAM元件或者专用寄存器,用于在运行中确定这个时刻。
在时间控制的典型地周期性的系统中,在离线时就可以确定,应该何时或者在哪个时窗中实施相应的测试。而后在运行中还仅仅存在对下一次这样的时刻进行识别的任务。
有利的是,在这样的系统中刚好在这样的可以立即紧接着实施测试的时刻甚至提出来自步骤202的询问。
在事件控制的系统中较好的时刻就在特定的事件之后。比如这一点在从系统知识中可以预测下一个有待处理的事件离得足够远时适用。
时间总是在运行中(步骤204)也就是在线确定。在此十分有利的是,已经在编程时刻就已对条件进行分析,从而在运行中还仅仅必须走完尽可能简单的例行程序。
随后在步骤205中通过计算机芯2、3来使测试初始化,在步骤202中已经建议所述计算机芯2、3作为测试用的计算机芯。在这种情况下,它是计算机芯2,该计算机芯2向计算机芯3比如通知中断情况,使得其触发测试过程。
为实施测试,首先装载来自计算单元1的闪存存储器6或者ROM存储器5的测试数据。在此可以使用极为不同的测试模型。有时候可以放弃新的测试模型的编制,如果使用从半导体生产中已知的固定型测试模型(Stuck-at Testmuster)和通路延迟测试模型 (Path Delay Testmuster).所述固定型测试是指静态的测试,在该静态的测试中改变寄存器内容。所述通路延迟测试模型是动态的测试,在该动态的测试中改变所述寄存器的移位时间。如果移位时间太短,那就不移动寄存器内容,这导致故障识别。
在调用测试数据之后,将所述计算机芯3切换到测试模式中,在该测试模式中能够取用该计算机芯3的扫描链。而后所述测试模型的第一测试数据有利地借助于计算机芯 2移动通过所述计算机芯3的扫描链,由此提供用于计算机芯3的测试结果(步骤206)。作为替代方案,所述测试模型也可以由为此设置的专用的硬件单元移动通过所述计算机芯的扫描链。
如果在测试过程中出现用于有待测试的计算机芯3的任务,那就在步骤207中检查这些任务的紧迫性。如果必须较快地完成这项任务比如对于马达控制系统来说预料之外的喷射,那就将中断传送给计算机芯2,该计算机芯2在重新配置之后执行该中断。如果这里的任务不是在时间上紧要的任务,那就将其有利地通过操作系统中间保存在RAM存储器 4中,直到所述计算机芯3在测试之后又接收其正常的程序流程并且而后由该计算机芯3来执行所述程序流程。
如果结束测试,那么比如所述计算机芯2就检查为所述计算机芯3得到的测试结果的可信性并且必要时促使输出故障信号(步骤208)。作为替代方案,所述检查也可以由专用的分配给计算机芯2的硬件单元来进行。
所述按本发明的方法不局限于具有两个计算机芯的计算单元,而是也可以相应地在具有多个计算机芯的计算单元上来实施。
8
权利要求
1.用于在具有至少两个计算机芯(2、3)的计算单元中对计算机芯进行测试的方法,其中所述计算机芯(2、3)通过内部的连接系统(7)彼此相连接并且这两个计算机芯(2、3)致力于机器的运行过程,其特征在于,在一个计算机芯(3)中实施测试过程,同时在另一个计算机芯(2)中则执行用于实施机器的运行过程的程序。
2.按权利要求1所述的方法,其特征在于,在机器的运行过程中一个计算机芯(2)对另一个计算机芯(3)进行测试。
3.按权利要求1所述的方法,其特征在于,所述计算机芯(3)的测试过程由为此设置的硬件单元来实施。
4.按权利要求1或2所述的方法,其特征在于,向这两个计算机芯(2、3)提出测试询问,而后在这两个计算机芯(2、3)同意该测试询问之后将第一计算机芯(3)置于测试模式中并且第二计算机芯(2)向第一计算机芯(3)加载测试数据并且在测试结束后检查所述第一计算机芯(3)的测试结果的正确性。
5.按权利要求4所述的方法,其特征在于,周期性地提出测试询问。
6.按权利要求4所述的方法,其特征在于,所述计算机芯(2)触发测试,该测试将这两个计算机芯(2、3 )对测试询问的同意确定为首要条件。
7.按权利要求4所述的方法,其特征在于,所述计算机芯(2)触发测试,该测试在预先给定的时刻对所述计算机芯(2、3 )对测试询问的答复进行分析。
8.按权利要求4所述的方法,其特征在于,-装载来自存储器(6)的第一测试数据;-通过所述第二计算机芯(2 )将所述第一计算机芯(3 )切换到测试模式中,办法是能够取用所述第一计算机芯(3)的扫描链;-借助于所述第二计算机芯(2)将第一测试数据移动通过所述第一计算机芯(3)的扫描链以用于提供用于所述第一计算机芯(3)的测试结果;并且-通过所述第二计算机芯(2)来检查为所述第一计算机芯(3)得到的测试结果的可信性。
9.按权利要求8所述的方法,其特征在于,从包含所述计算机芯(2、3)的计算单元(1) 的内部存储器(6)中读出所述第一测试数据。
10.按权利要求8所述的方法,其特征在于,从机器的其它控制仪中读出所述第一测试数据。
11.按权利要求8到10所述的方法,其特征在于,所述测试数据为实施测试而变化。
12.按权利要求1或2所述的方法,其特征在于,在所述第一计算机芯(3)上进行测试的过程中所述被测试的计算机芯(3)的至少部分对于机器的运行过程来说必要的程序流程由另一个计算机芯(2 )来执行。
13.按权利要求1或2所述的方法,其特征在于,将来自于机器的运行过程中的在所述第一计算机芯(3)上进行测试的过程中发给第一计算机芯(3)的指令周期加以保存。
14.按权利要求1或2所述的方法,其特征在于,在所述计算机芯(3)的预先给定的时窗中实施所述测试。
15.按权利要求14所述的方法,其特征在于,对于时间控制的计算机芯(3)来说将时窗放到所述计算机芯(3)的空转阶段中。
16.按权利要求1或2所述的方法,其特征在于,紧接在预先给定的事件后面来实施所述测试。
17.用于在具有至少两个计算机芯(2、3)的计算单元(1)中对计算机芯(2、3)进行测试的方法,其中所述计算机芯(2、3)通过内部的连接系统(7)彼此相连接并且这两个计算机芯(2、3)致力于机动车的行驶运行,其特征在于,在一个计算机芯(3)中实施测试过程, 同时在另一个计算机芯(2)中则执行用于实施机动车的行驶运行的程序。
18.按权利要求17所述的方法,其特征在于,在机动车的行驶运行过程中,一个计算机芯(2 )对另一个计算机芯(3 )进行测试。
19.按前述权利要求17和18中任一项所述的方法,其特征在于,在机动车的初始化过程中在实施用于第一计算机芯(3)的高度用电的测试时将另一个计算机芯(2)置于省电的状态中。
20.用于在具有至少两个计算机芯(2、3)的计算单元(1)中对计算机芯(2、3)进行测试的装置,其中所述计算机芯(2、3)通过内部的连接系统(7)彼此相连接并且这两个计算机芯(2、3)致力于机动车的行驶运行,其特征在于,存在着器件(2、3、6),通过所述器件(2、 3、6)在一个计算机芯(3)中实施测试,同时在另一个计算机芯(2)中则执行用于实施机动车的行驶运行的程序。
21.按权利要求20所述的装置,其特征在于,在机动车的行驶运行过程中一个计算机芯(2)对另一个计算机芯(3)进行测试。
全文摘要
本发明涉及用于在具有至少两个计算机芯的计算单元中对计算机芯进行测试的方法和装置,其中所述计算机芯(2、3)通过内部的连接系统(7)彼此相连接并且这两个计算机芯(2、3)致力于机器的运行过程。用用于测试计算机芯的方法可以以最小的时间花费来获得较高的故障识别率,对于该方法来说在计算机芯中进行测试,而同时在另一个计算机芯中则执行用于实施机动车的行驶运行的程序。
文档编号G06F11/267GK102187318SQ200980141035
公开日2011年9月14日 申请日期2009年9月3日 优先权日2008年10月16日
发明者米勒 B., 奥 A. 申请人:罗伯特·博世有限公司

最新回复(0)