跳转至
XiAmp · API Reference

XiAmp API 文档 v1.0

CAN UDS · USB 控制 · FOTA · REST · IPC
文档编号:D2-P3-TECH-002 · 版本:v1.0 · 发布:2026-05-05
每一条 CAN 帧都有语义 · 每一次升级都可追踪
UDS
车规诊断
CAN-FD
主通信
USB-C
调试入口

XiAmp API 文档 v1.0

摘要

本文档定义 XiAmp 系列功放对外编程接口CAN-FD 车规诊断(UDS / OBD)USB Type-C 控制FOTA 升级协议REST 调试接口(Pro+)内部 MCU ↔ XiDSP IPC。 目标读者:Tier1 / 主机厂集成工程师、FOTA 后端开发、产线测试工程师、整车诊断工程师

稳定性契约

  • CAN 报文 ID + DLC + Payload 字节序 一旦 Datasheet 发布后保持向后兼容
  • UDS Service ID 按 ISO 14229 标准,Xisound 专用 DID 区段 0xF1E0-0xF1FF
  • FOTA 包结构 Major 版本兼容性 10 年
  • REST API 遵循 SemVer(仅 Pro+ 车规高阶功能提供)

1. CAN-FD 车规诊断

1.1 CAN 总线参数

参数 Lite Pro+
波特率 500 kbps 1 Mbps CAN / 5 Mbps CAN-FD
数据长度 8 bytes 64 bytes (FD)
诊断地址 11-bit 29-bit
终端电阻 客户板上 120Ω × 2

1.2 UDS 服务清单(ISO 14229)

SID 服务 说明
0x10 Diagnostic Session Control 进入诊断会话
0x11 ECU Reset 重启 XiAmp
0x22 Read Data By Identifier 读 DID
0x2E Write Data By Identifier 写 DID
0x27 Security Access Seed & Key 握手
0x31 Routine Control 运行诊断例程(自检)
0x34 Request Download FOTA 下载准备
0x36 Transfer Data FOTA 数据传输
0x37 Request Transfer Exit FOTA 结束

1.3 Xisound 专用 DID 表

DID 名称 访问 长度 说明
0xF180 硬件版本 RO 4 B 板卡 HW Rev
0xF181 固件版本 RO 4 B MCU + DSP 组合
0xF182 Serial Number RO 16 B 出厂唯一序列号
0xF183 VIN 绑定 RW 17 B 车架号绑定(车规)
0xF1E0 当前模式 RW 1 B 0=Off / 1=Standard / 2=Dynamic / 3=Voice
0xF1E1 主音量 RW 1 B 0-100
0xF1E2 通道静音 RW 2 B bitmap
0xF1E3 EQ Preset 索引 RW 1 B 0=Flat / 1-7=自定义
0xF1F0 温度读数 RO 2 B 0.1°C 精度
0xF1F1 当前功率 RO 8 B 4ch × 2B RMS
0xF1FF DTC 清单 RO 128 B 故障码列表

1.4 典型诊断流程

sequenceDiagram
    autonumber
    participant 工具 as 诊断工具
    participant Amp as XiAmp
    工具->>Amp: 0x10 02 (进入扩展会话)
    Amp->>工具: 0x50 02 ACK
    工具->>Amp: 0x27 01 (Request Seed)
    Amp->>工具: 0x67 01 SEED
    工具->>Amp: 0x27 02 KEY
    Amp->>工具: 0x67 02 ACK (解锁成功)
    工具->>Amp: 0x22 F1 82 (读 SN)
    Amp->>工具: 0x62 F1 82 <16 字节 SN>

1.5 DTC 故障码分配(节选)

DTC 含义 严重度
P0A01 DSP 初始化失败
P0A02 ADC 校准失败
P0A10 过温(> 115°C)
P0A11 过流(单通道 > 10A)
P0A20 CAN 总线关闭
P0A30 电源欠压(< 9V)
P0A40 FOTA 校验失败

2. USB Type-C 控制接口

2.1 USB 枚举信息

参数
VID 0x2E8A(Xisound)
PID 0x01A0(Lite-4)/ 0x01A1(Lite-8)...
Class CDC ACM(虚拟串口) + HID(烧录)
波特率 921600 bps(虚拟串口)

2.2 命令格式

[STX] [CMD] [LEN] [PAYLOAD] [CRC16] [ETX]
  1B    1B    2B    N B        2B     1B

2.3 常用命令

CMD 名称 Payload 响应
0x01 Ping Pong + FW Version
0x10 Get Status 模式 / 音量 / 温度
0x11 Set Volume 1B 音量 OK/Fail
0x12 Set Mode 1B 模式 OK/Fail
0x20 Read DID 2B DID 数据
0x21 Write DID 2B DID + N B OK/Fail
0x30 FOTA Start 4B 总大小 + 32B SHA OK + Block Size
0x31 FOTA Chunk 4B Offset + N B OK
0x32 FOTA End OK(验证通过)/ Fail
0xF0 Read Log 4B Offset + 2B Len 日志文本
0xFF Reboot

2.4 Python 示例

from xiamp_cli import XiAmp

amp = XiAmp.open("COM7")
print(amp.ping())            # FW v1.0.1
print(amp.get_status())      # {mode: 1, volume: 60, temp_c: 42.5}
amp.set_volume(75)
amp.set_mode("Dynamic")      # 1=Standard 2=Dynamic 3=Voice

# 烧录固件
amp.flash("xiamp-lite4-v1.0.2.xifw", verify=True)

