Difference between revisions of "Mv series camera appnotes 4 jetson/zh"

From wiki_veye
Jump to navigation Jump to search
Line 220: Line 220:
 
具体应用参考下面的应用范例。
 
具体应用参考下面的应用范例。
 
=== 系统状态检测 ===
 
=== 系统状态检测 ===
<br />
+
完成系统安装后,重启Jetson主板。Jetson系统启动过程中,会检测所有i2c bus上摄像头是否存在,如果存在则生成/dev/video[X]设备节点。
 +
 
 +
在Jetson板端执行以下命令来检测是否正确连接摄像头。
 +
 
 +
<code>dmesg | grep mvcam</code>
 +
 
 +
可以看到linux启动阶段probe到的相机型号和以及相机的版本号:
 +
 
 +
如下面这个提示,表示在i2c-10总线上检测到了MV-MIPI-IMX178M摄像机。
 +
 
 +
<code>mvcam 10-003b: camera is: MV-MIPI-IMX178M</code>
 +
 
 +
<code>mvcam 10-003b: firmware version: 0x1080103</code>
  
 
=== v4l2-ctl 应用范例 ===
 
=== v4l2-ctl 应用范例 ===

Revision as of 16:53, 18 May 2022

English

1 概述

MV系列相机是为工业领域的AI应用推出的相机。其使用MIPI CSI-2接口,尤其适合嵌入式运算平台使用。它具备丰富的数据格式和触发特性,极低的延时,极高的带宽和可靠的稳定性。

本文介绍了如何在英伟达Jetson平台使用MV系列相机。

1.1 支持的摄像机模组

系列 型号 状态
MV系列 MV-MIPI-IMX178M 完成

1.2 支持的Jetson Board

Jetson型号 状态
Nano A02 完成
Nano B01 完成
Nano 2GB 完成
TX2 NX 完成
XAVIER NX 完成
TX2 Devkit 开发中
AGX Xavier 开发中
Orin系列 开发中

1.3 支持的L4T版本

  • Jetpack4.6.1,L4T版本r32.7.1
1.3.1 怎样查看当前L4T版本

在jetson板子上,查看当前L4T版本,尽量使用同一版本进行替换。

cat /etc/nv_tegra_release

如显示:

# R32 (release), REVISION: 7.1......

则表示当前L4T版本为32.7.1,对应的Jetpack版本是Jetpack32.6.1。

2 硬件准备以及安装

MV系列相机需要转接板才可以接入Jetson平台。支持情况如下表:

Jetson型号 转接板 摄像机数量 供电
Nano A02 ADP-MV1 1 5V DC(必须)
Nano B01 ADP-MV1 1 5V DC(必须)
Nano 2GB ADP-MV1 2 5V DC(必须)
TX2 NX ADP-MV1 2 5V DC(必须)
XAVIER NX ADP-MV1 2 5V DC(必须)
TX2 Devkit ADP-N4 6 12V DC (可选)
AGX Xavier ADP-N4 6 12V DC (可选)
Orin系列 TODO TODO TODO

下面以MV-MIPI-IMX178M为例,介绍硬件的安装方法。

2.1 MV-MIPI-IMX178M与ADP-MV1的连接

二者使用0.5mm间距*30P的FFC异面线连接,注意接触面向外。

ADP-MV1 to MV-MIPI-X


2.2 使用ADP-MV1的连接方式(以Xavier NX为例)

2.2.1 供电

ADP-MV1需要独立的5V供电,可以使用杜邦线直接从Jetson主板取电。

ADP-MV1 power supply


2.2.2 使用ADP-MV1连接(以Xavier NX为例)

Nano系列和NX系列采用这种连接方式。

MV camera and Xavier NX connection


2.3 使用ADP-N4的连接方式(以AGX Xavier为例)

TODO

3 更新Jetson系统

本章节描述怎样更新Jetson的L4T系统以支持MV摄像头模组。操作系统更新方法,请参考更新Jetson操作系统

特别的,对于MV系列相机,除了在linux系统中增加了摄像头的驱动,我们还增加了一个内核补丁——veye_mv_l4t_32.7.1.patch。

这个patch具备两个功能:

  1. 增加了黑白相机的Y10和Y12两种数据格式的支持。
  2. 增加了trigger模式的支持。

3.1 raw data图片格式说明

在TX2和XAVIER上,10 bit depth和12 bit depth的raw data在内存中的存储格式是不符合V4L2标准的。我们扩展了linux内核中的定义以支持这种情况。

TY10、TY12、XY10和XY12是我们新增的类型。

3.1.1 Nano
Depth Bit order FourCC Enumerator
8 B7 B6 B5 B4 B3 B2 B1 B0 GREY V4L2_PIX_FMT_GREY
10 0 0 0 0 0 0 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 'Y10 ' V4L2_PIX_FMT_Y10
12 0 0 0 0 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 'Y12 ' V4L2_PIX_FMT_Y12
3.1.2 TX2
Depth Bit order (X is undefined) FourCC Enumerator
8 B7 B6 B5 B4 B3 B2 B1 B0 GREY V4L2_PIX_FMT_GREY
10 0 0 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X X X TY10 V4L2_PIX_FMT_TX2_Y10
12 0 0 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X TY12 V4L2_PIX_FMT_TX2_Y12
3.1.3 XAVIER
Depth Bit order (X is undefined) FourCC Enumerator
8 B7 B6 B5 B4 B3 B2 B1 B0 GREY V4L2_PIX_FMT_GREY
10 0 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X X X X XY10 V4L2_PIX_FMT_XAVIER_Y10
12 0 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X X XY12 V4L2_PIX_FMT_XAVIER_Y12

同时,我们提供了工具软件,以便将特殊的数据格式转为标准格式。https://github.com/veyeimaging/pixel_layer_convert

3.2 Trigger模式的支持

Jetson系统的默认驱动只支持视频流模式。在其VI驱动中,数据接收功能具有超时机制。我们增加了一个可设的vi_time_out_disable选项,可以动态打开和关闭这个超时机制。

具体应用参考下面的应用范例。

4 系统状态检测

完成系统安装后,重启Jetson主板。Jetson系统启动过程中,会检测所有i2c bus上摄像头是否存在,如果存在则生成/dev/video[X]设备节点。

在Jetson板端执行以下命令来检测是否正确连接摄像头。

dmesg | grep mvcam

可以看到linux启动阶段probe到的相机型号和以及相机的版本号:

如下面这个提示,表示在i2c-10总线上检测到了MV-MIPI-IMX178M摄像机。

mvcam 10-003b: camera is: MV-MIPI-IMX178M

mvcam 10-003b: firmware version: 0x1080103

5 v4l2-ctl 应用范例


6 i2c脚本使用说明

7 参考资料

8 本文修改记录