Difference between revisions of "Mv series camera appnotes 4 jetson/zh"
Line 122: | Line 122: | ||
<br /> | <br /> | ||
− | ===== | + | ===== 使用ADP-MV1连接(以Xavier NX为例) ===== |
− | + | Nano系列和NX系列采用这种连接方式。 | |
[[File:MV camera and Xavier NX connection.jpg|center|thumb|800x800px|MV camera and Xavier NX connection]] | [[File:MV camera and Xavier NX connection.jpg|center|thumb|800x800px|MV camera and Xavier NX connection]] | ||
<br /> | <br /> | ||
Line 131: | Line 131: | ||
=== 更新Jetson系统 === | === 更新Jetson系统 === | ||
− | + | 本章节描述怎样更新Jetson的L4T系统以支持MV摄像头模组。操作系统更新方法,请参考[[VEYE CS Camera for Jetson TX2/zh#.E6.9B.B4.E6.96.B0Jetson Nano.2C Jetson TX2.EF.BC.8CTX2 NX.2C AGX Xavier.E5.92.8CXavier NX.E7.B3.BB.E7.BB.9F|更新Jetson操作系统]]。 | |
特别的,对于MV系列相机,除了在linux系统中增加了摄像头的驱动,我们还增加了一个内核补丁——veye_mv_l4t_32.7.1.patch。 | 特别的,对于MV系列相机,除了在linux系统中增加了摄像头的驱动,我们还增加了一个内核补丁——veye_mv_l4t_32.7.1.patch。 | ||
Line 141: | Line 141: | ||
==== raw data图片格式说明 ==== | ==== raw data图片格式说明 ==== | ||
− | 在TX2和XAVIER上,10 bit depth和12 bit depth的raw | + | 在TX2和XAVIER上,10 bit depth和12 bit depth的raw data在内存中的存储格式是不符合V4L2标准的。我们扩展了linux内核中的定义以支持这种情况。 |
+ | |||
+ | TY10、TY12、XY10和XY12是我们新增的类型。 | ||
===== Nano ===== | ===== Nano ===== | ||
Line 214: | Line 216: | ||
==== Trigger模式的支持 ==== | ==== Trigger模式的支持 ==== | ||
− | + | Jetson系统的默认驱动只支持视频流模式。在其VI驱动中,数据接收功能具有超时机制。我们增加了一个可设的vi_time_out_disable选项,可以动态打开和关闭这个超时机制。 | |
具体应用参考下面的应用范例。 | 具体应用参考下面的应用范例。 |
Revision as of 16:46, 18 May 2022
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异面线连接,注意接触面向外。
2.2 使用ADP-MV1的连接方式(以Xavier NX为例)
2.2.1 供电
ADP-MV1需要独立的5V供电,可以使用杜邦线直接从Jetson主板取电。
2.2.2 使用ADP-MV1连接(以Xavier NX为例)
Nano系列和NX系列采用这种连接方式。
2.3 使用ADP-N4的连接方式(以AGX Xavier为例)
TODO
3 更新Jetson系统
本章节描述怎样更新Jetson的L4T系统以支持MV摄像头模组。操作系统更新方法,请参考更新Jetson操作系统。
特别的,对于MV系列相机,除了在linux系统中增加了摄像头的驱动,我们还增加了一个内核补丁——veye_mv_l4t_32.7.1.patch。
这个patch具备两个功能:
- 增加了黑白相机的Y10和Y12两种数据格式的支持。
- 增加了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 系统状态检测
5 v4l2-ctl 应用范例