解决方案

专注FPGA图像方案定制

当前位置:

首页解决方案图像解决方案

FPGA模拟MIPI相机,成功接入NVIDIA AGX开发者

作者:admin / 发表时间:2024-02-24

FPGA模拟MIPI相机,成功接入NVIDIA AGX开发者

1. 前言

视觉相机是机器智能/自动化的关键,NVIDIA Jetson支持多个合作伙伴的Camera,这些相机包括USB、以太网、MIPI等接口的相机。Jetson为这些相机提供了完整的Jetpack SDK,支持用户可以快速接入这些相机,来实现相应的设计。

Jetson支持的相机列表,可以从官网中找到,如下所示:

https://developer.nvidia.com/embedded/jetson-partner-supported-cameras?t-1_supported-jetson-products=Orin&t1_supported-jetson-products=Xavier

image.png 

选择CSI/MIPI接口,以及Orin套件,网页会出现Jetson Partner支持的相机列表,主要是:Sony的IMX290、IMX334、IMX179、IMX335、IMX415 ,以及Aptina的AR0234、AR0144、AR0822等。因此,比如用户使用NVIDIA的Jetson AGX Orin开发者套件,套件的SDK中就原生的支持如上列表的传感器CSI接入,用户可以快速进行自己的解决方案开发。

image.png 

如果选用上述列表中的相机并搭配配套的CSI转接板,由于Camera Partner已经提前和NVIDIA Jetson各种型号做了对接,原厂镜像中驱动默认已经支持,可以做到即插即用。

但是如果我们选用了列表外的sensor型号,即非Camera Partner的产品,就无法直接使用,比如我想用Sony的IMX472、 IMX252,思特威的SC2210、SC235HGS等,则需要进行配套的硬件开和驱动软件的升级。为此,奥唯思为您提供了完整的解决方案,可搭载任意相机,也可以选FPGA集成ISP。

2. FPGA模拟MIPI相机接入Jetson方案

 

如下图所示:方案采用易灵思钛金16nm的FPGA Ti60F225,通过MIPI CSI RX采集图像传感器的数据,在FPGA内部经过一系列复杂的ISP运算后,再通过MIPI CSI TX将图像数据发送给后端。

image.png 

其中VC-MIPI-AGX为奥唯思自研的配套NVIDIA Jetson AGX Orin开发者套件的 MIPI接入子卡。如下图所示,为AGX的MIPI卡槽,以及我们设计的接入子卡。我们使用高速稳定的TypeC 3.0数据线,来传输MIPI信号。当前方案可支持2个MIPI CSI通道,单通道[敏感词]支持6Gbps带宽。目前方案已经成功接入AGX,稳定可靠,烤机测试通过。

image.png 

 

2.1. 易灵思MIPI介绍

易灵思16nm钛金系列FPGA的低功耗、高带宽、小体积特点,充分赋能终端产品使其具有创新性和竞争力。钛金系列Ti60可支持MIPI/LVDS等接口的多摄像头输入、多类型屏幕驱动、高性能RISC-V软核等功能,适用于各种相机和传感器系统等场景应用。

image.png 

因此我们选用了易灵思的FPGA作为主控,充分利用其高速低功耗的特性,完成了MIPI CSI的采集、ISP图像处理,以及MIPI CSI的发送。易灵思Ti60 FPGA的MIPI PHY为1.5Gbps单通道,4 lane支持6Gbps,在85%有效带宽下,评估有效的传输分辨/帧率,如下:

RGB888传输

有效带宽

实际带宽

(85%)

结果

RGB888 24bit传输

1920*1080@60

有效带宽= 1920*1080*8bit*60*3 = 2.986Gbps

3.513Gbps

1920*1080@100

有效带宽= 1920*1080*8bit*100*3 = 5.286Gbps

6.219Gbps

×

1920*1080@120

有效带宽= 1920*1080*8bit*120*3 = 5.972Gbps

7.026Gbps

×

Bayer 8bit传输

1920*1080@60

有效带宽= 1920*1080*8bit*60 = 0.9953Gbps

1.171Gbps

1920*1080@100

有效带宽= 1920*1080*8bit*100= 1.659Gbps

1.952Gbps

1920*1080@120

有效带宽= 1920*1080*8bit*120 = 1.991Gbps

2.342Gbps

4096*2304@60

