新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 利用多目标建模技术降低ECU软件成本

利用多目标建模技术降低ECU软件成本

作者:Walt Stuart Tom Erkkinen时间:2008-05-21来源:控制工程中文网收藏

  图2就是具有数据对象的工作区例子。可以赋于数据对象的数据属性包括了初始值、数据类型、存储类、描述、最小和最大值等。除此之外,还可以赋于定点属性,如字长度、小数长度或二进制小数点、有符号或无符号等等。使用数据对象进行仿真和代码生成的通用模型如图3所示。这些例子描述的技术并不代表Visteon公司专有的产品数据或模型。

本文引用地址:http://www.eepw.com.cn/article/82873.htm

       

                                 图2:数据字典例子。

       

                                 图3:通用模型例子。

  在建立通用模型后,Visteon公司的软件工程师就要为他们需要的目标架构创建并换成特定的数据字典,然后使用这个数据字典进行仿真和代码生成。然而,创建一个优秀的定点数据字典需要花很长的时间,这是因为在确定换算系数时需要做多方面的折衷考虑。工程师需要选择能够提供足够精度但在已知范围内的换算系数。如果换算系数的选择不够充分,那么当结果超过字长时可能发生数字上溢或下溢。

  在选择换算系数时自动换算工具被证明是非常有用的。这些工具能够非常容易地确定仿真期间是否会发生上溢或下溢。图4是来自Simulink定点用户接口工具的输出例子。在这个例子中,数据记录显示了仿真过程中信号获得的最小和最大值。在这种情况下,所有信号都在范围之内。如果发生上溢或饱和,数据记录会标志这一事件,从而促使设计工程师调查问题原因,并选择新的正确的换算系数。

        

                                图4:自动换算工具和记录结果例子。

  如果需要额外的保护,设计师可以使用由Simulink在模块参数对话框中提供的饱和设置在计算中增加上溢保护。饱和检查对生成代码的效率来说非常重要,下面的结论部分将提到这一点。

  产品程序的结果

  Visteon动力系统实现了用于发动机管理系统的产品化浮点和定点的应用。对开发过程来说最大的好处是显著减少了时间和成本。在有个案例中,Visteon公司在三个月内就完成了软件的开发,如果采用手工编码方案的话起码要6个月。

  与人工编码相比,浮点自动代码的效率也有所提高,使用的RAM和ROM空间要少5%左右。定点自动代码效率几乎接近手工编码效率。在对导航程序中定点代码的初始分析过程中,Visteon公司将对前面讨论过的饱和检查进行确认,这将对定点代码效率起关键作用。如果每次定点计算都激活了饱和检查,那么代码长度会有显著增加。然而,如果象在手工编码中做的那样只在需要时做饱和检查,那么生成代码所需的RAM和ROM空间基本上等于手工编码所需的空间。

  另外需要注意的是,为了确保获得高质量的代码,开发人员仍要使用静态分析工具和MISRA检查器对自动代码进行检查。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