引言:自动驾驶需使用摄像头、超声波雷达、激光雷达等多个传感器,对车辆行驶的环境进行感知定位,并将环境信息数据交予决策系统,如果决策系统接收到的各传感器的消息时间不统一,决策系统不能快速的作出正确的判断,将产生不可预计的后果。本文从PPS时间同步、自动驾驶的系统时延、摄像头模组的从工作模式、激光雷达的采样与摄像头曝光的同步总共四个方面讨论自动驾驶的时间同步,重点讨论自动驾驶摄像头模组在从工作模式下的时延细节。
一、PPS时间同步
时钟模块上的GPS接收机负责接收GPS天线传输的射频信号,然后进行变频解调等信号处理,向基站提供1pps信号,进行同步。-1-
PPS脉冲精度
图1.1.1 PPS信号与GPRMC发送数据信息的时延
精度
水平精度
2.0米 CEP 2D RMS SBAS辅助(开阔天空)
时间精度
30ns
工作
限制
最大高度
50000米
最大速度
500m/s
最大
加速度
≤4G-2-
采集系统对时机制
图1.2.1 自动驾驶时间同步逻辑流程图
采集系统对时过程如下:
① GPS发送PPS脉冲信号,板卡捕获该PPS信号,将其记录时间为T1。
② 图像数据采集卡等待捕获第二个PPS脉冲信号,并捕获第二次时间戳数据,记录此PPS时刻为T2。
③ 图像数据采集卡计算时间:△T=T2-T1=1s,若严格满足1s(±2us)要求,进行系统对时。否则,重新捕获PPS。
④ 图像数据采集卡接收主机端SDK授时,SDK所授予的时间与PPS的时间戳进行对齐,将系统校正后的时间戳数据写入板卡的RTC硬件时钟作为同步。
二、自动驾驶摄像头
模组中的从工作模式
-1-
CMOS-Sensor曝光模式Sensor的曝光模式有Rolling Shutter(卷帘曝光)和Global Shutter(全局曝光)两种。Global Shutter通过整幅场景在同一时间曝光实现的。开始曝光时,Sensor所有像素点同时感光,采集光线。曝光结束后Sensor输出一整张图片。Rolling Shutter通过Sensor逐行扫描逐行进行曝光,每一行的像素点完成曝光后即输出当前行的图像。所有行完成曝光,则输出整副图像。目前自动驾驶行业普遍使用Rolling Shutter曝光模式;主要原因有以下几点:成本相对低/能做到120dB以上的动态范围;
图2.1.1 Rolling shutter(左)和Global shutter(右)示意图
-2-
CMOS-Sensor从模式
-Slave Mode
Sensor从模式有Slave Mode和Readout Slave Mode 两种,两种模式的区别在于,CMOS在触发信号到来之后才开始曝光采样(Slave Mode)还是触发信号到来之前曝光(Readout Slave Mode)。
▋ Slave Mode 时序图
图2.2.1Slave Mode时序示意图
①Slave Mode模式下,芯片自动进入Active state状态(准备时间),等待EFSYNC/FSYNC/GPIO端口接收触发信号。
② 外部发送触发信号到解串器MAX9296A,解串器再将触发信号通过同轴信号通道发送相机模组内部的串行器MAX9295A/MAX96717,再由串行器发送到ISP。
③ ISP将触发信号透传到CMOS的EFSYNC/FSYNC/GPIO端口,CMOS进入Internal Delay状态(内部延迟),随后进入Exposure Time(曝光时间),CMOS开始逐行曝光,直到设置的曝光时间结束曝光。
④ Frame Valid(帧有效)上升沿有效,CMOS进入Active Rows状态:开始在规定时间内读出芯片图像数据。
⑤ 读出数据后进入Blank Rows状态:消隐一段时间,随后进入下一个Active State状态(准备时间)。
▋Slave Mode实测图
图2.2.2 Slave Mode时序图
(Sony-ISX031 Slave Mode信号时序实测图)
-3-
CMOS-Sensor从模式
-Readout Slave Mode
▋ Readout SlaveMode 时序示意图
图2.3.1 Readout Slave Mode时序示意图
▋Readout Slave Mode时序实测图
视频-1 Readout Slave Mode时序实测图
(Sony-ISX031 Readout Slave Mode信号时序实测图)
三、激光雷达的采样过程
及摄像头的同步讨论
-1-
激光雷达大类
图3.1.1 激光雷达类别图
▋ 机械式-360°旋转雷达工作时序
图3.1.2 128线激光雷达接收器曝光时序示意图
图3.1.3 机械式曝光时序示意图
▋ 转镜半固体雷达工作时序
图3.1.4 5半固态式激光雷达原理示意图
图3.1.5 转镜半固态曝光时序示意图
▋ 面阵纯固态雷达工作时序
图3.1.6 面阵纯固态激光雷达产品图
视频-2 禾赛科技的动态
-2-
激光雷达、摄像头曝光模式区别
区别项
CMOS摄像头
激光雷达
曝光时长
1H-15ms(无MOTION BLUR 的经验值)
机械式:全周期(如100ms)
半固态:半周期(如50ms)
纯固态:不确定,跟具体设计相关
采样方式
ADC一次读出单点像素数据(单值)
通道间(行间)曝光存在重叠
ADC持续高速采样单点数据(二维数据)
通道间曝光时间上串行,无重叠
数据输
出方式
按帧输出,SOC端间歇性收到一帧数据后开始处理
按包输出,大小自定义,SOC端连续收到数据包,需要连续性更新点云数据,无间断
-3-
激光雷达和摄像头数据对齐
▋ 推荐方式:
通过时间戳对齐的方式进行图像时间序列上的对齐。
▋ 摄像头同步要求:
多相机多方位同步触发曝光,同触发时刻所有帧时间戳一样。
-4-
验证摄像头时间戳准确性
▋ 通过同步显示的方式,验证摄像头时间戳的准确性方案:
图3.4.1 验证屏幕显示及CMOS时间同步逻辑示意图外部Trigger触发,CMOS开始曝光,同时记录当前时刻时间戳。外部Trigger触发屏幕刷新,刷新间隔33.3ms,和时间戳时间相对应,则证明时间戳和图像内容对齐。
图3.4.2 屏幕与采集卡时间同步逻辑示意图
时钟源发送触发信号给图像数据采集卡,采集卡记录触发信号的时刻作为时间戳,屏幕基于同源触发信号刷新显示时刻,屏幕显示时刻和采集卡记录的时间戳相对应,则证明时间戳和真实曝光时刻对齐 。
四、自动驾驶系统时延
-1-
自动驾驶系统构成
及图像接入部分展开
图4.1.1 基于视觉的自动驾驶系统数据流图
自动驾驶系统包括从环境感知、决策、执行控制三大过程。
环境感知 :主要由通过CMOS采集图像,获取车辆行驶过程中的环境信息。
Camera的ISP接收并发送MIPI信号到串行器MAX9295A,串行器MAX9295A调制串行差分信号,并发送帧同步信号、像素时钟等信息到图像采集卡的解串器MAX9296A。
决策系统 :通过对采集到的环境信息进行分析,对车辆的下一步动作作出判断指令。
图像采集卡将数据传输到DDR,随后经过对图像数据进行分析、计算,对车辆下一步动作作出判断。
执行控制 :通过指令控制执行油门、刹车、转向等操作。
本文章主要讨论从CAMERA到采集卡(采集卡内置解串器,本文以美信芯片MAX9296A/MAX9295A为例进行讨论)再传输到内核驱动最后到DDR的数据传输过程的系统延迟。
图4.1.2 图像系统的工作流程图
图像系统的工作流程如图所示,解串器发送Trigger信号到ISP,ISP接收并发送Trigger信号至CMOS,CMOS接收到Rolling shutter信号后进行感光采样,CMOS曝光完毕传出图像数据。
传出过程详细请看图1.3 模组和接收板连接框图。由于不同的SERDES组合的系统延迟不同,各大平台算法各有千秋,算力不一致,其过程的系统延时难以计算,故不在此讨论。
艾利光主要讨论Trigger信号发送到CMOS,CMOS感光采样再到传输过程的系统延迟,有助于大家了解自动驾驶系统延迟。不同分辨率的镜头传输的数据的大小各不相同,对系统时延的影响也不同。
图4.1.3 模组和接收板连接框图
图4.1.4 艾利光下OX08B模组和接收板连接实物图
图4.1.3展示了艾利光内置ISP模组的典型硬件框图,其中左边三部分构成了模组的内部结构,包括:
◆ 图像传感器CMOS;
◆ 图像信号处理器ISP(由两种形式构成,A-内置在CMOS内部;B-独立的芯片构成);
◆ 串行器等;
COAXIAL CABLE指的是高速同轴线,其中接收端为串行解串器部分,它负责下发系统trigger以及对接收到的图像数据进行LVDS解码,转换成MIPI信号并输入到图像数据采集卡中,完成图像数据的接收工作。
-2-
每个模块的延时实测
▋两路延时测量:
视频-3 艾利光ISX031模组两路外同步曝光测量
图4.2.1 艾利光ISX031模组两路外同步曝光trigger时序实测
黄线:外同步触发信号 红线:相机1CMOS收到的触发信号 蓝线:相机2CMOS收到的触发信号
外同步触发信号到相机CMOS收到触发信号时延约20us,两个相机CMOS收到的触发信号时间相差不超过2us。
▋ 外部Trigger->Deserdes MIPI输出:
图4.2.2 艾利光ISX031模组readout slave mode 从收到trigger到输出mipi到SOC时序实测,黄线:解串器发出的触发信号 红线:CMOS发出的MIPI信号 蓝线:ISP发出的MIPI信号 绿线:解串器发出的MIPI信号
▋ 一帧图像的mipi传输时长:
图4.2.3 ISX031模组-触发信号(黄色)
到CMOS发送一组完整MIPI数据(蓝色)用时33.3ms
图4.2.4 OX08B模组-触发信号(黄色)
到CMOS发送一组完整MIPI数据(蓝色)用时33.1ms
▋自动驾驶系统获取到完整一帧图像所需要的时间
Readout Slave Mode工作模式下,从系统发出trigger到收到一帧完整的数据总时长被认为是由相机工作带来的系统时延,此部分可以由以下三部分构成:
①触发信号到解串器发出MIPI信号起始位置,正常光照下用时1.460ms;
②Mipi的传输时间,指的是完成一帧图像的mipi传输时长,根据以上测量大约为33ms
③从PCIE数据采集卡发送到PC端的链路用时约3-5ms(估计值,待实际测试)
由以上得知,从触发到整个数据进系统的用时大约为1.46+33+5≈40ms<70ms,可以满足系统需求。
-3-
不同曝光模式曝光中心计算
▋ Readout Slave Mode 的曝光中心时刻
计算
图4.3.1 Sony ISX031-Readout Slave Mode
曝光中心同步时序图
图4.3.2 Sony ISX031-Readout Slave Mode
的CMOS读出一帧图像MIPI数据用时29.6ms
①根据实际测量,CMOS读出一帧图像MIPI数据的时间
可得:
②由Sony ISX031官方指导书可知
综上,图像曝光中心时刻
▋ Slave Mode曝光中心时刻
计算
图4.3.3 Sony ISX031- Slave Mode
曝光中心同步时序图
图4.3.4 Sony ISX031-Slave Mode的CMOS
读出一帧图像MIPI数据用时29.6ms
①根据实际测量,CMOS读出一帧图像MIPI数据的时间
可得:
②由Sony ISX031官方指导书可知
综上,图像曝光中心时刻
▋ Global Mode曝光中心时刻
计算
图4.4.5 Sony ISX031- Master Mode
曝光中心同步时序图
图像曝光中心时刻
联系客服