有效带宽= 1920*1080*8bit*60 = 4.530Gbps

5.330Gbps

采用RGB888或者Bayer 8bit传输,各有优缺点:

1)RGB888 8bit传输,AGX可以直接获取图像数据,好处是没有额外的源数据处理开销;坏处是由于Bayer的3倍带宽,当前FPGA方案只能支持到1080P60方案。

2)Bayer 8bit传输,带宽是RGB888的1/3,可以支持更高的分辨率(4K60),同时在同等分辨率下,比RGB888可以支持更长的传输距离;不足的是需要AGX的CPU(Neon)来处理Bayer2RGB算法,目前测试1080P120消耗了1个CPU 43%的资源(共12个CPU,单核资源消耗如下图所示)。

综合评估下,由于当前只用了AGX 1个CPU,并且用户的算法主要在GPU上跑CUDA,因此采用Bayer传输的优势更明显。

image.png 

2.2. 奥唯思ISP介绍

NVIDIA同样可以做完整的ISP图像处理,甚至ASIC实现的ISP功能与性能相比FPGA更强大,但在此方案中,我们不得不采用FPGA进行完整的ISP处理,主要原因如下:

1)针对选定的Sensor,NVIDIA仍需要大量的Tuning工作;

2)NVIDIA的ISP不支持8bit RAW输入模式;

3)部分应用工程师,并不熟悉ISP领域;

4)部分ISP算法,NVIDIA并没有包含;

5)低延时的需求,需要流水线完成ISP。

鉴于此,我们采用FPGA完成了一套完整的ISP处理流程,MIPI CSI直接输出经过FPGA图像处理完后的数据,NVIDIA AGX拿到RGB数据后,用户可以直接进行后续的应用算法。基于易灵思FPGA的ISP图像处理Pipeline,如下所示:

 

image.png 

奥唯思自研的流水线ISP,相关的Feature,如下表所示:

参数

描述

参数开关

Black Leveling

黑电平矫正

Dead Pixel Correction

坏点矫正模块(DPC)

Auto Exposure

自动曝光算法模块

u 可调开关

u AE亮度目标值

u AE灵敏度

Auto White Balance

自动白平衡算法模块

Bayer2RGB

Bayer转RGB域

RGB2YUV

RGB转YUV域

Gamma Correction

YUV域Gamma矫正

u 可调参数

Color Correction

RGB色彩矫正

2DNR

2D降噪算法模块

u 可调开关

u 可调强度

Sharping

边缘锐化模块

u 可调开关

u 可调强度

Saturation

饱和度调节

u 可调强度

Contrast

对比度增强模块

u 可调强度

Brightness

亮度调节模块

u 可调强度

Scaler&Crop

缩放/截屏模块

u 可调参数

YUV2RGB

YUV转RGB模块

 

2.3. AGX Orin接入驱动

硬件方面,采用奥唯思设计的VC-MIPI-AGX子卡,实现了用户MIPICSI转AGX Samtec的输入。软件方面,则需要根据硬件板卡和模组设计,开发特定的Sensor驱动适配。如果有特殊定制的控制需求,比如ISP参数的控制,则需要修改Camera框架,进行深度定制开发。

出于对系统安全性的保护,Jetson出厂时的,内核编译打开了驱动签名选项,如果新开发的驱动签名证书不匹配,则驱动ko文件无法加载。但是一般用户无法拿到NVIDIA编译出厂镜像时的签名证书,无法解决ko签名问题。如果需要使用新的sensor模组,则需要重新编译内核、生成全系统镜像、烧录系统,工作量相当巨大

 

奥唯思为客户解决上述软硬件难题,并创造性地使用typeC 3.0线缆作为数据传输介质,连接可靠,通信稳定。基于NVIDIA Jetson AGX Orin开发者平台,接入的自研的FPGA MIPI ISP相机连接环境,如下所示:

 image.png

3. 效果展示

image.png 

广东省深圳市南山区西丽龙珠三路南山睿园17栋302

19926595670

cb@szovs.com

官方微信

Skype

CopyRight © 2023 深圳奥唯思(SZOVS) All Right Reserved.
咨询

电话

服务热线:

199 2659 5670

技术

二维码

FPGA 技术支持

公众号

二维码

公众号

Skype

skype

Skype

邮箱

电子邮箱

cb@szovs.com

回顶