1.GMSL2协议
GMSL2是Maxim推出的高速多媒体串行接口,在车载摄像头上应用很多。对应的硬件就是Maxim的Max967xx系列产品。一般集成在车载芯片上和车载摄像头上,作为视频信号以及其他控制信号比如GPIO信号的编码和解码设备。
2.Link模式
Serializer和Deserializer配对使用,有单链路模式,分路模式,反向分路模式,双链路模式等。按照车圈的配置经验,主要用到的是单链路模式和反向分路模式,就是Serializer和Deserializer各一个,以及多个Serializer和一个Deserializer的情况。
2.1 Link配置
Link有两种,自动和手动配置,不同设备有区别。一般自动就够用,要配的是link rate,根据需要配成一样,我用的是6Gbps。接上Serializer和Deserializer后,拉高PWDNB pin脚,检查 linklock 状态标志位即可。例如Max96712和Max96717搭配,Max96712有四路link ABCD,作为local端,可以支持前后左右四路环视摄像头数据的解析,Max96717集成在环视摄像头中,作为remote端。检查linklock是摄像头链路诊断的重要项,Maxim支持两种方式的查询,1种是用配成I2C设备,通过I2C访问Max96712设备的寄存器,查看locked标志位,另一种是做成中断,可以将linklock状态映射到Max96712的Lock引脚上(这一步需要使能Max96712的相关寄存器),接到SOC,SOC检测到电平拉低,即link断开。
2.2 ERRB配置
ERRB是另一个重要的摄像头链路诊断项,ERRB可以反映多种内部错误,具体可参看Maxim产品的芯片手册。ERRB和Link Lock相似,有一个ERROR状态标志位,和ERRB pin脚,同样可以通过I2C轮询的方式检测ERROR状态位,或者使能ERRB pin脚,做成中断的形式,一般更推荐做成中断,但是中断或者轮询ERROR都只能知道发生了错误,不知道具体哪里出错,因此还需要用I2C依次读取各个使能OEN的错误标志位,来确定发生了何种错误。此处就能知道ERROR或者ERRB是一个或的结果,只要有错误发生ERROR置1,ERRB电平拉低。而需要检测或者重点关注哪些错误,这个是跟项目需求有关,每个错误都有ERR_OEN使能位,有的是默认使能的,有的是需要配置的。以上的关于ERRB的介绍,都是local端的配置,做个总结,
1.检查具体某个错误的ERR_OEN位是否使能,如果使能,那么一旦出错就会置位该错误的flag位,ERROR也会置1
2.若要做成中断,使能ERRB功能,
更新中,后面是remote端的ERRB配置