用于在模拟器上测试电子控制装置的方法和系统和模拟器与流程

文档序号:37448416发布日期:2024-03-28 18:31阅读:21来源:国知局
用于在模拟器上测试电子控制装置的方法和系统和模拟器与流程

本发明涉及一种用于在具有至少一个模拟器运算单元的模拟器上测试作为虚拟控制装置的至少一个电子控制装置的方法,其中,所述电子控制装置具有包括所述至少一个运算单元和用于交换数据的外部接口的硬件配置和配设给硬件配置的软件配置,所述软件配置包括内部功能和外部接口功能,所述电子控制装置被映射到虚拟控制装置上,其方式为所述电子控制装置的软件配置的内部功能作为虚拟控制装置的软件配置的内部功能来承担,且其方式为所述电子控制装置的外部接口功能由模拟器运算单元的软件配置的数据转移功能来代替,所述虚拟控制装置的软件配置被转化(übersetzen)为用于模拟器运算单元的可执行的代码且在所述模拟器上执行。此外,本发明还涉及一种用于在模拟器上测试作为虚拟控制装置的至少一个电子控制装置的系统,其中,所述系统包括模拟器以及电子控制装置的硬件配置以及配设给硬件配置的软件配置,所述模拟器包括所述至少一个模拟器运算单元,所述电子控制装置的硬件配置包括至少一个运算单元和用于交换数据的外部接口,所述软件配置包括内部功能和外部接口功能,由模拟器将电子控制装置映射到虚拟控制装置上,其方式为所述电子控制装置的软件配置的内部功能作为虚拟控制装置的软件配置的内部功能来承担,且其方式为所述电子控制装置的外部接口功能由模拟器运算单元的软件配置的数据转移功能来代替,所述虚拟控制装置的软件配置被转化为用于模拟器运算单元的可执行的代码且在模拟器的运行状态下在模拟器上执行。此外本发明也涉及一种相应的模拟器和一种与此相关的计算机程序。


背景技术:

1、前述类型的方法和系统用于控制装置开发领域中,更准确地说用于控制装置的软件的开发和测试的领域。控制装置是具有外部接口的小型计算机,其中,控制装置通过该外部接口与技术-物理过程有效连接和/或也与其他控制装置通信连接;那么从控制装置的角度来看,通过该外部接口可以沿发送和接收方向交换数据。外部接口可以是仅用于交换测量数据的非常简单的过程接口(例如模拟电流接口或数字pwm接口),但也可以是例如实现(现场)总线协议(例如can、ttp、flexray、以太网)的高级通信接口。外部接口可以具有所提及的接口功能中的多个接口功能。硬件配置的外部接口的运行按照软件地通过控制装置的软件配置的外部接口功能而发生。

2、由控制装置的运算单元对接收到的信号或者说消息进行预处理、分析,例如通过控制技术算法进一步处理且随后将相应的计算出的参量作为控制装置输出参量经由外部接口又输出。控制装置的软件配置的这种功能在此称为内部功能,该功能基本上与由运算单元实现的功能相关。电子控制装置的应用领域是多种多样的,其例如在汽车领域中、在航空航天中以及完全一般地在工业应用(例如过程工业)中。目前仍在广泛使用的电子控制装置中的运算单元通常是微控制器、数字信号处理器、有时也涉及可编程的电路结构(例如以现场可编程门(fpga)的形式)。

3、用于控制装置的软件开发经常被映射在所谓的v循环中。在v循环中,经历了不同的开发阶段:从在不参考后期的控制装置硬件的情况下对例如控制算法进行抽象的功能测试(模型在环)开始;经由在此感兴趣的对以后采用的系列控制装置的程序代码进行测试,其中,尽管系列控制装置尚未存在而是仅在软件中被映射为虚拟控制装置(软件在环,sil);经由在完全或部分模拟的环境中利用系列控制装置程序代码对物理上存在的系列控制装置进行测试(硬件在环,hil);直至最后用于在实际物理环境中对系列控制装置进行测试。这是在工业中创建和按标准应用的开发步骤的链,该链已经证明:可靠地开发并密集地测试用于电子控制装置的软件。

