37 KiB
AUTOSAR_MOD_GeneralBlueprints 标准模板与基类规范
概述
本文档详细记录 AUTOSAR 4.4.0 Classic Platform 中 AUTOSAR_MOD_GeneralBlueprints 定义的标准化模板和基类。每个基类都提供完整的 ARXML 格式定义作为参考实现。
文档版本: 4.4.0
所属路径: MethodologyAndTemplates/AUTOSAR_MOD_GeneralBlueprints/
1. 基础数据类型 (SW-BASE-TYPE)
1.1 概述
基础数据类型位于 /AUTOSAR/Platform/BaseTypes_Blueprint/ 路径下,定义了 AUTOSAR 标准的基本数据类型。所有实现数据类型必须引用这些基类型。
1.2 标准基类型定义
1.2.1 boolean (布尔类型)
<SW-BASE-TYPE>
<SHORT-NAME>boolean</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">boolean</L-4>
</LONG-NAME>
<CATEGORY>FIXED_LENGTH</CATEGORY>
<BASE-TYPE-SIZE>8</BASE-TYPE-SIZE>
<BASE-TYPE-ENCODING>BOOLEAN</BASE-TYPE-ENCODING>
</SW-BASE-TYPE>
| 属性 | 值 | 说明 |
|---|---|---|
| SHORT-NAME | boolean | 类型名称 |
| CATEGORY | FIXED_LENGTH | 固定长度类型 |
| BASE-TYPE-SIZE | 8 | 位大小 |
| BASE-TYPE-ENCODING | BOOLEAN | 布尔编码 |
1.2.2 有符号整数类型
<SW-BASE-TYPE>
<SHORT-NAME>sint8</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">sint8</L-4>
</LONG-NAME>
<CATEGORY>FIXED_LENGTH</CATEGORY>
<BASE-TYPE-SIZE>8</BASE-TYPE-SIZE>
<BASE-TYPE-ENCODING>2C</BASE-TYPE-ENCODING>
</SW-BASE-TYPE>
<SW-BASE-TYPE>
<SHORT-NAME>sint16</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">sint16</L-4>
</LONG-NAME>
<CATEGORY>FIXED_LENGTH</CATEGORY>
<BASE-TYPE-SIZE>16</BASE-TYPE-SIZE>
<BASE-TYPE-ENCODING>2C</BASE-TYPE-ENCODING>
</SW-BASE-TYPE>
<SW-BASE-TYPE>
<SHORT-NAME>sint32</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">sint32</L-4>
</LONG-NAME>
<CATEGORY>FIXED_LENGTH</CATEGORY>
<BASE-TYPE-SIZE>32</BASE-TYPE-SIZE>
<BASE-TYPE-ENCODING>2C</BASE-TYPE-ENCODING>
</SW-BASE-TYPE>
<SW-BASE-TYPE>
<SHORT-NAME>sint64</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">sint64</L-4>
</LONG-NAME>
<CATEGORY>FIXED_LENGTH</CATEGORY>
<BASE-TYPE-SIZE>64</BASE-TYPE-SIZE>
<BASE-TYPE-ENCODING>2C</BASE-TYPE-ENCODING>
</SW-BASE-TYPE>
| 类型 | 大小 | 编码 | 范围 |
|---|---|---|---|
| sint8 | 8位 | 2C (二进制补码) | -128 ~ 127 |
| sint16 | 16位 | 2C | -32768 ~ 32767 |
| sint32 | 32位 | 2C | -2147483648 ~ 2147483647 |
| sint64 | 64位 | 2C | -9223372036854775808 ~ 9223372036854775807 |
1.2.3 无符号整数类型
<SW-BASE-TYPE>
<SHORT-NAME>uint8</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">uint8</L-4>
</LONG-NAME>
<CATEGORY>FIXED_LENGTH</CATEGORY>
<BASE-TYPE-SIZE>8</BASE-TYPE-SIZE>
<BASE-TYPE-ENCODING>NONE</BASE-TYPE-ENCODING>
</SW-BASE-TYPE>
<SW-BASE-TYPE>
<SHORT-NAME>uint16</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">uint16</L-4>
</LONG-NAME>
<CATEGORY>FIXED_LENGTH</CATEGORY>
<BASE-TYPE-SIZE>16</BASE-TYPE-SIZE>
<BASE-TYPE-ENCODING>NONE</BASE-TYPE-ENCODING>
</SW-BASE-TYPE>
<SW-BASE-TYPE>
<SHORT-NAME>uint32</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">uint32</L-4>
</LONG-NAME>
<CATEGORY>FIXED_LENGTH</CATEGORY>
<BASE-TYPE-SIZE>32</BASE-TYPE-SIZE>
<BASE-TYPE-ENCODING>NONE</BASE-TYPE-ENCODING>
</SW-BASE-TYPE>
<SW-BASE-TYPE>
<SHORT-NAME>uint64</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">uint64</L-4>
</LONG-NAME>
<CATEGORY>FIXED_LENGTH</CATEGORY>
<BASE-TYPE-SIZE>64</BASE-TYPE-SIZE>
<BASE-TYPE-ENCODING>NONE</BASE-TYPE-ENCODING>
</SW-BASE-TYPE>
| 类型 | 大小 | 编码 | 范围 |
|---|---|---|---|
| uint8 | 8位 | NONE | 0 ~ 255 |
| uint16 | 16位 | NONE | 0 ~ 65535 |
| uint32 | 32位 | NONE | 0 ~ 4294967295 |
| uint64 | 64位 | NONE | 0 ~ 18446744073709551615 |
1.2.4 浮点类型
<SW-BASE-TYPE>
<SHORT-NAME>float32</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">float32</L-4>
</LONG-NAME>
<CATEGORY>FIXED_LENGTH</CATEGORY>
<BASE-TYPE-SIZE>32</BASE-TYPE-SIZE>
<BASE-TYPE-ENCODING>IEEE754</BASE-TYPE-ENCODING>
</SW-BASE-TYPE>
<SW-BASE-TYPE>
<SHORT-NAME>float64</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">float64</L-4>
</LONG-NAME>
<CATEGORY>FIXED_LENGTH</CATEGORY>
<BASE-TYPE-SIZE>64</BASE-TYPE-SIZE>
<BASE-TYPE-ENCODING>IEEE754</BASE-TYPE-ENCODING>
</SW-BASE-TYPE>
| 类型 | 大小 | 编码 | 说明 |
|---|---|---|---|
| float32 | 32位 | IEEE754 | 单精度浮点 |
| float64 | 64位 | IEEE754 | 双精度浮点 |
2. 实现数据类型 (IMPLEMENTATION-DATA-TYPE)
2.1 平台数据类型
位于 /AUTOSAR/Platform/ImplementationDataTypes_Blueprint/。
2.1.1 简单值类型
<IMPLEMENTATION-DATA-TYPE>
<SHORT-NAME>uint8</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">uint8</L-4>
</LONG-NAME>
<CATEGORY>VALUE</CATEGORY>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<BASE-TYPE-REF DEST="SW-BASE-TYPE">/AUTOSAR/Platform/BaseTypes_Blueprint/uint8</BASE-TYPE-REF>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
<TYPE-EMITTER>Platform_Types.h</TYPE-EMITTER>
</IMPLEMENTATION-DATA-TYPE>
CATEGORY 类型说明:
VALUE: 直接值类型TYPE_REFERENCE: 类型引用(通过 SW-DATA-DEF-PROPS-CONDITIONAL 引用其他类型)STRUCTURE: 结构体类型DATA_REFERENCE: 数据引用
2.1.2 Std_ReturnType (标准返回类型)
<IMPLEMENTATION-DATA-TYPE>
<SHORT-NAME>Std_ReturnType</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">Standard Return Type</L-4>
</LONG-NAME>
<DESC>
<L-2 L="EN">This type can be used as standard API return type which is shared between the RTE and the BSW modules.</L-2>
</DESC>
<CATEGORY>TYPE_REFERENCE</CATEGORY>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<COMPU-METHOD-REF DEST="COMPU-METHOD">/AUTOSAR/Std/CompuMethods_Blueprint/Std_ReturnType</COMPU-METHOD-REF>
<IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR/Platform/ImplementationDataTypes_Blueprint/uint8</IMPLEMENTATION-DATA-TYPE-REF>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
<TYPE-EMITTER>Std_Types.h</TYPE-EMITTER>
</IMPLEMENTATION-DATA-TYPE>
Std_ReturnType 关联的 COMPU-METHOD:
<COMPU-METHOD>
<SHORT-NAME>Std_ReturnType</SHORT-NAME>
<CATEGORY>TEXTTABLE</CATEGORY>
<COMPU-INTERNAL-TO-PHYS>
<COMPU-SCALES>
<COMPU-SCALE>
<LOWER-LIMIT INTERVAL-TYPE="CLOSED">0</LOWER-LIMIT>
<UPPER-LIMIT INTERVAL-TYPE="CLOSED">0</UPPER-LIMIT>
<COMPU-CONST>
<VT>E_OK</VT>
</COMPU-CONST>
</COMPU-SCALE>
<COMPU-SCALE>
<LOWER-LIMIT INTERVAL-TYPE="CLOSED">1</LOWER-LIMIT>
<UPPER-LIMIT INTERVAL-TYPE="CLOSED">1</UPPER-LIMIT>
<COMPU-CONST>
<VT>E_NOT_OK</VT>
</COMPU-CONST>
</COMPU-SCALE>
</COMPU-SCALES>
</COMPU-INTERNAL-TO-PHYS>
</COMPU-METHOD>
2.1.3 Std_VersionInfoType (版本信息类型)
<IMPLEMENTATION-DATA-TYPE>
<SHORT-NAME>Std_VersionInfoType</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">Standard Version Info Type</L-4>
</LONG-NAME>
<DESC>
<L-2 L="EN">This type shall be used to request the version of a BSW module using the <Module name>_GetVersionInfo() function.</L-2>
</DESC>
<CATEGORY>STRUCTURE</CATEGORY>
<SUB-ELEMENTS>
<IMPLEMENTATION-DATA-TYPE-ELEMENT>
<SHORT-NAME>vendorID</SHORT-NAME>
<CATEGORY>TYPE_REFERENCE</CATEGORY>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR/Platform/ImplementationDataTypes_Blueprint/uint16</IMPLEMENTATION-DATA-TYPE-REF>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
</IMPLEMENTATION-DATA-TYPE-ELEMENT>
<IMPLEMENTATION-DATA-TYPE-ELEMENT>
<SHORT-NAME>moduleID</SHORT-NAME>
<CATEGORY>TYPE_REFERENCE</CATEGORY>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR/Platform/ImplementationDataTypes_Blueprint/uint16</IMPLEMENTATION-DATA-TYPE-REF>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
</IMPLEMENTATION-DATA-TYPE-ELEMENT>
<IMPLEMENTATION-DATA-TYPE-ELEMENT>
<SHORT-NAME>sw_major_version</SHORT-NAME>
<CATEGORY>TYPE_REFERENCE</CATEGORY>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR/Platform/ImplementationDataTypes_Blueprint/uint8</IMPLEMENTATION-DATA-TYPE-REF>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
</IMPLEMENTATION-DATA-TYPE-ELEMENT>
<IMPLEMENTATION-DATA-TYPE-ELEMENT>
<SHORT-NAME>sw_minor_version</SHORT-NAME>
<CATEGORY>TYPE_REFERENCE</CATEGORY>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR/Platform/ImplementationDataTypes_Blueprint/uint8</IMPLEMENTATION-DATA-TYPE-REF>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
</IMPLEMENTATION-DATA-TYPE-ELEMENT>
<IMPLEMENTATION-DATA-TYPE-ELEMENT>
<SHORT-NAME>sw_patch_version</SHORT-NAME>
<CATEGORY>TYPE_REFERENCE</CATEGORY>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR/Platform/ImplementationDataTypes_Blueprint/uint8</IMPLEMENTATION-DATA-TYPE-REF>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
</IMPLEMENTATION-DATA-TYPE-ELEMENT>
</SUB-ELEMENTS>
<TYPE-EMITTER>Std_Types.h</TYPE-EMITTER>
</IMPLEMENTATION-DATA-TYPE>
3. 数据约束 (DATA-CONSTR)
3.1 概述
数据约束定义数值的有效范围,位于各模块的 DataConstrs_Blueprint 子包中。
3.2 约束结构
<DATA-CONSTR>
<SHORT-NAME>Adc_ChannelRangeSelectType</SHORT-NAME>
<DATA-CONSTR-RULES>
<DATA-CONSTR-RULE>
<INTERNAL-CONSTRS>
<LOWER-LIMIT>0</LOWER-LIMIT>
<UPPER-LIMIT>6</UPPER-LIMIT>
</INTERNAL-CONSTRS>
</DATA-CONSTR-RULE>
</DATA-CONSTR-RULES>
</DATA-CONSTR>
3.3 带 Blueprint 值的约束
<DATA-CONSTR>
<SHORT-NAME>NetworkHandleType</SHORT-NAME>
<DATA-CONSTR-RULES>
<DATA-CONSTR-RULE>
<INTERNAL-CONSTRS>
<LOWER-LIMIT BLUEPRINT-VALUE="min 0">undefined</LOWER-LIMIT>
<UPPER-LIMIT BLUEPRINT-VALUE="max 255">undefined</UPPER-LIMIT>
</INTERNAL-CONSTRS>
</DATA-CONSTR-RULE>
</DATA-CONSTR-RULES>
</DATA-CONSTR>
3.4 ComM 模块约束示例
<DATA-CONSTR>
<SHORT-NAME>ComM_InhibitionStatusType</SHORT-NAME>
<DATA-CONSTR-RULES>
<DATA-CONSTR-RULE>
<INTERNAL-CONSTRS>
<LOWER-LIMIT>0x00</LOWER-LIMIT>
<UPPER-LIMIT>0x03</UPPER-LIMIT>
</INTERNAL-CONSTRS>
</DATA-CONSTR-RULE>
</DATA-CONSTR-RULES>
</DATA-CONSTR>
4. 计算方法 (COMPU-METHOD)
4.1 概述
计算方法定义内部值与物理值之间的转换关系,位于各模块的 CompuMethods_Blueprint 子包中。
4.2 TEXTTABLE 类型
<COMPU-METHOD>
<SHORT-NAME>ComM_InhibitionStatusType</SHORT-NAME>
<CATEGORY>BITFIELD_TEXTTABLE</CATEGORY>
<BLUEPRINT-POLICYS>
<BLUEPRINT-POLICY-NOT-MODIFIABLE>
<ATTRIBUTE-NAME>COMPU-INTERNAL-TO-PHYS</ATTRIBUTE-NAME>
</BLUEPRINT-POLICY-NOT-MODIFIABLE>
</BLUEPRINT-POLICYS>
<COMPU-INTERNAL-TO-PHYS>
<COMPU-SCALES>
<COMPU-SCALE>
<LOWER-LIMIT INTERVAL-TYPE="CLOSED">0</LOWER-LIMIT>
<UPPER-LIMIT INTERVAL-TYPE="CLOSED">0</UPPER-LIMIT>
<COMPU-CONST>
<VT>BCM_NO_INHIBITION</VT>
</COMPU-CONST>
</COMPU-SCALE>
<COMPU-SCALE>
<LOWER-LIMIT INTERVAL-TYPE="CLOSED">1</LOWER-LIMIT>
<UPPER-LIMIT INTERVAL-TYPE="CLOSED">1</UPPER-LIMIT>
<COMPU-CONST>
<VT>BCM_INHIBIT_ALL</VT>
</COMPU-CONST>
</COMPU-SCALE>
<COMPU-SCALE>
<LOWER-LIMIT INTERVAL-TYPE="CLOSED">2</LOWER-LIMIT>
<UPPER-LIMIT INTERVAL-TYPE="CLOSED">2</UPPER-LIMIT>
<COMPU-CONST>
<VT>BCM_INHIBIT_WAKEUP</VT>
</COMPU-CONST>
</COMPU-SCALE>
<COMPU-SCALE>
<LOWER-LIMIT INTERVAL-TYPE="CLOSED">3</LOWER-LIMIT>
<UPPER-LIMIT INTERVAL-TYPE="CLOSED">3</UPPER-LIMIT>
<COMPU-CONST>
<VT>BCM_INHIBIT_BUSY</VT>
</COMPU-CONST>
</COMPU-SCALE>
</COMPU-SCALES>
</COMPU-INTERNAL-TO-PHYS>
</COMPU-METHOD>
4.3 boolean 类型的 COMPU-METHOD
<COMPU-METHOD>
<SHORT-NAME>boolean</SHORT-NAME>
<CATEGORY>TEXTTABLE</CATEGORY>
<BLUEPRINT-POLICYS>
<BLUEPRINT-POLICY-NOT-MODIFIABLE>
<ATTRIBUTE-NAME>COMPU-INTERNAL-TO-PHYS</ATTRIBUTE-NAME>
</BLUEPRINT-POLICY-NOT-MODIFIABLE>
</BLUEPRINT-POLICYS>
<COMPU-INTERNAL-TO-PHYS>
<COMPU-SCALES>
<COMPU-SCALE>
<LOWER-LIMIT INTERVAL-TYPE="CLOSED">0</LOWER-LIMIT>
<UPPER-LIMIT INTERVAL-TYPE="CLOSED">0</UPPER-LIMIT>
<COMPU-CONST>
<VT>FALSE</VT>
</COMPU-CONST>
</COMPU-SCALE>
<COMPU-SCALE>
<LOWER-LIMIT INTERVAL-TYPE="CLOSED">1</LOWER-LIMIT>
<UPPER-LIMIT INTERVAL-TYPE="CLOSED">1</UPPER-LIMIT>
<COMPU-CONST>
<VT>TRUE</VT>
</COMPU-CONST>
</COMPU-SCALE>
</COMPU-SCALES>
</COMPU-INTERNAL-TO-PHYS>
</COMPU-METHOD>
4.4 CATEGORY 类型说明
| CATEGORY | 说明 | 用途 |
|---|---|---|
| TEXTTABLE | 文本表 | 离散值的文字描述 |
| BITFIELD_TEXTTABLE | 位域文本表 | 按位定义的离散值 |
| LINEAR | 线性转换 | 物理值 = 系数 × 内部值 |
| RAT_FUNC | 有理函数 | 高级数学转换 |
| IDENTICAL | 恒等转换 | 内部值 = 物理值 |
5. 单位系统 (UNIT)
5.1 概述
单位定义位于 /AUTOSAR/AUTOSAR_PhysicalUnits/Units_Blueprints/。
5.2 单位 ARXML 结构
<UNIT>
<SHORT-NAME>Volt</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">Volt</L-4>
</LONG-NAME>
<DISPLAY-NAME>V</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">Len2M1TiNeg3INeg1</PHYSICAL-DIMENSION-REF>
</UNIT>
5.3 常用单位定义
5.3.1 电气单位
<UNIT>
<SHORT-NAME>Ampr</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Ampere</L-4></LONG-NAME>
<DISPLAY-NAME>A</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">I1</PHYSICAL-DIMENSION-REF>
</UNIT>
<UNIT>
<SHORT-NAME>Volt</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Volt</L-4></LONG-NAME>
<DISPLAY-NAME>V</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">Len2M1TiNeg3INeg1</PHYSICAL-DIMENSION-REF>
</UNIT>
<UNIT>
<SHORT-NAME>Ohm</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Ohm</L-4></LONG-NAME>
<DISPLAY-NAME>Ω</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">Len2M1TiNeg3INeg2</PHYSICAL-DIMENSION-REF>
</UNIT>
<UNIT>
<SHORT-NAME>Farad</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Farad</L-4></LONG-NAME>
<DISPLAY-NAME>F</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">LenNeg2MNeg1Ti4I2</PHYSICAL-DIMENSION-REF>
</UNIT>
5.3.2 机械单位
<UNIT>
<SHORT-NAME>Mtr</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Meter</L-4></LONG-NAME>
<DISPLAY-NAME>m</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">Len1</PHYSICAL-DIMENSION-REF>
</UNIT>
<UNIT>
<SHORT-NAME>MtrPerSec</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Meter Per Second</L-4></LONG-NAME>
<DISPLAY-NAME>m/s</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">Len1TiNeg1</PHYSICAL-DIMENSION-REF>
</UNIT>
<UNIT>
<SHORT-NAME>Rpm</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Revolutions Per Minute</L-4></LONG-NAME>
<DISPLAY-NAME>rpm</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>60.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">TiNeg1_2</PHYSICAL-DIMENSION-REF>
</UNIT>
<UNIT>
<SHORT-NAME>NwtMtr</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Newtonmeter</L-4></LONG-NAME>
<DISPLAY-NAME>Nm</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">Len2M1TiNeg2</PHYSICAL-DIMENSION-REF>
</UNIT>
5.3.3 时间与频率单位
<UNIT>
<SHORT-NAME>Sec</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Second</L-4></LONG-NAME>
<DISPLAY-NAME>s</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">Ti1</PHYSICAL-DIMENSION-REF>
</UNIT>
<UNIT>
<SHORT-NAME>Hz</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Hertz</L-4></LONG-NAME>
<DISPLAY-NAME>Hz</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">TiNeg1</PHYSICAL-DIMENSION-REF>
</UNIT>
<UNIT>
<SHORT-NAME>MilliSec</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Millisecond</L-4></LONG-NAME>
<DISPLAY-NAME>ms</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1000.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">Ti1</PHYSICAL-DIMENSION-REF>
</UNIT>
5.3.4 温度单位
<UNIT>
<SHORT-NAME>DegCgrd</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Degree Celsius (Absolute Temperature)</L-4></LONG-NAME>
<DISPLAY-NAME>°C</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>-273.15</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">T1</PHYSICAL-DIMENSION-REF>
</UNIT>
<UNIT>
<SHORT-NAME>KelvinAbslt</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Kelvin (Absolute Temperature)</L-4></LONG-NAME>
<DISPLAY-NAME>K</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">T1</PHYSICAL-DIMENSION-REF>
</UNIT>
5.3.5 功率与能量单位
<UNIT>
<SHORT-NAME>Watt</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Watt</L-4></LONG-NAME>
<DISPLAY-NAME>W</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">Len2M1TiNeg3_1</PHYSICAL-DIMENSION-REF>
</UNIT>
<UNIT>
<SHORT-NAME>Jou</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Joule</L-4></LONG-NAME>
<DISPLAY-NAME>J</DISPLAY-NAME>
<FACTOR-SI-TO-UNIT>1.0</FACTOR-SI-TO-UNIT>
<OFFSET-SI-TO-UNIT>0.0</OFFSET-SI-TO-UNIT>
<PHYSICAL-DIMENSION-REF BASE="PhysicalDimensions" DEST="PHYSICAL-DIMENSION">Len2M1TiNeg2_1</PHYSICAL-DIMENSION-REF>
</UNIT>
6. 物理维度 (PHYSICAL-DIMENSION)
6.1 概述
物理维度定义位于 /AUTOSAR/AUTOSAR_PhysicalUnits/PhysicalDimensions_Blueprints/。
6.2 维度 ARXML 结构
<PHYSICAL-DIMENSION>
<SHORT-NAME>Len1M1TiNeg2</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Force</L-4></LONG-NAME>
<LENGTH-EXP>1</LENGTH-EXP>
<MASS-EXP>1</MASS-EXP>
<TIME-EXP>-2</TIME-EXP>
<CURRENT-EXP>0</CURRENT-EXP>
<TEMPERATURE-EXP>0</TEMPERATURE-EXP>
<MOLAR-AMOUNT-EXP>0</MOLAR-AMOUNT-EXP>
<LUMINOUS-INTENSITY-EXP>0</LUMINOUS-INTENSITY-EXP>
</PHYSICAL-DIMENSION>
6.3 标准物理维度定义
| 维度名称 | 物理意义 | LEN | MASS | TIME | CURRENT | TEMP | MOLAR | LUM |
|---|---|---|---|---|---|---|---|---|
| Len1 | 长度 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| M1 | 质量 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| Ti1 | 时间 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| I1 | 电流 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| T1 | 绝对温度 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Amnt1 | 物质的量 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| Illmn1 | 发光强度 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| Len1TiNeg1 | 速度 | 1 | 0 | -1 | 0 | 0 | 0 | 0 |
| Len1TiNeg2 | 加速度 | 1 | 0 | -2 | 0 | 0 | 0 | 0 |
| Len2 | 面积 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
| Len2M1TiNeg2 | 扭矩 | 2 | 1 | -2 | 0 | 0 | 0 | 0 |
| Len2M1TiNeg3INeg1 | 电压 | 2 | 1 | -3 | -1 | 0 | 0 | 0 |
| Len2M1TiNeg3_1 | 功率 | 2 | 1 | -3 | 0 | 0 | 0 | 0 |
| Len3 | 体积 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
| LenNeg1M1TiNeg2 | 压强 | -1 | 1 | -2 | 0 | 0 | 0 | 0 |
| M1TiNeg1 | 质量流量 | 0 | 1 | -1 | 0 | 0 | 0 | 0 |
| NoDimension | 无量纲 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| NoDimension_1 | 比值/百分比 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| NoDimension_2 | 角度 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| TiNeg1 | 频率 | 0 | 0 | -1 | 0 | 0 | 0 | 0 |
| TiNeg1_2 | 转速 | 0 | 0 | -1 | 0 | 0 | 0 | 0 |
6.4 详细 ARXML 示例
<PHYSICAL-DIMENSION>
<SHORT-NAME>Len1TiNeg1</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Velocity</L-4></LONG-NAME>
<LENGTH-EXP>1</LENGTH-EXP>
<MASS-EXP>0</MASS-EXP>
<TIME-EXP>-1</TIME-EXP>
<CURRENT-EXP>0</CURRENT-EXP>
<TEMPERATURE-EXP>0</TEMPERATURE-EXP>
<MOLAR-AMOUNT-EXP>0</MOLAR-AMOUNT-EXP>
<LUMINOUS-INTENSITY-EXP>0</LUMINOUS-INTENSITY-EXP>
</PHYSICAL-DIMENSION>
<PHYSICAL-DIMENSION>
<SHORT-NAME>Len2M1TiNeg2</SHORT-NAME>
<LONG-NAME><L-4 L="EN">Torque</L-4></LONG-NAME>
<LENGTH-EXP>2</LENGTH-EXP>
<MASS-EXP>1</MASS-EXP>
<TIME-EXP>-2</TIME-EXP>
<CURRENT-EXP>0</CURRENT-EXP>
<TEMPERATURE-EXP>0</TEMPERATURE-EXP>
<MOLAR-AMOUNT-EXP>0</MOLAR-AMOUNT-EXP>
<LUMINOUS-INTENSITY-EXP>0</LUMINOUS-INTENSITY-EXP>
</PHYSICAL-DIMENSION>
7. BSW 模块条目 (BSW-MODULE-ENTRY)
7.1 概述
BSW 模块条目定义位于 /AUTOSAR/{Module}/BswModuleEntrys_Blueprint/。
7.2 模块条目 ARXML 结构
<BSW-MODULE-ENTRY>
<SHORT-NAME>Adc_DeInit</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">Adc_DeInit</L-4>
</LONG-NAME>
<DESC>
<L-2 L="EN">Returns all ADC HW Units to a state comparable to their power on reset state.</L-2>
</DESC>
<SERVICE-ID>0x01</SERVICE-ID>
<IS-REENTRANT>false</IS-REENTRANT>
<IS-SYNCHRONOUS>true</IS-SYNCHRONOUS>
<CALL-TYPE>REGULAR</CALL-TYPE>
<BSW-ENTRY-KIND>CONCRETE</BSW-ENTRY-KIND>
</BSW-MODULE-ENTRY>
7.3 带参数的模块条目
<BSW-MODULE-ENTRY>
<SHORT-NAME>Adc_DisableGroupNotification</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">Adc_DisableGroupNotification</L-4>
</LONG-NAME>
<DESC>
<L-2 L="EN">Disables the notification mechanism for the requested ADC Channel group.</L-2>
</DESC>
<SERVICE-ID>0x08</SERVICE-ID>
<IS-REENTRANT>true</IS-REENTRANT>
<IS-SYNCHRONOUS>false</IS-SYNCHRONOUS>
<CALL-TYPE>REGULAR</CALL-TYPE>
<BSW-ENTRY-KIND>CONCRETE</BSW-ENTRY-KIND>
<ARGUMENTS>
<SW-SERVICE-ARG>
<SHORT-NAME>Group</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">Group</L-4>
</LONG-NAME>
<DESC>
<L-2 L="EN">Numeric ID of requested ADC Channel group.</L-2>
</DESC>
<DIRECTION>IN</DIRECTION>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR/Adc/ImplementationDataTypes_Blueprint/Adc_GroupType</IMPLEMENTATION-DATA-TYPE-REF>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
</SW-SERVICE-ARG>
</ARGUMENTS>
</BSW-MODULE-ENTRY>
7.4 关键属性说明
| 属性 | 说明 | 可能的值 |
|---|---|---|
| SERVICE-ID | 服务标识符 | 十六进制值 (如 0x01, 0x08) |
| IS-REENTRANT | 是否可重入 | true, false |
| IS-SYNCHRONOUS | 是否同步 | true, false |
| CALL-TYPE | 调用类型 | REGULAR, CYCLIC, ERROR_HOOK, etc. |
| BSW-ENTRY-KIND | 条目类型 | CONCRETE, ABSTRACT |
| DIRECTION | 参数方向 | IN, OUT, INOUT |
8. 客户端-服务器接口 (CLIENT-SERVER-INTERFACE)
8.1 概述
服务接口定义位于 /AUTOSAR/{Module}/ClientServerInterfaces_Blueprint/。
8.2 接口 ARXML 结构
<CLIENT-SERVER-INTERFACE>
<SHORT-NAME>V2xM_GeoMath</SHORT-NAME>
<LONG-NAME>
<L-4 L="EN">V2xM Geographic Mathematics Interface</L-4>
</LONG-NAME>
<IS-SERVICE>false</IS-SERVICE>
<POSSIBLE-ERRORS>
<APPLICATION-ERROR>
<SHORT-NAME>E_OK</SHORT-NAME>
<ERROR-CODE>0</ERROR-CODE>
</APPLICATION-ERROR>
<APPLICATION-ERROR>
<SHORT-NAME>E_NOT_OK</SHORT-NAME>
<ERROR-CODE>1</ERROR-CODE>
</APPLICATION-ERROR>
</POSSIBLE-ERRORS>
<OPERATIONS>
<CLIENT-SERVER-OPERATION>
<SHORT-NAME>CalculateDistance</SHORT-NAME>
<ARGUMENTS>
<ARGUMENT-DATA-PROTOTYPE>
<SHORT-NAME>Latitude1</SHORT-NAME>
<TYPE-TREF DEST="APPLICATION-DATA-TYPE">Latitude</TYPE-TREF>
<DIRECTION>IN</DIRECTION>
</ARGUMENT-DATA-PROTOTYPE>
<ARGUMENT-DATA-PROTOTYPE>
<SHORT-NAME>Longitude1</SHORT-NAME>
<TYPE-TREF DEST="APPLICATION-DATA-TYPE">Longitude</TYPE-TREF>
<DIRECTION>IN</DIRECTION>
</ARGUMENT-DATA-PROTOTYPE>
<ARGUMENT-DATA-PROTOTYPE>
<SHORT-NAME>Latitude2</SHORT-NAME>
<TYPE-TREF DEST="APPLICATION-DATA-TYPE">Latitude</TYPE-TREF>
<DIRECTION>IN</DIRECTION>
</ARGUMENT-DATA-PROTOTYPE>
<ARGUMENT-DATA-PROTOTYPE>
<SHORT-NAME>Longitude2</SHORT-NAME>
<TYPE-TREF DEST="APPLICATION-DATA-TYPE">Longitude</TYPE-TREF>
<DIRECTION>IN</DIRECTION>
</ARGUMENT-DATA-PROTOTYPE>
<ARGUMENT-DATA-PROTOTYPE>
<SHORT-NAME>Distance</SHORT-NAME>
<TYPE-TREF DEST="APPLICATION-DATA-TYPE">Distance</TYPE-TREF>
<DIRECTION>OUT</DIRECTION>
</ARGUMENT-DATA-PROTOTYPE>
</ARGUMENTS>
</CLIENT-SERVER-OPERATION>
</OPERATIONS>
</CLIENT-SERVER-INTERFACE>
9. 记录布局 (SW-RECORD-LAYOUT)
9.1 概述
记录布局定义位于 /AUTOSAR/GenDef/SwRecordLayouts_Blueprint/。
9.2 简单值布局 (ValBlk)
<SW-RECORD-LAYOUT>
<SHORT-NAME NAME-PATTERN="{blueprintName}">Val_f32</SHORT-NAME>
<SW-RECORD-LAYOUT-GROUP>
<SHORT-LABEL NAME-PATTERN="{blueprintName}">Val</SHORT-LABEL>
<SW-RECORD-LAYOUT-V>
<BASE-TYPE-REF DEST="SW-BASE-TYPE">/AUTOSAR/Platform/BaseTypes_Blueprint/float32</BASE-TYPE-REF>
<SW-RECORD-LAYOUT-V-AXIS>0</SW-RECORD-LAYOUT-V-AXIS>
<SW-RECORD-LAYOUT-V-PROP>VALUE</SW-RECORD-LAYOUT-V-PROP>
</SW-RECORD-LAYOUT-V>
</SW-RECORD-LAYOUT-GROUP>
</SW-RECORD-LAYOUT>
9.3 数组值布局 (ValBlk_*)
<SW-RECORD-LAYOUT>
<SHORT-NAME NAME-PATTERN="ValBlk_{Data}_{Type}">ValBlk_u8_6</SHORT-NAME>
<SW-RECORD-LAYOUT-GROUP>
<SHORT-LABEL NAME-PATTERN="{Data}">ValBlk</SHORT-LABEL>
<CATEGORY>COLUMN_DIR</CATEGORY>
<NUMBER-OF-AXIS>1</NUMBER-OF-AXIS>
<SW-RECORD-LAYOUT-V-AXIS-PLUS-PARAM>
<SW-RECORD-LAYOUT-V-AXIS-PARAM>
<SHORT-LABEL>axis</SHORT-LABEL>
<CATEGORY>FIXED_AXIS</CATEGORY>
<SW-RECORD-LAYOUT-V>
<BASE-TYPE-REF DEST="SW-BASE-TYPE">/AUTOSAR/Platform/BaseTypes_Blueprint/uint8</BASE-TYPE-REF>
</SW-RECORD-LAYOUT-V>
<SW-RECORD-LAYOUT-V-AXIS>1</SW-RECORD-LAYOUT-V-AXIS>
</SW-RECORD-LAYOUT-V-AXIS-PARAM>
</SW-RECORD-LAYOUT-V-AXIS-PLUS-PARAM>
<SW-RECORD-LAYOUT-V>
<BASE-TYPE-REF DEST="SW-BASE-TYPE">/AUTOSAR/Platform/BaseTypes_Blueprint/uint8</BASE-TYPE-REF>
<SW-RECORD-LAYOUT-V-AXIS>0</SW-RECORD-LAYOUT-V-AXIS>
<SW-RECORD-LAYOUT-V-PROP>VALUE</SW-RECORD-LAYOUT-V-PROP>
</SW-RECORD-LAYOUT-V>
</SW-RECORD-LAYOUT-GROUP>
</SW-RECORD-LAYOUT>
9.4 立方体布局 (Cuboid)
<SW-RECORD-LAYOUT>
<SHORT-NAME>Cuboid_s16s16s16_s16</SHORT-NAME>
<SW-RECORD-LAYOUT-GROUP>
<SHORT-LABEL>Cuboid</SHORT-LABEL>
<CATEGORY>INDEX_INCR</CATEGORY>
<NUMBER-OF-AXIS>1</NUMBER-OF-AXIS>
<SW-RECORD-LAYOUT-V-AXIS-PLUS-PARAM>
<SW-RECORD-LAYOUT-V-AXIS-PARAM>
<SHORT-LABEL>X</SHORT-LABEL>
<CATEGORY>STANDARD_AXIS</CATEGORY>
<AXIS-INDEX-DESCR-REF DEST="SW-RECORD-LAYOUT">/AUTOSAR/Ifx/SwRecordLayouts_Blueprint/Curve_X_s16</SW-RECORD-LAYOUT-REF>
<SW-RECORD-LAYOUT-V>
<BASE-TYPE-REF DEST="SW-BASE-TYPE">/AUTOSAR/Platform/BaseTypes_Blueprint/sint16</BASE-TYPE-REF>
</SW-RECORD-LAYOUT-V>
<SW-RECORD-LAYOUT-V-AXIS>1</SW-RECORD-LAYOUT-V-AXIS>
</SW-RECORD-LAYOUT-V-AXIS-PARAM>
<SW-RECORD-LAYOUT-V-AXIS-PARAM>
<SHORT-LABEL>Y</SHORT-LABEL>
<CATEGORY>STANDARD_AXIS</CATEGORY>
<AXIS-INDEX-DESCR-REF DEST="SW-RECORD-LAYOUT">/AUTOSAR/Ifx/SwRecordLayouts_Blueprint/Curve_X_s16</SW-RECORD-LAYOUT-REF>
<SW-RECORD-LAYOUT-V>
<BASE-TYPE-REF DEST="SW-BASE-TYPE">/AUTOSAR/Platform/BaseTypes_Blueprint/sint16</BASE-TYPE-REF>
</SW-RECORD-LAYOUT-V>
<SW-RECORD-LAYOUT-V-AXIS>2</SW-RECORD-LAYOUT-V-AXIS>
</SW-RECORD-LAYOUT-V-AXIS-PARAM>
<SW-RECORD-LAYOUT-V-AXIS-PARAM>
<SHORT-LABEL>Z</SHORT-LABEL>
<CATEGORY>STANDARD_AXIS</CATEGORY>
<AXIS-INDEX-DESCR-REF DEST="SW-RECORD-LAYOUT">/AUTOSAR/Ifx/SwRecordLayouts_Blueprint/Curve_X_s16</SW-RECORD-LAYOUT-REF>
<SW-RECORD-LAYOUT-V>
<BASE-TYPE-REF DEST="SW-BASE-TYPE">/AUTOSAR/Platform/BaseTypes_Blueprint/sint16</BASE-TYPE-REF>
</SW-RECORD-LAYOUT-V>
<SW-RECORD-LAYOUT-V-AXIS>3</SW-RECORD-LAYOUT-V-AXIS>
</SW-RECORD-LAYOUT-V-AXIS-PARAM>
</SW-RECORD-LAYOUT-V-AXIS-PLUS-PARAM>
<SW-RECORD-LAYOUT-V>
<BASE-TYPE-REF DEST="SW-BASE-TYPE">/AUTOSAR/Platform/BaseTypes_Blueprint/sint16</BASE-TYPE-REF>
<SW-RECORD-LAYOUT-V-AXIS>0</SW-RECORD-LAYOUT-V-AXIS>
<SW-RECORD-LAYOUT-V-PROP>VALUE</SW-RECORD-LAYOUT-V-PROP>
</SW-RECORD-LAYOUT-V>
</SW-RECORD-LAYOUT-GROUP>
</SW-RECORD-LAYOUT>
9.5 记录布局属性说明
| 属性 | 说明 | 可能的值 |
|---|---|---|
| CATEGORY | 布局类别 | COLUMN_DIR, ROW_DIR, INDEX_INCR |
| SW-RECORD-LAYOUT-V-AXIS | 轴索引 | 0, 1, 2, 3 |
| SW-RECORD-LAYOUT-V-PROP | 值属性 | VALUE, CURVE_AXIS |
| NUMBER-OF-AXIS | 轴数量 | 1, 2, 3 |
10. 插值算法映射 (INTERPOLATION-ROUTINE-MAPPING-SET)
10.1 概述
插值映射定义位于 /AUTOSAR/Ifl/InterpolationRoutineMappingSets_Blueprint/。
10.2 IFL 插值映射
<INTERPOLATION-ROUTINE-MAPPING-SET>
<SHORT-NAME>Ifl_Mappings</SHORT-NAME>
<INTERPOLATION-ROUTINE-MAPPINGS>
<INTERPOLATION-ROUTINE-MAPPING>
<SHORT-NAME>DPSearch_f32__Distr_f32</SHORT-NAME>
<INTERPOLATION-ROUTINE-REF DEST="BSW-MODULE-ENTRY">/AUTOSAR/RbaRpm_Ifl/BswModuleEntrys_Blueprint/DPSearch_f32</INTERPOLATION-ROUTINE-REF>
<SW-RECORD-LAYOUT-REF DEST="SW-RECORD-LAYOUT">/AUTOSAR/Ifl/SwRecordLayouts_Blueprint/Distr_f32</SW-RECORD-LAYOUT-REF>
</INTERPOLATION-ROUTINE-MAPPING>
<INTERPOLATION-ROUTINE-MAPPING>
<SHORT-NAME>IntIpoCur_f32_f32__IntCurve_f32_f32</SHORT-NAME>
<INTERPOLATION-ROUTINE-REF DEST="BSW-MODULE-ENTRY">/AUTOSAR/RbaRpm_Ifl/BswModuleEntrys_Blueprint/IntIpoCur_f32_f32</INTERPOLATION-ROUTINE-REF>
<SW-RECORD-LAYOUT-REF DEST="SW-RECORD-LAYOUT">/AUTOSAR/Ifl/SwRecordLayouts_Blueprint/IntCurve_f32_f32</SW-RECORD-LAYOUT-REF>
</INTERPOLATION-ROUTINE-MAPPING>
<INTERPOLATION-ROUTINE-MAPPING>
<SHORT-NAME>IntIpoMap_f32f32_f32__IntMap_f32f32_f32</SHORT-NAME>
<INTERPOLATION-ROUTINE-REF DEST="BSW-MODULE-ENTRY">/AUTOSAR/RbaRpm_Ifl/BswModuleEntrys_Blueprint/IntIpoMap_f32f32_f32</INTERPOLATION-ROUTINE-REF>
<SW-RECORD-LAYOUT-REF DEST="SW-RECORD-LAYOUT">/AUTOSAR/Ifl/SwRecordLayouts_Blueprint/IntMap_f32f32_f32</SW-RECORD-LAYOUT-REF>
</INTERPOLATION-ROUTINE-MAPPING>
</INTERPOLATION-ROUTINE-MAPPINGS>
</INTERPOLATION-ROUTINE-MAPPING-SET>
11. 接口到模块条目映射
11.1 概述
接口映射定义位于 /AUTOSAR/{Module}/Mapping_Blueprint/。
11.2 映射 ARXML 结构
<CLIENT-SERVER-INTERFACE-TO-BSW-MODULE-ENTRY-BLUEPRINT-MAPPING>
<SHORT-NAME>ClearDTC__Mapping</SHORT-NAME>
<CLIENT-SERVER-INTERFACE-REF DEST="CLIENT-SERVER-INTERFACE">/AUTOSAR/Dem/ClientServerInterfaces_Blueprint/ClearDTC</CLIENT-SERVER-INTERFACE-REF>
<OPERATION-MAPPINGS>
<CLIENT-SERVER-OPERATION-BLUEPRINT-MAPPING>
<BSW-MODULE-ENTRY-REF DEST="BSW-MODULE-ENTRY">/AUTOSAR/Dem/BswModuleEntrys_Blueprint/Dem_ClearDTC</BSW-MODULE-ENTRY-REF>
<CLIENT-SERVER-OPERATION-REF DEST="CLIENT-SERVER-OPERATION">/AUTOSAR/Dem/ClientServerInterfaces_Blueprint/ClearDTC/ClearDTC</CLIENT-SERVER-OPERATION-REF>
</CLIENT-SERVER-OPERATION-BLUEPRINT-MAPPING>
</OPERATION-MAPPINGS>
</CLIENT-SERVER-INTERFACE-TO-BSW-MODULE-ENTRY-BLUEPRINT-MAPPING>
12. Blueprint 策略
12.1 BLUEPRINT-POLICY-SINGLE
用于单一属性的可衍生规则:
<BLUEPRINT-POLICY-SINGLE>
<ATTRIBUTE-NAME>SHORT-NAME</ATTRIBUTE-NAME>
<BLUEPRINT-DERIVATION-GUIDE>
<P><L-1 L="EN">The name part {safety} shall contain the safety integrity level...</L-1></P>
</BLUEPRINT-DERIVATION-GUIDE>
</BLUEPRINT-POLICY-SINGLE>
12.2 BLUEPRINT-POLICY-NOT-MODIFIABLE
用于标记不可修改的属性:
<BLUEPRINT-POLICY-NOT-MODIFIABLE>
<ATTRIBUTE-NAME>COMPU-INTERNAL-TO-PHYS</ATTRIBUTE-NAME>
</BLUEPRINT-POLICY-NOT-MODIFIABLE>
12.3 BLUEPRINT-CONDITION
用于定义条件性 Blueprint:
<VARIATION-POINT>
<BLUEPRINT-CONDITION>
<VERBATIM>
<L-5 L="EN">Optional</L-5>
</VERBATIM>
</BLUEPRINT-CONDITION>
</VARIATION-POINT>
13. 文件清单
| 文件名 | 描述 |
|---|---|
| AUTOSAR_MOD_BswDataTypes_Blueprint.arxml | BSW 数据类型 Blueprint |
| AUTOSAR_MOD_BswModuleEntrys_Blueprint.arxml | BSW 模块条目 Blueprint |
| AUTOSAR_MOD_BswServiceDataTypes_Blueprint.arxml | BSW 服务数据类型 Blueprint |
| AUTOSAR_MOD_BswServiceInterfaces_Blueprint.arxml | BSW 服务接口 Blueprint |
| AUTOSAR_MOD_BswServiceInterfacesMapping_Blueprint.arxml | BSW 服务接口映射 Blueprint |
| AUTOSAR_MOD_CommonDataTypes_Blueprint.arxml | 通用数据类型 Blueprint |
| AUTOSAR_MOD_Cube_SwRecordLayout_Blueprint.arxml | 立方体记录布局 Blueprint |
| AUTOSAR_MOD_IFL_RecordLayout_Blueprint.arxml | IFL 记录布局 Blueprint |
| AUTOSAR_MOD_IFX_RecordLayout_Blueprint.arxml | IFX 记录布局 Blueprint |
| AUTOSAR_MOD_MemoryMapping_SwAddrMethods_Blueprint.arxml | 内存映射地址方法 Blueprint |
| AUTOSAR_MOD_PhysicalDimensions_Blueprint.arxml | 物理维度 Blueprint |
| AUTOSAR_MOD_SWCServiceRelatedInterfaces_Blueprint.arxml | SWC 服务相关接口 Blueprint |
| AUTOSAR_MOD_Units_Blueprint.arxml | 单位 Blueprint |
| AUTOSAR_MOD_ValBlk_SwRecordLayout_Blueprint.arxml | 值块记录布局 Blueprint |
14. 附录:完整 ARXML 文件结构
14.1 Blueprint 文件模板
<?xml version="1.0" encoding="UTF-8"?>
<AUTOSAR xmlns="http://autosar.org/schema/r4.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://autosar.org/schema/r4.0 AUTOSAR_00046.xsd">
<ADMIN-DATA>
<USED-LANGUAGES>
<L-10 L="EN" xml:space="default">English</L-10>
</USED-LANGUAGES>
</ADMIN-DATA>
<AR-PACKAGES>
<AR-PACKAGE>
<SHORT-NAME>AUTOSAR</SHORT-NAME>
<AR-PACKAGES>
<AR-PACKAGE>
<SHORT-NAME>{Module}</SHORT-NAME>
<AR-PACKAGES>
<AR-PACKAGE>
<SHORT-NAME>{BlueprintType}_Blueprint</SHORT-NAME>
<CATEGORY>BLUEPRINT</CATEGORY>
<ELEMENTS>
<!-- 定义的具体元素 -->
</ELEMENTS>
</AR-PACKAGE>
</AR-PACKAGES>
</AR-PACKAGE>
</AR-PACKAGES>
</AR-PACKAGE>
</AR-PACKAGES>
</AUTOSAR>
14.2 常用路径引用
| 元素类型 | 路径模式 |
|---|---|
| 基础类型 | /AUTOSAR/Platform/BaseTypes_Blueprint/{type} |
| 实现类型 | /AUTOSAR/Platform/ImplementationDataTypes_Blueprint/{type} |
| 单位 | /AUTOSAR/AUTOSAR_PhysicalUnits/Units_Blueprints/{unit} |
| 物理维度 | /AUTOSAR/AUTOSAR_PhysicalUnits/PhysicalDimensions_Blueprints/{dim} |
| 记录布局 | /AUTOSAR/{package}/SwRecordLayouts_Blueprint/{layout} |
| BSW 模块条目 | /AUTOSAR/{module}/BswModuleEntrys_Blueprint/{entry} |