Files
autosar_standard_spec_v4.4/Communication/AUTOSAR_SWS_XCP.md
T

8.7 KiB
Raw Blame History

XCP 模块规范 (Specification of Module XCP)

AUTOSAR CP Release 4.4.0 文档 ID 412: AUTOSAR_SWS_XCP

元信息

项目 内容
文档标题 XCP 模块规范
文档所有者 AUTOSAR
文档责任方 AUTOSAR
文档标识号 412
文档状态 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 编辑修正
2014-10-31 4.2.1 AUTOSAR Release Management DAQ 增强
2014-03-31 4.1.3 AUTOSAR Release Management 编辑变更
2013-10-31 4.1.2 AUTOSAR Release Management 增加 XCP on UDP/TCP
2013-03-15 4.1.1 AUTOSAR Administration 引入 XCP

目录


1. 介绍

本规范规定了 AUTOSAR 基础软件模块 XCP (Universal Calibration Protocol) 的功能、API 和配置。

XCP 是 ASAM 标准化的通用测量和标定协议,支持:

  • 测量(Measurement):读取 ECU 内部变量
  • 标定(Calibration):修改 ECU 标定参数
  • 数据采集(DAQ):周期或事件触发的数据流
  • 数据刺激(STIM):向 ECU 注入数据

XCP 支持多种传输层:

  • XCP on CAN
  • XCP on FlexRay
  • XCP on Ethernet (UDP/TCP)

2. 缩略语

缩略语 描述
AUTOSAR Automotive Open System Architecture
A2L ASAM 2MC 语言文件扩展
ASAM Association for Standardization of Automation and Measuring Systems
BSW Basic Software
CAN Controller Area Network
CanIf CAN Interface
CTO Command Transfer Object
DAQ Data AcQuisition
DTO Data Transfer Object
ECU Electronic Control Unit
FrIf FlexRay Interface
LPDU Data Link Layer PDU
MCD Measurement Calibration and Diagnostics
MISRA Motor Industry Software Reliability Association
ODT Object Descriptor Table
PDU Protocol Data Unit
SchM Schedule Manager
SRS Software Requirements Specification
STIM Data Stimulation packet
SW Software
SWS Software Specification
TCP/IP Transmission Control Protocol / Internet Protocol
TS Time Stamp
UDP/IP User Datagram Protocol / Internet Protocol
XCP Universal Calibration Protocol
ISR Interrupt Service Routine
DET Default Error Tracer

3. 相关文档

3.1 输入文档

  • [0] Basic Software Module Description Template
  • [1] List of Basic Software Modules
  • [2] AUTOSAR Layered Software Architecture
  • [3] General Requirements on Basic Software Modules
  • [4] Specification of RTE (BSW Scheduler)
  • [5] Specification of ECU Configuration
  • [6] Specification of Memory Mapping
  • [7] Specification of FlexRay Interface
  • [8] Specification of CAN Interface
  • [9] Specification of Socket Adaptor
  • [10] Requirements on XCP Module
  • [11] AUTOSAR OS Specification
  • [12] General Specification of Basic Software Modules

3.1.1 相关标准

  • [13] ASAM XCP Part1 Overview, Version 1.1
  • [14] ASAM XCP Part3 Transport Layer Specification XCP on CAN, Version 1.2
  • [15] ASAM XCP Part3 Transport Layer Specification XCP on Ethernet (TCP_IP & UDP_IP), Version 1.1
  • [16] ASAM XCP Part3 Transport Layer Specification XCP on FlexRay, Version 1.1

3.2 相关规范

SWS BSW General [12] 适用。


4. 约束与假设

4.1 限制

不在范围内的功能:

  • SET_DAQ_ID 命令(XCP CAN 传输层规范)
  • AUTOSAR RTE 当前不提供 XCP 直接通信 API
  • NAX 仅通过 ASAM 配置文件 A2L 配置
  • LIN 总线不支持 ASAM XCP

4.2 适用车域

n/a


5. 与其他模块的依赖

5.1 AUTOSAR RTE (BSW Scheduler)

调度 XCP main 函数。

5.2 AUTOSAR FlexRay Interface

通过 FlexRay 收发 XCP PDU。

5.3 AUTOSAR CAN Interface

通过 CAN 收发 XCP PDU。

5.4 AUTOSAR SocketAdaptor

通过 Ethernet 收发 XCP PDU。

5.5 AUTOSAR RTE

用于将 ROM/FLASH 中的标定参数复制到 RAM(双指针方法)。


6. 需求可追溯性

需求 ID 描述 满足者
SRS_BSW_00101 初始化 SWS_Xcp_00010
SRS_BSW_00407 版本信息 SWS_Xcp_00020
SRS_Xcp_00001 XCP 协议 SWS_Xcp_00050

[摘要] 完整需求追溯表见原文 PDF 第 18-25 页。


7. 功能规范

7.1 XCP 协议概述

