用于控制引擎调试、测试、校准和调节的软件环境制造技术

技术编号:25092875 阅读:15 留言:0更新日期:2020-07-31 23:37
本发明专利技术涉及诸如在纯电动或混合动力车辆电动马达的控制中使用的电动引擎数字控制领域,更具体地涉及与在用于特定目标硬件系统的调试和/或测试和/或校准或调节的上下文中的代码处理有关的方法。本发明专利技术提供了一种用于自动生成多个代码的方法,所述多个代码适于在包括至少一个软件可编程单元和至少一个硬件可编程单元的异构硬件系统上执行,所述代码包括可执行校准指令,所述方法包括:(i)加载包括一个或多个代码描述的初始代码;(ii)在所述初始代码上提供用户校准指令,以指定代码描述中将被视为校准参数的那些变量和/或代码描述中将被视为被监视的值的那些变量;以及(iii)基于所加载的初始代码自动生成每一可用单元至少一个的设有校准指令的所述代码的步骤。

【技术实现步骤摘要】
【国外来华专利技术】用于控制引擎调试、测试、校准和调节的软件环境
本专利技术涉及电动引擎数字控制领域,特别是针对(但不限于)纯电动或混合动力车辆电动马达的控制。本专利技术涉及对于以上领域在调试和/或测试和/或校准或调节的上下文中与代码处理相关的方法,以及由所述方法和/或相关代码实现的各种用途、特定目标硬件系统、用途及其布置和支持或使用所述方法的平台、软件环境。
技术介绍
用于开发马达控制系统的常用方法如下:1.步骤#1:循环算法中的模型开发●在这个阶段,以纯虚拟方式(使用Matlab/Simulink类仿真软件)开发并调试控制的模型和系统的模型(马达、动力传动系...)。●在这个阶段,所有理论(假设理想的)控制曲线被计算并验证。●在这个阶段开发的模型被视为“黄金(golden)”参考2.步骤#2:将控制算法映射到ECU上●在这个阶段,将步骤#1的理想控制算法翻译成适合所选择的引擎控制单元硬件的操作算法。●这个阶段可以或多或少地自动化(尤其是在ECU是纯软件实施方式的情况下)。但是,在以下情况下,手动工程设计通常是必要的:i.控制的一部分从主控制中分离出来,以映射在外部FPGA设备中(这是为了处理快速的实时操作)ii.控制算法的一部分映射在微控制器特定于目标的硬件加速器(诸如数学运算符)上●在任何情况下,映射阶段都导致控制算法准确性的折衷,以解决硬件限制。3.步骤#3:循环算法中的硬件调节●这个操作通常在实验室测试台中发生,其中将电动马达置于准确受控的操作条件下。●在这个阶段,将校准基础结构添加到控制算法,以便能够注入调节参数并收集操作变量曲线●将那些曲线与理想曲线进行比较,并对参数值执行反馈循环以达到最优值。●这个操作适于相当大量的调节参数。●这个操作还可以导致反馈到步骤#1,以便根据需要重新访问理想模型。●在这个阶段结束时,控制算法被认为是最终的,并且定义了调节参数的精简集合以在步骤#4中使用4.步骤#4:循环算法中的车辆调节●这个操作在现实生活操作条件下在真实车辆中发生●除了调节参数的数量减少之外,校准机制与步骤#3相同。优选地,开发流程是高度自动化的。这意味着从控制算法模型到在ECU上运行的操作代码,基本上不涉及手动编码。这个原则提供了许多好处,包括:●实施方式错误的风险降至最低(无需手动重新编码)●在算法开发的早期阶段考虑到了所有ECU目标硬件限制。这意味着算法准确性的所有适当折衷都在步骤#1而不是步骤#2处决定。如上面所介绍的,校准任务意味着将一些额外的计算功能添加到初始控制算法,以便将校准值注入到算法的一些预定义参数,并提取一些关键变量的值。因此,根据定义,校准基础结构对于控制算法而言是入侵式的。入侵性可以从两个角度考虑:●在操作代码中,校准基础结构必须存在。我们无法逃避这一点。●在开发阶段,问题是定义这个校准阶段出现在流程中哪一步。○或者在步骤#1期间定义这个基础结构。■这是个问题,因为我们在“黄金”模型中添加了“非功能”操作。因此,我们不能再将这个模型视为黄金。○或者,在步骤#2中手动添加基础结构以对生成的代码进行覆盖。■这是个问题,因为我们打破了基于模型的自动化流程。存在从初始代码自动生成代码的方法(诸如US6742175和/或“Automaticflightcodegenerationwithintegratedstaticandrun-timeerrorcheckingandcodeanalysis”,XP007905828),但是它们都不针对也不处理异构硬件系统的细节,该系统包括至少一个软件可编程单元和至少一个硬件可编程单元,要求自动生成代码的步骤,每一可用单元至少一个。存在从初始代码自动生成代码的方法,但是它们都不针对也不处理在调试和/或测试的上下文中的代码处理的细节,尤其是对于上面提到的目标平台,要求为所述代码提供调试和/或测试指令。专利技术目的本专利技术的目的是具有一种校准基础结构,从而通过使其适于包括在操作代码中而(优选地绝对)不对黄金模型进行任何修改和/或不对生成的代码进行手动覆盖,来解决上面提到的问题。
技术实现思路
在本专利技术的第一方面,本专利技术涉及一种用于自动生成适于在包括至少一个软件可编程单元和至少一个硬件可编程单元的异构硬件系统上执行的多个代码的方法,所述代码包括校准指令,所述方法包括:(i)加载包括一个或多个代码描述的初始(高级别仿真)代码;(ii)加载校准指令;(iii)基于所加载的初始代码和所加载的校准指令,自动生成所述代码(40),每一可用单元至少一个。在本专利技术的第二方面,本专利技术涉及一种布置(驾驶车辆的一部分或适合作为驾驶车辆的一部分),其包括:电动引擎;以及引擎控制单元硬件,为所述引擎提供(实时)控制,所述引擎控制单元硬件包括异构硬件系统,该异构硬件系统包括至少一个软件可编程单元和至少一个硬件可编程单元,并且执行由本专利技术的第一方面的方法生成的代码。在本专利技术的第三方面,本专利技术涉及通过前述方面的方法和/或布置实现的另外的方法,特别是用于控制代码的功能相似性的方法,包括:(i)执行(仿真)包括一个或多个代码描述的初始(高级别仿真)代码;(ii)执行通过本专利技术的第一方面的方法从所述初始(高级别仿真)代码生成的代码;以及(iii)比较所述执行的结果以核实所述代码的(大体)功能相似性,并且例如使用那些(比较,例如差异)来引导校准处理。在本专利技术的第四方面,本专利技术涉及包括计算机可读代码的相关计算机程序产品,计算机可读代码在计算机系统上运行时使计算机系统执行任何前述方法权利要求中的方法。在本专利技术的第五方面,本专利技术涉及存储上述计算机程序产品的相关非瞬态机器可读存储介质。附图说明图1描述了本专利技术的上下文(左侧)以及它支持的校准挑战。图2描述了本专利技术对其具有特定优点的FPCU设备。图3示意性地描述了所专利技术的方法的高级别步骤、输入和输出(代码)以及相关元素,诸如所涉及的软件环境和不同硬件。图4然后示意性地描述了本专利技术的另外用途的高级别步骤。图5示出了本专利技术的示例性实施例。图6示出了本专利技术的特定实现的步骤的(排序的)列表的更详细列表。图7图示了要在本专利技术中使用的示例性界面。图8(特别是右侧)示出了在使用本专利技术期间生成的特定硬件结构。图9提供了图示本专利技术要进行和实现的与由校准引起的数据传送相关的技术考虑的时序图。图10和11图示了在本专利技术的示例性实施方式中使用的某些详细流程图。图12描述了具有调试基础结构的图2的FPCU设备的变体,对于这种调试基础结构,本专利技术具有特定的附加有利特征。图13描述了本专利技术的上下文的变体(左侧),特别是对于图12的FPCU和它支持的校准挑战。图14提供了针对图12和13本文档来自技高网
...

