2. EyeQ硬件与软件架构基础

EyeQ 系列 SoC 是 Mobileye 视觉 ADAS 方案的计算核心,从早期 EyeQ2 到 EyeQ4、EyeQ5、EyeQ6,其架构演进始终围绕一个目标:在有限功耗下实时完成多路摄像头感知、目标跟踪与安全决策。理解这套硬件与软件架构,是后续标定与 EOL 测试的基础——因为标定参数写在哪里、由谁读取、在哪个阶段生效,都直接取决于 SoC 内部的存储分区与固件加载流程。

SoC 组成与内部处理单元

EyeQ 采用典型的异构多核架构,而不是通用 CPU 堆叠。以 EyeQ4 为例,其内部大致包含四类处理单元:

  • MIPS 系列通用 CPU 核:通常为多核 MIPS I-class 或 M-class,负责系统调度、通信协议栈、诊断与安全监控,运行 AUTOSAR 或轻量 RTOS。
  • VMP(Vector Microcode Processor)向量微码处理器:EyeQ 的标志性单元,专为图像像素级并行运算设计,承担卷积、特征提取、光流等底层视觉任务。
  • MPC(Multi-threaded Processing Cluster)多线程处理簇:面向目标检测、分类与跟踪,支持多线程并行,是感知算法的执行主力。
  • 硬件加速器:包括图像信号处理(ISP)、缩放/旋转、DMA、安全加速(如 HSM 硬件安全模块)等。

这些单元通过片上互连总线共享内存与数据流。摄像头数据经 MIPI CSI-2 接口进入 ISP,完成去马赛克、降噪、畸变预处理后写入 DDR;VMP 与 MPC 从 DDR 取图处理,结果再由 CPU 核汇总输出到 CAN/FlexRay 或以太网。理解这条数据通路,才能明白为什么标定参数(如相机内参、畸变系数)必须在 ISP 与感知算法启动前就绪。

EyeQ SoC 内部架构与数据通路 传感器接口 MIPI CSI-2 ×4 Camera / Radar ISP 图像信号处理 去马赛克 / 降噪 畸变预处理 DDR 共享内存 图像帧缓冲 标定数据区 VMP 向量处理器 卷积 / 特征提取 光流计算 MPC 多线程簇 目标检测 / 分类 跟踪算法 MIPS CPU 核 调度 / 诊断 通信协议栈 输出接口 CAN / FlexRay Ethernet 固件与操作系统层:Boot ROM → 安全启动 → RTOS/AUTOSAR → EyeQ 感知固件 标定数据在 Boot 阶段由 CPU 核从 Flash/EEPROM 加载至 DDR 标定区,供 ISP 与感知算法读取 标定数据存储区 Flash / EEPROM / OTP 运行时标定副本 DDR 标定区(只读映射) EOL 写入与校验 CRC / 签名 / 版本号

传感器接口与数据流

EyeQ 的传感器接口以 MIPI CSI-2 为主,部分型号支持并行接口或以太网输入。典型配置是前视摄像头 1 路、环视 4 路、雷达 1~3 路。每路摄像头通过 CSI-2 虚拟通道区分,ISP 按通道独立处理。这里有一个工程上容易忽略的点:相机内参与畸变系数属于“传感器—ISP”链路的标定参数,它们决定像素坐标如何映射到归一化成像平面。如果这些参数在 EOL 阶段写错或未写入,ISP 输出的图像几何关系就是错的,后续感知算法再精确也无法补偿。

数据流可以概括为:传感器 → CSI-2 → ISP → DDR 帧缓冲 → VMP/MPC → CPU 汇总 → 输出接口。标定数据不直接参与像素运算,但它决定了 ISP 的几何校正矩阵和感知算法的坐标变换基准。因此标定数据的加载时机必须早于第一帧图像处理。

固件与操作系统

EyeQ 的软件栈分为三层:

  1. Boot 层:Boot ROM 固化在芯片内,负责安全启动校验。它首先验证 Flash 中引导程序的签名,然后加载 RTOS 或 AUTOSAR 镜像。
  2. OS 层:EyeQ4 及以后通常运行 AUTOSAR Classic 或轻量 RTOS,提供任务调度、内存保护、诊断服务(UDS)和通信栈。
  3. 感知固件层:Mobileye 提供的 EyeQ 感知固件,包含 VMP/MPC 的微码、目标检测模型和跟踪逻辑。这一层对开发者通常以二进制形式交付,标定接口通过特定 API 或共享内存区暴露。

标定数据在 Boot 阶段的加载顺序很关键。以 EyeQ4 为例,典型流程是:Boot ROM → 引导加载程序 → 从 Flash 标定分区读取标定块 → 校验 CRC 与签名 → 写入 DDR 标定区 → 启动感知固件。如果校验失败,系统可能进入降级模式或报诊断故障码(DTC)。EOL 测试中常见的“标定未写入”或“标定校验失败”故障,根源往往就在这个环节。

标定数据存储区

EyeQ 的标定数据通常存放在外部 Flash 或 EEPROM 的专用分区中,部分安全相关参数可写入 OTP(一次性可编程)区域。存储区一般包含以下字段:

字段典型长度说明
标定版本号4 字节用于追溯标定数据版本
相机内参32~64 字节焦距、主点、像素尺寸
畸变系数20~40 字节径向与切向畸变参数
外参(安装角)24~48 字节俯仰、偏航、滚转及安装高度
CRC 校验4 字节标定块完整性校验
签名32~64 字节安全启动链验证

这些字段的具体长度和排列取决于 EyeQ 型号与固件版本,EOL 写入时必须严格按固件定义的布局操作。一个实用的做法是:在 EOL 工位上先读取 Flash 中标定分区的原始数据,与固件规格书中的偏移量表逐字段比对,确认写入地址和长度无误后再执行烧录。烧录完成后回读并计算 CRC,与写入值比对,同时通过 UDS 读取 DTC 确认无标定相关故障。

标定数据存储区的读写权限通常分为“产线可写”和“运行时只读”两种。EOL 阶段通过诊断服务或专用烧录接口写入,整车运行阶段只允许读取。理解这一权限边界,有助于在排障时快速判断问题是出在写入环节还是读取环节。