# AUTOSAR ECU 资源模板规范 > **AUTOSAR CP Release 4.4.0** > > 原文:*Specification of ECU Resource Template*(文档 ID 060) > > 翻译状态:**已完成 v1**(封面+前言+目录+章节 1-3 + 附录 A-C 完整翻译;类表与图保持原始布局) > > 对应原文 PDF:`MethodologyAndTemplates/AUTOSAR_TPS_ECUResourceTemplate.pdf` > > 翻译日期:Step 3 - P0 批量翻译 --- ## 文档标识 | 字段 | 值 | |------|-----| | 文档标题(Document Title) | ECU 资源模板规范(Specification of ECU Resource Template) | | 文档所有者(Document Owner) | AUTOSAR | | 文档责任人(Document Responsibility) | AUTOSAR | | 文档标识号(Document Identification No) | 060 | | 文档状态(Document Status) | 正式版(Final) | | 所属 AUTOSAR 标准 | Classic Platform(经典平台) | | 所属标准版本 | 4.4.0 | > 原文版权:© AUTOSAR — 机密文件 > 本中文译文仅供学习参考。 --- ## 免责声明(Disclaimer) 本作品(规范和/或软件实现)及其包含的材料由 AUTOSAR 发布,**仅供信息参考**。AUTOSAR 及为其做出贡献的公司不对作品的任何使用承担责任。 本作品中包含的材料受版权及其他类型知识产权保护。对本作品所含材料的商业利用需要获得这些知识产权的许可。 本作品可在不作任何修改的情况下、以任何形式或任何手段用于**纯信息性目的**。任何其他目的,未经出版者书面许可,作品的任何部分不得被利用或复制。 本作品**仅**为汽车应用而开发。它既未为非汽车应用而开发,也未为非汽车应用而进行测试。 "AUTOSAR" 一词和 AUTOSAR 标志是注册商标。 --- ## 文档变更历史(Document Change History) | 日期 | 版本 | 变更人 | 变更说明 | |------|------|--------|----------| | 2018-10-31 | 4.4.0 | AUTOSAR Release Management | • 编辑性变更 | | 2017-12-08 | 4.3.1 | AUTOSAR Release Management | • 排版更新 | | 2016-11-30 | 4.3.0 | AUTOSAR Release Management | • 排版更新 | | 2015-07-31 | 4.2.2 | AUTOSAR Release Management | • 排版更新 | | 2014-10-31 | 4.2.1 | AUTOSAR Release Management | • 排版更新 | | 2013-10-31 | 4.1.2 | AUTOSAR Release Management | • 排版更新 | | 2013-03-15 | 4.1.1 | AUTOSAR Administration | • 为可追溯性添加规范条目编号 | | 2011-12-22 | 4.0.3 | AUTOSAR Administration | • 增加了详细的变更历史(附录 C)
• 增加了 [constr_3500] | | 2010-09-30 | 3.1.5 | AUTOSAR Administration | • 新增术语表附录
• 将类别定义更新为大写 | | 2010-02-02 | 3.1.4 | AUTOSAR Administration | • 为 Release 4.0 重新编写 | | 2008-02-01 | 3.0.2 | AUTOSAR Administration | • 修正引用 | | 2007-12-21 | 3.0.1 | AUTOSAR Administration | • 扩展了文档元信息
• 进行了小幅度排版调整
• 修订了法律免责声明 | | 2007-01-24 | 2.1.15 | AUTOSAR Administration | • 新增发布说明
• 修订"用户建议"
• 新增"修订信息" | | 2005-05-31 | 1.0 | AUTOSAR Administration | • 初始发布 | --- ## 目录 1. [引言(Introduction)](#1-引言introduction) - 1.1 [ECU 资源模板的范围(Scope of the ECU Resource Template)](#11-ecu-资源模板的范围scope-of-the-ecu-resource-template) - 1.2 [ECU 资源模板概览(Overview ECU Resource Template)](#12-ecu-资源模板概览overview-ecu-resource-template) - 1.3 [需求可追溯性(Requirements Traceability)](#13-需求可追溯性requirements-traceability) - 1.4 [文档约定(Document Conventions)](#14-文档约定document-conventions) - 1.5 [需求追溯(Requirements Tracing)](#15-需求追溯requirements-tracing) 2. [通用硬件描述(General Hardware Description)](#2-通用硬件描述general-hardware-description) - 2.1 [硬件描述实体(Hardware Description Entity)](#21-硬件描述实体hardware-description-entity) - 2.2 [硬件类型(Hardware Type)](#22-硬件类型hardware-type) - 2.3 [硬件元素(Hardware Element)](#23-硬件元素hardware-element) - 2.3.1 [硬件元素的多次出现(Multiple occurrence of Hardware Elements)](#231-硬件元素的多次出现multiple-occurrence-of-hardware-elements) - 2.4 [硬件引脚和引脚组(Hardware Pin and Pin Group)](#24-硬件引脚和引脚组hardware-pin-and-pin-group) - 2.5 [硬件连接(Hardware Connection)](#25-硬件连接hardware-connection) - 2.5.1 [连接的范围(Scope of Connections)](#251-连接的范围scope-of-connections) - 2.6 [硬件类别定义(Hardware Category Definition)](#26-硬件类别定义hardware-category-definition) - 2.6.1 [硬件类别定义的供应商特定扩展(Vendor specific extensions of Hardware Category Definition)](#261-硬件类别定义的供应商特定扩展vendor-specific-extensions-of-hardware-category-definition) - 2.7 [ECU 资源变体处理(Ecu Resource Variant Handling)](#27-ecu-资源变体处理ecu-resource-variant-handling) - 2.8 [文档支持(Documentation Support)](#28-文档支持documentation-support) - 2.9 [基础设施方面(Infrastructural aspects)](#29-基础设施方面infrastructural-aspects) 3. [硬件类型特定描述(Hardware Type Specific Description)](#3-硬件类型特定描述hardware-type-specific-description) - 3.1 [HwElement 类别](#31-hwelement-类别) - 3.1.1 [Ecu](#311-ecu) - 3.1.2 [Processing Unit](#312-processing-unit) - 3.1.3 [Micro-Controller](#313-micro-controller) - 3.1.4 [Memory](#314-memory) - 3.1.5 [Communication Controller](#315-communication-controller) - 3.1.6 [Communication Transceiver](#316-communication-transceiver) - 3.1.7 [Digital IO](#317-digital-io) - 3.1.8 [Analog IO](#318-analog-io) - 3.1.9 [Timer](#319-timer) - 3.1.10 [Watchdog](#3110-watchdog) - 3.1.11 [SensorActuator](#3111-sensoractuator) - 3.2 [HwPinGroup 类别](#32-hwpingroup-类别) - 3.2.1 [CommunicationPort](#321-communicationport) - 3.3 [HwPin 类别](#33-hwpin-类别) - [附录 A 示例(Examples)](#附录-a-示例examples) - [附录 B 术语表(Glossary)](#附录-b-术语表glossary) - [附录 C 变更历史(Change History)](#附录-c-变更历史change-history) - [附录 D 引用的类表(Mentioned Class Tables)](#附录-d-引用的类表mentioned-class-tables) --- ## 参考文献(References) - [1] Requirements on ECU Resource Template,AUTOSAR_RS_ECUResourceTemplate - [2] Meta Model,AUTOSAR_MMOD_MetaModel - [3] Software Component Template,AUTOSAR_TPS_SoftwareComponentTemplate - [4] XML Schema Production Rules,AUTOSAR_TPS_XMLSchemaProductionRules - [5] Standardization Template,AUTOSAR_TPS_StandardizationTemplate - [6] Generic Structure Template,AUTOSAR_TPS_GenericStructureTemplate - [7] IEEE standard for radix-independent floating-point arithmetic(ANSI/IEEE Std 854-1987) - [8] Software Process Engineering Meta-Model Specification,http://www.omg.org/spec/SPEM/2.0/ --- ## 1 引言(Introduction) AUTOSAR 最显著的目标之一是对与汽车软件应用相关的描述进行标准化。在此背景下,对底层 ECU 硬件的描述是待解决的主要课题之一。 本文档包含对硬件进行必要范围描述所需的建模元素的规范。ECU 资源模板的一个方面是为系统设计工程师提供必要的信息以辅助系统划分,例如各 ECU 的可用内存和通信手段。 ECU 资源模板的另一个方面是支持 ECU 配置工程师和工具,提供对特定 ECU 上的微控制器和 ECU 抽象层进行配置所需的信息。 ECU 资源模板的重点是描述已设计好的硬件、其内容和结构。ECU 资源模板并不在支持电子硬件本身的设计。已经存在用于辅助电子硬件设计的成熟工具和交换格式。但此类工具可能能够使用 AUTOSAR ECU 资源模板格式导出其设计,以供后续在 AUTOSAR 设计工具中使用。 在适用的情况下,请参阅本文档所包含的术语表和缩写列表。将首先介绍 ECU 资源描述的一般特征,然后详细描述 ECU 内部的硬件组件。 ### 1.1 ECU 资源模板的范围(Scope of the ECU Resource Template) ECU 资源模板的范围是通过以下基本构建块来描述 ECU: - 硬件元素(Hardware Elements) - 硬件引脚组和硬件引脚(Hardware PinGroups and Hardware Pins) - 硬件连接(Hardware Connections) HW 元素是 ECU 的主要描述元素。例如:处理单元、内存、外设和传感器/执行器。HW 元素具有唯一名称,可以在 ECU 描述中进行标识。HW 元素不一定必须在 ECU 层级上描述。也可以将 HW 元素描述为其他 HW 元素的一部分。通过这种方式,可以创建 HW 元素的层次化描述。 HW 元素提供 HW 引脚组和 HW 引脚,以便相互连接。HW 引脚组允许粗略地描述某些 HW 引脚组的排列方式。详细描述可使用 HW 引脚进行。 HW 连接用于在多个层级上描述连接: - HW 元素之间的连接 - HW 引脚组之间的连接 - HW 引脚之间的连接 不同的抽象层级允许为 ECU 资源模板的不同用例定义和收集所需的信息。要粗略了解 HW 元素在 ECU 中的排列方式,仅 HW 元素之间的连接就足够了。要确切知道某个信号在哪个 HW 引脚上提供,则需要详细的 HW 引脚连接。 ### 1.2 ECU 资源模板概览(Overview ECU Resource Template) 图 1.1 描述了 ECU 资源描述的主要元素及其相互关系。 > **图 1.1:ECU 资源模板概览**(图示:ARElement、Referrable、HwType、HwDescriptionEntity、HwAttributeValue、HwElement、HwPinGroup、HwPinGroupContent、HwPin、Describable、HwElementConnector、HwPinGroupConnector、HwPinConnector 等类之间的继承与聚合关系) ECU 资源模板中的建模元素可以分层组织。特定 ECU(包含电子设备的物理箱)可以描述为一个或多个微控制器和 ECU 电子设备的层次化组合。每个微控制器又由处理单元、内存、外设和管理单元组成。 同样的方法可以用于描述特定 ECU 及其连接到该 ECU 的所有传感器和执行器。 ECU 电子设备是 ECU 上存在的硬件,用于保证处理单元的运行(时钟)以及离开或进入 ECU 的信号调理(通信收发器、放大器、分立电子设备)。 ### 1.3 需求可追溯性(Requirements Traceability) 对《Requirements on ECU Resource Template》[1] 的追溯。 | 需求 | 描述 | 满足者 | |------|------|--------| | [RS_ECUR_00005] 支持基础软件的配置 | ECU 资源模板应提供描述硬件属性的手段,这些属性支持 AUTOSAR 基础软件的配置。 | 上游模板与 ECU 配置之间的关系在 AUTOSAR 元模型 [2] 中描述。M1 模型中的配置参数包含一些带有映射信息的标记值。 | | [RS_ECUR_00003] 描述特定硬件元素的特征属性 | ECU 资源模板应提供基于硬件种类描述硬件元素的共有和特征属性的手段。 | 该需求通过第 3 章中定义的类别及其属性满足。 | | [RS_ECUR_00004] 描述通用硬件 | ECU 资源模板应提供描述任何种类硬件元素的手段。 | 硬件供应商可以扩展 AUTOSAR 的类别。可以定义新类别。可以向现有类别添加属性,并向现有枚举添加新字面值。 | | [RS_ECUR_00006] 描述硬件元素之间的连接 | ECU 资源模板应提供以抽象方式描述单个硬件元素(包括 ECU 内部和外部的)之间如何连接的手段。 | ECU 资源模板中可以在多个层级上描述硬件连接。这些层级在第 2.5 节中描述。 | | [RS_ECUR_00014] 硬件的时序属性 | ECU 资源模板应提供描述硬件 I/O 的时序属性的手段,例如数字 I/O 硬件端口引入的延迟。 | 硬件供应商可以扩展 AUTOSAR 的类别。可以定义新类别。可以向现有类别添加新的时序属性,并向现有枚举添加新字面值。 | | [RS_ECUR_00015] 描述硬件的变体性 | 应能描述实际硬件所提供的变体性。 | 该需求通过 AUTOSAR 变体处理概念(第 2.7 章)满足。 | | [RS_ECUR_00017] 文档支持 | ECU 资源模板应提供向硬件元素添加文档的手段。 | 该需求通过 AUTOSAR 文档支持概念(第 2.8 章)满足。 | | [RS_ECUR_00018] 支持来自多个来源的硬件描述 | ECU 资源模板应提供将来自多个来源的硬件描述加以组合的手段。 | 硬件元素的包含层次结构在 XML 描述中不是以层次结构表示,而是以链接列表表示。该建模方式允许对容器和嵌套硬件元素的描述使用不同的 ARXML 文件(第 2.3 章)。 | | [RS_ECUR_00007] 处理单元规范 | ECU 资源模板应提供描述处理单元的专用手段。处理单元应被定义为微控制器/处理器的核心。 | 该需求通过处理单元类别(第 3.1.2 章)满足。 | | [RS_ECUR_00008] 可用内存 | ECU 资源模板应提供描述内存段的专用手段。这包括所有可能的内存种类,例如 RAM、ROM、EEPROM、Flash 等。 | 该需求通过内存类别(第 3.1.4 章)满足。 | | [RS_ECUR_00009] 可用通信手段 | ECU 资源模板应提供描述通信硬件的专用手段。 | 该需求通过 Hw 引脚组类别(第 3.2 章)满足。 | | [RS_ECUR_00010] 可用 IO HW 外设 | ECU 资源模板应提供描述 IO-HW 外设的专用手段。 | 该需求通过数字 IO(第 3.1.7 章)和模拟 IO(第 3.1.8 章)类别满足。 | | [RS_ECUR_00016] IO-HW-Abstraction 规范 | ECU 资源模板应提供硬件传感器/执行器与 IO-HW 外设之间通过 IO-HW-Abstraction 层进行连接的抽象信息。 | 该需求通过《Software Component Template》[3] 中定义的 ECU 抽象软件组件满足。ECU 抽象是一种特殊的 AtomicSwComponentType,位于希望访问 ECU 外设的软件组件和微控制器抽象之间。 | | [RS_ECUR_00011] 可用传感器和执行器 | ECU 资源模板应提供描述传感器和执行器的专用手段。 | 该需求通过 SensorActuator 类别(第 3.1.11 章)满足。 | | [RS_ECUR_00012] 根据 AUTOSAR 通用结构模板文档进行开发 | ECU 资源模板的 UML 表示**应当**(SHALL)根据 AUTOSAR 通用结构模板进行开发。 | 该需求通过 AUTOSAR 开发过程满足。 | | [RS_ECUR_00013] 根据 AUTOSAR XML Schema 生产规则转换 ECU 资源模板建模 | ECU 资源模板的 XML 表示应从其 UML 表示根据 AUTOSAR XML Schema 生产规则派生得出。 | 该需求通过 AUTOSAR XML Schema 生成过程满足。名为《XML Schema Production Rules》[4] 的文档描述了 XML 的使用方式以及"ECU 资源模板"中设计的元模型应如何通过"Schema Generator"(MDS)翻译为 XML-Schema(XSD)"Data Exchange Format"。 | ### 1.4 文档约定(Document Conventions) 技术术语以等宽字体排版,例如 `PortPrototype`。作为一般规则,技术术语的复数形式通过在单数形式后添加"s"构成,例如 `PortPrototypes`。通过这种方式,本文档的术语使用与 AUTOSAR XML Schema 中使用的术语保持一致。 本文档以文本形式包含约束,这些约束通过唯一的数字约束 ID、标题以及以 `d` 字符开始、以 `c` 字符结束的实际约束文本与文本的其余部分区分开来。 这些约束的目的是以字面方式约束 AUTOSAR 元模型的解释,以便可以检测在元模型实例(即 M1 层级)中实现的标准化行为的违反。 鼓励 AUTOSAR 工具的制作者将对应于 M1 建模问题的约束的数字 ID 作为该工具发出的诊断消息的一部分添加。 本文档中介绍的类的属性以类表的形式列出。它们具有 AUTOSAR 顶级元素所示的示例形式: | 字段 | 内容 | |------|------| | **类(Class)** | AUTOSAR | | **包(Package)** | M2::AUTOSARTemplates::AutosarTopLevelStructure | | **说明(Note)** | AUTOSAR 描述的根元素,也是相应 XML 文档中的根元素。
Tags: xml.globalElement=true | | **基类(Base)** | ARObject | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | adminData | AdminData / 0..1 / aggr / 这表示 Autosar 文件的管理数据。
Tags: xml.sequenceOffset=10 | | arPackage | ARPackage / * / aggr / 这是 AUTOSAR 模型中的顶级包。
Stereotypes: atpSplitable; atpVariation
Tags: atp.Splitkey=shortName, variationPoint.shortLabel
vh.latestBindingTime=blueprintDerivationTime
xml.sequenceOffset=30 | | fileInfoComment | FileInfoComment / 0..1 / aggr / 这表示在 AUTOSAR 文件中提供结构化注释的可能性。
Stereotypes: atpStructuredComment
Tags: xml.roleElement=true
xml.sequenceOffset=-10
xml.typeElement=false | | introduction | DocumentationBlock / 0..1 / aggr / 这表示 Autosar 文件的引言。例如用于表示免责声明和法律声明。
Tags: xml.sequenceOffset=20 | > **表 1.1:AUTOSAR** 表中前几行的含义如下: - **类(Class)**:UML 模型中定义的类的名称。 - **包(Package)**:定义该类的 UML 包。此处列出仅用于帮助在整体元模型中定位该类。 - **说明(Note)**:建模者为该类给出的注释(类注释)。该类的 Stereotypes 和 UML tags 也在此处注明。 - **基类(Base Classes)**:如果适用,直接基类的列表。 表中标题的含义如下: - **属性(Attribute)**:类的属性的名称。请注意,AUTOSAR 不区分类属性和拥有的关联端。 - **类型(Type)**:类的属性的类型。 - **多重性(Mul.)**:属性的指定多重性,即与该属性关联的给定数据类型的实例数。 - **种类(Kind)**:指定该属性是在类中聚合(aggr 聚合),是类中的 UML 属性(attr 原始属性),还是仅由其引用(ref 引用)。实例引用也在此字段中指出(iref 实例引用)。 - **说明(Note)**:建模者为类属性(角色注释)给出的注释。该类的 Stereotypes 和 UML tags 也在此处注明。 请注意,以字母而非数字开头的章节代表文档的附录。附录的目的是支持对文档某些方面的解释,并不代表标准的约束性约定。 用于表达义务的动词形式应遵循 [TPS_STDT_00053] 的规定,用以表示需求,详见《Standardization Template》[5] 的"Support for Traceability"一章。 AUTOSAR 文档中需求的表示遵循 [TPS_STDT_00078] 中规定的表格,详见《Standardization Template》[5] 的"Support for Traceability"一章。 ### 1.5 需求追溯(Requirements Tracing) 下表引用 [1] 中规定的需求,并将其与本文档对它们的实现联系起来。请注意,如果特定需求的"Satisfied by"列为空,则意味着此需求不由本文档满足。 | 需求 | 描述 | 满足者 | |------|------|--------| | [RS_ECUR_00003] | 描述特定硬件元素的特征属性 | [TPS_ECUR_01003] [TPS_ECUR_01014] | | [RS_ECUR_00004] | 描述通用硬件 | [TPS_ECUR_01000] [TPS_ECUR_01001] [TPS_ECUR_01002] [TPS_ECUR_01003] [TPS_ECUR_01005] | | [RS_ECUR_00005] | 支持基础软件的配置 | [TPS_ECUR_01015] | | [RS_ECUR_00006] | 描述硬件元素之间的连接 | [TPS_ECUR_01006] | | [RS_ECUR_00007] | 处理单元规范 | [TPS_ECUR_01007] [TPS_ECUR_01034] [TPS_ECUR_01035] [TPS_ECUR_01036] [TPS_ECUR_01037] [TPS_ECUR_01038] | | [RS_ECUR_00008] | 可用内存 | [TPS_ECUR_01008] | | [RS_ECUR_00009] | 可用通信手段 | [TPS_ECUR_01009] [TPS_ECUR_01010] [TPS_ECUR_01013] | | [RS_ECUR_00010] | 可用 IO HW 外设 | [TPS_ECUR_01011] | | [RS_ECUR_00011] | 可用传感器和执行器 | [TPS_ECUR_01012] | | [RS_ECUR_00012] | 根据 AUTOSAR 通用结构模板文档进行开发 | [TPS_ECUR_01032] | | [RS_ECUR_00013] | 根据 AUTOSAR XML Schema 生产规则转换 ECU 资源模板建模 | [TPS_ECUR_01033] | | [RS_ECUR_00014] | 硬件的时序属性 | [TPS_ECUR_01031] | | [RS_ECUR_00015] | 描述硬件的变体性 | [TPS_ECUR_01003] [TPS_ECUR_01014] [TPS_ECUR_01029] | | [RS_ECUR_00016] | IO-HW-Abstraction 规范 | [TPS_ECUR_01006] | | [RS_ECUR_00017] | 文档支持 | [TPS_ECUR_01030] | | [RS_ECUR_00018] | 支持来自多个来源的硬件描述 | [TPS_ECUR_01018] | --- ## 2 通用硬件描述(General Hardware Description) ECU 资源模板利用以下基本构建块: - 硬件元素 - 硬件元素的层次结构 - 硬件引脚 - 硬件引脚组 - 硬件连接 以描述实际硬件的相关方面。但是,ECU 资源模板允许根据用例选择合适的硬件描述详细程度。它还允许描述任意硬件及其连接。 #### ⌈[TPS_ECUR_01015] 支持 AUTOSAR 基础软件配置⌋ ECU 资源模板的主要目标是通过提供有关相应硬件以及硬件之间相互连接方式的信息来支持 AUTOSAR 基础软件的配置。 ⌊(RS_ECUR_00005) 图 2.1 显示了所涉及类的概览。 > **图 2.1:ECU 资源模板类概览**(图示:`ARElement`、`Referrable`、`HwType`、`HwDescriptionEntity`、`HwAttributeValue`、`HwElement`、`HwPinGroup`、`Identifiable`、`HwPinGroupContent`、`HwPin`、`Identifiable`、`Describable`、`HwElementConnector`、`HwPinGroupConnector`、`HwPinConnector` 等类之间的继承、聚合和关联关系) ### 2.1 硬件描述实体(Hardware Description Entity) 为了使 ECU 资源模板在描述多种硬件类型方面具有灵活性,ECU 资源模板仅提供描述硬件元素及其连接性的通用手段。特定属性的描述可以根据第 2.6 节提供。 #### ⌈[TPS_ECUR_01002] 硬件元素的定义⌋ `HwDescriptionEntity` 允许提供由一个或多个硬件类别定义的一组属性值。 ⌊(RS_ECUR_00004) 请参阅第 3 章,了解实际适用的硬件类别和相应属性的详细信息。 `HwDescriptionEntity` 能够为其适用的硬件类别指定(见第 2.6 节)。可以在 `hwCategory` 角色中定义多个引用。 - #### ⌈[TPS_ECUR_01000] HwCategory 的定义⌋ 应可以引用不同种类的 `HwCategory` 元素,以描述硬件的不同方面(例如具有集成 Spi 通道的 Can 控制器)。 ⌊(RS_ECUR_00004) - #### ⌈[TPS_ECUR_01001] HwCategory 的扩展⌋ 应可以使用附加属性扩展标准化 `HwCategory` 规范(见第 2.6.1 节)。 ⌊(RS_ECUR_00004) 有关 `hwType` 引用的说明,请参阅第 2.2 节。 每个 `HwDescriptionEntity` 可以聚合若干 `HwAttributeValue` 元素。 | 字段 | 内容 | |------|------| | **类(Class)** | `HwDescriptionEntity` (abstract) | | **包(Package)** | M2::AUTOSARTemplates::EcuResourceTemplate | | **说明(Note)** | 此元类表示描述硬件实体的能力。 | | **基类(Base)** | ARObject, Referrable | | **子类(Subclasses)** | HwElement, HwPin, HwPinGroup, HwType | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `hwAttributeValue` | HwAttributeValue / * / aggr / 此聚合表示一个特定的硬件属性值。
Stereotypes: atpVariation
Tags: vh.latestBindingTime=systemDesignTime
xml.sequenceOffset=50 | | `hwCategory` | HwCategory / * / ref / 关联之一,表示硬件实体的特定类别。
Tags: xml.sequenceOffset=30 | | `hwType` | HwType / 0..1 / ref / 此关联用于分配一个可选的 HwType,其中包含此 HwDescriptionEntity 所有出现所共有的属性值。
请注意,HwType 不能被重新定义,因此不应具有 hwType 引用。 | > **表 2.1:HwDescriptionEntity** #### ⌈[TPS_ECUR_01014] HwAttributeValue 的定义⌋ `HwAttributeValue` 用于为预定义属性指定一个值。属性的链接通过 `hwAttributeDef` 角色中对 `HwAttributeDef` 的引用定义,该引用受变体处理约束。 ⌊(RS_ECUR_00003, RS_ECUR_00015) 属性的定义在第 2.6 节中描述。 #### ⌈[TPS_ECUR_01003] 硬件属性的值⌋ `HwAttributeValue` 的实际值可以通过以下两种方式之一提供: - `vt` - 值以文本表示形式指定。 - `v` - 值以数值表示形式指定。该实际值可以受变体处理约束(另见第 2.7 节)。 ⌊(RS_ECUR_00003, RS_ECUR_00004, RS_ECUR_00015) | 字段 | 内容 | |------|------| | **类(Class)** | `HwAttributeValue` | | **包(Package)** | M2::AUTOSARTemplates::EcuResourceTemplate::HwElementCategory | | **说明(Note)** | 此元类表示分配硬件属性值的能力。请注意,v 和 vt 互斥。 | | **基类(Base)** | ARObject | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `annotation` | Annotation / 0..1 / aggr / 可选注释,可添加到每个 HwAttributeValue。 | | `hwAttributeDef` | HwAttributeDef / 1 / ref / 此关联表示特定硬件属性值的定义。 | | `v` | Numerical / 0..1 / attr / 这表示一个数值硬件属性值。
Stereotypes: atpVariation
Tags: vh.latestBindingTime=systemDesignTime | | `vt` | VerbatimString / 0..1 / attr / 这表示一个文本硬件属性值。 | > **表 2.2:HwAttributeValue** ### 2.2 硬件类型(Hardware Type) #### ⌈[TPS_ECUR_01016] HwType 的定义⌋ `HwType` 用于收集可在 Ecu 中多次出现且由于其多次使用而不会更改的元素的属性值。 ⌊() 有关硬件元素多次出现的详细信息,请参阅第 2.3.1 节。 `HwType` 是一个 `ARElement`,它继承自 `HwDescriptionEntity`。`ARElement` 的特性允许硬件类型具有名称并独立存在于某个包内。`HwDescriptionEntity` 的特性允许硬件类型描述硬件类别和属性值(见第 2.1 节)。 #### ⌈[TPS_ECUR_01017] HwType 中定义的属性值适用于此 HwType 的所有出现⌋ `HwType` 中定义的属性值适用于此 `HwType` 的所有出现,但可以在 `HwElement` 中覆盖该值(见第 2.3 节)。 ⌊() #### ⌈[constr_3511] HwType 不应引用另一个 HwType⌋ `HwType`(即 `HwDescriptionEntity`)不应在 `hwType` 角色中引用另一个 `HwType`。`HwType` 的定义不是层次化的。 ⌊() `HwType` 不指定硬件的任何结构特征。硬件引脚组、硬件引脚和硬件连接的描述仅在硬件元素层级可能。 | 字段 | 内容 | |------|------| | **类(Class)** | `HwType` | | **包(Package)** | M2::AUTOSARTemplates::EcuResourceTemplate::HwElementCategory | | **说明(Note)** | 这表示在抽象层级描述硬件类型的能力。硬件的特定类型通过类别区分。该类别确定适用的属性。可能的类别和属性在 HwCategory 中定义。
Tags: atp.recommendedPackage=HwTypes | | **基类(Base)** | ARElement, ARObject, CollectableElement, HwDescriptionEntity, Identifiable, MultilanguageReferrable, PackageableElement, Referrable | | **属性(Attribute)** | – | > **表 2.3:HwType** ### 2.3 硬件元素(Hardware Element) #### ⌈[TPS_ECUR_01005] HwElement 描述一件硬件⌋ `HwElement` 描述一件硬件作为构建块如何对描述 ECU 的整体电路做出贡献。它可用于描述任何硬件,与其粒度和规模无关。因此,可以将 ECU 作为一个整体来描述,包括连接的传感器和执行器、内置的微控制器和通信收发器。但也可以描述微控制器内的处理核心和内存段。 ⌊(RS_ECUR_00004) #### ⌈[TPS_ECUR_01018] HwElement 是自包含的⌋ 每个 `HwElement` 都可以以自包含的方式描述,因为 `HwElement` 是 `ARElement`。 ⌊(RS_ECUR_00018) 每个 `HwElement` 继承自 `HwDescriptionEntity`,因此能够描述一组属性(详见第 2.1 节)。 #### ⌈[TPS_ECUR_01019] HwElement 可以引用 HwType⌋ 每个 `HwElement` 可以在 `hwType` 角色中可选地引用 `HwType` 元素。在 `HwType` 中,描述了硬件类型的所有出现所共有的属性值。如果 `HwElement` 提供了一个也在所引用的 `HwType` 中提供的属性值,则 `HwElement` 中的属性值优先。 ⌊() `nestedElement` 引用的特性在第 2.3.1 节中说明。 `HwElement` 可以描述若干 `HwPinGroup` 元素,这些元素包含在 `hwPinGroup` 角色中(有关 `HwPinGroup` 的详细信息,请参阅第 2.4 节)。 硬件元素可以描述若干 `HwElementConnector` 元素,这些元素包含在 `hwElementConnection` 角色中(有关 `HwElementConnector` 的详细信息,请参阅第 2.5 节)。 | 字段 | 内容 | |------|------| | **类(Class)** | `HwElement` | | **包(Package)** | M2::AUTOSARTemplates::EcuResourceTemplate | | **说明(Note)** | 这表示在实例层级描述硬件元素的能力。硬件的特定类型通过类别区分。该类别确定适用的属性。可能的类别和属性在 HwCategory 中定义。
Tags: atp.recommendedPackage=HwElements | | **基类(Base)** | ARElement, ARObject, CollectableElement, HwDescriptionEntity, Identifiable, MultilanguageReferrable, PackageableElement, Referrable | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `hwElementConnection` | HwElementConnector / * / aggr / 这表示两个硬件元素之间的一个特定连接。
Stereotypes: atpVariation
Tags: vh.latestBindingTime=systemDesignTime
xml.sequenceOffset=110 | | `hwPinGroup` | HwPinGroup / * / aggr / 此聚合用于描述硬件元素的连接设施。请注意,硬件元素没有引脚,只有引脚组。
Stereotypes: atpVariation
Tags: vh.latestBindingTime=systemDesignTime
xml.sequenceOffset=90 | | `nestedElement` | HwElement / * / ref / 此关联用于建立 hw 元素的层次结构。请注意,一个特定的 HwElement 只能作为此关联的目标一次。即,不支持同一 HwElement 的多次实例化(在任何层次结构层级上)。
Stereotypes: atpVariation
Tags: vh.latestBindingTime=systemDesignTime
xml.sequenceOffset=70 | > **表 2.4:HwElement** #### 2.3.1 硬件元素的多次出现(Multiple occurrence of Hardware Elements) #### ⌈[TPS_ECUR_01020] 硬件的层次结构⌋ 硬件的层次结构通过 `nestedElement` 角色引用所包含的硬件元素来描述。硬件元素的包含层次结构在 XML 描述中不是以层次结构表示,而是以链接列表表示。 ⌊() 此建模方式允许对容器硬件元素和嵌套硬件元素的描述使用不同的 ARXML 文件。例如,CPU 由半导体供应商描述,该 CPU 的项目特定使用由 ECU 供应商描述。 #### ⌈[constr_3512] 不支持多次实例化⌋ 一个基本约束是每个 `HwElement` 只能作为一个 `nestedElement` 引用的目标。这意味着硬件元素没有多次实例化的概念。如果要多次使用同一硬件元素(使用 `nestedElement` 引用),则每次出现都必须有自己的描述。对于所引用嵌套元素的嵌套元素也是如此。 ⌊() 因此,硬件元素及其所有结构特征(硬件引脚组、硬件引脚和硬件连接)都需要被克隆。但是,可以从若干 `HwElement` 克隆引用同一 `HwType`。 ### 2.4 硬件引脚和引脚组(Hardware Pin and Pin Group) `HwPinGroup` 允许描述硬件元素的专用连接通道。它可用于描述分组的硬件端口,例如 ADC 和 DIO。它可以分层组织端口信息。在详细层级,它可用于描述单独的硬件引脚。 每个 `HwPinGroup` 都是 `Identifiable`。`HwPinGroup` 只能存在于 `HwElement` 或另一个 `HwPinGroup` 内部。 每个 `HwPinGroup` 继承自 `HwDescriptionEntity`,因此能够描述一组属性(详见第 2.1 节)。 `HwPinGroup` 的内容在 `hwPinGroupContent` 角色中聚合。 | 字段 | 内容 | |------|------| | **类(Class)** | `HwPinGroup` | | **包(Package)** | M2::AUTOSARTemplates::EcuResourceTemplate | | **说明(Note)** | 此元类表示描述用于连接硬件元素的引脚组的能力。该组充当引脚的束。因此,它们允许描述高级连接。引脚组甚至可以嵌套。 | | **基类(Base)** | ARObject, HwDescriptionEntity, Identifiable, MultilanguageReferrable, Referrable | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `hwPinGroupContent` | HwPinGroupContent / 1 / aggr / 此聚合描述所包含的引脚/引脚组。 | > **表 2.5:HwPinGroup** `HwPinGroupContent` 可以包含 `HwPinGroup` 和 `HwPin`。`HwPinGroupContent` 定义为 «atpMixed»(见《Generic Structure Template》[6])。`HwPinGroupContent` 中包含的元素(`HwPinGroup` 和 `HwPin`)可以以任意顺序多次出现。这允许描述引脚组中引脚和引脚组的有序出现。一个主要用例是描述具有腔体和引脚的物理连接器和插头。 | 字段 | 内容 | |------|------| | **类(Class)** | `«atpMixed» HwPinGroupContent` | | **包(Package)** | M2::AUTOSARTemplates::EcuResourceTemplate | | **说明(Note)** | 此元类指定 hwPins 和 hwPinGroups 的混合。 | | **基类(Base)** | ARObject | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `hwPin` | HwPin / 1 / aggr / 此聚合表示硬件引脚组中的一个硬件引脚。
Stereotypes: atpVariation
Tags: vh.latestBindingTime=systemDesignTime
xml.roleWrapperElement=false | | `hwPinGroup` | HwPinGroup / 1 / aggr / 此聚合表示嵌套的硬件引脚组。
Stereotypes: atpVariation
Tags: vh.latestBindingTime=systemDesignTime
xml.roleWrapperElement=false | > **表 2.6:HwPinGroupContent** 每个 `HwPin` 都是 `Identifiable`。`HwPin` 只能存在于 `HwPinGroupContent` 内部,因此间接存在于 `HwPinGroup` 中。 每个 `HwPin` 继承自 `HwDescriptionEntity`,因此能够描述一组属性(详见第 2.1 节)。 | 字段 | 内容 | |------|------| | **类(Class)** | `HwPin` | | **包(Package)** | M2::AUTOSARTemplates::EcuResourceTemplate | | **说明(Note)** | 此元类表示描述硬件引脚的可能性。 | | **基类(Base)** | ARObject, HwDescriptionEntity, Identifiable, MultilanguageReferrable, Referrable | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `pinNumber` | Integer / 0..1 / attr / 此属性包含物理引脚编号。 | > **表 2.7:HwPin** ### 2.5 硬件连接(Hardware Connection) 可以在 ECU 资源模板中的多个层级上描述连接。这允许在所需的抽象层级上表达细节。 #### ⌈[TPS_ECUR_01006] HwElement 之间的连接⌋ `HwElementConnector` 允许描述两个 `HwElement` 之间的连接。这并不意味着描述两个硬件元素之间的实际技术连接。它用于描述硬件元素之间的通用连接。 ⌊(RS_ECUR_00006, RS_ECUR_00016) | 字段 | 内容 | |------|------| | **类(Class)** | `HwElementConnector` | | **包(Package)** | M2::AUTOSARTemplates::EcuResourceTemplate | | **说明(Note)** | 此元类表示连接两个硬件元素的能力。连接的详细信息可通过 hwPinGroupConnection 细化。 | | **基类(Base)** | ARObject, Describable | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `hwElement` | HwElement / 2 / ref / 此关联连接两个硬件元素。 | | `hwPinConnection` | HwPinConnector / * / aggr / 这表示两个硬件引脚之间的一个特定连接。如果要描述引脚到引脚的连接,但不描述 HwPinGroups 的层次组成之间的连接(使用 HwPinGroupConnector),则应使用此连接。
Stereotypes: atpVariation
Tags: vh.latestBindingTime=systemDesignTime
xml.sequenceOffset=60 | | `hwPinGroupConnection` | HwPinGroupConnector / * / aggr / 这表示两个硬件引脚组之间的一个特定连接。
Stereotypes: atpVariation
Tags: vh.latestBindingTime=systemDesignTime
xml.sequenceOffset=50 | > **表 2.8:HwElementConnector** `HwPinGroupConnector` 允许描述两个 `HwPinGroup` 之间的连接。 | 字段 | 内容 | |------|------| | **类(Class)** | `HwPinGroupConnector` | | **包(Package)** | M2::AUTOSARTemplates::EcuResourceTemplate | | **说明(Note)** | 此元类表示连接两个引脚组的能力。 | | **基类(Base)** | ARObject, Describable | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `hwPinConnection` | HwPinConnector / * / aggr / 这表示两个硬件引脚之间的一个特定连接。所连接的引脚必须与父 hwPinGroupConnection 提供的连接匹配。
Stereotypes: atpVariation
Tags: vh.latestBindingTime=systemDesignTime | | `hwPinGroup` | HwPinGroup / 2 / ref / 此关联连接两个硬件引脚组。 | > **表 2.9:HwPinGroupConnector** `HwPinConnector` 允许描述两个 `HwPin` 之间的连接。 | 字段 | 内容 | |------|------| | **类(Class)** | `HwPinConnector` | | **包(Package)** | M2::AUTOSARTemplates::EcuResourceTemplate | | **说明(Note)** | 此元类表示连接两个引脚的能力。 | | **基类(Base)** | ARObject, Describable | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `hwPin` | HwPin / 2 / ref / 此关联连接两个硬件引脚。 | > **表 2.10:HwPinConnector** #### 2.5.1 连接的范围(Scope of Connections) 硬件连接是硬件元素的一部分,并通过引用工件的描述来连接两个工件。原则上,此类引用可以引用输入信息中的任何硬件元素及其特征。但是,连接的范围受硬件连接的包含硬件元素的限制。 #### ⌈[constr_3513] 连接的范围⌋ 每个硬件连接应仅连接都处于硬件元素的层次结构范围内的特征。层次结构范围包括: - 属于包含连接的硬件元素的所有特征 - 属于从包含连接的硬件元素的 nestedElement 关系中直接或间接引用的硬件元素的所有特征。 ⌊() 尤其允许在较深层次结构层级的硬件元素中指定连接,以及跨越层次结构层级的连接。 在图 A.1 的示例中,允许以下连接: - 在硬件元素 `"MyEcu"` 范围内指定的连接 - 所有显示的连接都可以在此层级上指定 - 甚至另一个层次结构硬件元素内部的连接(例如 `"Pu1"` 和 `"Can"` 之间)也可以在此层级上指定 - 甚至跨越层次结构层级的连接(例如 `"Can"` 和 `"Trcv"` 之间)也可以在此层级上指定 - 在硬件元素 `"MicroController"` 范围内指定的连接 - 仅硬件元素 `"MicroController"` 内部的连接(例如 `"Pu1"` 和 `"Can"` 之间)可以指定。 ### 2.6 硬件类别定义(Hardware Category Definition) 专用硬件类型的定义允许 ECU 资源模板的灵活使用。由于硬件类型和适用属性的定义本身被指定为 AUTOSAR XML 文件,因此可以在不更新 AUTOSAR XML-Schema 的情况下进行更新和扩展。 图 2.2 显示了硬件的定义和描述之间的关系。 > **图 2.2:硬件类别的定义**(图示:`ARElement`、`AtpDefinition`、`HwCategory`、`Identifiable`、`HwAttributeDef`、`HwDescriptionEntity`、`HwAttributeValue`、`Annotation`、`ARElement`、`HwType`、`HwElement` 等类之间的关联与多重性关系,以及 `isRequired: Boolean`、`unit`、`hwAttributeLiteral`、`factorSiToUnit`、`offsetSiToUnit` 等属性) 元素 `HwCategory` 指定所定义的硬件类型。例如,这可以是内存段、处理单元、通信收发器等。`HwCategory` 稍后从 `HwDescriptionEntity` 中的 `hwCategory` 角色引用,以描述所描述的硬件类型。`HwCategory` 元素的 `shortName` 的可能值在表 3.1 和表 3.5 中定义。 `HwCategory` 可以包含若干 `HwAttributeDef` 元素。 | 字段 | 内容 | |------|------| | **类(Class)** | `HwCategory` | | **包(Package)** | M2::AUTOSARTemplates::EcuResourceTemplate::HwElementCategory | | **说明(Note)** | 此元类表示声明硬件类别及其特定属性的能力。
Tags: atp.recommendedPackage=HwCategorys | | **基类(Base)** | ARElement, ARObject, AtpDefinition, CollectableElement, Identifiable, MultilanguageReferrable, PackageableElement, Referrable | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `hwAttributeDef` | HwAttributeDef / * / aggr / 此聚合描述特定硬件属性定义。 | > **表 2.11:HwCategory** `HwAttributeDef` 指定适用于 `HwCategory` 的一个属性。 属性的名称在 `shortName` 中定义。 属性的类型由类别指定。`HwAttributeDef` 类别的适用值在表 2.12 中定义。 #### ⌈[constr_3500] HwAttributeDef 的 category 不应被扩展⌋ 与 category 通常可由用户特定值扩展的一般规则不同,不允许扩展元类 `HwAttributeDef` 的属性 category 的含义。 ⌊() | Category | 描述 | |----------|------| | **BOOLEAN** | 定义布尔属性。布尔属性的值可以通过以下方式提供:
• 文本格式 'true' / 'false'(使用 HwAttributeValue 的 vt 元素)
• 数值格式 '1'(true)/ '0'(false)(使用 HwAttributeValue 的 v 元素) | | **INTEGER** | 定义整数属性。整数属性的值可以是有符号/无符号整数。该值必须适合有符号/无符号 64 位数字空间。 | | **FLOAT** | 定义浮点属性。浮点属性的值表示为 IEEE 754-1985 标准 [7] 的 IEEE 双精度 64 位浮点数。 | | **ENUMERATION** | 定义枚举属性。可能的枚举字面值由 vt 元素定义。枚举属性的值以文本形式在 HwAttributeValue 的 vt 元素中提供。 | | **STRING** | 定义字符串属性。字符串属性的值以文本形式在 HwAttributeValue 的 vt 元素中提供。 | > **表 2.12:硬件属性类别** `isRequired` 元素指定该属性对于定义的类别是否为必需。 #### ⌈[TPS_ECUR_01031] 属性单位的定义⌋ 可选地,属性定义可以具有对 `Unit` 元素的引用,该引用指定此属性的值应以何种单位指定。 ⌊(RS_ECUR_00014) 有关 `Unit` 规范的详细信息,请参阅《Software Component Template》[3]。 | 字段 | 内容 | |------|------| | **类(Class)** | `HwAttributeDef` | | **包(Package)** | M2::AUTOSARTemplates::EcuResourceTemplate::HwElementCategory | | **说明(Note)** | 此元类表示定义特定硬件属性的能力。此元素的 category 定义 attributeValue 的类型。如果 category 是 Enumeration,则 hwAttributeEnumerationLiterals 指定可用的字面值。 | | **基类(Base)** | ARObject, Identifiable, MultilanguageReferrable, Referrable | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `hwAttributeLiteral` | HwAttributeLiteralDef / * / aggr / 枚举定义的可用 EnumerationLiterals。仅当 HwAttributeDef 的 category 等于 Enumeration 时适用。 | | `isRequired` | Boolean / 1 / attr / 此属性指定所定义的属性值是否必须提供。 | | `unit` | Unit / 0..1 / ref / 此关联指定所定义硬件属性的物理单位。由于存在文本属性,因此这是可选的。 | > **表 2.13:HwAttributeDef** 如果 `HwAttributeDef` 的 category 设置为 Enumeration,则适用的枚举字面值由 `HwAttributeLiteralDef` 元素指定。 | 字段 | 内容 | |------|------| | **类(Class)** | `HwAttributeLiteralDef` | | **包(Package)** | M2::AUTOSARTemplates::EcuResourceTemplate::HwElementCategory | | **说明(Note)** | 枚举定义的一个可用 EnumerationLiteral。仅当 HwAttributeDef 的 category 等于 Enumeration 时适用。 | | **基类(Base)** | ARObject, Identifiable, MultilanguageReferrable, Referrable | | **属性(Attribute)** | – | > **表 2.14:HwAttributeLiteralDef** 在示例 A.8 中描述了 MemorySegment 类别的一些属性的定义。 #### 2.6.1 硬件类别定义的供应商特定扩展(Vendor specific extensions of Hardware Category Definition) 为了允许描述任意硬件及其关系,ECU 资源模板允许扩展硬件类别和硬件属性的定义。当为供应商特定使用扩展 ECU 资源描述时,应遵守以下规则: - #### ⌈[TPS_ECUR_01021] 新硬件类别的定义⌋ 如果与第 3 节中定义的类别不同,则可以为 `HwElement`、`HwPinGroup` 和 `HwPin` 定义新的硬件类别。该定义应在非 AUTOSAR 包的包中。然后 `HwDescriptionEntity` 应引用扩展的硬件类别。 ⌊() - #### ⌈[TPS_ECUR_01022] 现有硬件类别的扩展⌋ 可以使用新的属性定义扩展第 3 节中的现有硬件类别。扩展通过在与 AUTOSAR 不同的包中定义与标准化类别同名的硬件类别来实现。然后 `HwDescriptionEntity` 应引用标准化和扩展的硬件类别。 ⌊() - #### ⌈[TPS_ECUR_01023] 不得重新定义硬件属性⌋ 标准化硬件类别的扩展不应定义与标准化硬件类别中已定义的硬件属性相同的硬件属性。 ⌊() - #### ⌈[TPS_ECUR_01024] 枚举的扩展⌋ 可以使用新的枚举字面值扩展第 3 节中的现有枚举属性。 ⌊() - #### ⌈[TPS_ECUR_01025] 不得移除现有枚举字面值⌋ 不应从第 3 节中规定的枚举属性中移除枚举字面值。 ⌊() - #### ⌈[TPS_ECUR_01026] 不得更改 category⌋ 第 3 节中规定的属性的 category(类型)不应更改。 ⌊() - #### ⌈[TPS_ECUR_01027] 不得更改 isRequired 值⌋ 第 3 节中规定的属性的 `isRequired` 元素的值不应更改。 ⌊() - #### ⌈[TPS_ECUR_01028] 不得更改 Unit 值⌋ 第 3 节中规定的属性的 `Unit` 元素的值不应更改。 ⌊() ### 2.7 ECU 资源变体处理(Ecu Resource Variant Handling) 有关 AUTOSAR 变体处理支持的详细信息,请参阅《AUTOSAR Generic Structure Template》[6]。该结构如图 2.1 所示。 #### ⌈[TPS_ECUR_01029] 支持变体处理⌋ 在硬件元素的描述中,以下关系受变体处理约束: - `nestedElement` - `hwPinGroup` - `hwElementConnection` ⌊(RS_ECUR_00015) `HwPinGroup` 的存在可以通过来自 `HwElement` 的聚合角色 `hwPinGroup` 进行变体。因此,可以指定 `HwPinGroup` 的不同替代方案。`HwPinGroup` 的内容也可以通过来自 `HwPinGroupContent` 的 `hwPinGroup` 和 `hwPin` 角色进行变体。 `HwElementConnector` 的存在可以通过来自 `HwElement` 的聚合角色 `hwElementConnection` 进行变体。若干角色中的单个 `HwPinGroupConnector` 和 `HwPinConnector` 的存在同样受可变性约束。 对于属性值的描述,`HwAttributeValue` 的存在和实际的 `v` 元素受可变性约束(另见图 2.2)。 ### 2.8 文档支持(Documentation Support) AUTOSAR 提供对集成和良好结构化文档的支持。有关 AUTOSAR 文档支持概念的更多详细信息,请参阅《AUTOSAR Generic Structure Template》[6]。 #### ⌈[TPS_ECUR_01030] 文档支持⌋ 可选的文档块可应用于 Ecu 资源描述中的任何 `Identifiable` 和 `Describable` 元素。此类文档通常用于捕获关于元素的作用或如何构建元素的简要介绍。 ⌊(RS_ECUR_00017) ### 2.9 基础设施方面(Infrastructural aspects) #### ⌈[TPS_ECUR_01032] ECU 资源元模型的建模⌋ ECU Configuration Value 和 ECU Configuration Parameter Definition 元模型的建模是根据《Generic Structure Template》[6] 进行的。 ⌊(RS_ECUR_00012) #### ⌈[TPS_ECUR_01033] ECU 资源元模型到模式定义的转换⌋ ECU 资源元模型到模式定义的转换是根据《XML Schema Production Rules》[4] 进行的。 ⌊(RS_ECUR_00013) --- ## 3 硬件类型特定描述(Hardware Type Specific Description) 第 2 章介绍了用于描述硬件元素及其关系的一般构建块。但为了使用来自 ECU 资源描述的信息来辅助 ECU 的配置,需要描述特定硬件元素的专用属性(例如内存大小)。 以下各节讨论使用 ECU 资源模板部分或完整地规定已设计 ECU 所必需的特殊元素。 ### 3.1 HwElement 类别 `HwElement` 的适用类别概览如表 3.1 所示。 | Category | 描述 | |----------|------| | `Ecu` | 描述一个 Ecu(见第 3.1.1 节)。 | | `ProcessingUnit` | 描述一个微控制器核心(见第 3.1.2 节)。 | | `MicroController` | 描述一个微控制器(见第 3.1.3 节)。 | | `MemorySegment` | 描述一个内存段(见第 3.1.4 节)。 | | `CommunicationController` | 描述一个通信控制器(见第 3.1.5 节)。 | | `CommunicationTransceiver` | 描述一个通信收发器(见第 3.1.6 节)。 | | `Digital` | 描述一个数字 IO 外设(见第 3.1.7 节)。 | | `Analog` | 描述一个模拟 IO 外设(见第 3.1.8 节)。 | | `Timer` | 描述一个定时器外设(见第 3.1.9 节)。 | | `Watchdog` | 描述一个看门狗外设(见第 3.1.10 节)。 | | `SensorActuator` | 描述传感器和执行器(见第 3.1.11 节)。 | > **表 3.1:硬件元素类别** #### 3.1.1 Ecu #### ⌈[TPS_ECUR_01034] Ecu 的类别⌋ ECU 的类别定义为 `Ecu`。 ⌊(RS_ECUR_00007) 当前未为 ECU 定义特殊属性。 System Template 和 ECU Resource Template 之间在使用术语 "Ecu" 上存在不一致。在 System Template 中,"Ecu" 用于确定一个 AUTOSAR Stack 的一个实例(例如在 ECUInstance 中)。在 Ecu Resource Template 中,'Ecu" 用于描述物理箱(类别为 Ecu 的 HardwareElement),其中包含可能包含若干处理单元的电子设备,并运行若干 AUTOSAR Stack 实例。 #### 3.1.2 Processing Unit 处理单元描述微控制器的一个核心。 #### ⌈[TPS_ECUR_01007] 处理单元的类别⌋ 处理单元的类别定义为 `ProcessingUnit`。 ⌊(RS_ECUR_00007) 当前未为处理单元定义特殊属性。 #### 3.1.3 Micro-Controller 微控制器描述由微控制器硬件制造商交付的一件硬件。通常微控制器包含一个或多个处理单元、内存段和外设。 #### ⌈[TPS_ECUR_01035] 微控制器的类别⌋ 微控制器的类别定义为 `MicroController`。 ⌊(RS_ECUR_00007) 当前未为微控制器定义特殊属性。 示例 A.1 显示了对微控制器的高级视图的简单描述。 #### 3.1.4 Memory #### ⌈[TPS_ECUR_01008] MemorySegment 类别的属性⌋ 适用于 `MemorySegment` 硬件元素类别的特殊属性在表 3.2 中定义。 ⌊(RS_ECUR_00008) | 属性(Attribute) | 必需(Required) | 单位(Unit) | 描述(Description) | |-------------------|------------------|--------------|---------------------| | `memorySize` | true | INTEGER | 以字节为单位指定内存段的大小。 | | `memoryType` | true | ENUMERATION | 指定内存的类型:
• RAM
• ROM
• EEPROM
• Flash | > **表 3.2:MemorySegment 硬件元素参数** #### 3.1.5 Communication Controller #### ⌈[TPS_ECUR_01009] 通信控制器的类别⌋ 通信控制器的类别为 `CommunicationController`。 ⌊(RS_ECUR_00009) | 属性(Attribute) | 必需(Required) | 单位(Unit) | 描述(Description) | |-------------------|------------------|--------------|---------------------| | `communicationControllerType` | true | ENUMERATION | 指定通信控制器的类型:
• CAN
• TTCAN
• LIN
• FlexRay
• Ethernet
• Spi | > **表 3.3:CommunicationController 硬件元素属性** #### 3.1.6 Communication Transceiver #### ⌈[TPS_ECUR_01010] 通信收发器的类别⌋ 通信收发器的类别定义为 `CommunicationTransceiver`。 ⌊(RS_ECUR_00009) | 属性(Attribute) | 必需(Required) | 单位(Unit) | 描述(Description) | |-------------------|------------------|--------------|---------------------| | `supportsDisabling` | false | BOOLEAN | 指定收发器是否可以被禁用。 | | `supportsWakeUp` | false | BOOLEAN | 指定收发器是否可以在总线上指示唤醒情况。 | > **表 3.4:CommunicationTransceiver 硬件元素属性** #### 3.1.7 Digital IO #### ⌈[TPS_ECUR_01011] 数字 IO 的类别⌋ 数字 IO 硬件元素的类别定义为 `Digital`。 ⌊(RS_ECUR_00010) 当前未为数字 IO 定义特殊属性。 #### 3.1.8 Analog IO #### ⌈[TPS_ECUR_01036] 模拟 IO 的类别⌋ 模拟 IO 硬件元素的类别定义为 `Analog`。 ⌊(RS_ECUR_00007) 当前未为模拟 IO 定义特殊属性。 #### 3.1.9 Timer #### ⌈[TPS_ECUR_01037] 定时器的类别⌋ 定时器的类别定义为 `Timer`。 ⌊(RS_ECUR_00007) 当前未为定时器定义特殊属性。 #### 3.1.10 Watchdog #### ⌈[TPS_ECUR_01038] 看门狗的类别⌋ 看门狗的类别定义为 `Watchdog`。 ⌊(RS_ECUR_00007) 当前未为看门狗定义特殊属性。 #### 3.1.11 SensorActuator #### ⌈[TPS_ECUR_01012] 传感器/执行器的类别⌋ 传感器/执行器的类别定义为 `SensorActuator`。 ⌊(RS_ECUR_00011) 当前未为传感器/执行器定义特殊属性。 ### 3.2 HwPinGroup 类别 `HwPinGroup` 的适用类别概览如表 3.5 所示。 | Category | 描述 | |----------|------| | `CommunicationPort` | 描述一个通信连接器(见第 3.2.1 节)。 | > **表 3.5:硬件引脚组类别** #### 3.2.1 CommunicationPort #### ⌈[TPS_ECUR_01013] Communication Port 的类别⌋ Communication Port 的类别定义为 `CommunicationPort`。 ⌊(RS_ECUR_00009) | 属性(Attribute) | 必需(Required) | 单位(Unit) | 描述(Description) | |-------------------|------------------|--------------|---------------------| | `communicationPortType` | true | ENUMERATION | 指定通信端口的类型:
• CAN
• TTCAN
• LIN
• FlexRay
• Ethernet
• Spi | > **表 3.6:CommunicationPort 硬件元素属性** ### 3.3 HwPin 类别 未为 `HwPin` 指定专用类别。 --- ## 附录 A 示例(Examples) ### A.1 硬件元素(Hardware Element) 示例 A.1 显示了对微控制器的高级视图的简单描述。 **示例 A.1** ```xml VendorA MicroController_0815 /AUTOSAR/MicroController ``` ### A.2 硬件元素的层次结构(Hierarchy of Hardware Elements) 示例 A.2 显示了微控制器中处理单元的层次化描述。 **示例 A.2** ```xml VendorA MicroController_0815 /AUTOSAR/MicroController /VendorA/ProcessingUnit0 ProcessingUnit0 /AUTOSAR/ProcessingUnit ``` ### A.3 HwPinGroups 和 HwPins(HwPinGroups and HwPins) 示例 A.3 显示了微控制器的引脚组和引脚的描述。 **示例 A.3** ```xml VendorA MicroController_0815 /AUTOSAR/MicroController Adc AdcPortA AdcPortB AdcB01 AdcB02 ``` ### A.4 硬件元素连接(Hardware Element Connection) 示例 A.4 显示了微控制器的内部结构描述,以定义哪些内存段可从哪些处理单元(核心)访问。 **示例 A.4** ```xml VendorA MicroController_0815 /AUTOSAR/MicroController /VendorA/Core0 /VendorA/Core1 /VendorA/Mem01 /VendorA/Core0 /VendorA/Mem01 /VendorA/Core0 /VendorA/Mem02 Core0 /AUTOSAR/ProcessingUnit Core1 /AUTOSAR/ProcessingUnit Mem01 /AUTOSAR/MemorySegment Mem02 /AUTOSAR/MemorySegment Mem03 /AUTOSAR/MemorySegment ``` ### A.5 组合示例(Combined Example) 在本示例章节中,使用了多种机制来描述一个 Ecu 及其某些电子属性。概览如图 A.1 所示。各小节描述不同的抽象层。 > **图 A.1:Ecu 描述示例**(图示:MyEcu 包含 MicroController 和 Trcv;MicroController 包含 Pu1、Can、Dio;Can 连接到 Pu1;Dio 连接到 Pu1;Trcv 有 enable、wakeup、CanBus 引脚组;Can 连接到 Trcv;Dio 连接到 Trcv) #### A.5.1 微控制器描述(Micro-controller description) 微控制器由处理单元、Can 控制器和 Dio 模块组成。处理单元被定义为可访问两个外设。 Dio 模块定义了两个 HwPinGroups 以支持更详细的连接描述。 整个微控制器在其自己的 ARPackage 中定义,以便可以在多个项目中使用。 **示例 A.5** ```xml CpuVendor MicroController Pu1 Can Dio Pu1 Can Pu1 Dio Pu1 Can Dio D0 D1 ``` #### A.5.2 收发器描述(Transceiver description) 收发器模块被定义为提供三个 HwPinGroups 来描述其连接性的 HwElement。 收发器模块在其自己的 ARPackage 中定义,以便可以在多个项目中使用。 **示例 A.6** ```xml TransceiverVendor Trcv enable wakeup CanBus ``` #### A.5.3 Ecu 描述(Ecu description) Ecu 包含微控制器和收发器。 Ecu 定义一个 HwPinGroup 来表示与 Ecu 外部的 CanBus 通信。 Ecu 定义内部的详细连接。 **示例 A.7** ```xml EcuVendor MyEcu /CpuVendor/MicroController /TransceiverVendor/Trcv CanBus /CpuVendor/Can /TransceiverVendor/Trcv /CpuVendor/Dio /TransceiverVendor/Trcv /CpuVendor/Dio/D0 /TransceiverVendor/ Trcv/enable /CpuVendor/Dio/D1 /TransceiverVendor/ Trcv/wakeup /TransceiverVendor/Trcv /EcuVendor/MyEcu /TransceiverVendor/Trcv/Can /EcuVendor/CanBus ``` ### A.6 属性定义(Attribute Definition) 示例 A.8 展示了如何在 ECU 资源模板中描述一个类别和相关属性定义。 **示例 A.8** ```xml AUTOSAR MemorySegment memorySize Specifies the size of the memory segment in bytes. INTEGER true memoryType Specifies the type of memory: RAM, ROM, EEPROM, Flash. ENUMERATION RAM ROM FLASH EEPROM true ``` ### A.7 属性值示例(Attribute Value Example) 示例 A.9 展示了使用 ECU 资源模板定义的属性的描述(见示例 A.8)。 **示例 A.9** ```xml VendorA MemorySeg001 /AUTOSAR/MemorySegment /AUTOSAR/ MemorySegment/memoryType RAM /AUTOSAR/ MemorySegment/memorySize 1024 ``` --- ## 附录 B 术语表(Glossary) **Artifact(工件)**:这是为有形工作产品类型提供描述和定义的工作产品定义。工件可以由其他工件组成([8])。在高层级,工件被表示为单个概念文件。 **AUTOSAR Tool(AUTOSAR 工具)**:这是支持方法论中定义为 AUTOSAR 任务的一个或多个任务的软件工具。根据所支持的任务,AUTOSAR 工具可以充当创作工具、转换工具、处理器工具或这些工具的组合(参见单独的定义)。 **AUTOSAR Authoring Tool(AUTOSAR 创作工具)**:用于创建和修改 AUTOSAR XML 描述的 AUTOSAR 工具。示例:系统描述编辑器。 **AUTOSAR Converter Tool(AUTOSAR 转换工具)**:用于通过从其他 AUTOSAR XML 文件转换信息来创建 AUTOSAR XML 文件的 AUTOSAR 工具。示例:ECU Flattener。 **AUTOSAR Definition(AUTOSAR 定义)**:这是可以具有值的参数的定义。可以说参数值是定义的实例。但在 AUTOSAR 的元模型层次结构中,定义也是元模型的实例,因此被视为描述。AUTOSAR 定义的示例包括:EcucParameterDef、PostBuildVariantCriterion、SwSystemconst。 **AUTOSAR XML Description(AUTOSAR XML 描述)**:在 AUTOSAR 中,这意味着"已填充的模板"。事实上,AUTOSAR XML 描述是 AUTOSAR 模型的 XML 表示。AUTOSAR XML 描述可以由多个文件组成。每个单独的文件表示一个 AUTOSAR 部分模型,并且应能成功针对 AUTOSAR XML schema 进行验证。 **AUTOSAR Meta-Model(AUTOSAR 元模型)**:这是定义用于描述 AUTOSAR 系统的语言的 UML2.0 模型。AUTOSAR 元模型是 AUTOSAR 模板的 UML 表示。UML2.0 类图用于描述属性及其相互关系。Stereotypes、UML tags 和 OCL 表达式(对象约束语言)用于定义特定语义和约束。 **AUTOSAR Meta-Model Tool(AUTOSAR 元模型工具)**:AUTOSAR 元模型工具是用于生成 AUTOSAR 元模型的不同视图(类表、约束列表、图、XML Schema 等)的工具。 **AUTOSAR Model(AUTOSAR 模型)**:这是 AUTOSAR 产品的表示。AUTOSAR 模型表示根据 AUTOSAR 方法论适合预期用途的方面。严格来说,这是 AUTOSAR 元模型的实例。AUTOSAR 模型中包含的信息可以是根据 AUTOSAR 元模型可表示的任何内容。 **AUTOSAR Partial Model(AUTOSAR 部分模型)**:在 AUTOSAR 中,模型可能的分区在元模型中由 «atpSplitable» 标记。一个部分模型在一个 AUTOSAR XML 描述中由一个文件表示。部分模型不需要满足适用于 AUTOSAR 模型的所有语义约束。 **AUTOSAR Processor Tool(AUTOSAR 处理器工具)**:用于通过处理来自 AUTOSAR XML 文件的信息来创建非 AUTOSAR 文件的 AUTOSAR 工具。示例:RTE Generator。 **AUTOSAR Specification Element(AUTOSAR 规范元素)**:AUTOSAR 规范元素是作为 AUTOSAR 规范一部分的命名元素。示例:需求、约束、规范条目、元模型中的类或属性、方法论、可交付物、方法论活动、模型元素、bsw 模块等。 **AUTOSAR Template(AUTOSAR 模板)**:术语"模板"在 AUTOSAR 中用于描述不同种类描述的格式。术语模板来自这样的思想:AUTOSAR 定义了一种应被填写以描述模型的表单。已填写的表单随后被称为描述。事实上,AUTOSAR 模板现在被定义为元模型。 **AUTOSAR Validation Tool(AUTOSAR 验证工具)**:能够根据配置文件定义的规则检查 AUTOSAR 模型的专用 AUTOSAR 工具。 **AUTOSAR XML Schema(AUTOSAR XML Schema)**:这是定义用于交换 AUTOSAR 模型的语言的 W3C XML schema。该 Schema 派生自 AUTOSAR 元模型。AUTOSAR XML Schema 定义 AUTOSAR 数据交换格式。 **Blueprint(蓝图)**:这是可以通过复制和细化从中派生其他模型的模型。请注意,与元模型或类型相反,此过程不是实例化。 **Instance(实例)**:通常这是模型或类型的特定示例。 **Life Cycle(生命周期)**:生命周期是模型元素在其生命周期内的开发/演进阶段的过程。 **Meta-Model(元模型)**:这定义了模型的构建块。从这个意义上说,元模型表示用于构建模型的语言。 **Meta-Data(元数据)**:包括关于数据的相关信息,包括关于作者、版本控制、访问权限、时间戳等的信息。 **Model(模型)**:模型是现实的简化表示。模型表示适合预期目的的方面。 **Partial Model(部分模型)**:这是模型的旨在在一个特定工件中持久化的部分。 **Pattern in GST(GST 中的模式)**:这是通过应用模型转换来简化元模型定义的方法。此转换从带注释的模型生成增强的模型。 **Profile Authoring Support Data(配置文件创作支持数据)**:用于有效创作配置文件的数据。例如,可引用约束、元类、元属性或其他可重用模型资产(蓝图)的列表。 **Profile Authoring Tool(配置文件创作工具)**:专注于为数据交换点创作配置文件的专用 AUTOSAR 工具。它例如提供从头创建配置文件、修改现有配置文件或组合现有配置文件的支持。 **Profile Compatibility Checker Tool(配置文件兼容性检查工具)**:专注于检查数据交换配置文件兼容性的专用 AUTOSAR 工具。请注意,此兼容性检查包括工程师的手动兼容性检查和使用更正式算法的自动化辅助。 **Profile Consistency Checker Tool(配置文件一致性检查工具)**:专注于检查配置文件一致性的专用 AUTOSAR 工具。 **Property(属性)**:属性是对象的结构特征。例如,"连接器"具有属性"接收端口"和"发送端口"。属性通过 «atpVariation» 进行变体化。 **Prototype(原型)**:这是另一个类型定义中类型的角色的实现。换句话说,类型可以包含由"类型"键入的原型。当此类型被实例化时,这些原型中的每一个都成为一个实例。 **Type(类型)**:类型提供可以出现在此类型的各种角色中的特征。 **Value(值)**:这是分配给"定义"的特定值。 **Variability(可变性)**:系统的可变性是其描述一组变体的质量。这些变体的特征在于变体特定的属性设置和/或选择。例如,这样的系统属性选择本身表现为连接的特定"接收端口"。这是使用 «atpVariation» 实现的。 **Variant(变体)**:系统变体是系统的具体实现,因此其所有属性都已设置或选择。软件系统就绑定时间而言不再具有可变性。这是使用 EvaluatedVariantSet 实现的。 **Variation Binding(变体绑定)**:变体是通过将特定值/选择分配给系统的所有属性来解决系统可变性的变体绑定过程的结果。这是通过 VariationPoint 实现的。 **Variation Binding Time(变体绑定时间)**:变体绑定时间确定方法论中解决由一组可变属性给出的可变性的步骤。这是通过相关属性上的 vh.LatestBindingtime 实现的。 **Variation Definition Time(变体定义时间)**:变体定义时间确定方法论中定义变体点的步骤。 **Variation Point(变体点)**:变体点表示属性受变体约束。此外,它与条件和绑定时间相关联,这些条件和绑定时间定义用于选择/设置具体变体的系统上下文。这是通过 VariationPoint 实现的。 --- ## 附录 C 变更历史(Change History) ### C.1 AUTOSAR R4.0.1 相对于 R3.1.5 的变更历史 文档和元模型已完全修订。 ### C.2 AUTOSAR R4.0.2 相对于 R4.0.1 的变更历史 无对规范条目的变更。 ### C.3 AUTOSAR R4.0.3 相对于 R4.0.2 的变更历史 #### C.3.1 R4.0.3 中已新增的约束 | 编号 | 标题 | |------|------| | [constr_3500] | HwAttributeDef 的 category 不应被扩展 | > **表 C.1:R4.0.3 中已新增的约束** ### C.4 AUTOSAR R4.1.1 相对于 R4.0.3 的变更历史 #### C.4.1 R4.1.1 中已新增的约束 | 编号 | 标题 | |------|------| | [constr_3511] | HwType 不应引用另一个 HwType | | [constr_3512] | 不支持多次实例化 | | [constr_3513] | 连接的范围 | > **表 C.2:R4.1.1 中已新增的约束** #### C.4.2 R4.1.1 中已新增的 SWS 条目 | SWS 条目 | 理由 | |----------|------| | [TPS_ECUR_01000] | HwCategory 的定义 | | [TPS_ECUR_01001] | HwCategory 的扩展 | | [TPS_ECUR_01002] | 硬件元素的定义 | | [TPS_ECUR_01003] | 硬件属性的值 | | [TPS_ECUR_01005] | HwElement 描述一件硬件 | | [TPS_ECUR_01006] | HwElement 之间的连接 | | [TPS_ECUR_01007] | 处理单元的类别定义为 ProcessingUnit | | [TPS_ECUR_01008] | 适用于 MemorySegment 硬件元素类别的特殊属性在表 3.2 中定义 | | [TPS_ECUR_01009] | 通信控制器的类别为 CommunicationController | | [TPS_ECUR_01010] | 通信收发器的类别定义为 CommunicationTransceiver | | [TPS_ECUR_01011] | 数字 IO 硬件元素的类别定义为 Digital | | [TPS_ECUR_01012] | 传感器/执行器的类别定义为 SensorActuator | | [TPS_ECUR_01013] | Communication Port 的类别定义为 CommunicationPort | | [TPS_ECUR_01014] | HwAttributeValue 的定义 | | [TPS_ECUR_01015] | 支持 AUTOSAR 基础软件配置 | | [TPS_ECUR_01016] | HwType 的定义 | | [TPS_ECUR_01017] | HwType 中定义的属性值适用于此 HwType 的所有出现 | | [TPS_ECUR_01018] | HwElement 是自包含的 | | [TPS_ECUR_01019] | HwElement 可以引用 HwType | | [TPS_ECUR_01020] | 硬件的层次结构 | | [TPS_ECUR_01021] | 新硬件类别的定义 | | [TPS_ECUR_01022] | 现有硬件类别的扩展 | | [TPS_ECUR_01023] | 不得重新定义硬件属性 | | [TPS_ECUR_01024] | 枚举的扩展 | | [TPS_ECUR_01025] | 不得移除现有枚举字面值 | | [TPS_ECUR_01026] | 不得更改 category | | [TPS_ECUR_01027] | 不得更改 isRequired 值 | | [TPS_ECUR_01028] | 不得更改 Unit 值 | | [TPS_ECUR_01029] | 支持变体处理 | | [TPS_ECUR_01030] | 文档支持 | | [TPS_ECUR_01031] | 属性单位的定义 | | [TPS_ECUR_01032] | ECU 资源元模型的建模 | | [TPS_ECUR_01033] | ECU 资源元模型到模式定义的转换 | | [TPS_ECUR_01034] | Ecu 的类别 | | [TPS_ECUR_01035] | 微控制器的类别 | | [TPS_ECUR_01036] | 模拟 IO 的类别 | | [TPS_ECUR_01037] | 定时器的类别 | | [TPS_ECUR_01038] | 看门狗的类别 | > **表 C.3:R4.1.1 中已新增的 SWS 条目** --- ## 附录 D 引用的类表(Mentioned Class Tables) 为完备起见,本章包含一组类表,表示在本文档上下文中被提到但并不直接属于描述特定元模型语义范围的元类。 ### 表 D.1:ARElement | 字段 | 内容 | |------|------| | **类(Class)** | `ARElement` (abstract) | | **包(Package)** | M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::ARPackage | | **说明(Note)** | 可以独立定义(即不作为另一元素的一部分,当然包除外)的元素。 | | **基类(Base)** | ARObject, CollectableElement, Identifiable, MultilanguageReferrable, PackageableElement, Referrable | | **子类(Subclasses)** | AclObjectSet, AclOperation, AclPermission, AclRole, AliasNameSet, ApplicationPartition, AutosarDataType, BaseType, BlueprintMappingSet, BswEntryRelationshipSet, BswModuleDescription, BswModuleEntry, BuildActionManifest, CalibrationParameterValueSet, ClientIdDefinitionSet, ClientServerInterfaceToBswModuleEntryBlueprintMapping, Collection, CompuMethod, ConsistencyNeedsBlueprintSet, ConstantSpecification, ConstantSpecificationMappingSet, CryptoServiceCertificate, CryptoServiceKey, CryptoServicePrimitive, DataConstr, DataExchangePoint, DataTransformationSet, DataTypeMappingSet, DiagnosticCommonElement, DiagnosticConnection, DiagnosticContributionSet, DiagnosticMasterToSlaveEventMappingSet, Documentation, EcucDefinitionCollection, EcucDestinationUriDefSet, EcucModuleConfigurationValues, EcucModuleDef, EcucValueCollection, EndToEndProtectionSet, EvaluatedVariantSet, FMFeature, FMFeatureMap, FMFeatureModel, FMFeatureSelectionSet, FlatMap, GeneralPurposeConnection, HwCategory, HwElement, HwType, IPv6ExtHeaderFilterSet, Implementation, InterpolationRoutineMappingSet, J1939ControllerApplication, KeywordSet, LifeCycleInfoSet, LifeCycleStateDefinitionGroup, McFunction, McGroup, ModeDeclarationGroup, ModeDeclarationMappingSet, PhysicalDimension, PhysicalDimensionMappingSet, PortInterface, PortInterfaceMappingSet, PortPrototypeBlueprint, PostBuildVariantCriterion, PostBuildVariantCriterionValueSet, PredefinedVariant, RapidPrototypingScenario, SdgDef, SwAddrMethod, SwAxisType, SwComponentType, SwRecordLayout, SwSystemconst, SwSystemconstantValueSet, SwcBswMapping, System, SystemSignal, SystemSignalGroup, TcpOptionFilterSet, TimingExtension, TransformationPropsSet, Unit, UnitGroup, ViewMapSet | | **属性(Attribute)** | – | ### 表 D.2:ARPackage | 字段 | 内容 | |------|------| | **类(Class)** | `ARPackage` | | **包(Package)** | M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::ARPackage | | **说明(Note)** | AUTOSAR 包,允许创建顶级包以组织所包含的 ARElement。ARPackage 是开放集。这意味着在基于文件的描述系统中,多个文件可用于部分描述包的内容。这是 MSR 的 SW-SYSTEM 的扩展版本。 | | **基类(Base)** | ARObject, AtpBlueprint, AtpBlueprintable, CollectableElement, Identifiable, MultilanguageReferrable, Referrable | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `arPackage` | ARPackage / * / aggr / 这表示 ARPackage 中的子包,从而允许无限包层次结构。
Stereotypes: atpSplitable; atpVariation
Tags: atp.Splitkey=shortName, variationPoint.shortLabel
vh.latestBindingTime=blueprintDerivationTime
xml.sequenceOffset=30 | | `element` | PackageableElement / * / aggr / 属于此包的元素。
Stereotypes: atpSplitable; atpVariation
Tags: atp.Splitkey=shortName, variationPoint.shortLabel
vh.latestBindingTime=systemDesignTime
xml.sequenceOffset=20 | | `referenceBase` | ReferenceBase / * / aggr / 这表示包的引用基。这是包内所有相对引用的基础。基础需要根据引用中的 base 属性进行选择。
Stereotypes: atpSplitable
Tags: atp.Splitkey=shortLabel
xml.sequenceOffset=10 | ### 表 D.3:AUTOSAR | 字段 | 内容 | |------|------| | **类(Class)** | `AUTOSAR` | | **包(Package)** | M2::AUTOSARTemplates::AutosarTopLevelStructure | | **说明(Note)** | AUTOSAR 描述的根元素,也是相应 XML 文档中的根元素。
Tags: xml.globalElement=true | | **基类(Base)** | ARObject | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `adminData` | AdminData / 0..1 / aggr / 这表示 Autosar 文件的管理数据。
Tags: xml.sequenceOffset=10 | | `arPackage` | ARPackage / * / aggr / 这是 AUTOSAR 模型中的顶级包。
Stereotypes: atpSplitable; atpVariation
Tags: atp.Splitkey=shortName, variationPoint.shortLabel
vh.latestBindingTime=blueprintDerivationTime
xml.sequenceOffset=30 | | `fileInfoComment` | FileInfoComment / 0..1 / aggr / 这表示在 AUTOSAR 文件中提供结构化注释的可能性。
Stereotypes: atpStructuredComment
Tags: xml.roleElement=true
xml.sequenceOffset=-10
xml.typeElement=false | | `introduction` | DocumentationBlock / 0..1 / aggr / 这表示 Autosar 文件的引言。例如用于表示免责声明和法律声明。
Tags: xml.sequenceOffset=20 | ### 表 D.4:Describable | 字段 | 内容 | |------|------| | **类(Class)** | `Describable` (abstract) | | **包(Package)** | M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::Identifiable | | **说明(Note)** | 此元类表示向不可识别元素添加描述性文档的能力。 | | **基类(Base)** | ARObject | | **子类(Subclasses)** | CyclicTiming, EventControlledTiming, HwElementConnector, HwPinConnector, HwPinGroupConnector, IPduTiming, Ipv4DhcpServerConfiguration, Ipv6DhcpServerConfiguration, PncMapping, SocketConnection, TransformationComSpecProps, TransformationDescription, TransformationISignalProps | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `desc` | MultiLanguageOverviewParagraph / 0..1 / aggr / 这表示关于相关对象的一般但简短(一个段落)描述。它仅一个段落!Desc 旨在被收集到概览表中。此属性帮助人类读者识别相关对象。
更详细的文档(特别是如何构建或使用对象)应放在"introduction"中。
Tags: xml.sequenceOffset=-60 | | `category` | CategoryString / 0..1 / attr / category 是专门化 Describable 语义的关键字。它影响属性的预期存在和约束的适用性。
Tags: xml.sequenceOffset=-50 | | `adminData` | AdminData / 0..1 / aggr / 这表示可描述对象的管理数据。
Tags: xml.sequenceOffset=-20 | | `introduction` | DocumentationBlock / 0..1 / aggr / 这表示有关如何构建或使用相关对象的更多信息。因此它是 DocumentationBlock。
Tags: xml.sequenceOffset=-30 | ### 表 D.5:Identifiable | 字段 | 内容 | |------|------| | **类(Class)** | `Identifiable` (abstract) | | **包(Package)** | M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::Identifiable | | **说明(Note)** | 此类的实例可以通过其标识符引用(在命名空间边界内)。此外,Identifiable 是对 AUTOSAR 描述的整体结构做出重大贡献的对象。特别是,Identifiable 可能包含 Identifiable。 | | **基类(Base)** | ARObject, MultilanguageReferrable, Referrable | | **子类(Subclasses)** | ARPackage, AbstractEvent, AbstractImplementationDataTypeElement, AbstractServiceInstance, ApplicationEndpoint, ApplicationError, ApplicationPartitionToEcuPartitionMapping, AsynchronousServerCallResultPoint, AtpBlueprint, AtpBlueprintable, AtpClassifier, AtpFeature, AutosarOperationArgumentInstance, AutosarVariableInstance, BswInternalTriggeringPoint, BswModuleDependency, BuildActionEntity, BuildActionEnvironment, CanTpAddress, CanTpChannel, CanTpNode, Chapter, ClassContentConditional, ClientIdDefinition, ClientServerOperation, Code, CollectableElement, ComManagementMapping, CommConnectorPort, CommunicationConnector, CommunicationController, Compiler, ConsistencyNeeds, ConsumedEventGroup, CouplingPort, CouplingPortStructuralElement, CryptoServiceMapping, DataPrototypeGroup, DataTransformation, DependencyOnArtifact, DiagEventDebounceAlgorithm, DiagnosticConnectedIndicator, DiagnosticDataElement, DiagnosticFunctionInhibitSource, DiagnosticMasterToSlaveEventMapping, DiagnosticRoutineSubfunction, DoIpLogicAddress, ECUMapping, EOCExecutableEntityRefAbstract, EcuPartition, EcucContainerValue, EcucDefinitionElement, EcucDestinationUriDef, EcucEnumerationLiteralDef, EcucQuery, EcucValidationCondition, EndToEndProtection, ExclusiveArea, ExecutableEntity, ExecutionTime, FMAttributeDef, FMFeatureMapAssertion, FMFeatureMapCondition, FMFeatureMapElement, FMFeatureRelation, FMFeatureRestriction, FMFeatureSelection, FlatInstanceDescriptor, FlexrayArTpNode, FlexrayTpConnectionControl, FlexrayTpNode, FlexrayTpPduPool, FrameTriggering, GeneralParameter, GlobalTimeGateway, GlobalTimeMaster, GlobalTimeSlave, HeapUsage, HwAttributeDef, HwAttributeLiteralDef, HwPin, HwPinGroup, IPv6ExtHeaderFilterList, ISignalToIPduMapping, ISignalTriggering, IdentCaption, InternalTriggeringPoint, J1939SharedAddressCluster, J1939TpNode, Keyword, LifeCycleState, LinScheduleTable, LinTpNode, Linker, MacMulticastGroup, McDataInstance, MemorySection, ModeDeclaration, ModeDeclarationMapping, ModeSwitchPoint, NetworkEndpoint, NmCluster, NmEcu, NmNode, NvBlockDescriptor, PackageableElement, ParameterAccess, PduToFrameMapping, PduTriggering, PerInstanceMemory, PhysicalChannel, PortGroup, PortInterfaceMapping, PossibleErrorReaction, ResourceConsumption, RootSwCompositionPrototype, RptComponent, RptContainer, RptExecutableEntity, RptExecutableEntityEvent, RptExecutionContext, RptProfile, RptServicePoint, RunnableEntityGroup, SdgAttribute, SdgClass, SecureCommunicationAuthenticationProps, SecureCommunicationFreshnessProps, ServerCallPoint, ServiceNeeds, SocketAddress, SomeipTpChannel, SpecElementReference, StackUsage, StructuredReq, SwGenericAxisParamType, SwServiceArg, SwcServiceDependency, SwcToApplicationPartitionMapping, SwcToEcuMapping, SwcToImplMapping, SystemMapping, TcpOptionFilterList, TimingCondition, TimingConstraint, TimingDescription, TimingExtensionResource, TimingModeInstance, TlsCryptoCipherSuite, Topic1, TpAddress, TraceableText, TracedFailure, TransformationProps, TransformationTechnology, Trigger, VariableAccess, VariationPointProxy, ViewMap, VlanConfig, WaitPoint | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `desc` | MultiLanguageOverviewParagraph / 0..1 / aggr / 这表示关于相关对象的一般但简短(一个段落)描述。它仅一个段落!Desc 旨在被收集到概览表中。此属性帮助人类读者识别相关对象。
更详细的文档(特别是如何构建或使用对象)应放在"introduction"中。
Tags: xml.sequenceOffset=-60 | | `category` | CategoryString / 0..1 / attr / category 是专门化 Identifiable 语义的关键字。它影响属性的预期存在和约束的适用性。
Tags: xml.sequenceOffset=-50 | | `adminData` | AdminData / 0..1 / aggr / 这表示可识别对象的管理数据。
Tags: xml.sequenceOffset=-40 | | `annotation` | Annotation / * / aggr / 在定义模型元素时提供附加注释的可能性(例如 ECU Configuration Parameter Values)。这些不作为文档,而是纯粹的设计注释。
Tags: xml.sequenceOffset=-25 | | `introduction` | DocumentationBlock / 0..1 / aggr / 这表示有关如何构建或使用相关对象的更多信息。因此它是 DocumentationBlock。
Tags: xml.sequenceOffset=-30 | | `uuid` | String / 0..1 / attr / 此属性的目的是为元类的实例提供全局唯一标识符。此属性的值应该是以前缀标识符类型的全局唯一字符串。例如,要包含 Open Group 定义的 DCE UUID,UUID 前面应加上"DCE:"。此属性的值可用于支持不同 AUTOSAR 模型的合并。
UUID(通用唯一标识符)的形式取自 Open Group(前身为 Open Software Foundation)定义的标准。该标准被广泛使用,包括 Microsoft 用于 COM(GUID)和许多公司用于基于 CORBA 的 DCE。
生成这些 128 位 ID 的方法在标准中发布,并且在实践中这些 ID 的有效性和唯一性没有争议。
如果省略 id 命名空间,则假定为 DCE。
一个示例是"DCE:2fac1234-31f8-11b4-a222-08002b34c003"。
uuid 属性对 AUTOSAR 模型没有语义意义,并且 AUTOSAR 工具没有管理时间戳的要求。
Tags: xml.attribute=true | ### 表 D.6:Referrable | 字段 | 内容 | |------|------| | **类(Class)** | `Referrable` (abstract) | | **包(Package)** | M2::AUTOSARTemplates::GenericStructure::GeneralTemplateClasses::Identifiable | | **说明(Note)** | 此类的实例可以通过其标识符引用(在命名空间边界内)。 | | **基类(Base)** | ARObject | | **子类(Subclasses)** | AtpDefinition, BswDistinguishedPartition, BswModuleCallPoint, BswModuleClientServerEntry, BswVariableAccess, CouplingPortTrafficClassAssignment, DiagnosticDebounceAlgorithmProps, DiagnosticEnvModeElement, EthernetPriorityRegeneration, EventHandler, ExclusiveAreaNestingOrder, HwDescriptionEntity, ImplementationProps, LinSlaveConfigIdent, ModeTransition, MultilanguageReferrable, PncMappingIdent, SingleLanguageReferrable, SocketConnectionBundle, TimeSyncServerConfiguration, TpConnectionIdent | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `shortName` | Identifier / 1 / attr / 这为对象指定一个标识性 shortName。它需要在上下文中是唯一的,并且是为人类设计的,但更是为了技术参考。
Tags: xml.enforceMinMultiplicity=true
xml.sequenceOffset=-100 | | `shortNameFragment` | ShortNameFragment / * / aggr / 这指定 Referrable.shortName 如何由若干 shortNameFragments 组成。
Tags: xml.sequenceOffset=-90 | ### 表 D.7:Unit | 字段 | 内容 | |------|------| | **类(Class)** | `Unit` | | **包(Package)** | M2::MSR::AsamHdo::Units | | **说明(Note)** | 这是物理测量单位。应当定义的所有单位应源自 SI 单位。为了将一个单位转换为另一个单位,定义了因子和偏移量。
从 SI 单位到所定义单位的计算应用因子(factorSiToUnit)和偏移量(offsetSiToUnit)如下:
x [{unit}] := y * [{siUnit}] * factorSiToUnit [[unit]/{siUnit}] + offset
从单位到 SI 单位的计算应用因子的倒数(factorSiToUnit)和偏移量的取反(offsetSiToUnit)。
y {siUnit} := (x*{unit} - offsetSiToUnit [{unit}]) / (factorSiToUnit [[u
Tags: atp.recommendedPackage=Units | | **基类(Base)** | ARElement, ARObject, CollectableElement, Identifiable, MultilanguageReferrable, PackageableElement, Referrable | | **属性(Attribute)** | 类型(Type) / 多重性(Mul.) / 种类(Kind) / 说明(Note) | | `displayName` | SingleLanguageUnitNames / 0..1 / aggr / 这指定单位应如何在文档或工具的用户界面中显示。displayName 对应于 ASAM MCD-2MC 文件中的 Unit.Display。
Tags: xml.sequenceOffset=20 | | `factorSiToUnit` | Float / 0..1 / attr / 这是从 SI 单位到单位的转换因子。逆用于从单位到 SI 单位的转换。
Tags: xml.sequenceOffset=30 | | `offsetSiToUnit` | Float / 0..1 / attr / 这是从和到 siUnits 的转换的偏移量。
Tags: xml.sequenceOffset=40 | | `physicalDimension` | PhysicalDimension / 0..1 / ref / 此关联表示该单位所属的物理维度。请注意,只有具有相同物理维度的单位的值才可能被转换。
Tags: xml.sequenceOffset=50 | --- ## 翻译说明 - 本文档为 **AUTOSAR ECU 资源模板规范**(TPS_ECUR)的完整中文翻译,包含全部 39 个规范条目(TPS_ECUR_01000 至 TPS_ECUR_01038)和 4 个约束(constr_3500、constr_3511、constr_3512、constr_3513)。 - AUTOSAR 方框符 `⌈⌋` 用于标识约束和 TPS 条目的起止,约束的 `d`/`c` 字符也予以保留。 - 规范条目 ID(如 `TPS_ECUR_01000`)和需求 ID(如 `RS_ECUR_00005`)保持英文。 - UML 类名(HwDescriptionEntity、HwType、HwElement、HwPinGroup、HwPin、HwAttributeValue、HwAttributeDef、HwCategory、ARElement、ARPackage、AUTOSAR、Describable、Identifiable、Referrable、Unit、Annotation、DocumentationBlock、AdminData 等)保持英文原样。 - UML 标签(Stereotypes、Tags、atpVariation、atpSplitable、atpSplitkey、atpBlueprint、atpBlueprintable、xml.sequenceOffset、vh.latestBindingTime、xml.roleElement、xml.roleWrapperElement、xml.attribute、xml.enforceMinMultiplicity、xml.globalElement、xml.typeElement 等)保持英文。 - ARXML 元素(``、``、``、``、`` 等)保留原始 XML 形式。 - 关键术语(Microcontroller、ProcessingUnit、MemorySegment、CommunicationController、CommunicationTransceiver、CommunicationPort、CAN、TTCAN、LIN、FlexRay、Ethernet、Spi、ADC、DIO、RAM、ROM、EEPROM、Flash、IEEE 754、ANSI/IEEE Std 854-1987、Boolean、Integer、Float、Enumeration、String、ARXML、UML、OCL 等)保持英文。 - 文档变更历史(附录 C)按 R4.0.1 vs R3.1.5、R4.0.2 vs R4.0.1、R4.0.3 vs R4.0.2、R4.1.1 vs R4.0.3 顺序完整翻译。 - 引用的类表(附录 D)包含 7 个类表(ARElement、ARPackage、AUTOSAR、Describable、Identifiable、Referrable、Unit),所有元模型字段(包、基类、子类、属性、Stereotypes、Tags)保留英文。