【技术保护点】
1.一种用于自动生成多个代码的方法,所述多个代码适于在包括至少一个软件可编程单元(210)和至少一个硬件可编程单元(220)以及可选地调试和测试基础结构(700)的异构硬件系统(200)上执行,所述代码包括可执行的调试和/或测试指令,所述方法包括:(i)加载包括一个或多个代码描述的初始代码(10);(ii)在所述初始代码(10)上提供用户调试和/或测试指令(20),以指定代码描述中将被视为校准参数的那些变量和/或代码描述中将被视为被监视的值的那些变量;(iii)基于所加载的初始代码自动生成(30)每一可用单元至少一个的设有调试和/或测试指令的所述代码(40)的步骤。/n

【技术特征摘要】
【国外来华专利技术】20171102 EP 17199622.6;20171102 US 62/580,8301.一种用于自动生成多个代码的方法,所述多个代码适于在包括至少一个软件可编程单元(210)和至少一个硬件可编程单元(220)以及可选地调试和测试基础结构(700)的异构硬件系统(200)上执行,所述代码包括可执行的调试和/或测试指令,所述方法包括:(i)加载包括一个或多个代码描述的初始代码(10);(ii)在所述初始代码(10)上提供用户调试和/或测试指令(20),以指定代码描述中将被视为校准参数的那些变量和/或代码描述中将被视为被监视的值的那些变量;(iii)基于所加载的初始代码自动生成(30)每一可用单元至少一个的设有调试和/或测试指令的所述代码(40)的步骤。


