4、核心概念与术语:SLAC、SDP、V2GTP、EXI、TLS、PKI、合同证书、充电会话等关键术语的详细解释

ISO 15118 作为电动汽车与充电基础设施之间通信的核心国际标准,其协议栈涉及从物理层到应用层的多个技术组件。对于工程师和测试人员而言,理解 SLAC、SDP、V2GTP、EXI、TLS、PKI、合同证书以及充电会话这些关键术语,是掌握协议交互逻辑、进行故障排查和实现互联互通的基础。本章将逐一拆解这些术语的技术内涵、在协议栈中的位置、工作流程以及实际工程中的注意事项,帮助读者建立完整的知识框架。

ISO 15118 核心术语关系与协议栈定位 物理层 / 链路层 HomePlug Green PHY OFDM / CCO / STA (电力线载波通信) SLAC 信号级衰减特性 PLC 链路建立 (ISO 15118-3 / 2.0) SDP 服务发现协议 SECC 发现 / 端口协商 (TCP/UDP 端口 15118) V2GTP V2G 传输协议 消息封装 / 会话 (TCP/UDP 载荷) 应用层 (V2G 消息) EXI 编码 (二进制 XML) → 高效传输 TLS 加密 (传输层安全) → 机密性 / 完整性 / 身份认证 PKI 体系 根证书 / 子CA / 交叉证书 合同证书 (Contract Certificate) 用于识别电动汽车用户与计费 充电会话 (Charging Session) 从 TCP 连接到 TLS 建立 → 应用层握手 → 充电控制 → 结束 状态机管理 / 超时 / 错误处理 链路/传输 SLAC SDP V2GTP 应用层 PKI/证书 充电会话

上图展示了 ISO 15118 协议栈中各核心术语的层次关系。从底层的 HomePlug Green PHY 物理层,到 SLAC 完成链路建立,再到 SDP 发现服务、V2GTP 封装消息、EXI 编码应用数据,以及 TLS/PKI 提供安全保障,最终构成一个完整的充电会话。下面我们将逐一深入解析每个术语。

4.1 SLAC(Signal Level Attenuation Characterization)

核心原理

SLAC 是 ISO 15118-3 中定义的一种机制,用于在电力线通信(PLC)环境中自动识别并建立电动汽车(EV)与充电桩(EVSE)之间的逻辑链路。由于 PLC 信号在电力线上传输时会受到线缆长度、接头阻抗、负载噪声等因素影响,信号衰减特性各不相同。SLAC 通过交换一组特定的衰减特征参数,使 EVSE 能够从多个可能连接的 PLC 节点中,唯一确定当前物理连接的 EV。

工作流程

  1. EV 发起 SLAC 请求:EV 的 PLC 调制解调器发送包含自身衰减特征的 SLAC_PARAM_REQ 消息。
  2. EVSE 响应:EVSE 收到后,回复 SLAC_PARAM_CNF,并附带自身的衰减参数。
  3. 匹配确认:双方通过计算信号衰减值,确认是否在同一物理链路上。通常需要多次握手(如 3 次)以排除干扰。
  4. 建立连接:匹配成功后,EVSE 分配一个唯一的通信标识(如 MAC 地址),后续通信基于此链路进行。

工程要点:SLAC 过程必须在 TLS 建立之前完成,因为它属于链路层准备阶段。实际测试中,若 SLAC 失败,常见原因是 PLC 信号衰减过大(如线缆过长)或 EVSE 与 EV 的 PLC 芯片不兼容。

案例拆解

某充电桩现场,EV 插入后无法启动充电。通过抓取 PLC 日志,发现 SLAC_PARAM_REQ 消息持续重发但无响应。进一步检查发现,充电枪的 PE 线接触不良,导致 PLC 信号回路中断。更换枪头后,SLAC 在 200ms 内完成匹配,充电正常启动。此案例说明,SLAC 不仅依赖软件协议,还高度依赖物理连接的完整性。

常见误区

  • 误以为 SLAC 是应用层协议——实际上它工作在 OSI 第二层(数据链路层)。
  • 忽略 SLAC 超时时间设置——ISO 15118 规定 SLAC 应在 2 秒内完成,超时需重新初始化。

4.2 SDP(SECC Discovery Protocol)

核心原理

SDP 是 ISO 15118-2 中定义的服务发现协议,用于让 EV 找到充电桩上的 SECC(Supply Equipment Communication Controller,供电设备通信控制器)。由于一个 EVSE 可能包含多个物理充电接口,每个接口对应一个独立的 SECC 实例,SDP 通过 UDP 广播或 TCP 连接来定位目标 SECC 的 IP 地址和端口号。

