its-gen1/specs/sensor_fusion_interface_spe...

5.8 KiB
Raw Blame History

传感器融合接口规范

版本: v0.1
日期: 2026-03-07
作者: 孙大圣
状态: 草稿


1. 文档概述

1.1 目的

本文档定义商用车AI-Box Demo中传感器融合模块的接口规范确保MCU、SoC和传感器之间的数据交互标准化、实时性和可靠性。

1.2 适用范围

  • MCU与SoC之间的传感器数据传输接口
  • SoC内部传感器融合算法的输入/输出接口
  • 传感器数据格式标准化定义
  • 实时性要求和性能指标

1.3 参考文档

  • 《商用车AI-Box Demo - 产品需求规格书》v2.0
  • 《智能挂车AI-Box软件架构设计》
  • IPCL通信协议规范

2. 系统架构上下文

2.1 传感器类型

根据PRD v2.0,系统需要支持以下传感器类型:

  • 摄像头: 视频流数据V4L2接口
  • 温度传感器: 环境温度监控
  • 加速度计: 车辆运动状态检测
  • GPS模块: 位置信息获取
  • 其他车载传感器: 待确认具体型号

2.2 数据流向

传感器 → MCU采集 → SPI/UART传输 → SoC接收 → 传感器融合算法 → 应用层使用

3. MCU-SoC传感器数据接口

3.1 SPI接口规范主传输通道

3.1.1 基本参数

  • 传输速率: ≥10Mbps
  • 最大包长: 512字节
  • 校验机制: CRC32校验
  • 重传机制: 最大3次重传

3.1.2 命令格式

详细协议规范请参考 spi_protocol_details.md 文件。

3.1.3 传感器ID定义

详细传感器数据格式请参考 spi_protocol_details.md 文件。

3.2 UART接口规范健康监控通道

3.2.1 基本参数

  • 传输速率: ≥1Mbps
  • 用途: SoC健康状态报告 + 关键传感器状态
  • 超时机制: 3秒无响应触发GPIO复位

3.2.2 状态报告格式

字段 长度 描述
Header 2字节 0xAA55
CPU_Load 1字节 CPU负载百分比
Memory_Usage 1字节 内存使用百分比
Temp_SoC 2字节 SoC温度 (℃ × 10)
Critical_Sensors 4字节 关键传感器状态位图
CRC16 2字节 校验码

4. SoC内部传感器融合接口

4.1 数据结构定义

4.1.1 通用传感器数据结构

typedef struct {
    uint8_t sensor_id;
    uint32_t timestamp_ms;
    uint16_t data_length;
    uint8_t* data;
    uint32_t crc32;
} sensor_data_t;

4.1.2 融合后数据结构

typedef struct {
    uint32_t fusion_timestamp_ms;
    uint32_t valid_sensors_mask;
    // 融合后的环境感知数据
    float temperature_celsius;
    int16_t acceleration[3];
    double gps_position[3]; // lat, lon, alt
    // 其他融合数据...
    uint32_t fusion_confidence; // 融合置信度 (0-100)
} fused_sensor_data_t;

4.2 API接口定义

4.2.1 数据接收接口

// MCU数据接收回调
int on_sensor_data_received(sensor_data_t* raw_data);

// 传感器数据队列管理
int sensor_queue_push(sensor_data_t* data);
sensor_data_t* sensor_queue_pop(void);

4.2.2 融合算法接口

// 执行传感器融合
int perform_sensor_fusion(fused_sensor_data_t* output);

// 获取最新融合结果
const fused_sensor_data_t* get_latest_fusion_result(void);

5. 实时性要求

5.1 端到端延迟

传感器类型 最大延迟 说明
摄像头 100ms 满足实时视频处理
温度传感器 500ms 环境监控足够
加速度计 50ms 车辆安全关键
GPS 1000ms 位置更新频率

5.2 数据吞吐量

传感器类型 数据率 带宽需求
摄像头 (720p) 30fps ~8Mbps
温度传感器 1Hz ~32bps
加速度计 100Hz ~4.8kbps
GPS 1Hz ~64bps

6. 错误处理与恢复

6.1 错误类型

  • 通信错误: CRC校验失败、超时
  • 数据错误: 无效传感器ID、数据长度异常
  • 硬件错误: 传感器离线、MCU异常

6.2 恢复策略

  • 通信错误: 自动重传最多3次
  • 数据错误: 丢弃异常数据包,记录错误日志
  • 硬件错误: 触发系统健康检查必要时GPIO复位

7. 硬件抽象层(HAL)设计

7.1 HAL接口定义

// MCU通信HAL
typedef struct {
    int (*spi_send)(const uint8_t* data, size_t len);
    int (*spi_receive)(uint8_t* buffer, size_t max_len);
    int (*uart_send)(const uint8_t* data, size_t len);
    int (*gpio_reset)(void);
} mcu_comm_hal_t;

// 传感器驱动HAL  
typedef struct {
    int (*init)(void);
    int (*read_data)(sensor_data_t* data);
    int (*get_status)(void);
} sensor_driver_hal_t;

7.2 SoC适配策略

  • 采用硬件抽象层设计便于不同SoC型号适配
  • 预留SoC型号确认后的配置接口
  • 编译时条件编译支持不同硬件平台

8. 待确定事项

8.1 硬件相关

  • SoC具体型号确认 - 需要联系猪小杰确认PRD v2.0中的SoC选型
  • 传感器具体型号和规格确认 - 需要获取详细的传感器数据手册
  • SPI/UART引脚分配确认 - 需要硬件原理图确认

8.2 软件相关

  • 传感器融合算法详细规格 - 需要与算法团队确认融合策略
  • 实时操作系统(RTOS)选择确认 - Linux vs RTOS决策
  • 内存分配策略确认 - 共享内存池大小和管理策略

9. 验收标准

9.1 功能验收

  • 所有传感器数据能够正确传输和解析
  • 传感器融合算法能够正常工作
  • 错误处理机制有效

9.2 性能验收

  • 端到端延迟满足第5章节要求
  • 系统资源占用符合预期
  • 在-40℃~85℃环境下稳定运行

10. 后续工作计划

  • 3月8日: 与猪小杰确认传感器具体规格
  • 3月9日: 完善详细数据格式和算法接口
  • 3月10日: 完成最终版接口规范并提交评审