4、申请人通过相应的硬件和软件工具来支持v循环的不同的阶段。在此考虑的方法、系统和模拟器涉及软件在环测试的应用情况,申请人利用veos环境来支持该应用情况(参见产品手册“veos platform for pc-based simulation of models and ecu networkcommunication”,2020年2月,dspace有限责任公司)。

5、电子控制装置被映射到虚拟控制装置上,其方式为电子控制装置的软件配置的内部功能作为虚拟控制装置的软件配置的内部功能来承担:亦即在虚拟控制装置的测试的范围中,被考虑用于电子控制装置的程序代码实际上在所述程序代码已经针对模拟器运算单元编译之后通过在模拟器运算单元上执行所述程序代码而被测试。

6、此外,电子控制装置的外部接口功能——所述外部接口功能那么与电子控制装置的外部接口有关——被模拟器运算单元的软件配置的数据转移功能代替,其中,将虚拟控制装置的软件配置转化为用于模拟器运算单元的可执行的代码,且将所述代码在模拟器上执行。这可以意味着例如:can总线消息的发送、亦即电子控制装置的外部接口功能的调用被相应将指令写入到共享存储器的区域中而代替,不仅在模拟器运算单元上的按照软件实现的虚拟控制装置而且(同样按照软件实现的)通信伙伴(在此未进一步对所述通信伙伴进行探讨)都可以访问所述区域。这意味着:对真实的电子控制装置上的外部接口的驱动器组件的调用没有被传递到模拟器上的虚拟控制装置上,而是被模拟器运算单元的软件配置的数据转移功能所代替。

7、如果应测试多个电子控制装置,例如因为所述电子控制装置共同形成机动车的感兴趣的车载电网且在这里相互影响,那么控制装置中的每个控制装置通过硬件配置和软件配置来描述,亦即简单地通过描述现有的硬件组件和为其配设的软件组件。那么电子控制装置中的每个电子控制装置被映射到模拟器上的虚拟控制装置上。在软件方面,不同的虚拟控制装置本身在模拟器上分别形成一个单元,但它们可以仍然例如都在模拟器的同一模拟器运算单元上执行。也可能的是,如果模拟器具有多个运算单元(例如多个处理器模块、一个处理器的多个内核),那么在模拟器的不同的模拟器运算单元上计算不同的虚拟控制装置。根据技术实现,那么数据转移功能也变化,利用数据转移功能不同的虚拟控制装置可以在模拟器上相互交换信息。该做法具有不同的优点,特别是因为在真实世界中要测试的电子控制装置的组合的结构保留在模拟器的虚拟世界中和在这里实现的虚拟控制装置中。

8、越来越多地应用如下控制装置,所述控制装置具有明显更复杂的在硬件方面的结构,所述控制装置例如不仅具有微控制器或者数字信号处理器以及外部接口,而且具有多个不用的运算单元,这些运算单元基于完全不同的技术,且通常也集成地实现为片上系统(soc)。


技术实现思路

1、本发明的任务在于,提供一种用于具有不同的类型的不同运算单元的这种电子控制装置的自动测试可能性,该可能性能够以简单和自动的方式实现处理复杂的硬件结构和将该结构传递到模拟器上。

2、所述任务在开头所描述的用于在具有至少一个模拟器运算单元的模拟器上测试作为虚拟控制装置的至少一个电子控制装置的方法中通过如下来解决,即,所述电子控制装置的硬件配置至少具有不同类型的第一运算单元和第二运算单元,软件配置至少包括用于第一运算单元和第二运算单元的内部功能,其中,至少所述第一运算单元的内部功能调用所述第二运算单元的内部功能的内部函数。在本应用中重要的是,电子控制装置的不同运算单元相互利用,亦即所述运算单元使用并调用由相应的运算单元提供的内部功能。

