全部学习汇总: GitHub - GreyZhang/hack_autosar: learning autosar documents, aha, very hard!
继续学习AUTOSAR,看一下官方文档。
2 概念方面
2.1 引言
为了简要描述相关元模型元素,本章集中讨论和解释概念方面。
阅读本章不是理解后续章节的先决条件。它只是为详细描述本文档其他各个章节中使用的概念方面提供了一个中心位置。
软件组件概念的实际解释从第 3 章开始。
2.2 测量和标定
2.2.1 测量和标定的基本方法
在使用 MCD 工具(测量、标定和诊断)执行标定过程时,标定工程师需要在运行时对 CPU 内的数据有特定的了解。
这种观察方式是通过访问 ECU 内部变量(也称为测量值)以及标定参数(有时也称为特征值)来提供的。
详细请参考【TPS_SWCT_01418】测量变量和标定参数的描述基本一致。 在 AUTOSAR 中,两者最终都以数据原型的形式出现。
2.2.2 标定参数概述
标定参数是表征控制算法动态特性的参数。 从软件实现的角度来看,它是一个变量,在 ECU 正常运行期间只能进行读取访问。 就其关联类型而言,特性是专门的 DataPrototype 实体,但以类似的方式使用。
定义标定参数的方法
这意味着可以:
• 为 SwComponentType 的 SwcInternalBehavior 中的 SwComponentPrototype 单独定义标定参数,通过在 perInstanceParameter 角色中的 ParameterDataPrototype 的聚合(类似于 PerInstanceMemory)(参见第 2.2.3.3 章)
• 在相同的所有 SwComponentPrototype 之间共享 SwComponentType 在它的 SwcInternalBehavior 中通过一个 ParameterDataPrototype 的聚合作为 sharedParameter 或 constantMemory(参见第 2.2.3.2 章)
• 对于几个 SwComponentPrototypes(使用端口/接口概念和 ParameterInterfaces)(参见第 2.2.3.1 章)。
注意:各种标定对象的结构在[14]中可视化讲解。
2.2.3 使用标定参数
如上所述,ParameterDataPrototype 可以在 SwcInternalBehavior 的上下文以及 PortPrototypes 的上下文中使用。
2.2.3.1 在聚合内共享标定参数
为了提供在其他 SwComponentType 中可见的标定参数,必须使用从 SwComponentType 继承的专用 ParameterSwComponentType(参见图 3.4)作为 CompositionSwComponentType 内的 SwComponentPrototype。
ParameterSwComponentType 定义了可通过提供的端口访问的参数和特征值。 所有连接的 SwComponentPrototypes 提供的值都相同。
需要访问共享标定参数的 SwComponentType 需要由 ParameterInterface 键入的 RPortPrototype
每个需要访问共享标定参数的 SwComponentType 都将具有由 ParameterInterface 键入的 RPortPrototype。 CompositionSwComponentType 上下文中此共享标定访问的定义将通过在相关 SwComponentPrototypes 之间创建 SwConnector 来定义。
参数接口声明要在参数组件和软件组件之间交换的多个参数和特征值。
ParameterInterface 不仅限于实际可以标定的参数
请注意,ParameterInterface 不限于实际可以标定的参数。 它可以在软件正常运行期间没有对数据的写访问时使用,即只有常量数据在界面上可见。
ParameterInterfaces 的兼容性规则在第 6.4 章中描述; ParameterDataPrototypes 的兼容性规则在第 6.4.4 章中描述。
由 ParameterInterface 键入的 PortPrototype 的委托
甚至可以使用 DelegationSwConnectors 和 AssemblySwConnectors 通过 CompositionSwComponentTypes 提供和要求访问共享标定参数。
这意味着在 SwComponentPrototypes 之间对标定参数的每次访问都是明确可见的。 如果 SwConnector 在 SwComponentPrototypes 映射到两个不同的 ECU 之后跨越,则系统生成过程必须确保正确分配 ParameterDataPrototype(见图 2.2),而标定系统必须处理在受影响的 ECU 上同步设置参数。
2.2.3.2 在相同 SwComponentType 的 SwComponentPrototypes 之间共享标定参数 为了在相同 SwComponentType 的多个 SwComponentPrototypes 之间共享标定参数,ParameterDataPrototype 被附加到 SharedParameter 角色的 SwcInternalBehavior(参见 [TPS_SWCT_01418])。
当 SwcInternalBehavior 由 AtomicSwComponentType 聚合时,ParameterDataPrototype 的实际标定参数对于所有 SwComponentPrototype 都是相同的。
ParameterDataPrototype 聚合在角色 constantMemory 中
此外,可以通过附加到角色 constantMemory 中的 SwcInternalBehavior 的 ParameterDataPrototype 来描述共享特征值的实现。
与 sharedParameter 角色中的 ParameterDataPrototype 相比,这种内存不是由 RTE 实例化的。 这通过避免由 RTE 的组件数据结构引起的额外间接性来支持更有效的实现(特别是对于作为目标代码提供的软件组件)。
此外,这种内存减少了软件组件的实现对生成的 RTE 代码的依赖性,该代码因安全相关功能而受到赞赏。
然而,在生成 A2L 文件时必须考虑有关这些特征值的信息。
这种在实例之间共享代码的典型示例是处理多个气缸组发动机中的两个 lambda 传感器,其中(至少)每个 lambda 传感器的两个 SwComponentPrototype 将使用完全相同的标定参数。
2.2.3.3 提供实例个体特征数据
ParameterDataPrototype 聚合在角色 perInstanceParameter 中
为了提供实例单独的标定参数,一个 ParameterDataPrototype 由在 perInstanceParameter 角色中的 SwcInternalBehavior 拥有。
当 SwcInternalBehavior 附加到 AtomicSwComponentType 时,实际标定值特定于每个 SwComponentPrototype。
这部分主要是开始看一些概念性的介绍,根据前的说明,这个应该可以当做一个总纲性的章节来看。而这部分较为具体的信息则主要是介绍标定的一些实现方式和要求。