# XCP 模块需求规范 ## 元信息 | 项目 | 内容 | |------|------| | 文档标题(中文) | XCP 模块需求规范 | | 文档标题(英文) | Requirements on Module XCP | | 文档所有者 | AUTOSAR | | 文档责任方 | AUTOSAR | | 文档标识号 | 429 | | 文档状态 | Final(最终) | | 所属 AUTOSAR 标准 | Classic Platform(经典平台) | | 所属标准发布版本 | 4.4.0 | | 对应原文 PDF | `AUTOSAR_SRS_XCP.pdf` | | 翻译状态 | 已完成 | | 翻译日期 | 2026-06-12 | ## 文档标识 | 字段 | 值 | |------|----| | Document Title(文档标题) | Requirements on Module XCP | | Document Owner(文档所有者) | AUTOSAR | | Document Responsibility(文档责任方) | AUTOSAR | | Document Identification No(文档标识号) | 429 | | Document Status(文档状态) | Final | | Part of AUTOSAR Standard(所属 AUTOSAR 标准) | Classic Platform | | Part of Standard Release(所属标准发布版本) | 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 | - 编辑性修改 | | 2014-10-31 | 4.2.1 | AUTOSAR Release Management | - 移除"用于 ECU 开发目的的 Flash 编程"限制
- 编辑性修改 | | 2013-10-31 | 4.1.2 | AUTOSAR Release Management | - 编辑性修改 | | 2013-03-15 | 4.1.1 | AUTOSAR Administration | - 将 SRS 需求链接到新功能文档
- 形式更新 TPS_standardizationTemplate (TPS_STDT_00078) | | 2011-12-22 | 4.0.3 | AUTOSAR Administration | - 添加对发送能力停用的支持 | | 2010-09-30 | 3.1.5 | AUTOSAR Administration | - 初始发布 | ## 目录 1. [Scope of Document(文档范围)](#1-scope-of-document) 2. [Conventions to be used(使用的约定)](#2-conventions-to-be-used) 3. [Functional Overview(功能概述)](#3-functional-overview) 4. [Requirements Specification(需求规范)](#4-requirements-specification) - 4.1 [Functional Requirements(功能需求)](#41-functional-requirements) - 4.1.1 [General(总体)](#411-general) - 4.1.2 [Features(功能)](#412-features) - 4.1.3 [Initialisation(初始化)](#413-initialisation) - 4.1.4 [Normal Operation(正常运行)](#414-normal-operation) - 4.1.5 [Shutdown Operation(关闭操作)](#415-shutdown-operation) - 4.1.6 [Fault Operation(故障操作)](#416-fault-operation) 5. [Requirements Tracing(需求追踪)](#5-requirements-tracing) 6. [References(参考资料)](#6-references) ## 1 Scope of Document 本文档定义了 AUTOSAR 内需求规范的一般规则和格式。它应用作每个需求文档的基础。 AUTOSAR XCP 需求规定了 XCP 功能集,这些功能应由 AUTOSAR XCP 软件规范文档支持。 详细列表可在第 4.2 节"功能需求"中找到。 ## 2 Conventions to be used - AUTOSAR 文档中需求的表示遵循 [1] 中指定的表格。 - 在需求中,应使用以下特定语义(基于互联网工程任务组 IETF)。 本文档中关键字 "MUST"(必须)、"MUST NOT"(不得)、"REQUIRED"(必需)、"SHALL"(应)、"SHALL NOT"(不应)、"SHOULD"(建议)、"SHOULD NOT"(不建议)、"RECOMMENDED"(推荐)、"MAY"(可以)和 "OPTIONAL"(可选)应解释为: - **SHALL**:此词表示该定义是规范的绝对要求。 - **SHALL NOT**:此短语表示该定义是规范的绝对禁止。 - **MUST**:此词表示由于法律问题,该定义是规范的绝对要求。 - **MUST NOT**:此短语表示由于法律约束,该定义是规范的绝对禁止。 - **SHOULD**:此词或形容词 "RECOMMENDED" 表示在特定情况下可能存在忽略某项的有效理由,但在选择不同方案之前必须充分理解并仔细权衡其影响。 - **SHOULD NOT**:此短语或短语 "NOT RECOMMENDED" 表示在特定情况下某特定行为可能是可接受甚至有用的,但在实现任何以此标签描述的行为之前,应充分理解其影响并仔细权衡该情况。 - **MAY**:此词或形容词 "OPTIONAL" 表示某项是真正可选的。一个供应商可能选择包含该项,因为特定市场需要它,或者因为供应商认为它能增强产品;而另一个供应商可能省略相同的项。不包含特定选项的实现必须准备好与包含该选项的另一个实现进行互操作,尽管功能可能有所降低。同样,包含特定选项的实现必须准备好与不包含该选项的另一个实现进行互操作。 ## 3 Functional Overview XCP 是用于 ECU 标定的 ASAM 标准。该协议提供以下功能: XCP 提供以下基本功能: - 同步数据采集 - 同步数据激励 - 在线内存标定(读/写访问) - 标定数据页初始化和切换 - 用于 ECU 开发目的的 Flash 编程 - 各种传输层(CAN、以太网(TCP/IP、UDP)、USB 等) - 块通信模式 - 交错通信模式 - 动态数据传输配置 - 带时间戳的数据传输 - 数据传输同步 - 数据传输优先级 - 原子位修改 - 按位数据激励 XCP 相比 CCP 2.1 改进了以下功能: - 兼容性和规范 - 效率和吞吐量 - 上电数据传输 - 数据页冻结 - 自动配置 - Flash 编程 XCP 根据以下原则设计: - 最小化的从机资源消耗(RAM、ROM、运行时) - 高效的通信 - 简单的从机实现 ## 4 Requirements Specification ### 4.1 Functional Requirements #### 4.1.1 General ##### 4.1.1.1 [SRS_Xcp_29001] AUTOSAR XCP 模块应位于总线接口/Socket Adaptor 之上 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | valid | | Description(描述) | 在 AUTOSAR 分层架构中,AUTOSAR XCP 模块应位于总线特定接口(CAN、FlexRay)之上,对于以太网则位于 Socket Adaptor 之上。 | | Rationale(原理) | 由于性能原因,AUTOSAR XCP 在分层架构中位于尽可能低的位置。 | | Use Case(用例) | -- | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | BSW Layered Software Architecture | ⌋(RS_BRF_01016,RS_BRF_01656) ##### 4.1.1.2 [SRS_Xcp_29002] AUTOSAR XCP 应使用总线接口的数据发送和接收 API ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | 对于 XCP 消息的发送和传输,应使用由总线特定接口提供的相应 API。 | | Rationale(原理) | 使用可用的 API | | Use Case(用例) | 发送和接收 XCP 消息 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | SWS FlexRay Interface, SWS CAN Interface, SWS Socket Adaptor | ⌋(RS_BRF_01656,RS_BRF_02264) ##### 4.1.1.3 [SRS_Xcp_29003] AUTOSAR XCP 消息应通过唯一的 PDU-ID 标识 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | valid | | Description(描述) | 唯一的 PDU-ID 必须通过配置分配给 XCP 消息。 | | Rationale(原理) | 总线接口使用 PDU-ID 将 PDU 路由到分配的目标 AUTOSAR 模块(PDUR、NM、TP、XCP、CDD)。 | | Use Case(用例) | 路由/调度 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | BSW Layered Software Architecture | ⌋( RS_BRF_01656,RS_BRF_01024) ##### 4.1.1.4 [SRS_Xcp_29004] 应使用 XCP 规范版本 1.1 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | 应使用 XCP 规范版本 1.1 进行实现。 | | Rationale(原理) | XCP 规范版本 1.1 是此时 AUTOSAR 可用的最新版本。 | | Use Case(用例) | 标定目的 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=238&memberlogin= | ⌋( RS_BRF_01656) ##### 4.1.1.5 [SRS_Xcp_29005] 应支持 XCP on CAN ⌈ | 字段 | 内容 | |------|------| | Type(类型) | valid | | Description(描述) | 应按照 ASAM "XCP Transport Layer on CAN" 规范中的描述支持 XCP on CAN。 | | Rationale(原理) | 应可能使用 CAN 通信总线交换 XCP 数据。 | | Use Case(用例) | 标定/激励目的 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=239&memberlogin= | ⌋( RS_BRF_01656,RS_BRF_01704) ##### 4.1.1.6 [SRS_Xcp_29006] 应支持 XCP on FlexRay ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | 应按照 ASAM "XCP Transport Layer on FlexRay" 规范中的描述支持 XCP on FlexRay。 | | Rationale(原理) | 应可能使用 FlexRay 通信总线交换 XCP 数据。 | | Use Case(用例) | 标定/激励目的 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=376&memberlogin= | ⌋(RS_BRF_01656,RS_BRF_01752) ##### 4.1.1.7 [SRS_Xcp_29007] 应支持 XCP on Ethernet ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | 应按照 ASAM "XCP Transport Layer on Ethernet" 规范中的描述支持 XCP on Ethernet,使用 TCP/IP 和/或 UDP。 | | Rationale(原理) | 应可能使用以太网通信总线交换 XCP 数据。 | | Use Case(用例) | 标定/激励目的 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=240&memberlogin= | ⌋( RS_BRF_01656,RS_BRF_01776) #### 4.1.2 Features ##### 4.1.2.1 [SRS_Xcp_29008] XCP 模块的代码生成器应生成 A2L IF_DATA 段 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | XCP 模块的代码生成器应基于 XCP 的配置生成 A2L IF_DATA 段。 | | Rationale(原理) | XCP 从机(AUTOSAR XCP 模块)的配置信息也应用于 XCP 主机的配置。 | | Use Case(用例) | 确保 XCP 主机和 XCP 从机配置的一致性。 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=240&memberlogin= | ⌋( RS_BRF_01656, RS_BRF_02264) ##### 4.1.2.2 [SRS_Xcp_29009] 从机应将 DAQ 列表中每个 ODT 中定义的元素内容传输给主机 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | 从机必须将 DAQ 列表中每个 ODT 中定义的元素内容传输给主机。 | | Rationale(原理) | - | | Use Case(用例) | 标定目的 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=238&memberlogin= | ⌋( RS_BRF_01656, RS_BRF_02264) ##### 4.1.2.3 [SRS_Xcp_29010] 同步数据激励应为同步数据采集的逆模式 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | 同步数据激励是同步数据采集的逆模式。主机必须将 DAQ 列表中每个 ODT 中定义的元素内容传输给从机。 | | Rationale(原理) | - | | Use Case(用例) | 激励目的 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=238&memberlogin= | ⌋( RS_BRF_01656, RS_BRF_02264) ##### 4.1.2.4 [SRS_Xcp_29011] 多个连续直接数据包(无需确认)应能发送/接收 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | 可以发送/接收多个连续直接数据包而无需确认。 | | Rationale(原理) | 加快内存上传和下载速度 | | Use Case(用例) | 激励/标定目的 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=238&memberlogin= | ⌋( RS_BRF_01656, RS_BRF_02264) ##### 4.1.2.5 [SRS_Xcp_29012] XCP 主机应能在接收到上一个请求的响应之前发送下一个请求 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | XCP 主机可以已在接收到上一个请求的响应之前发送下一个请求。 | | Rationale(原理) | 加快数据传输 | | Use Case(用例) | 激励/标定目的 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=238&memberlogin= | ⌋( RS_BRF_01656, RS_BRF_02264) ##### 4.1.2.6 [SRS_Xcp_29013] 应可动态配置 DAQ 列表 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | 应可动态配置 DAQ 列表。 | | Rationale(原理) | 允许灵活选择要传输的不同数据/信号值 | | Use Case(用例) | 激励/标定目的 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=238&memberlogin= | ⌋( RS_BRF_01656, RS_BRF_02264) ##### 4.1.2.7 [SRS_Xcp_29014] 应可在 XCP 数据包中传输时间戳 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | 应可在 XCP 数据包中传输时间戳。 | | Rationale(原理) | XCP 数据包的时序信息对 XCP 主机能够在必要时对接收到的 XCP 数据包重新排序非常重要。 | | Use Case(用例) | 重新排序接收到的 XCP 数据包 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=238&memberlogin= | ⌋( RS_BRF_01656, RS_BRF_02264) ##### 4.1.2.8 [SRS_Xcp_29015] 应可通过同时使用同步数据采集和同步数据激励来旁路数据 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | 应可通过同时使用同步数据采集和同步数据激励来旁路数据。 | | Rationale(原理) | 包括对数据的附加计算/操作 | | Use Case(用例) | 标定/激励目的 | | Dependencies(依赖) | 支持同步数据采集和同步数据激励,需要与 AUTOSAR RTE 交互 | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=238&memberlogin=
SWS RTE | ⌋( RS_BRF_01656, RS_BRF_02264) ##### 4.1.2.9 [SRS_Xcp_29016] 应使用"Seed&Key"功能用于保护处理目的 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | "Seed&Key"功能用于保护处理目的。 | | Rationale(原理) | 对 XCP 从机内存的安全访问 | | Use Case(用例) | 根据项目阶段的不同,对信息隐藏的需求也不同。 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=238&memberlogin= | ⌋( RS_BRF_01656, RS_BRF_02264) ##### 4.1.2.10 [SRS_Xcp_29018] 应支持页面切换 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | 主机可以请求从机回答当前活动的 PAGE。如果 XCP 主机在任何时间点请求,XCP 从机应能够切换到另一个页面。 | | Rationale(原理) | | | Use Case(用例) | 由于需要通过 XCP 传输的大量不同数据/变量,页面切换对于高端 ECU 是必需的。 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=238&memberlogin= | ⌋( RS_BRF_01656, RS_BRF_02264) ##### 4.1.2.11 [SRS_Xcp_29019] 应支持 DAQ 配置存储和上电数据传输(RESUME 模式) ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | XCP 主机请求 XCP 从机设置所选 DAQ 列表的 RESUME 位。上电后,从机必须恢复 DAQ 列表并自主向 XCP 主机指示 RESUME 模式。 | | Rationale(原理) | resume 模式的目的是在 XCP 从机上电后立即启用自动数据传输(DAQ、STIM)。 | | Use Case(用例) | 标定数据在 ECU 上电后立即需要,用于优化目的(例如优化发动机启动行为)。 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | http://www.asam.net/doc_int/getfile/getfile.php?id=238&memberlogin= | ⌋( RS_BRF_01656, RS_BRF_02264) ##### 4.1.2.12 [SRS_Xcp_29021] XCP 应提供在特定通道上启用和禁用通信的功能 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | XCP 应提供在特定通道上启用和禁用通信(TX 能力)的功能。 | | Rationale(原理) | | | Use Case(用例) | 允许仅请求的通道通信以有效利用带宽 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | -- | ⌋( RS_BRF_01656, RS_BRF_02264) ##### 4.1.2.13 [SRS_Xcp_29020] 用于 ECU 开发目的的 Flash 编程 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | XCP 应支持 ASAM "XCP Protocol Layer Specification" 中描述的 Flash 编程。 | | Rationale(原理) | 通过启用编程功能加快 ECU 开发目的。 | | Use Case(用例) | -- | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | ASAM_XCP_Part2-Protocol-Layer-Specification_V1-1-0.pdf | ⌋( RS_BRF_01656, RS_BRF_02264) #### 4.1.3 Initialisation ##### 4.1.3.1 [SRS_Xcp_29017] AUTOSAR XCP 模块应实现用于初始化的接口 ⌈ | 字段 | 内容 | |------|------| | Type(类型) | Valid | | Description(描述) | AUTOSAR XCP 模块实现用于初始化的接口。此服务应初始化模块的所有全局变量。 | | Rationale(原理) | 基本功能。 | | Use Case(用例) | 将 AUTOSAR XCP 模块设置为定义状态 | | Dependencies(依赖) | -- | | Supporting Material(支持材料) | -- | ⌋( RS_BRF_01656, RS_BRF_02264,RS_BRF_01136) #### 4.1.4 Normal Operation AUTOSAR XCP 模块应按 ASAM XCP 规范版本 1.1 中的描述运行。请参阅 http://www.asam.net/doc_int/getfile/getfile.php?id=238&memberlogin= #### 4.1.5 Shutdown Operation AUTOSAR XCP 模块应按 ASAM XCP 规范版本 1.1 中的描述运行。请参阅 http://www.asam.net/doc_int/getfile/getfile.php?id=238&memberlogin= #### 4.1.6 Fault Operation AUTOSAR XCP 模块应按 ASAM XCP 规范版本 1.1 中的描述运行。请参阅 http://www.asam.net/doc_int/getfile/getfile.php?id=238&memberlogin= ## 5 Requirements Tracing | 需求 | 描述 | 由以下需求满足 | |------|------|----------------| | RS_BRF_01016 | AUTOSAR 应在软件层内提供模块化设计 | SRS_Xcp_29001 | | RS_BRF_01024 | AUTOSAR 应为公共符号提供命名规则 | SRS_Xcp_29003 | | RS_BRF_01136 | AUTOSAR 应支持在系统启动后解析的已配置 BSW 数据的变体 | SRS_Xcp_29017 | | RS_BRF_01656 | AUTOSAR 通信应支持 XCP | SRS_Xcp_29001, SRS_Xcp_29002, SRS_Xcp_29003, SRS_Xcp_29004, SRS_Xcp_29005, SRS_Xcp_29006, SRS_Xcp_29007, SRS_Xcp_29008, SRS_Xcp_29009, SRS_Xcp_29010, SRS_Xcp_29011, SRS_Xcp_29012, SRS_Xcp_29013, SRS_Xcp_29014, SRS_Xcp_29015, SRS_Xcp_29016, SRS_Xcp_29017, SRS_Xcp_29018, SRS_Xcp_29019, SRS_Xcp_29020, SRS_Xcp_29021 | | RS_BRF_01704 | AUTOSAR 通信应支持 CAN 通信总线 | SRS_Xcp_29005 | | RS_BRF_01752 | AUTOSAR 通信应支持 FlexRay | SRS_Xcp_29006 | | RS_BRF_01776 | AUTOSAR 通信应支持以太网 | SRS_Xcp_29007 | | RS_BRF_02264 | AUTOSAR 应支持 XCP 用于设置测量和标定数据 | SRS_Xcp_29002, SRS_Xcp_29008, SRS_Xcp_29009, SRS_Xcp_29010, SRS_Xcp_29011, SRS_Xcp_29012, SRS_Xcp_29013, SRS_Xcp_29014, SRS_Xcp_29015, SRS_Xcp_29016, SRS_Xcp_29017, SRS_Xcp_29018, SRS_Xcp_29019, SRS_Xcp_29020, SRS_Xcp_29021 | ## 6 References [1] Software Standardization Template AUTOSAR_TPS_StandardizationTemplate.pdf ## 翻译说明 本文档为 AUTOSAR Classic Platform Release 4.4.0 中关于 XCP 模块的软件需求规范(SRS),对应英文文档 `AUTOSAR_SRS_XCP.pdf`。 翻译过程中遵循以下原则: 1. 保留了所有 API 标识符、模块缩写、协议名(如 CAN、FlexRay、Ethernet、XCP、CCP、ASAM、A2L、DAQ、ODT、RTE 等) 2. 保留了所有需求 ID(如 `SRS_Xcp_29xxx`) 3. 保留了 AUTOSAR 方框符 `⌈⌋` 4. 保留了所有 ASAM 规范引用和文档间交叉引用 5. 表格内容、章节描述、需求说明均已翻译为中文