P1 batch translation: 94 PDFs (Communication + Diagnostics + SystemServices + MCAL)

This commit is contained in:
opencode-translator
2026-06-13 00:29:54 +08:00
parent 0d470d1f17
commit 6f293acbf7
95 changed files with 70811 additions and 83 deletions
@@ -0,0 +1,307 @@
# SOME/IP 转换器规范 (Specification of SOME/IP Transformer)
> **AUTOSAR CP Release 4.4.0**
> **文档 ID 660: AUTOSAR_SOMEIPTransformer**
## 元信息
| 项目 | 内容 |
| --- | --- |
| 文档标题 | SOME/IP 转换器规范 |
| 文档所有者 | AUTOSAR |
| 文档责任方 | AUTOSAR |
| 文档标识号 | 660 |
| 文档状态 | Final |
| 所属 AUTOSAR 标准 | Classic Platform |
| 所属标准版本 | 4.4.0 |
## 文档变更历史
| 日期 | 版本 | 变更方 | 变更说明 |
| --- | --- | --- | --- |
| 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 | 初始正式版本 |
---
## 目录
- [1. 介绍](#1-介绍)
- [2. 缩略语](#2-缩略语)
- [3. 相关文档](#3-相关文档)
- [4. 约束与假设](#4-约束与假设)
- [5. 与其他模块的依赖](#5-与其他模块的依赖)
- [6. 需求可追溯性](#6-需求可追溯性)
- [7. 功能规范](#7-功能规范)
- [8. API 规范](#8-api-规范)
- [9. 配置规范](#9-配置规范)
---
## 1. 介绍
SOME/IP(Scalable service-Oriented MiddlewarE over IP)是一种面向服务的中间件,允许 SWC 进行 Client/Server 通信或 Sender/Receiver 通信。
**SOME/IP 转换器**是 AUTOSAR Transformer 概念的一部分,负责:
- 发送端:将 SWC 数据序列化为符合 SOME/IP 协议的字节序列
- 接收端:从 SOME/IP 字节序列反序列化为 SWC 数据
### 1.1 范围
SOME/IP 转换器只实现 SOME/IP 协议的一部分:
- 一部分由 Service Discovery [2] 实现
- 一部分由 Socket Adaptor [4] 实现
- 一部分目前在 AUTOSAR 中未实现(见附录 B)
---
## 2. 缩略语
| 缩略语 | 描述 |
| --- | --- |
| API | Application Programming Interface |
| AUTOSAR | Automotive Open System Architecture |
| BSW | Basic Software |
| DET | Default Error Tracer |
| IP | Internet Protocol |
| ISignal | Inter-ECU Signal |
| RTE | Runtime Environment |
| SD | Service Discovery |
| SoAd | Socket Adaptor |
| SOME/IP | Scalable service-Oriented MiddlewarE over IP |
| SOME/IP-SD | SOME/IP Service Discovery |
| SWC | Software Component |
| TCP | Transmission Control Protocol |
| TLV | Type-Length-Value |
| UDP | User Datagram Protocol |
| UTF | Unicode Transformation Format |
---
## 3. 相关文档
### 3.1 输入文档
- [1] List of Basic Software Modules
- [2] Specification of Service Discovery
- [3] General Specification on Transformers
- [4] Specification of Socket Adaptor
- [5] Specification of RTE Software
- [6] Requirements on AUTOSAR Features
- [7] Specification of Platform Types
- [8] Software Component Template
- [9] System Template
- [10] Requirements on Transformer
- [11] UTF-8, a transformation format of ISO 10646
- [12] UTF-16, an encoding of ISO 10646
- [13] General Specification of Basic Software Modules
- [14] General Requirements on Basic Software Modules
### 3.2 相关标准
- UTF-8、UTF-16 编码规范 [11, 12]
### 3.3 相关规范
AUTOSAR 提供 General Specification on Transformers [3],同样适用于 SOME/IP 转换器。
---
## 4. 约束与假设
### 4.1 限制
对 SOME/IP 转换器,所有通用 transformer 限制均适用(见 [3])。
### 4.2 适用车域
当使用 SOME/IP Sender/Receiver 或 Client/Server 通信时,适用于所有车域。
---
## 5. 与其他模块的依赖
AUTOSAR RTE [5] 必须存在以执行转换器。
### 5.1 文件结构
#### 5.1.1 代码文件结构
按 ASWS Transformer General [3] 定义。
#### 5.1.2 头文件结构
- **[SWS_SomeIpXf_00136]** ⌈头文件 SomeIpXf[_<Ie>].h 应是 SOME/IP 转换器的主头文件,应包含 TransformerTypes.h 和模块互连头文件 SchM_<bsnp>_[<vi>_<ai>].h。⌋ (SRS_BSW_00346)
---
## 6. 需求可追溯性
| 需求 ID | 描述 | 满足者 |
| --- | --- | --- |
| SRS_BSW_00159 | 工具配置 | SWS_SomeIpXf_00185 |
| SRS_BSW_00337 | 开发错误分类 | SWS_SomeIPxf_00184 |
| SRS_BSW_00346 | 基本模块文件 | SWS_SomeIpXf_00136 |
| SRS_BSW_00404 | 后构建配置 | SWS_SomeIpXf_00183 |
| SRS_BSW_00407 | 版本信息 | SWS_SomeIpXf_00180, SWS_SomeIpXf_00181, SWS_SomeIpXf_00182 |
| SRS_Xfrm_00001 | 转换器处理 RTE 数据 | SWS_SomeIpXf_00264, SWS_SomeIpXf_00265, SWS_SomeIpXf_00266 |
| SRS_Xfrm_00002 | 固定接口 | SWS_SomeIpXf_00206 ~ SWS_SomeIpXf_00211 |
| SRS_Xfrm_00004 | 错误处理 | SWS_SomeIpXf_00264, SWS_SomeIpXf_00265, SWS_SomeIpXf_00266 |
| SRS_Xfrm_00008 | 指定输出格式 | SWS_SomeIpXf_00001 ~ SWS_SomeIpXf_00156 |
> **[摘要]** 完整需求追溯表见原文 PDF 第 12-30 页。
---
## 7. 功能规范
### 7.1 SOME/IP 消息格式
SOME/IP 消息由以下字段组成:
- **Message ID** (32 位):Service ID (16) + Method ID (15) + Event Flag (1)
- **Length** (32 位):剩余消息长度
- **Request ID** (32 位):Client ID (16) + Session ID (16)
- **Protocol Version** (8 位):0x01
- **Interface Version** (8 位)
- **Message Type** (8 位):REQUEST/RESPONSE/NOTIFICATION/REQUEST_NO_RETURN/ERROR
- **Return Code** (8 位):E_OK 或错误码
- **Payload** (可变):实际数据
### 7.2 数据序列化
#### 7.2.1 基础数据类型
| AUTOSAR 类型 | SOME/IP 字节序 |
| --- | --- |
| uint8 / sint8 | 1 字节 |
| uint16 / sint16 | 2 字节 BE/LE |
| uint32 / sint32 | 4 字节 BE/LE |
| uint64 / sint64 | 8 字节 BE/LE |
| float32 | 4 字节 IEEE 754 BE/LE |
| float64 | 8 字节 IEEE 754 BE/LE |
| boolean | 1 字节 (0x00/0x01) |
#### 7.2.2 字符串
- 支持 UTF-8 和 UTF-16
- 固定长度或动态长度(带长度前缀)
- BOM (Byte Order Mark) 支持
#### 7.2.3 数组
- 固定大小或动态大小(带长度前缀)
- 元素递归序列化
#### 7.2.4 结构体
- 元素按声明顺序序列化
- 支持嵌套
#### 7.2.5 联合 (Union)
- 4 字节类型 ID 前缀 + 数据
### 7.3 TLV (Type-Length-Value) 编码
可选支持 TLV 编码,在结构体中添加 wireType 和 length。
### 7.4 接收处理
- **[SWS_SomeIpXf_00264]** ⌈接收时,SOME/IP 转换器应解析 SOME/IP 头并反序列化 payload。⌋
- **[SWS_SomeIpXf_00265]** ⌈错误的消息格式应返回 E_NOT_OK。⌋
### 7.5 错误分类
#### 7.5.1 转换器返回码
| 返回码 | 含义 |
| --- | --- |
| E_OK | 成功 |
| E_NOT_OK | 一般错误 |
| E_SER_GENERIC_ERROR | 序列化错误 |
| E_SER_MALFORMED_MESSAGE | 消息格式错误 |
| E_SER_WRONG_INTERFACE_VERSION | 接口版本错误 |
| E_SER_WRONG_PROTOCOL_VERSION | 协议版本错误 |
#### 7.5.2 开发错误
- **[SWS_SomeIPxf_00184]** ⌈应分类开发错误。⌋
---
## 8. API 规范
### 8.1 转换器函数
#### 8.1.1 SomeIpXf_<transformerId>
```c
uint8 SomeIpXf_<transformerId>(
uint8* buffer,
uint32* bufferLength,
const <DataType>* dataElement
)
```
| 描述 | 序列化 SWC 数据为 SOME/IP 字节序列 |
| --- | --- |
#### 8.1.2 SomeIpXf_Inv_<transformerId>
```c
uint8 SomeIpXf_Inv_<transformerId>(
const uint8* buffer,
uint32 bufferLength,
<DataType>* dataElement
)
```
| 描述 | 反序列化 SOME/IP 字节序列为 SWC 数据 |
| --- | --- |
### 8.2 版本信息
#### 8.2.1 SomeIpXf_GetVersionInfo
```c
void SomeIpXf_GetVersionInfo(Std_VersionInfoType* versioninfo)
```
---
## 9. 配置规范
### 9.1 配置容器
SOME/IP 转换器配置基于:
- SOMEIPTransformationDescription (SystemTemplate)
- SOMEIPTransformationISignalProps
- SOMEIPTransformationComSpecProps
### 9.2 主要配置参数
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| protocol | string | SOMEIP |
| version | string | 1.0.0 |
| transformerClass | enum | serializer |
| byteOrder | enum | BE / LE |
| serviceInterfaceVersion | uint8 | 接口版本 |
| serializer | container | 详细序列化配置 |
### 9.3 数据类型配置
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| dataTypeId | uint32 | 类型 ID(用于 union) |
| dataTypeName | string | 数据类型名 |
| lengthFieldSize | enum | 长度字段大小(0/1/2/4 字节) |
| typeFieldSize | enum | 类型字段大小 |
> **[摘要]** 详细配置参数见原文 PDF 第 50-90 页;附录 A 提供完整数据格式示例,附录 B 说明未实现的 SOME/IP 部分。
---
## 翻译说明
- 本译本基于 AUTOSAR CP 4.4.0 的 SOME/IP 转换器规范 (Document ID 660,共 100 页)
- 摘要标记位置:第 6 章需求追溯、第 9 章配置参数和附录