用于配置为测试控制器而设置的测试设备的方法与流程

文档序号:11627561阅读:205来源:国知局
用于配置为测试控制器而设置的测试设备的方法与流程

本发明涉及控制器的开发,所述控制器例如在汽车工业中或者在航空工业中用于控制技术系统、例如马达或制动器。本发明尤其涉及在控制器的开发过程中使用的测试设备。



背景技术:

控制器的开发变成了一个高度复杂的过程。因此,应该尽可能早地在开发过程中测试新的控制器或者新的控制功能,以便检验一般功能性并且预定进一步的开发方向。在临近结束开发过程时重要的是,尽可能全面地测试已经广泛开发的控制器,以便在所述控制器投入使用或者进入批量生产并且在稍后的运行中在任何情况下如期望那样地工作之前基于测试结果进行必要的修改。

为了测试控制器,已知方法硬件在环仿真(hil-simulation)和快速控制原型(rcp)。在hil-simulation中,电子控制器连接到测试设备(hil-simulator)上,在所述测试设备上例如执行要由控制器控制或者调节的系统的软件模型。所述软件模型也称为环境模型。因此,所述测试设备为控制器仿真以后应用的物理环境。而在rcp中,在测试设备上执行要开发或者要改进的控制器的软件模型。于是在rcp的情况下,通过所述测试设备借助于在测试设备上执行的模型来调节或者控制从外部连接到测试设备上的技术系统。

要在测试设备上执行的软件模型变得越来越复杂。因此,rcp和hil测试设备常常具有多个用于并行地执行不同的模型或者模型部分的处理器或者fpga。为了能够在测试设备的cpu和fpga上执行所述模型并且所述模型能够与连接的技术系统通信、即交换数据,必须针对每个模型特定地配置测试设备。迄今为止必须手动实施所述配置。根据应该在测试设备的处理器上还是在测试设备的fpga上执行模型或者部分模型,迄今为止必须手动实施完全不同的用于配置的步骤。



技术实现要素:

在这样的背景下,本发明的任务是能实现hil或rcp测试设备的自动配置。

该任务通过一种用于自动配置为测试控制器而设置的测试设备的方法来解决,其中,在所述测试设备中执行技术系统的第一模型和技术系统的第二模型,并且周期性地以定义的采样率执行所述模型,其中,第一模型和第二模型分别是要控制的技术系统的模型或者要测试的控制器的模型,并且所述模型作为以较高级的编程语言中的源代码存在,其中,所述测试设备包括用于执行第一和/或第二模型的fpga和用于执行第一或第二模型的cpu,要测试的控制器在执行所述模型时连接到测试设备上并且实现在所述控制器和/或第一模型和/或第二模型之间的数据交换,并且其中,所述方法具有下列步骤:为第一模型分配个性化的第一采样率并且为第二模型分配个性化的第二采样率,配设第一模型以用于在cpu或者fpga上执行并且配设第二模型以用于在cpu或者fpga上执行,以及自动配置所述测试设备,以用于在fpga或cpu上以分配的第一采样率执行第一模型并且在fpga或cpu上以分配的第二采样率执行第二模型。

这种按照本发明的方法具有这样的优点,即,所述方法对于进行测试设备的配置的用户来说不再区分是应该在测试设备的fpga上还是在测试设备的cpu上执行模型或者模型的部分。在两种情况下自动进行所述配置,其中,仅须给模型分配执行资源(fpga或cpu)并且须给模型分配采样率。在此,采样率或者说执行速率说明,在确定的单位时间内应该执行多少次用于仿真的模型或者模型部分。模型的采样率越高,则可以越准确地实现根据该模型的仿真。当取代在cpu上而在fpga上进行执行时,在确定的情况下可以以更高的采样率来执行模型。借助本发明能实现以简单的方式实施测试设备以用于在fpga或cpu上执行模型,其中,应该在cpu上还是在fpga上执行所述模型是不重要的。另外的优点在于测试设备的通过模型在不同的执行资源上的优化分布以及由于在多个模型同时在一个fpga上执行时能个性化分配的采样率以及由于模型在单独的程序文件上的可分布性而提高的计算性能。此外,随着按照本发明的方法出现这样的优点,即,测试设备的配置对于用户来说可以与应该在cpu上还是在fpga上执行模型无关地进行,并且模型能够以简单的方式在不同的执行资源之间转移。

