更多文章
华为蔡建永:智能网联汽车的数字安全和功能安全挑战与思考
汽车数据合规要点
车载以太网技术发展与测试方法
车载以太网防火墙设计
SOA:整车架构下一代的升级方向
软件如何「吞噬」汽车?
汽车信息安全 TARA 分析方法实例简介
汽车FOTA信息安全规范及方法研究
联合国WP.29车辆网络安全法规正式发布
滴滴下架,我却看到数据安全的曙光
从特斯拉被约谈到车辆远程升级(OTA)技术的合规
如何通过CAN破解汽
会员权益: (点击可进入)谈思实验室VIP会员
点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
1.Camera链路完整框架
1.1 链路框架图:
GMSL1方案: 3Gbps
NOTE:
摄像头模组采用森云SG2-AR0231C-0202-GMSL
GMSL2方案: 6Gbps
NOTE:
摄像头模组采用森云SG2-AR0233C-5200-GMSL2
1.2 camera模组信息:
SG2-AR0231C-0202-GMSL(GMSL1):
模组框图:
默认地址信息(8bit表示,7bit表示需要自己转换):
MAX96705 : 0x80 转成7bit对应为0x40
AP0202 : 0xBA
AR0231 : 0X20
关键参数:
HDR支持
1920*1080/22fps
YUV422@8bit输出
SG2-AR0233C-5200-GMSL2(GMSL2):
模组框图:
默认地址信息(8bit表示,7bit表示需要自己转换):
MAX9295A : 0x80 转成7bit对应为0x40
GW5200 : 0xDA
AR0233 : 0X20
关键参数:
HDR支持
LFM支持 ---- LED闪烁抑制
LED在道路上的普遍使用,却带来“LED闪烁”现象。“LED闪烁”是由LED驱动方式而产生的现象,LED灯以交流方式驱动,驱动频率一般在90Hz以上,即最慢脉冲周期为11毫秒左右,LED在11毫秒周期内实现一次亮灭,为节能及延长使用寿命,占空比通常不超过50%。
如果相机曝光时间较短(例如3毫秒),则有可能曝光时间正好对上LED被关灭期,这时候图像传感器抓到的就是LED灭掉的图像,如果是LED阵列,在这种情况下拍到的图像就是一部分亮,一部分暗,这就是“LED闪烁”现象
1920*1080/30fps
YUV422@8bit输出
2.I2C地址确定
以GMSL1为例说明
max96712:
首次上电通过CFG0上拉情况确定,具体详情如下:
我们电路配置为0xD6,bit0为方向位,所以右移一位后7bit地址为0x6B
DEV_ADDR(0x00)为地址寄存器,可通过0x6B写入新的地址,如写入0x90,实际地址右移掉方向位bit0变为0x48,后续通过该地址操作max96712
default addr:0x80,右移一位后就是0x40,在i2c配置分别依次打开lane通道的时候会分别去写入新的地址到reg(0x00)上,LaneA、LaneB、LaneC、LaneD分别设置为0x41,0X42,0X43,0X44.
如下:
regArray[0] = 0x00;
sendBuf[0] = 0x80 + 2 * (i + 1);
i2c_ptr->I2cWrite(0x40, regArray, 1, sendBuf, 1); //分别配置ABCD通道max96705 i2c 地址
note : max96705 有个i2c address translatation功能
//set i2c_source A
regArray[0] = 0x09;
sendBuf[0] = 0xba + 2 * (i + 1);
i2c_ptr->I2cWrite(0x41 + i, regArray, 1, sendBuf, 1);
//set i2c dst A
regArray[0] = 0x0a;
sendBuf[0] = 0xba;
i2c_ptr->I2cWrite(0x41 + i, regArray, 1, sendBuf, 1);
如上例子i=0时候,就是将0xba+2(0xbc,对应的i2c address 是0x5e)转换为0xba,也就是下面说道的ap0202默认地址。i分别从0到3就会分别把0x5e,0x5f,0x60,0x60转换成0xba
AP0202:
我们的模组默认是连接到VDDIO_H,所以是0xBA,和上面max96705的i2c address translation功能结合就可以达到配置ap0202的目的
max9295A:
default addr : 0x80,右移一位后为0x40,再依次打开96712上的laneA-laneD通道时候分别将相应的MAX9295A改为0x41-0x44,代码如下:
linux下i2c-tools工具使用:
linux下的开源代码i2c-tools工具包,提供了多个i2c工具,可以基于该工具包扫描地址(i2c-detect),测试i2c寄存器读取写入等
3. pipeline说明
GMSL1 pipeline图:
说明:
GMSL1模式下,每个串行器不能包含多个pipe,且进入max96712后也不能随意搭配内部pipe,固定连接如上图红色部分:
GMSL1 A -->PIPE 0
GMSL1 B -->PIPE1
GMSL1 C -->PIPE 2
GMSL1 D -->PIPE3
GMSL2 pipeline图:
说明:
串行器可以配置为pipe X/pipe Y/pipe Z/pipe U 4个输出pipe,一般情况下配置为一个即可(我们配置为pipe Z),但是如果需要输出RAW原始数据或者HDR数据可以配置超过一个pipe,如上图GMSL2 A/GMSL2 D都配置了两个输出pipe
96712解串器可以为pipe0-pipe7选择输入的PORTA-PORTD中的pipex/y/z/u,详情可以参见寄存器0xF0,0xF1,0xF2,0xF3
pipe、map_src、map_dst、mipi-csi2相关寄存器和通路选择配置、VC虚拟通道配置等请参加0X90A开始的相关寄存器,如0x90a/0x90b/0x92d/0x90d/0x90e等等
我们为96712的4个通道数据分别分配了VC为0/1/2/3等4个虚拟通道号,占用两个bit位
4.PWM触发帧同步
默认方案:不使用外部GPIO来触发FSYNC,使用内部FSYNC信号
配置如下:
reg : 0x4a0 val : 0x02
PWM外部GPIO输入96712触发FSYNC
配置如下:
reg : 0x4a0 val : 0x08
reg : 0x4af val : 0x9f
note:
该模式下需要soc触发PWM并输出到max96712的FSYNC同步管脚,可以实现控制多个camera的图像触发时间、同步、帧率,如下图分别提供了20Hz/25Hz测试情况
20Hz: 应用层10帧图片获取间隔500ms
25Hz: 应用层10帧图片获取间隔时间400ms
5.图像基础
YUV简述
分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
YUV分为planar和packed两种格式,planar格式是先存储所有像素的Y,再存储UV,分为2-planar/3-planar。packed格式每个像素Y,U,V连续交替存储
YCbCr中的Cb标识U,Cr标识V
YUV422 8bit: 重点说明,其他格式自行学习
采样图例:
传输样式:
frame format:
原文链接:ADS智库
更多文章
软件如何「吞噬」汽车?
汽车信息安全 TARA 分析方法实例简介
汽车FOTA信息安全规范及方法研究
联合国WP.29车辆网络安全法规正式发布
滴滴下架,我却看到数据安全的曙光
从特斯拉被约谈到车辆远程升级(OTA)技术的合规
如何通过CAN破解汽
会员权益: (点击可进入)谈思实验室VIP会员