2.如权利要求1所述的方法,其中所述用户不是必须(但是能够)提供是否将向将分别为软件可编程单元(210)和硬件可编程单元(220)生成的代码提供所述调试和/或测试指令,或者在提供时所述调试和测试基础结构(700)是否将执行那些操作(的一部分)。


3.如权利要求1所述的方法,其中所述代码(40)允许在初始代码中如用户调试和/或测试指令中指示的那样覆盖和/或采样变量的值。


4.如权利要求2所述的方法,其中(iii)基于所加载的初始代码自动生成(30)每一可用单元至少一个的设有调试和/或测试指令的所述代码(40)的步骤包括步骤(a)和之后的步骤(b),步骤(a)自动确定(800)是否将向将分别为软件可编程单元(210)和硬件可编程单元(220)生成的代码提供所述调试和/或测试指令,或者当提供时所述调试和测试基础结构(700)将执行那些操作(的一部分),步骤(b)基于步骤(a)的所述自动确定,基于所加载的初始代码自动生成(810)每一可用单元至少一个的设有调试和/或测试指令的所述代码(40)。


5.如权利要求4所述的方法,其中所述步骤(a)(800)基于确定所述调试和测试基础结构(700)和/或在所述软件可编程单元(210)上加载的代码是否正在访问所述参数或变量。


6.如权利要求1所述的方法,还包括(iv)自动生成适于要连接到所述异构硬件系统的校准和/或调试装备(330)的代码(340)的步骤,可选地(依赖于权利要求4)其中步骤(iv)基于步骤(a)的所述自动确定。


7.如权利要求1、2、3、4、5或6所述的方法,其中所述软件可编程单元(210)是微处理器核并且其对应的代码是软件语言代码(50),以及所述硬件可编程单元(220)是可编程逻辑矩阵并且其对应的代码是硬件描述语言代码(60)。


...

【专利技术属性】
技术研发人员:L·维奇尔S·罗丹
申请(专利权)人:芯力能简易股份公司
类型:发明
国别省市:法国;FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1