在一种有利的实施方式中,测试设备的自动配置包括:如果已经将在fpga上的执行配设给了第一和/或第二模型,则从第一和/或第二模型中自动生成至少一个网表;自动生成通信接口,以用于能实现第一模型、第二模型和/或所述控制器之间的数据交换;通过所述至少一个网表和所生成的通信接口来自动配置所述fpga的至少一个分区;以及自动配置在所述fpga上的多样时钟频率部件,以用于提供至少一个用于以所述个性化的采样率在所述fpga上执行第一和/或第二模型的个性化的时钟频率信号。

通过按照本发明的网表、通信接口的自动生成以及在fpga上的多样时钟频率部件的配置,得出这样的优点,即,多个模型或者部分模型能够以不同的采样率在同一个fpga上执行,因此,所述fpga表现为与具有多个核的cpu相似。迄今为止必须非常繁琐地手动配置fpga,以便能实现以个性化的执行速率并行地执行多个模型。现在,通过自动配置在fpga上的多样时钟频率部件明显简化了这点。所述多样时钟频率部件可以产生不同的时钟频率,在fpga上能够以所述不同的时钟频率执行各模型。所述网表涉及对包含在所述fpga上的各模块、例如逻辑门或存储块之间的连接的描述。通过所述网表能够配置所述fpga,以便在所述fpga上执行模型的功能。利用所述网表配置fpga的规定用于每个模型的分区。为了使各个模型能够相互通信、即交换数据,通信接口是必需的。借助所述通信接口能够在fpga的不同的分区之间交换信号。所述通信接口同样可以用于实现外部通信。在此,外部通信指的是,在fpga上执行的模型与在cpu上执行的模型通信或者与连接到测试设备上的系统通信。

在另一种有利的变型方案中,所述按照本发明的方法还包括:如果已经将在cpu上的执行配设给了第一和/或第二模型,则从第一和/或第二模型中自动生成机器语言源代码;以及,借助所生成的通信接口将所生成的机器语言源代码与所配置的fpga联系起来。

因为所述模型最初以高级语言存在,所以为了在cpu上执行所述模型必须产生机器语言源代码,相应的cpu能执行所述机器语言源代码。

本发明的另一种实施方式包括:所述模型的配设在考虑所分配的采样率的情况下自动进行。

迄今为止,用户必须决定应该在一个fpga上执行哪些模型或者模型部分以及应该在一个cpu上执行哪些模型或者模型部分。在此,最重要的判据是应执行模型的采样率。仅当在fpga上执行模型时,通常可以实现高的采样率,因为fpga在一些情况下能实现快速执行基于模型的源代码。根据本发明的自动配设带来这样的优点,即,这相比于手动配设能够明显更快速地进行。为了能实现自动配设,例如可以考虑如下的规则,其中,所述规则定义在哪些情况下应该在fpga上执行模型以及在哪些情况下应该在cpu上执行模型。这样的规则例如可以考虑存在于测试设备中的cpu或fpga的硬件的性能如何、例如通过存储时钟频率。在自动配设时也可以进行模型或者模型部分的分析,其中,所述分析例如求得对于以fpga或cpu执行模型所需要的时间。

在另一种实施方式中,在自动分配时附加地考虑模型的复杂性和/或在cpu和/或fpga上的空闲的计算能力。在此,模型的复杂性例如可以根据在模型中使用的数据类型来确定。此外,所述复杂性例如也可以根据运算操作的数量来确定。所述复杂性也可以通过如下方式来确定,即,要利用模型实施的运算操作是要求通过定点运算还是通过浮点运算来计算。另一重要的标准也可以是在fpga或cpu上的空闲的计算能力或者是cpu的任务周转时间。当应该同时执行多个模型时可以有利的是,使模型这样分布在fpga和cpu上,使得尽可能高效地利用所供使用的硬件。因此,当在同一个fpga或同一个cpu上执行相互交换许多数据的模型时,例如能够最小化数据流。

在一种附加的实施变型方案中,所述较高级的编程语言是图形化编程语言。技术系统的模型的编程常常以图形化编程语言实现,在所述图形化编程语言中,图形化的块在框图中相互连接。在此,给每个图形化的块配设确定的功能。所述块可以是简单的数学运算。另一方面,图形化的块的功能也可以是复杂得多的并且可以是完整的程序函数或者程序。这样的图形化编程语言的例子例如是simulink和labview。测试设备直接基于图形化编程的按照本发明的配置使得开发过程更简单、更直观、更快速以及更少出错。