3、例如,可能的是,第一运算单元是“普通”cpu(例如cortex a类型的arm-cpu)。该cpu利用第二运算单元的内部功能,在所述第二运算单元中例如涉及矩阵加速器。在这方面于是存在不同类型的两个运算单元。换言之,这意味着:在第一运算单元与第二运算单元之间有数据交换,第一运算单元告知第二运算单元例如:第二运算单元应利用哪些数据执行哪个函数,且第二运算单元将其内部功能的该应用的结果作为结果提供回给第一运算单元。

4、按照本发明此外规定,提供所述电子控制装置的硬件配置和软件配置的描述,所述描述包括内部功能给运算单元的配设以及内部功能本身。这只不过意味着:所述描述总体上命名了控制装置的硬件配置的各组件;且所述描述也命名了在控制装置的硬件配置的相应运算单元上以内部功能形式的软件配置,从而清楚的是,使用了硬件配置的哪些组件以及软件配置的哪些组件或者说哪些内部功能在那里规定为用于执行。

5、所述方法的按照本发明的设计方案此外规定,借助于对所述电子控制装置的描述的分析处理,将具有所配设的内部功能的每种类型的每个运算单元映射到相应的类型的虚拟子运算单元上,其中,将被映射的运算单元的内部功能传递到虚拟子运算单元的在模拟器运算单元上可执行的内部功能中。通过术语“虚拟子运算单元”阐明:从用户角度来看,通过所述方法将电子控制装置此外还传递到唯一的虚拟控制装置上,但所述虚拟控制装置具有虚拟子运算单元,所述虚拟子运算单元考虑到如下情况,即,电子控制装置具有多个运算单元。因此追求如下目的,即,即使具有多个运算单元的电子控制装置结构复杂,但也继续在模拟器上为用户提供该复杂的电子控制装置的构造相同的映射。

6、根据所述方法的按照本发明的设计方案此外规定,借助于对第一运算单元和第二运算单元的所提供的内部功能的分析处理来确定:哪些运算单元通过访问另一运算单元的内部函数来相互进行数据交换,且对另一运算单元的内部函数的访问由模拟器运算单元的软件配置的数据转移功能来代替。这样做的前提是:在分析处理步骤中已知不同的运算单元基本上具有哪些内部功能。根据涉及何种类型的运算单元,在分析处理步骤中必须已知相应的运算单元的软件配置的相应的句法。根据相应的运算单元的软件配置以何种格式而存在,在分析处理中,在高级语言编程层面上或必要时也在二进制代码等中内部功能的句法必须是已知的。

7、在开头描述的系统中所述任务相应地通过如下解决,即,所述电子控制装置的硬件配置至少具有不同类型的第一运算单元和第二运算单元,所述电子控制装置的软件配置至少包括用于第一运算单元和第二运算单元的内部功能,其中,至少所述第一运算单元的内部功能调用所述第二运算单元的内部功能的内部函数,所述模拟器获得所述电子控制装置的硬件配置和软件配置的描述,所述描述包括所述电子控制装置的软件配置的内部功能对电子控制装置的运算单元的配设以及电子控制装置的运算单元的内部功能本身;所述模拟器借助于对所述电子控制装置的描述的分析处理将具有所配设的内部功能的电子控制装置的每种类型的每个运算单元映射到相应的类型的虚拟子运算单元上,将被映射的运算单元的电子控制装置的内部功能传递到虚拟子运算单元的在模拟器运算单元上可执行的内部功能中;且所述模拟器借助于对所述电子控制装置的第一运算单元和所述电子控制装置的第二运算单元的所提供的内部功能的分析处理来确定:所述电子控制装置的哪些运算单元通过访问所述电子控制装置的另一运算单元的内部函数来相互进行数据交换,且在虚拟控制装置中对另一运算单元的内部函数的访问由模拟器运算单元的软件配置的数据转移功能来代替。

8、相应地,本发明通过执行所描述的方法的系统的模拟器来解决。