操作流程

步骤方向消息说明
1EV → EVSEV2GTP-Header + SDP RequestUDP 广播到端口 15118,请求 SECC 信息
2EVSE → EVSDP Response包含 SECC 的 IP 地址、端口号、安全能力(TLS 支持)
3EV → EVSETCP 连接根据 SDP 响应,建立到 SECC 的 TCP 连接

实战场景

在双枪充电桩中,EV 插入左侧枪口,但 SDP 响应返回了右侧 SECC 的地址。这通常是因为 EVSE 内部路由配置错误,导致广播响应未绑定到正确的物理端口。解决方法是检查 EVSE 的端口映射表,确保每个物理接口对应唯一的 SECC 实例。

风险提示:SDP 使用 UDP 广播时,若网络中存在多个 EVSE,EV 可能收到多个响应。ISO 15118 规定 EV 应选择信号强度最高或最先到达的响应,但实际测试中建议 EVSE 配置为单播响应,避免歧义。

4.3 V2GTP(V2G Transfer Protocol)

核心原理

V2GTP 是 ISO 15118-2 中定义的传输层封装协议,负责在 TCP 或 UDP 之上承载 V2G 消息。它提供了一个统一的帧格式,包含版本号、负载类型、负载长度和会话 ID 等字段,确保应用层消息能够可靠地分段、重组和路由。

帧结构

V2GTP 头部 (8 字节):
- 版本号 (1 字节): 通常为 0x01
- 反向标志 (1 字节): 0x00 表示正向
- 协议版本 (1 字节): 0x01 表示 ISO 15118-2
- 负载类型 (1 字节): 0x01 = EXI 编码, 0x02 = XML
- 负载长度 (4 字节): 大端序,表示后续负载字节数

判断方法

在抓包分析时,识别 V2GTP 帧的关键是检查前 8 字节是否符合上述格式。若负载类型为 0x01,则后续数据为 EXI 编码,需要专门的解码器才能解析。

案例拆解

某测试团队在验证互操作性时,发现 EV 发送的 V2GTP 帧中负载长度字段错误,导致 EVSE 解析超时。通过对比 Wireshark 抓包,发现 EV 的 TCP 分段重组逻辑存在 bug,将 4 字节长度字段拆分为两个 2 字节段。修复 EV 协议栈后,通信恢复正常。

4.4 EXI(Efficient XML Interchange)

核心原理

EXI 是一种二进制 XML 编码格式,由 W3C 标准化,用于减少 XML 文档的传输体积和解析开销。在 ISO 15118 中,所有 V2G 应用层消息(如 ChargeParameterDiscoveryReq)都使用 EXI 编码,相比纯文本 XML 可减少约 80%-90% 的数据量,这对于低速 PLC 链路至关重要。

编码特点

  • 使用预定义的 grammar 表,将 XML 标签和结构映射为紧凑的二进制码。
  • 支持字符串表压缩,重复的字符串(如 "urn:iso:15118:2:2013")只传输一次。
  • 编码后的数据流是自描述的,解码器可根据 grammar 恢复原始 XML 结构。

操作流程

  1. 生成 grammar:根据 XSD 模式文件,生成 EXI grammar 表。
  2. 编码:将 XML 消息转换为 EXI 二进制流。
  3. 传输:通过 V2GTP 封装后发送。
  4. 解码:接收方使用相同的 grammar 表还原 XML。

经验提醒:在调试 EXI 问题时,务必确认双方使用相同的 XSD 版本。ISO 15118 有多个版本(如 2.0、2.1、20.0),grammar 表不兼容会导致解码失败。

4.5 TLS(Transport Layer Security)与 PKI(Public Key Infrastructure)

核心原理

TLS 在 ISO 15118 中用于保护 EV 与 EVSE 之间的通信,提供机密性、完整性和身份认证。PKI 是支撑 TLS 证书信任链的基础设施,包括根证书颁发机构(CA)、子 CA、证书吊销列表(CRL)等。在充电场景中,EV 和 EVSE 各自持有证书,通过 TLS 握手验证对方身份。

证书体系

证书类型持有方用途
根证书信任锚(如车厂或电网)验证下级证书的签名
子 CA 证书中间机构签发合同证书或 EVSE 证书
合同证书EV 用户标识用户身份,用于计费和授权
EVSE 证书充电桩证明充电桩的合法身份

