2. EyeQ芯片与感知系统基础
在Mobileye的数据闭环与问题复现工程中,所有采集、回灌、复现与验证动作,最终都要落到EyeQ这颗SoC上。理解EyeQ的架构、感知输出接口以及ADAS/AD功能链路,是判断“哪些数据值得采、采到什么粒度、复现时该对齐哪一层”的前提。本节从芯片内部结构出发,逐层向上梳理到功能链路,并说明它们与数据闭环的接口关系。
一、EyeQ系列SoC的架构分层
EyeQ系列(EyeQ3/EyeQ4/EyeQ5/EyeQ6)虽然代际差异明显,但整体架构遵循同一套分层思路:感知加速层、通用计算层、安全与实时控制层、存储与接口层。以EyeQ4为例,其内部大致包含:
- 视觉加速器(VMP/PMA等):承担卷积、特征提取、光流、深度等固定管线运算,是感知算法的算力主体;
- 多核CPU簇(MIPS/ARM):运行感知后处理、目标跟踪、融合、功能状态机与通信任务;
- 安全岛/锁步核:执行ASIL-D级别的监控、看门狗、故障注入检测,保证功能安全;
- 片上存储与DMA:缓存图像金字塔、特征图、目标列表,DMA负责在加速器与CPU之间搬运数据;
- 外设接口:MIPI CSI-2摄像头输入、CAN/CAN-FD、以太网、I2C/SPI等,用于与整车和外部记录设备交互。
对数据闭环而言,关键认识是:感知结果不是单一输出,而是分布在多个层级上的中间产物。原始图像在加速器层被处理,目标级结果在CPU层生成,安全状态在安全岛层维护。复现问题时,必须明确“问题发生在哪一层”,才能决定采集哪一层的数据。
二、EyeQ感知输出接口
EyeQ对外输出的感知结果,通常通过EyeQ内部消息接口和整车通信接口两条路径暴露。内部接口面向域控制器或应用层,整车接口面向CAN/以太网。常见输出对象包括:
- 目标列表(Object List):每个目标包含ID、类型(车/人/两轮车)、位置(横向/纵向距离)、速度、加速度、置信度、跟踪状态;
- 车道线(Lane Marking):三次多项式系数、车道线类型、置信度、可见范围;
- 可行驶区域(Free Space):以栅格或边界点形式给出;
- 交通标志/信号灯:类别、位置、置信度;
- 功能状态与安全信号:如AEB可用性、传感器遮挡、故障码。
这些输出在时间戳、坐标系、置信度定义上都有明确约定。例如目标位置通常以车辆后轴中心为原点,X向前、Y向左、Z向上;时间戳一般对齐到摄像头曝光时刻。复现问题时,如果采集端与回灌端坐标系或时间基准不一致,就会出现“数据对不上”的假故障。因此,接口定义本身就是数据闭环的契约。
三、ADAS/AD功能链路
从感知输出到功能执行,典型ADAS/AD链路为:感知 → 融合 → 预测 → 规划 → 控制 → 执行。以AEB为例:
- EyeQ输出前方目标列表与自车运动信息;
- 融合模块将视觉目标与雷达目标关联,形成统一目标;
- 预测模块估计目标未来轨迹与碰撞时间(TTC);
- 规划模块判断是否需要制动,输出减速度请求;
- 控制模块将请求转为制动压力或电机扭矩;
- 执行机构完成制动,同时功能状态回传。
数据闭环与这条链路的关系在于:问题可能出现在链路的任何一环,但现象往往只在最后一环暴露。例如AEB误触发,可能是感知把护栏误检为目标,也可能是融合关联错误,还可能是TTC计算阈值过敏感。复现时必须沿着链路逐层回灌,才能定位根因。
四、数据闭环与功能链路的关联
数据闭环的核心动作是“采集—回灌—复现—验证”。它与EyeQ功能链路的对应关系可以概括为:
| 闭环环节 | 对应EyeQ层级 | 关键数据 | 复现目标 |
|---|---|---|---|
| 数据采集 | 摄像头输入 + 加速层 | 原始图像、时间戳、曝光参数 | 保证输入可重放 |
| 数据回灌 | 感知加速层输入 | 图像序列、同步信号 | 复现感知输入条件 |
| 感知复现 | 加速层 + CPU层 | 特征图、目标列表 | 对比感知输出差异 |
| 功能复现 | CPU层 + 安全岛 | 融合结果、状态机、故障码 | 复现功能决策 |
| 验证闭环 | 全链路 | 回灌结果 vs 实车结果 | 确认根因并回归 |
需要强调的是,回灌不是简单地把图像再喂一遍。EyeQ的感知管线依赖内部状态(如跟踪器历史、DMA时序、缓存内容),如果回灌时没有恢复这些状态,感知输出可能与实车不一致。因此,高保真回灌通常需要同时记录:图像帧、时间戳、CAN信号、内部目标列表快照,甚至加速器中间结果。这也是为什么数据闭环工程中,采集粒度和接口对齐往往比算法本身更决定复现成功率。