3. FOTA 升级协议

3.1 FOTA 包结构

+----------------------+  0x0000
| Magic "XAMP"         |  4 B
+----------------------+
| FOTA Version         |  4 B
+----------------------+
| Target HW            |  4 B  (板卡型号)
+----------------------+
| MCU FW Size          |  4 B
+----------------------+
| DSP FW Size          |  4 B
+----------------------+
| Timestamp            |  8 B
+----------------------+
| SHA-256 of Payload   |  32 B
+----------------------+
| RSA-2048 Signature   |  256 B
+----------------------+
| Padding              |  to 0x200
+----------------------+
| MCU Firmware         |  MCU FW Size
+----------------------+
| DSP Firmware         |  DSP FW Size
+----------------------+

3.2 升级状态机

graph LR
    Idle[空闲] --> Init[初始化 · 接收 Start]
    Init --> Transfer[分片传输]
    Transfer --> Verify[校验签名]
    Verify -- OK --> Apply[应用到 B 分区]
    Verify -- Fail --> Abort[终止 · 报错]
    Apply --> Reboot[重启到 B]
    Reboot -- 启动成功 --> Commit[提交 · 正式启用]
    Reboot -- 失败 --> Rollback[回滚到 A]

    class Idle xyL0
    class Init,Transfer,Verify xyL2
    class Apply xyL3
    class Reboot xyL4
    class Commit xySuccess
    class Abort,Rollback xyError

3.3 断点续传

  • 支持按 Offset 字段断点续传
  • MCU 每 256KB 保存一个 checkpoint
  • 网络中断后继续,无需从头开始

4. REST 调试接口(Pro+ 车规)

4.1 访问方式

仅限调试模式启用(通过 USB 开启),常规客户端禁用。

http://192.168.4.1:8080/api/v1/

4.2 常用端点

端点 方法 说明
/status GET 整体状态 JSON
/volume GET/PUT 主音量
/preset GET/PUT EQ Preset
/dtc GET/DELETE 读/清 DTC
/spectrum GET 实时频谱(WebSocket)
/fota POST 上传 FOTA 包

4.3 JSON Schema 示例

GET /status 响应:
{
  "hw_version": "Lite-4 M1",
  "fw_version": "1.0.1",
  "mode": "Dynamic",
  "volume": 65,
  "channels": [
    {"ch": 0, "name": "Front-L", "power_w": 12.3, "clip": false},
    {"ch": 1, "name": "Front-R", "power_w": 12.5, "clip": false},
    {"ch": 2, "name": "Rear-L",  "power_w": 8.2,  "clip": false},
    {"ch": 3, "name": "Rear-R",  "power_w": 8.4,  "clip": false}
  ],
  "temperature_c": 42.5,
  "supply_v": 13.8,
  "uptime_s": 3600
}

5. 内部 MCU ↔ XiDSP IPC

5.1 XiIPC v1.0 协议

+--------+--------+--------+--------+----------+--------+
| STX 1B | LEN 2B | SEQ 1B | CMD 1B | PAYLOAD  | CRC 2B |
+--------+--------+--------+--------+----------+--------+

5.2 IPC 消息类型

CMD 说明 方向
0x01 SetMode MCU → DSP
0x02 SetVolume MCU → DSP
0x10 DSP Status Report DSP → MCU
0x11 DSP Log DSP → MCU
0x20 Graph Load MCU → DSP
0x30 Param Update MCU → DSP
0xF0 DSP Heartbeat DSP → MCU(每 100 ms)
0xFF Emergency Stop 双向

5.3 错误处理

  • 超时(50 ms 无响应)→ 重传 3 次 → 失败记 DTC
  • 3 次 Heartbeat 丢失 → 重启 DSP

6. 示例:车机主动切换模式

sequenceDiagram
    autonumber
    participant 车机 as 车机主机
    participant Amp as XiAmp MCU
    participant DSP as XiDSP
    车机->>Amp: CAN 写 DID 0xF1E0 = 0x02 (Dynamic)
    Amp->>DSP: IPC CMD 0x01 SetMode=Dynamic
    DSP->>DSP: 切换算法图(100 ms)
    DSP->>Amp: ACK + 状态报告
    Amp->>车机: CAN 响应 0x6E F1 E0 00 (Success)

7. 安全与合规

7.1 车规网络安全(Pro+)

  • 诊断会话:Seed & Key 握手(Secure Access)
  • 固件签名:RSA-2048 + SHA-256
  • Anti-Rollback:OTP Version Counter
  • CAN 入侵检测:异常报文限流 + DTC 记录

7.2 隐私

  • 无麦克风 / 摄像头 · 无隐私数据采集
  • VIN 绑定仅用于防盗 · 不上传云端

8. 附录

8.1 完整 DID 表

详见独立附录 D3-execution/xiamp-did-table.csv(Phase 3 后续批次发布)。

8.2 完整 UDS 服务表

详见 ISO 14229-1:2020 标准 + Xisound UDS 扩展补充文档。

8.3 关联文档

8.4 外部标准参考

  • ISO 14229-1(UDS 诊断)
  • ISO 15765(CAN 传输层)
  • ISO 11898-1(CAN-FD 物理层)
  • USB IF CDC-ACM 1.2

8.5 版本历史

版本 日期 要点
v1.0 2026-05-05 首版 · UDS + USB + FOTA + REST + IPC

api.md · D2-P3-TECH-002 · v1.0 · 2026-05-05 · Xisound 研发中心 · 硬件团队 + 固件团队