在另一种实施方式中,所述网表的生成包括生成硬件描述语言的中间步骤。在手动配置fpga时,为了产生网表常常使用硬件描述语言,所述硬件描述语言专门针对该目的。示例性的硬件描述语言是vhdl和verilog。

在另一种有利的实施方式中,所述测试设备是硬件在环仿真器或者快速控制原型系统。在另一种实施变型方案中,所述测试设备具有用于将控制器连接到测试设备上的输入/输出接口。

在一种附加的实施变型方案中,所述配置和采样率的分配借助rcp-hil混合配置装置来实现,其中,所述rcp-hil混合配置装置这样设计,使得它具有用于配置输入/输出接口的配置元件的第一串行布置结构和用于配置第一和第二模型的接口的配置元件的第二串行布置结构,所述配置元件相互配设并且所述通信接口在考虑所述相互配设的配置元件的情况下产生。

按照本发明还包括一种为测试控制器而设置的测试设备,其中,在所述测试设备中执行技术系统的第一模型和技术系统的第二模型,并且可以周期性地以定义的采样率执行所述模型,其中,第一模型和第二模型分别是要控制的技术系统的模型或者要测试的控制器的模型,并且所述模型可以作为以较高级的编程语言的源代码存在。其中,所述测试设备具有用于执行第一和/或第二模型的fpga和用于执行第一或第二模型的cpu,所述测试设备设置用于在执行所述模型时将要测试的控制器连接到所述测试设备上并且用于在所述控制器和/或第一模型和/或第二模型之间的数据交换,其中,所述测试设备还设置用于执行上述方法之一。

在另一种有利的实施方式中,在所述测试设备中执行技术系统的第一模型和技术系统的第二模型,并且周期性地以定义的采样率执行所述模型,其中,第一模型和第二模型分别是要控制的技术系统的模型或者要测试的控制器的模型,并且所述模型作为以较高级的编程语言的源代码存在,其中,所述测试设备包括用于执行第一和第二模型的fpga,要测试的控制器在执行所述模型时连接到测试设备上并且实现在所述控制器和/或第一模型和/或第二模型之间的数据交换,其中,所述用于自动配置为测试控制器而设置的测试设备的方法包括下列步骤:

a)为第一模型分配个性化的第一采样率并且为第二模型分配个性化的第二采样率;

b)自动配置所述测试设备,以用于在所述fpga上以分配的第一采样率执行第一模型并且以分配的第二采样率执行第二模型;

c)从第一和第二模型中自动生成至少一个网表;

d)自动生成通信接口,以用于能实现在第一模型、第二模型和/或所述控制器之间的数据交换;

e)通过所述至少一个网表和所生成的通信接口来自动配置所述fpga的第一分区和第二分区;

f)自动配置在所述fpga上的多样时钟频率部件,以用于提供至少一个用于以个性化的第一采样率在所述fpga上执行第一模型的个性化的第一时钟频率信号以及用于以个性化的第二采样率在所述fpga上执行第二模型的个性化的第二时钟频率信号。

在最后一种实施变型方案中,本发明包括一种用于自动配置为测试控制器而设置的测试设备的方法,其中,在所述测试设备中执行技术系统的第一模型和技术系统的第二模型,并且周期性地以定义的采样率执行所述模型,其中,第一模型和第二模型分别是要控制的技术系统的模型或者要测试的控制器的模型,并且所述模型作为以较高级的编程语言的源代码存在,其中,所述测试设备包括用于执行第一和/或第二模型的第一和第二fpga,要测试的控制器在执行所述模型时连接到测试设备上并且实现在所述控制器和/或第一模型和/或第二模型之间的数据交换,其中,所述方法具有下列步骤:

a)为第一模型分配个性化的第一采样率并且为第二模型分配个性化的第二采样率;

b)在考虑所分配的采样率的情况下,自动配设第一模型以用于在第一fpga或第二fpga上执行,并且配设第二模型以用于在第一fpga或第二fpga上执行;

c)自动配置所述测试设备,以用于以分配的第一采样率执行第一模型并且以分配的第二采样率执行第二模型。

附图说明

图1示出按照本发明的测试设备的一种示例性的实施方式。

图2示出一种fpga,所述fpga借助按照本发明的方法来配置以用于执行两个模型。

