技术交流: 请加QQ413940089
格式分类: RAW、YUV
接口分类: mipi、fpdlink、GMSL
分辨率: 1080p、720p
等等
(1)libargus
提供一系列API进行深度开发,编解码、视频采集、视频处理等
(2) nvarguscamerasrc
这个主要是用来对接Gstream框架,使用Gstream那套接口
(3)v4l2src
Linux标准V4L2框架,上图的蓝色部分,也是最普及方便第三方开发的,但是就用不了板端ISP了(不过这个ISP第三方也没法调,除非和NVIDIA深度合作);
这个是最推荐的方法,因为可以考虑用前端ISP嘛,所以这条路开发起来最快
上图可以看出最多支持6路硬件通路,前端CSI接口组合可以使用1、2、4lane连接
由于Bayer sensor需要使用板端ISP,而ISP tuning这部分代码和工具是不开源的,如果想开发Bayer sensor的就必须与NVIDIA的特定camera伙伴进行合作开发,就可以获得如下功能开发:
• Custom tools for sensor characterization
• Image quality tuning
由于无法和英伟达进行深度合作开发,且板端ISP调试周期太长,
所以我这边直接放弃使用Bayer sensor+Nvidia ISP,直接选择Bayer sensor+前置ISP 方案
Mipi Sensor------>Mipi(csi2协议)------>Xavier Mipi
这条通路我这边已验证完成,在网上买一个几十块的4lane mipi 相机,
做一个转接板即可,后面就是调试camera驱动+Xavier mipi接口驱动了。
由于xavier平台只有mipi接口,所以无法调试dvp接口摄像头
这里主要以TI954解串器为例分析,其它解串器 TI960/TI964等后续会新起新的帖子,可参考以下帖子。
FPDlink接口---TI954解串器功能分析
NVIDIA平台xavier/tx2板摄像头驱动开发(2)FPDLink接口相机方案选择
(1)1080p
目前1080p分两种,一种是YUV sensor 和Bayer sensor。
Bayer sensor:
Sensor------->Mipi(csi2)------->TI953串行器------->TI954解串器------->Mipi(csi2)-------->Xavier Mipi
这种方式由于也没有前置ISP,也需要使用Nvidia ISP,所以也不推荐
YUV sensor:
硬件连接一:Sensor+ISP------->Mipi(csi2)------->TI953串行器------->TI954解串器------->Mipi(csi2)------>Xavier Mipi
硬件连接二: Sensor+ISP------->dvp并口------->TI913a串行器------->TI954解串器------->Mipi(csi2)------->Xavier Mipi
注:
1. 这两种方案我这边也都调试ok,效率比调Nvdia ISP快很多,而且无需Nvidia支持,直接找前置ISP 支持即可
(或模组 厂)
2. 一般 Sensor+ISP +串行器 这三个器件,模组厂已经集成在一起做成一个整体模组,所以第三方开发一
般只需关心后端解串器+Xavier Mipi 这端的硬件转接即可,以及驱动实现
3. 不过如果想剩成本,尝试完全自己做相机这端,也是可行了,只是可能比较劳神伤财;
这也是现在Fpdlink相机价格高的原因了
(2)720p
Sensor+ISP------->dvp并口------->TI913a串行器------->TI954解串器------->Mipi(csi2)------->Xavier Mipi
由于720p camera模组普遍使用913a接口就可以满足要求,使用953解串器也可以只是比较浪费
1. Fpdlink接口由于提升了高清图像的传输距离的同时,保证了图像的高帧率和高分辨率,
也保证了图像的稳定形(因为传输信号全程是差分信号),所以拓宽了CSI 相机的使用场景和用途,
是不错的选择,也是现在车用ADAS相机的主要使用方案。
2. 相对与传统的短距的CSI相机,成本更高,主要TI的串行器和解串器价值不菲,
以及现在市面上卖的Fpdlink相机也比较贵,所以要想批量或者大量生产的话,
就需要考虑降低成本----比较容易入手的地方就是Fpdlink相机部分