自动驾驶之眼-摄像头模组介绍

摄像头对于ADAS的重要性不言而喻,最近在进行域控制器摄像头模组的接口设计,发现网上的资料和描述口径不一,关于RAW Data的传输也各有说法,本着共产主义精神,我融会贯通了一下数据传输和接口定义,为汽车域控制器关于摄像头模组的挑选和接口设计提供了一定参考。内容比较浅显,适合新手阅读。

如下图所示,镜头(Lens)+图像传感器(Image Sensor)+图像信号处理器(Image Signal Processor, ISP)+串行器(Serializer)是摄像头最基本的结构框图。一般步骤是,镜头采集到物体的基本信息然后由Image Sensor(下面简称Sensor)进行一定处理再交于ISP处理之后串行化在同轴电缆或双绞线上进行基于LVDS(Low-Voltage Differential Signaling)的GMSL(Gigabit Multimedia Serial Link)传输。下面对每项展开描述一下,包括数据传输。
在这里插入图片描述

一、Lens

穷玩车、富玩表、摄影穷三代、单反毁一生。想必大家都听过,这里的Lens指的就是摄影中昂贵的镜头,这里就不详细展开了,不属于我们控制器设计相关的参数。我们直说一个比较直观的参数xGyP,其中的x和y指的是数目,G指的是Glass玻璃镜头,P指的是Plastic。一般来说,x的数目越大,镜头越昂贵。

二、Image Sensor

Sensor利用感光二极管(Photodiode)进行光与电的转换,将影像转换为数字信息,现阶段普遍分为CMOS(Complementary Metal Oxide Semiconductor)和CCD(Charge Coupled Device)两种影像测感组件。由于Sensor的每个像素只能感光R、G或者B光,因此每个像素储存的都是单色光,也就是RAW DATA(同RGB RAW DATA)。如果这个原始数据的排列格式是 RGRG/GBGB排列的,我们叫做 Bayer RGB(这个最最常见)。所以 Bayer RGB是属于RAW DATA的,但是RAW data不一定是Bayer RGB,不同厂家的Sensor,其RAW DATA排列是不同的。

2.1 CCD

CCD传感器如下图所示,每一行中每一个像素(Pixel)的电荷信号都会依序传送到下一个像素中,由最底端的部分输出,再经由传感器边缘的放大器进行放大输出,总的来说就是在一根总线后添加A/D转换。
在这里插入图片描述

2.2 CMOS

CMOS传感器如下图所示,每个像素都会连接一个放大器及模/数转换电路,用类似内存电路的方式将信号输出,总的来说就是每个感光二极管旁都加入了A/D转换。
在这里插入图片描述

2.3 二者的差异

1、信息读取方式不同

CCD只有一条总线,是在同步电路控制下被动式的输出采集的数据,传出数据就是在时钟信号同步下,一步一步的移位读出对应二极管的电平值,电荷信息转移和读取输出需要有时钟控制电路和三组不同的电源相配合,整个电路较为复杂。

CMOS有两条总线,主动式输出采集的数据信息,以坐标(晶体管开关阵列)方式直接读取总线的电平来保存每个像素的电平值。

2、速度不同

由读取信息的方式也可以看出,CCD需在时钟脉冲的控制下以“行”为单位一位一位的输出信息,速度较慢。

CMOS有晶体管开关阵列,Sensor边采集光信号边取出电信号,还能同时处理各单元的图像信息,它可在相当高的帧速下动作。如有些设计用来做机器视觉的CMOS,声称可以高达每秒1000个画面的帧速。

3、电源及耗电量不同

CCDCCD传感器为被动式捕获,需外加电压让每个像素中的电荷移动,而这外加电压通常需要12~18V,一般来说需要时钟控制电源和三组电源供电,高驱动电压更使其耗电量远高于CMOS传感器。

CMOS光电传感器的影像捕获方式为主动式,感光二极管所产生的电荷会直接由旁边的晶体管放大输出,通常只需使用一个电源3V或者5V,耗电量非常小,仅为CCD电荷耦合器的1/8到1/10。

4、成像质量不同

CCD电荷耦合器制作技术起步早,技术成熟,采用PN结或二氧化硅(SiO2)隔离层隔离噪声,只有一个放大器放在芯片边缘的CCD传感器,噪声低,成像质量比CMOS较好。

CMOS光电传感器集成度高,各光电传感元件、电路之间距离很近,相互之间的光、电、磁干扰较严重,噪声对图像质量影响很大,近年,随着CMOS电路消噪技术的不断进展,为生产高密度优质的CMOS成像器件提供了良好的条件,成像质量显著提高。CMOS的pixel Size很难达到CCD传感器的水准,比较相同尺寸的CCD与CMOS,CCD的分辨率通常会优于CMOS传感器的水准。