TLS 握手流程(简化)

  1. EV 发送 ClientHello,列出支持的 TLS 版本和加密套件。
  2. EVSE 回复 ServerHello,选择加密套件,并发送其证书链。
  3. EV 验证 EVSE 证书链(通过 PKI 信任锚)。
  4. 双方交换密钥,建立加密通道。
  5. 在应用层,EV 发送合同证书进行授权。

案例拆解

某充电运营商部署新桩后,部分 EV 无法充电。日志显示 TLS 握手失败,错误为"证书链验证失败"。排查发现,EVSE 安装的证书链中缺少中间 CA 证书,导致 EV 无法构建完整的信任路径。重新安装包含完整链的证书后,问题解决。

安全提示:合同证书包含用户隐私信息,必须存储在 EV 的安全硬件模块(如 TPM 或 eSIM)中,禁止明文导出。同时,PKI 的 CRL 或 OCSP 必须定期更新,防止已吊销证书被滥用。

4.6 合同证书(Contract Certificate)

核心原理

合同证书是 PKI 体系中的一种终端实体证书,由运营商的 CA 签发,绑定 EV 用户的身份和计费账户。它用于在充电会话中向 EVSE 证明用户有权使用充电服务,并关联到后续的计费结算。合同证书通常包含用户 ID、运营商 ID、有效期和公钥。

生命周期

  • 签发:用户注册充电服务时,运营商 CA 生成并安装证书到 EV。
  • 使用:充电会话中,EV 通过 TLS 应用层消息(如 AuthorizationReq)提交证书。
  • 更新:证书到期前,EV 可通过 OTA 方式获取新证书。
  • 吊销:用户欠费或违规时,运营商吊销证书并更新 CRL。

实战场景

在 Plug&Charge 功能中,EV 插入充电枪后,无需刷卡或手机扫码,自动通过合同证书完成身份识别和计费。这要求 EV 与 EVSE 之间在 TLS 握手后,立即交换合同证书,整个过程应在 1 秒内完成,否则用户体验会明显下降。

4.7 充电会话(Charging Session)

核心原理

充电会话是 ISO 15118 中从 EV 与 EVSE 建立通信到充电结束并断开连接的完整过程。它由一系列状态机驱动,包括:TCP 连接建立、SDP 发现、TLS 握手、应用层握手(SessionSetupReq/Res)、充电参数协商、充电控制(PowerDeliveryReq/Res)、会话结束(SessionStopReq/Res)。

状态机关键节点

状态触发条件超时时间失败处理
TCP 连接SDP 响应后5 秒重试 SDP
TLS 握手TCP 建立后10 秒断开连接
应用层握手TLS 建立后5 秒发送错误响应
充电控制参数协商后根据需求终止会话

案例拆解

某测试中,EV 在充电过程中突然中断,EVSE 日志显示"SessionStopReq 超时"。分析发现,EV 在收到 PowerDeliveryReq 后,由于电池管理系统(BMS)异常,未及时发送响应。EVSE 的超时设置为 3 秒,而 EV 的 BMS 处理需要 5 秒。调整 EVSE 超时参数至 8 秒后,问题不再出现。

复盘总结:充电会话的健壮性取决于超时参数的合理配置和错误处理逻辑。建议在开发阶段使用协议测试仪模拟各种异常场景(如消息丢失、重复、乱序),确保状态机能够正确恢复。

4.8 术语关系总结与工程建议

上述术语并非孤立存在,而是构成了一个完整的通信链路。SLAC 解决"谁在物理上连接"的问题,SDP 解决"如何找到服务"的问题,V2GTP 解决"如何封装消息"的问题,EXI 解决"如何高效编码"的问题,TLS/PKI 解决"如何安全通信"的问题,合同证书解决"如何授权计费"的问题,充电会话则串联起所有环节。在实际工程中,建议按以下顺序进行调试:

  1. 检查物理层(PLC 信号质量)和 SLAC 是否成功。
  2. 验证 SDP 响应是否正确返回 SECC 地址。
  3. 确认 V2GTP 帧格式和 EXI 解码是否正常。
  4. 检查 TLS 证书链和加密套件兼容性。
  5. 最后验证应用层充电会话状态机。

经验提醒:在互操作性测试中,优先使用官方提供的协议测试工具(如 Keysight 或 Vector 的 ISO 15118 测试套件),它们能自动生成合规的测试用例,并输出详细的日志分析,大幅提升问题定位效率。