菜单

硬件组件

相关源文件

本页面提供 openpilot 系统中使用的硬件组件的技术概述。它侧重于实现 openpilot 功能的物理计算平台、传感器和接口。有关利用此硬件的软件架构信息,请参阅 核心架构

硬件平台概述

Openpilot 主要运行在 comma 的硬件设备上,当前一代是 Tici 和一种称为 Mici 的变体。这些设备基于高通骁龙 845 平台,并包含用于摄像头处理、车辆通信和散热管理的专用硬件。

硬件平台图

来源: system/hardware/tici/hardware.py98-118 system/hardware/tici/hardware.py365-431

摄像头系统

Openpilot 使用三摄像头系统,全面感知车辆环境和驾驶员

来源: system/camerad/cameras/camera_qcom2.cc257-323 system/camerad/cameras/hw.h32-66 system/camerad/sensors/sensor.h16-115

摄像头配置

系统由三颗摄像头组成,各有特定的角色和配置

摄像头流类型焦距传感器解决方案处理方式
路面摄像头VISION_STREAM_ROAD8.0毫米AR0231/OX03C101928×1208IFE处理
广角路面摄像头VISION_STREAM_WIDE_ROAD1.71毫米AR0231/OX03C101928×1208IFE处理
驾驶员摄像头VISION_STREAM_DRIVER1.71毫米AR0231/OX03C101928×1208BPS处理

来源: system/camerad/cameras/hw.h32-66 system/camerad/sensors/ar0231.cc20-111 system/camerad/sensors/ox03c10.cc26-106

图像传感器

Openpilot 支持具有不同特性的多种图像传感器

AR0231 传感器

  • 12 位原始输出
  • 高动态范围能力
  • 1928×1208 分辨率
  • 像素尺寸:3.0μm

OX03C10 传感器

  • 12 位原始输出
  • 1928×1208 分辨率
  • 像素尺寸:3.0μm
  • 支持高级曝光控制

OS04C10 传感器

  • 12 位原始输出
  • 1344×760 分辨率
  • 像素尺寸:4.0μm
  • 用于广角应用

来源: system/camerad/sensors/ar0231.cc20-111 system/camerad/sensors/ox03c10.cc26-106 system/camerad/sensors/os04c10.cc23-134

摄像头图像处理

摄像头系统使用高通的 Spectra 图像信号处理器 (ISP) 进行硬件加速图像处理。处理流程包括

系统支持两种主要处理路径

  1. IFE (Image Front End) - 用于路面和广角摄像头
  2. BPS (Bayer Processing Segment) - 用于驾驶员摄像头

每条路径都包含复杂的图像质量增强功能

  • 自动曝光控制
  • 查找表线性化
  • 色彩校正矩阵
  • 伽马校正
  • 渐晕补偿

来源: system/camerad/cameras/spectra.cc696-945 system/camerad/cameras/ife.h41-241 system/camerad/cameras/camera_qcom2.cc117-253

计算硬件

Tici/Mici 设备围绕高通骁龙 845 平台构建,并为 openpilot 操作的各个方面提供了专用资源。

CPU 配置

  • 8 核 CPU 设计,采用 big.LITTLE 架构
    • 4 个“银色”(能效)核心
    • 4 个“金色”(性能)核心
  • 针对不同任务进行核心亲和性优化
    • GPU/modeld:核心 7
    • 摄像头处理:核心 6
    • 显示/编码器:核心 1
    • Panda 通信:核心 3

来源: system/hardware/tici/hardware.py365-454

GPU 和处理

  • Adreno GPU (kgsl-3d0)
  • 最高时钟:710 MHz
  • 配置为性能调度器
  • 专用于神经网络推理

来源: system/hardware/tici/hardware.py424-434

内存管理

  • 优化的内存控制器
  • 注重性能的内存调度器
  • 内存温度监控

来源: system/hardware/tici/hardware.py435-438 system/hardware/tici/hardware.py336-342

车辆接口硬件

内部 Panda

Tici/Mici 设备包含一个内部 Panda——一个负责与车辆进行实时通信的专用微控制器。

内部 Panda 特点

  • STM32 微控制器
  • 硬件 CAN 接口
  • 重置和恢复功能
  • 专用处理以确保实时通信

来源: system/hardware/tici/hardware.py567-589

连接硬件

调制解调器

  • 用于 4G/LTE 连接的蜂窝调制解调器
  • 提供远程遥测和更新
  • 可通过 AT 命令配置
  • 温度监控
  • 数据使用跟踪

WiFi 和蓝牙

  • 用于连接的 WiFi 接口
  • 用于外围设备的蓝牙功能
  • 网络连接监控

来源: system/hardware/tici/hardware.py137-272 system/hardware/tici/hardware.py456-564

热管理

Tici 设备包含一个主动热管理系统,以确保在各种条件下的可靠运行。

热管理系统包括

  • CPU、GPU、内存、PMIC、NVMe 和调制解调器的温度传感器
  • 带 PWM 控制的风扇控制器
  • 热带,用于在不同温度条件下调整性能
  • 紧急热关机保护

在 Mici 设备上,增加了以下传感器的

  • 外壳温度
  • 进气温度
  • 排气温度

来源: system/hardware/tici/hardware.py329-343 system/hardware/hardwared.py43-49 system/hardware/hardwared.py276-293

电源管理

该设备包括电源监控和管理系统

  • 电流消耗监控
  • SoM (System on Module) 功耗测量
  • 用于后台运行的省电模式
  • 组件电源控制(例如,放大器关断)

来源: system/hardware/tici/hardware.py320-325 system/hardware/tici/hardware.py365-394

显示和用户界面硬件

  • 带背光控制的显示器
  • 触摸屏输入支持
  • 亮度范围0-100%可调

来源: system/hardware/tici/hardware.py344-363

存储硬件

  • NVMe 存储,用于高速数据访问
  • NVMe 温度监控
  • 用于不同系统组件的分区方案

来源: system/hardware/tici/hardware.py310-318 system/hardware/tici/agnos.json1-83 system/hardware/tici/all-partitions.json1-286

硬件初始化和配置

系统启动时,硬件组件会使用优化设置进行初始化

  1. CPU 核心和频率调节器已配置
  2. GPU 设置已针对神经网络推理进行优化
  3. 专用于处理的 IRQ(中断请求)分配
  4. 调制解调器配置用于连接
  5. 风扇控制器初始化
  6. 摄像头系统启动

来源: system/hardware/tici/hardware.py365-454 system/camerad/cameras/camera_qcom2.cc257-323