XiAmp · API Reference
XiAmp API 文档 v1.0
CAN UDS · USB 控制 · FOTA · REST · IPC
每一条 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 命令格式
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 开启),常规客户端禁用。
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 研发中心 · 硬件团队 + 固件团队