图3示出一种rcp-hil混合配置装置300的示例性的形式。

图4示出一种示例性的图形化编程语言。

具体实施方式

在图1中示出按照本发明的测试设备100的一种示例性的实施方式,控制器200通过输入/输出接口102连接到所述测试设备上。所述输入/输出接口可以具有多个不同的硬件通道、例如数字的或者模拟的输入端和输出端,在所述硬件通道上可以接收或者发送电信号。在所述测试设备上可以执行技术系统的第一模型103和技术系统的第二模型104。在此,技术系统例如可以是机动车的马达、机动车自身或者机动车的部分、控制器或者任意其它的技术系统。为了执行所述模型,测试设备包含不同的执行资源、例如fpga105和/或cpu106。所述执行资源不必强制直接存在于测试设备中,而是也可以从外部例如以嵌入式系统或者插卡的形式连接到测试设备上。在此示出的实施方式中,所述执行资源、在此即cpu106和fpga105利用通信接口107相互连接以用于数据交换。此外,所述通信接口也可以接到输入/输出接口102上,以用于因此建立所述模型与连接到测试设备上的控制器的通信。

测试设备100例如可以是“硬件在环”(hil)仿真器。测试设备100也可以是“快速控制原型”(rcp)系统。但是,测试设备也可以是如下的设备,所述设备通过如下方式适用于执行hil测试或者rcp测试,即,在所述测试设备中可以执行技术系统的模型并且该模型可以通过输入/输出接口与连接到测试设备上的要测试的设备、例如控制器交换数据,其中,利用该数据交换尤其分析测试设备对由所述模型产生的数据的响应,由所述模型产生的数据例如以电信号的形式传递给所述控制器。

技术模型、即技术系统的模型可以示例性地以软件模型的形式存在,所述软件模型通过例如以高级语言(如c、c++)或者以机器语言(如汇编语言或可执行的机器代码)的源代码来编写。通过技术模型可以给任意系统建立模型,以便虚拟地仿真所述系统。因此,例如马达的模型可以作为软件存在,其中,所述软件这样编程,使得在仿真(在此即所述模型在cpu或fpga上执行)期间通过所述软件处理输入参数并且根据所述输入参数和所述模型的设计形式来产生输出值。在此,输入参数例如可以是施加在汽油机的节气门上的电压,并且输出值与此有关地可以是节气门的产生的开度角、燃油消耗和/或在曲轴上产生的转矩。当然,所述模型也可以是要测试的或者要开发的控制器的模型。

图1示出测试设备100按照根据权利要求1的按照本发明的方法进行实施的的可能的配置。为了在测试设备上执行模型,给所述模型分配个性化的采样率。当然,按照本发明,代替采样率也可以分配采样时间,其中,采样率是采样时间的倒数。对每个在测试设备上执行的模型进行采样率的所述分配。所述分配可以手动或者自动进行。在图1的例子中例如可以给第一模型103分配10ms的采样时间并且给第二模型104分配20ms的采样时间。与此相应地,第一模型每10ms计算一次模型的新的输出值,而第二模型仅每20ms计算一次新的输出值,然后,利用所述输出值可以产生电信号,所述电信号可以发送给控制器200。根据模型的复杂性,对于测试设备的执行资源并不总是能够在分配的采样时间内来计算模型。在这样的情况下必须进行模型的配设以用于在测试设备的如下资源上执行,所述资源具有相应的计算性能以用于在预定的采样时间内计算所述模型。因此在所述的例子中,可以将执行资源fpga配设给第一模型103并且将执行资源cpu配设给第二模型。为了将测试设备置于这样的状态,即,在测试设备上这样执行所述模型,使得所述模型在仿真的框架内能够与连接到测试设备上的要测试的设备通信,按照本发明还要进行测试设备的自动配置、在具体的示例性的情况下即配置测试设备以用于在fpga105上以10ms的采样时间执行第一模型103并且配置测试设备以用于在cpu106上以20ms的采样时间执行第二模型104。

按照本发明,所述模型到执行资源的分配也可以在考虑所分配的采样率、在模型中进行的计算的复杂性和所使用的数据类型以及考虑执行资源的已存在的负荷或者说(例如以cpu的任务周转时间或者fpga的空闲的逻辑门的形式的)计算能力的情况下自动进行。为此,例如可以在考虑约束条件和二次目标函数的情况下使用多变量的优化算法。在此,所述目标函数可以包含最大的延迟、即所述模型对输入值的变化的响应时间。附加地,所述目标函数可以扩展了如下判据,所述判据考虑所分配的采样率和计算的复杂性以及所使用的数据类型。在优化算法中的约束条件能够确保遵循cpu的任务周转时间并且确保fpga包含足够空闲的逻辑门。