XCP 是基于 master-slave 的协议:

  • Master:外部工具(标定工具,如 INCA、CANape)
  • Slave:ECU 上的 XCP 模块

通信通过 CTO 和 DTO 进行:

  • CTO (Command Transfer Object):命令/响应
  • DTO (Data Transfer Object):DAQ/STIM 数据

7.2 标准 XCP 命令

命令 含义
CONNECT 建立 XCP 会话
DISCONNECT 关闭会话
GET_STATUS 查询状态
GET_ID 获取标识
SET_MTA 设置内存传输地址
UPLOAD 上传内存
DOWNLOAD 下载到内存
FREE_DAQ 释放 DAQ 列表
ALLOC_DAQ 分配 DAQ 列表
WRITE_DAQ 写 DAQ 项
SET_DAQ_LIST_MODE 配置 DAQ 模式
START_STOP_DAQ_LIST 启动/停止 DAQ
GET_DAQ_CLOCK 获取 DAQ 时钟
PROGRAM_START 开始编程
PROGRAM 编程数据
PROGRAM_RESET 编程后复位

7.3 DAQ 数据采集

7.3.1 DAQ 配置

  • DAQ List
  • ODT (Object Descriptor Table)
  • ODT Entry

7.3.2 DAQ 运行模式

  • 周期触发
  • 事件触发
  • 直接写

7.4 标定页切换

  • Calibration Page:RAM 中的标定值
  • Working Page:工作页
  • Reference Page:参考页(ROM/Flash)

7.5 传输层

7.5.1 XCP on CAN

  • DLC 通常为 8
  • 11 位或 29 位 CAN ID

7.5.2 XCP on FlexRay

  • 使用 FlexRay 静态/动态段
  • 支持帧拆分

7.5.3 XCP on Ethernet

  • UDP 或 TCP
  • 端口可配置

7.6 错误分类

7.6.1 开发错误

错误名 错误码 含义
XCP_E_INIT_FAILED 0x01 初始化失败
XCP_E_UNINIT 0x02 未初始化
XCP_E_PARAM_POINTER 0x03 NULL 指针
XCP_E_INVALID_PDUID 0x04 无效 PDU ID

8. API 规范

8.1 导入类型

模块 头文件 导入类型
ComStack_Types ComStack_Types.h PduIdType, PduInfoType
Std_Types Std_Types.h Std_ReturnType, Std_VersionInfoType

8.2 类型定义

8.2.1 Xcp_ConfigType

typedef struct Xcp_ConfigType Xcp_ConfigType;

8.3 函数定义

8.3.1 Xcp_Init

void Xcp_Init(const Xcp_ConfigType* Xcp_ConfigPtr)
Service ID 0x00

8.3.2 Xcp_GetVersionInfo

void Xcp_GetVersionInfo(Std_VersionInfoType* versioninfo)

8.3.3 Xcp_Transmit

Std_ReturnType Xcp_Transmit(
    PduIdType TxPduId,
    const PduInfoType* PduInfoPtr
)

8.3.4 Xcp_MainFunction

void Xcp_MainFunction(void)

8.3.5 Xcp_SetTransmissionMode

void Xcp_SetTransmissionMode(
    NetworkHandleType Channel,
    Xcp_TransmissionModeType Mode
)

8.4 回调通知

8.4.1 Xcp_RxIndication

void Xcp_RxIndication(
    PduIdType RxPduId,
    const PduInfoType* PduInfoPtr
)

8.4.2 Xcp_TxConfirmation

void Xcp_TxConfirmation(PduIdType TxPduId)

8.4.3 Xcp_TriggerTransmit

Std_ReturnType Xcp_TriggerTransmit(
    PduIdType TxPduId,
    PduInfoType* PduInfoPtr
)

8.5 期望接口

8.5.1 强制接口

  • CanIf_Transmit / FrIf_Transmit / SoAd_IfTransmit
  • Det_ReportError

9. 配置规范

9.1 容器与配置参数

9.1.1 Xcp

根容器。

9.1.2 XcpConfig

配置集容器。

9.1.3 XcpGeneral

参数 类型 说明
XcpDevErrorDetect bool DET 启用
XcpVersionInfoApi bool 版本信息 API
XcpMainFunctionPeriod float main 周期
XcpOnCanEnabled bool XCP on CAN 启用
XcpOnFrEnabled bool XCP on FlexRay 启用
XcpOnEthernetEnabled bool XCP on Ethernet 启用

9.1.4 XcpDaqList

DAQ 列表配置。

9.1.5 XcpEvent

事件配置(周期、信道等)。

9.1.6 XcpSegment, XcpPage

段和页配置(用于标定)。

[摘要] 完整配置详见原文 PDF 第 50-60 页。


翻译说明

  • 本译本基于 AUTOSAR CP 4.4.0 的 XCP 规范 (Document ID 412,共 62 页)
  • 摘要标记位置:第 6 章需求追溯、第 9 章配置