9、结果,通过方法、系统和模拟器的按照本发明的实施可能的是,将具有包括多个运算单元的复杂的硬件配置的控制装置自动映射到虚拟控制装置上,所述虚拟控制装置具有包括多个虚拟子运算单元的复杂的内部结构,其中,自动实施的方法的用户自己不必须负责真实的控制装置的复杂的内部结构到虚拟控制装置的相应的组件上的耗费且还容易出错的传递。利用所述方法可能的是,检查:在电子控制装置实际上不存在的情况下,程序代码(亦即正好是实现电子控制装置的内部功能的程序代码)是否具有按照预期的功能和按照预期的行为。在另一方法步骤中,可以将在虚拟子运算单元上内部功能的行为与按照预期的行为进行比较,且在实际上的行为与按照预期的行为有偏差的情况下由模拟器将该偏差向外部用信号通知且必要时还通过协议来记录。

10、真实的控制装置的不同类型的运算单元可以是例如处理器(cpu)、微控制器(μc)、图形处理器(gpu)、可编程逻辑门(fpga)、神经网络加速器(nna)、矩阵加速器(macc)和安全芯片(例如用于加密的功能、密钥数据库等)。

11、所述方法、系统和模拟器的一个优选设计方案的特征在于,所述电子控制装置的相同类型的多个运算单元被映射到这种类型的正好一个虚拟子运算单元上,特别是所述电子控制装置的相同类型的所有运算单元被映射到这种类型的正好一个虚拟子运算单元上。这例如表示:将所述电子控制装置的多个图形处理器映射到一个虚拟子运算单元上,这有助于改善整个虚拟控制装置的结构的清晰性,但也可以有助于更经济地实现所述虚拟控制装置(更小的代码规模、更少的所需要的模拟模块)。

12、在所述方法、系统和模拟器的另一优选设计方案中规定,所述电子控制装置的被映射的运算单元的内部功能传递到所述虚拟子运算单元的在模拟器运算单元上可执行的内部功能中包括对于所述电子控制装置的被映射的运算单元使用在模拟器运算单元上能够运行的模拟模块。在此例如可以涉及如下模拟模块,所述模拟模块经常由电子控制装置的真实的运算单元的制造商提供,例如在用于相应的运算单元的软件开发环境(软件开发工具包,sdk)的范围中。正是在这种情况下于是提供如下,即,将电子控制装置的相同类型的多个运算单元映射到这种类型的正好一个虚拟子运算单元上,从而不必须并行运行(并且必要时还购买和授权)模拟模块的多个实例。

13、所述方法、系统和模拟器的另一进一步扩展方案的特征在于,由所述第一运算单元的内部功能调用的所述第二运算单元的内部功能的内部函数涉及从所述第二运算单元的存储器区域加载数据或将数据存储到该存储器区域中。

14、所述方法、系统和模拟器的一个优选设计方案此外规定,对所述第一运算单元和第二运算单元的所提供的内部功能的分析处理基于内部功能的在电子控制装置上能够运行的二进制代码和/或基于内部功能的高级语言源代码来实现。分析处理自动地通过相应的二进制代码或高级语言源代码的相应的句法分析来实现。

15、在所述方法、系统和模拟器的另一优选设计方案中,对于基于计算机的图形模拟环境、特别是对于模拟器的基于计算机的图形模拟环境,将每个虚拟子运算单元表示为块、亦即作为以方框图形式的信号流图的块。

16、结合虚拟子运算单元表示为块,在所述方法、系统和模拟器的另一优选设计方案中规定,虚拟运算单元的各块以在相应的块上的数据转移端口来表示,其运算单元已被识别为处于相互连接以进行数据交换,其中,该数据转移由连接虚拟运算单元的数据转移端口的信号线路来表示。由此产生对在不同的虚拟子运算单元之间的作用关系的直观理解,如用户习惯于从方框图简图看到的那样。

17、所述任务也通过一种计算机程序解决,所述计算机程序包括指令,所述指令在由模拟器的模拟器运算单元执行程序时促使所述模拟器运算单元执行用于测试虚拟控制装置的先前描述的方法。

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