# 传感器融合接口规范 **版本**: 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 通用传感器数据结构 ```c 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 融合后数据结构 ```c 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 数据接收接口 ```c // 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 融合算法接口 ```c // 执行传感器融合 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接口定义 ```c // 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日: 完成最终版接口规范并提交评审