所述自动配置也可以包括为应该在fpga上执行的那些模型自动地产生网表。为此,例如可以使用不同的具有自动化接口的软件解决方案、例如xilinx系统生成器、matlabhdl编码器、xilinxvivadohls。这些软件解决方案可以从以较高级的编程语言(例如图形化simulink代码或者c/c++)存在的模型中产生自动网表或者硬件描述语言(如vhdl代码或verilog代码),利用所述自动网表或者说硬件描述语言来配置fpga以用于执行以较高级的编程语言编写的程序。

按照本发明,通信接口107也可以自动生成。与在图1中示出的形式相反,所述通信接口也可以这样设计,使得它能实现在同一个fpga上执行的两个模型之间的通信。通信接口107也可以设计为复合接口,这意味着所述通信接口由多个独立的接口形成。通信接口亦或复合的通信接口的部分在图形化编程环境中可以表示为模型端口输入和输出块,借助所述模型端口输入和输出块可以在数据交换方面配置通信接口的自动生成。

图2示出一种fpga105,与在图1中示出的例子相比,这样自动配置所述fpga,使得在所述fpga105上不仅可以执行第一模型103而且可以执行第二模型104。为了在同一个fpga上并行地执行所述模型,配置一个分区用于执行第一模型并且配置第二分区用于执行第二模型。为了能够以个性化的时钟频率在所述fpga上执行所述两个模型103和104,所述模型从多样时钟频率部件中获得单独的时钟频率信号。所述多样时钟频率部件本身从固定在所述fpga上实现的原始时钟频率部件202中获得一个时钟频率信号,该时钟频率信号通过多样时钟频率部件转变为个性化的时钟频率信号203、例如转变为能实现10ms的采样时间的时钟频率信号和能实现20ms的采样时间的时钟频率信号。在此注意,多样时钟频率部件201不局限于产生两个时钟频率信号,而是原则上可以生成任意多个时钟频率信号。所述两个模型103和104在其执行期间借助通信接口107不仅可以相互间交换数据,而且可以与在其它执行资源上附加执行的模型或者与连接到测试设备上的要测试的设备200交换数据。多样时钟频率部件也可以包含用于实现调试功能的机构。利用所述机构例如能够实现生成时钟信号,所述时钟信号可以用于调试功能。

按照本发明,采样率的分配例如可以借助rcp-hil混合配置装置300来实现,所述rcp-hil混合配置装置在图3中示意性地示出。rcp-hil混合配置环境的特征在于,利用所述rcp-hil混合配置环境能够配置rcp和/或hil仿真器。图3中的rcp-hil混合配置装置包含用于配置测试设备100的输入/输出接口的配置元件301和302的第一串行布置结构。此外,rcp-hil混合配置装置300包含用于配置第一和第二模型的接口的配置元件303和304的第二串行布置结构。为了配置通信接口,可以将用于配置测试设备100的输入/输出接口的配置元件301和302配设给用于配置第一和第二模型的接口的配置元件303和304,这例如可以通过与连接元件305的连接来实现。此外,为了配置通信接口,用于配置第一和第二模型的接口的配置元件303和304可以相互配设,例如通过与另一连接元件306的连接来实现,因此可以规定在模型103与104之间的数据交换。

图4示出图形化编程语言的一种示例性的形式。在此,程序组成部分及其功能上的联系通过图形化的元素、例如块和线来配置。图4中的图形化程序400例如可以这样设计,使得所述图形化程序读入第一输入值401和第二输入值402,然后,根据在块403中规定的功能进一步处理所读入的数据,以便借助输出块404输出借助图形化程序所计算的输出值。块403的功能例如可以在于,加上或者乘以所述输入值、对所述输入值进行微分或者积分等。图形化的块可以通过连接线相互连接,以便因此建立在各块之间的数据交换。当然,图形化程序400不局限于在此示出的实施方式,而是也可以明显更复杂地设计,这可以体现在块的数量和各块的连接中。在对技术系统建立模型时可以使用图形化程序400。因此,图形化程序400也可以是技术系统的模型103和/或104。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1