三、DVP传输

DVP(Digital Video Port)是是传统的Sensor输出接口,采用并行输出方式,数据位宽有8/10/12bit,数据的排列顺序非常重要,可以不是0对0、7对7,可以0对7/7对0的倒序,甚至允许错位排列, PCLK最大速率为96MHz。
在这里插入图片描述

DVP需要PCLK\Sensor输出时钟、MCLK(XCLK)\外部时钟输入、VSYNC\场同步、HSYNC\行同步、D\并口数据。

PCLK:像素点同步时钟信号,每个PCLK对应一个像素点;对于时钟信号,一般做包地处理,减少对其他信号的干扰,还需要在源端加电阻和电容,减少过冲和振铃,从而减少对其他信号的干扰;MCLK(XCLK):外部时钟输入,可由主控或晶振提供;VSYNC:帧同步信号,一帧一个信号,频率为几十Hz(30Hz);HSYNC:行同步信号(频率为几十KHz)。

例如:分别率 180×720的百万像素的屏,每一行需要输入1080个脉冲来依次移位、锁存这一行的数据,然后来个HSYNC 脉冲换一行;这样依次输入720行(也叫做逐行扫描,Progressive)之后换行同时来个VSYNC脉冲把行计数器清零,又重新从第一行开始刷新显示。

一般的,摄像头模组内部集成ISP,Sensor会将RAW DATA经DVP传输给ISP进行解析,部分模组内部无ISP,数据将经DVP直接传输到域控制器,由外部ISP进行处理。通常我们使用的相机模组是内置ISP的。

四、ISP

前面提到过,Sensor只能感知单色光(R、G或B),ISP的主要工作,就是把Raw DATA格式转换成RGB格式或者是YUV格式输出到相机外部。例如:一个感光点感应的颜色是R,那么,ISP模块就会根据这个感光点周围的G、B感光点的数值来计算出此点的G、B值,那么,这一点的RGB值就被还原了,接下来通过插值和处理预还原整个图像,如下图所示。

在这里插入图片描述

下面简单地做一下RGB和YUV两种视频格式的解释。

RGB,用过PS的应该都知道有这么一种显示格式,在PS中把图片放到最大就可以看出来,RGB 每个像素都有三种颜色,每一个的值在0~255之间,所以每8bit就可以表示一个R、G或B,如果是10bit表示,在解析时,去掉某两位非数据为即可。RGB也有几种细分,这里就不细说了。

YUV,利用RGB信息从全彩色图像中产生一个黑白图像,然后提取三个主要颜色变成两个额外的信号来描述颜色,把这三个信号组合回来就可以产生一个全彩色图像。其中亮度信号Y就表示了黑白图像,U、V就表示色度。至于为什么有了RGB还要YUV,我偏向于认为是为了满足电视机从黑白到彩色的兼容问题,U、V信号即便丢失,只插Y信号线(红色)也可以输出黑白视频。

至于ISP的具体解析和处理过程,太过复杂,本文就不一一展开,如有需要,后面可以转卖写一篇文章介绍。

四、Serializer

串行器是为了将ISP处理过的并行信号传输到远端(域控制器)。并行传送方式的前提是用同一时序传播信号,用同一时序接收信号,而过分提升时钟频率将难以让数据传送的时序与时钟合拍,布线长度稍有差异,数据就会以与时钟不同的时序送达另外,提升时钟频率还容易引起信号线间的相互干扰。因此,并行方式难以实现高速化。只有将并行数据串行化,才能够远距离且高速的传输数据,我们用的USB口就是这个原理。DeSerializer和Serializer是配套使用的,DeSerializer在接收端(域控制器)。

五、GMSL

GMSL(Gigabit Multimedia Serial Link),是串行器和解串器构成的传输链路,基于LVDS传输,很多域控制器上直接使用GMSL4通道解串器,同时支持4路摄像头数据传入,例如在AVM(Around View Monitor)中,需要多路摄像输入。

LVDS是现在常用的高速传输方式,是一种低摆幅的差分信号技术,它使得信号能在差分PCB线对或平衡电缆上以几百Mbps的速率传输,其低压幅和低电流驱动输出实现了低噪声和低功耗。关于LVDS的具体技术实现,将在之后的文章进行介绍,这项技术其实就在我们身边,鼠标键盘的USB口,就是一种半双工的LVDS。

猜你喜欢

转载自blog.csdn.net/oneofstudent/article/details/112568920