Difference between revisions of "V-by-One-HS KIT appnotes 4 rpi/zh"

From wiki_veye
Jump to navigation Jump to search
 
(9 intermediate revisions by the same user not shown)
Line 40: Line 40:
 
|RAW系列
 
|RAW系列
 
|RAW-MIPI-AR0234M
 
|RAW-MIPI-AR0234M
 +
|进行中
 +
|-
 +
|RAW系列
 +
|RAW-MIPI-IMX462M
 
|进行中
 
|进行中
 
|}
 
|}
Line 88: Line 92:
 
使用0.5mm间距22pin异面线,连接V-by-One-HS-RX的J7到树莓派的MIPI CSI-2接口即可。
 
使用0.5mm间距22pin异面线,连接V-by-One-HS-RX的J7到树莓派的MIPI CSI-2接口即可。
  
 +
==== 整体连接示意图 ====
 +
[[File:V-By-One-HS-Kit with MV camera.jpg|center|thumb|800x800px|V-By-One-HS-Kit with MV camera]]
 +
<br />
 
=== V4L2模式用法 ===
 
=== V4L2模式用法 ===
 
====下载驱动包====
 
====下载驱动包====
Line 102: Line 109:
 
<code>sudo ./install_driver.sh veye_mvcam</code>
 
<code>sudo ./install_driver.sh veye_mvcam</code>
  
然后重启树莓派。
+
===== 选择合适的veye_vbyone.dtbo =====
 +
vbyone具有很多配置选项:MIPI速率,摄像头MIPI lane数目,V-by-One-HS-TX输出lan数目,IO采用近端模式还是远端模式,同轴线缆数目等。
 +
 
 +
默认安装的是1.5Gbps/lane,摄像头MIPI信号为2lane,IO采用近端模式,一根同轴线缆的模式。
 +
 
 +
你可以选择使用合适的veye_vbyone-[option].dtbo文件,改名为veye_vbyone.dtbo后,拷贝到/boot/overlay目录。
 +
 
 +
也可以如需采用其他模式的vbyone配置,只需参考[[Build drivers from source for rpi/zh|树莓派平台上摄像头驱动源码编译指南]],修改veye_vbyone.dts,重新编译出veye_vbyone.dtbo后,拷贝到/boot/overlay目录下即可。
 +
 
 +
安装完成后,重启树莓派。
  
 
备注:如果提示无法找到对应版本的驱动,说明我们没有提供对应您的piOS版本编译后的驱动程序。请尝试从源码编译。
 
备注:如果提示无法找到对应版本的驱动,说明我们没有提供对应您的piOS版本编译后的驱动程序。请尝试从源码编译。
 
<br />
 
 
====卸载驱动====
 
====卸载驱动====
 
如需更换为Legacy模式,或者想要更换成其他摄像头模组型号的驱动,必须要先卸载现在的驱动。
 
如需更换为Legacy模式,或者想要更换成其他摄像头模组型号的驱动,必须要先卸载现在的驱动。
Line 127: Line 141:
  
 
==== 应用范例 ====
 
==== 应用范例 ====
 +
请参考[[Mv series camera appnotes 4 rpi/zh|如何在树莓派平台使用MV系列摄像头模组]]文章的对应章节。
  
 
=== Legacy模式用法 ===
 
=== Legacy模式用法 ===
 +
我们在这个[https://github.com/veyeimaging/mvcam_raspberrypi github仓库]中存储legacy模式的代码。
  
==== 下载软件包 ====
+
====下载软件包====
 +
<code>git clone <nowiki>https://github.com/veyeimaging/mvcam_raspberrypi.git</nowiki></code>
  
==== 软件包主要内容介绍 ====
+
增加可执行权限
  
 +
<code>chmod +x -R ./mvcam_raspberrypi/</code>
 +
====软件包主要内容介绍====
 +
camera_i2c_config:自动识别不同的树莓派板型,并控制power on 引脚给摄像机供电。
 +
 +
vbyone_i2c_init.sh:初始化配置V-by-One链路的脚本。
 +
 +
mv_raspicam:实现图像预览、图片保存等功能。
 +
 +
mv_mipi_i2c.sh:通过i2c协议读取和设置相机参数的脚本。
 
==== 初始化V-by-One链路 ====
 
==== 初始化V-by-One链路 ====
 +
首先执行vbyone_i2c_init.sh。
 +
 +
vbyone_i2c_init.sh脚本使用说明:
 +
 +
<code>Use the I2C command to initialize the SERDES channel of V-by-One.</code>
 +
 +
<code>Usage:  ./vbyone_i2c_init.sh</code>
 +
 +
<code>options:</code>
 +
 +
<code>   -b [i2c bus num]        i2c bus number,default 10</code>
  
 +
<code>   -n [coax number]        coax number [1,2],default 1</code>
 +
 +
<code>   -s [camera mipi datarate]    1500 means:1500Mbps/lan; 1188 means: 1188Mbps/lan</code>
 +
 +
<code>   -l [camera lan number]  2 or 4</code>
 +
 +
<code>   -r [io remote or local]    0 means use io locally(on TX side); 1 means use io remotely(on RX side)</code>
 +
 +
<code>   -h                            print this help</code>
 +
 +
V-by-One链路初始化完成之后可以通过mv_mipi_i2c.sh脚本读取摄像头的版本号来确认是否可以正常访问摄像头寄存器。<br />可以参考[[Mv series camera appnotes 4 rpi/zh|如何在树莓派平台使用MV系列摄像头模组]]文章的Legacy模式相关章节对摄像头进行使用。
 
=== IO的近端和远端模式 ===
 
=== IO的近端和远端模式 ===
 +
V-by-One-HS_KIT的IO支持配置为近端和远端模式,这两种模式只对MV系列相机有效。
 +
 +
==== 近端模式 ====
 +
在V-by-One的TX端本地访问MV camera的对应IO。
 +
{| class="wikitable"
 +
!MV Cam pin
 +
!TX pin
 +
!function
 +
|-
 +
|TriggerIN_IO
 +
|GPIO0
 +
|trigger in
 +
|-
 +
|OUT_IO1
 +
|GPIO2
 +
|Strobe/userout
 +
|-
 +
|OUT_IO2
 +
|GPIO3
 +
|Strobe/userout/triggerout
 +
|}
 +
 +
==== 远端模式 ====
 +
通过配置,可以在V-by-One的RX端远程访问MV camera的对应IO。
 +
{| class="wikitable"
 +
!MV Cam pin
 +
!TX pin
 +
!RX pin
 +
!function
 +
!Direction
 +
|-
 +
|TriggerIN_IO
 +
|GPIO0
 +
|GPIO0
 +
|trigger in
 +
|RX-->TX
 +
|-
 +
|OUT_IO1
 +
|GPIO2
 +
|GPIO2
 +
|Strobe/userout
 +
|TX-->RX
 +
|-
 +
|OUT_IO2
 +
|GPIO3
 +
|GPIO3
 +
|Strobe/userout/triggerout
 +
|TX-->RX
 +
|}
 +
=== 常见问题和注意事项 ===
  
=== 常见问题 ===
+
* 不能执行i2cdetect
  
 +
系统初始化完成之后,不能使用i2cdetect命令进行地址设备的探测,否则会破坏已经建立好的SerDes链路。<br />
 
=== 本文修改记录 ===
 
=== 本文修改记录 ===
  
* 2023-07-13
+
* 2023-07-30
  
 
第一个版本。<br />
 
第一个版本。<br />

Latest revision as of 15:08, 30 July 2023

English

1 概述

V-by-One® HS 是由THine提供的高性能SerDes方案,具有优秀的性能和出色的性价比。我们基于V-by-One® HS方案开发了V-by-One-HS KIT产品,用于MV系列和RAW系列摄像头产品的图像远传。V-by-One-HS KIT具有良好的适配性,丰富的输入输出接口以及完善的驱动支持。

1.1 支持的摄像头模组

系列 型号 状态
MV系列 MV-MIPI-IMX178M 完成
MV系列 MV-MIPI-SC130M 完成
MV系列 MV-MIPI-IMX287M 完成
MV系列 MV-MIPI-IMX296M 完成
MV系列 MV-MIPI-IMX265M 完成
MV系列 MV-MIPI-IMX264M 完成
RAW系列 RAW-MIPI-SC132M 完成
RAW系列 RAW-MIPI-AR0234M 进行中
RAW系列 RAW-MIPI-IMX462M 进行中

1.2 必需的准备工作

V-by-One只是提供了一个图像、I2C和IO的远传的透明通道。对于摄像头本身的功能使用,与使用MIPI接口直接连接到树莓派上一致。

因此,请务必参考如何在树莓派平台使用MV系列摄像头模组

2 硬件准备及安装

2.1 V-by-One-HS-RX与摄像头的连接

2.1.1 MV系列摄像头

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

TOP BOTTOM
V-by-One-HS-RX to MV-MIPI-X
V-by-One-HS-RX to MV-MIPI-X
2.1.2 RAW系列摄像头

RAW系列摄像头有两种输出规格,15pin接口和22pin接口。

  • 22pin接口类型

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

  • 15pin接口类型(RAW-MIPI-SC132M)

使用15转22pin的FFC同面线连接,注意接触面向外。

2.2 V-by-One-HS-RX与V-by-One-HS-TX的连接

大部分情况下,只需要一根同轴线缆即可满足图像传输带宽的需要。一根同轴线缆可以提供3.2Gbps有效带宽。

下面列出需要使用两根同轴线缆的情形:

  • RAW-MIPI-AR0234M: 配置为4lan,且输出格式为RAW10时。

2.3 V-by-One-HS-RX与树莓派的连接

2.3.1 供电

V-by-One-HS-RX需要独立的12V供电。可以选择J1或J2进行供电。

2.3.2 树莓派Model B和Model B+

使用1mm间距15pin异面线,连接V-by-One-HS-RX的J9到树莓派的MIPI CSI-2接口即可。

2.3.3 树莓派Zero,Zero W和Computer Module

使用0.5mm间距22pin异面线,连接V-by-One-HS-RX的J7到树莓派的MIPI CSI-2接口即可。

2.4 整体连接示意图

V-By-One-HS-Kit with MV camera


3 V4L2模式用法

3.1 下载驱动包

wget https://github.com/veyeimaging/raspberrypi_v4l2/releases/latest/download/raspberrypi_v4l2.tgz

3.2 安装驱动

tar -xzvf raspberrypi_v4l2.tgz

cd raspberrypi_v4l2/release/

chmod +x *

sudo ./install_driver.sh veye_vbyone

sudo ./install_driver.sh veye_mvcam

3.2.1 选择合适的veye_vbyone.dtbo

vbyone具有很多配置选项:MIPI速率,摄像头MIPI lane数目,V-by-One-HS-TX输出lan数目,IO采用近端模式还是远端模式,同轴线缆数目等。

默认安装的是1.5Gbps/lane,摄像头MIPI信号为2lane,IO采用近端模式,一根同轴线缆的模式。

你可以选择使用合适的veye_vbyone-[option].dtbo文件,改名为veye_vbyone.dtbo后,拷贝到/boot/overlay目录。

也可以如需采用其他模式的vbyone配置,只需参考树莓派平台上摄像头驱动源码编译指南,修改veye_vbyone.dts,重新编译出veye_vbyone.dtbo后,拷贝到/boot/overlay目录下即可。

安装完成后,重启树莓派。

备注:如果提示无法找到对应版本的驱动,说明我们没有提供对应您的piOS版本编译后的驱动程序。请尝试从源码编译。

3.3 卸载驱动

如需更换为Legacy模式,或者想要更换成其他摄像头模组型号的驱动,必须要先卸载现在的驱动。

sudo ./uninstall_driver.sh veye_vbyone

sudo ./uninstall_driver.sh veye_mvcam

3.4 系统状态验证

dmesg | grep mvcam

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

以MV-MIPI-IMX178M为例:

camera is: MV-MIPI-IMX178M

firmware version: 0x1080102

并且/dev/video0 节点存在,证明摄像头状态正常。

3.5 应用范例

请参考如何在树莓派平台使用MV系列摄像头模组文章的对应章节。

4 Legacy模式用法

我们在这个github仓库中存储legacy模式的代码。

4.1 下载软件包

git clone https://github.com/veyeimaging/mvcam_raspberrypi.git

增加可执行权限

chmod +x -R ./mvcam_raspberrypi/

4.2 软件包主要内容介绍

camera_i2c_config:自动识别不同的树莓派板型,并控制power on 引脚给摄像机供电。

vbyone_i2c_init.sh:初始化配置V-by-One链路的脚本。

mv_raspicam:实现图像预览、图片保存等功能。

mv_mipi_i2c.sh:通过i2c协议读取和设置相机参数的脚本。

4.3 初始化V-by-One链路

首先执行vbyone_i2c_init.sh。

vbyone_i2c_init.sh脚本使用说明:

Use the I2C command to initialize the SERDES channel of V-by-One.

Usage:  ./vbyone_i2c_init.sh

options:

   -b [i2c bus num]     i2c bus number,default 10

   -n [coax number]        coax number [1,2],default 1

   -s [camera mipi datarate]    1500 means:1500Mbps/lan; 1188 means: 1188Mbps/lan

   -l [camera lan number] 2 or 4

   -r [io remote or local] 0 means use io locally(on TX side); 1 means use io remotely(on RX side)

   -h                            print this help

V-by-One链路初始化完成之后可以通过mv_mipi_i2c.sh脚本读取摄像头的版本号来确认是否可以正常访问摄像头寄存器。
可以参考如何在树莓派平台使用MV系列摄像头模组文章的Legacy模式相关章节对摄像头进行使用。

5 IO的近端和远端模式

V-by-One-HS_KIT的IO支持配置为近端和远端模式,这两种模式只对MV系列相机有效。

5.1 近端模式

在V-by-One的TX端本地访问MV camera的对应IO。

MV Cam pin TX pin function
TriggerIN_IO GPIO0 trigger in
OUT_IO1 GPIO2 Strobe/userout
OUT_IO2 GPIO3 Strobe/userout/triggerout

5.2 远端模式

通过配置,可以在V-by-One的RX端远程访问MV camera的对应IO。

MV Cam pin TX pin RX pin function Direction
TriggerIN_IO GPIO0 GPIO0 trigger in RX-->TX
OUT_IO1 GPIO2 GPIO2 Strobe/userout TX-->RX
OUT_IO2 GPIO3 GPIO3 Strobe/userout/triggerout TX-->RX

6 常见问题和注意事项

  • 不能执行i2cdetect

系统初始化完成之后,不能使用i2cdetect命令进行地址设备的探测,否则会破坏已经建立好的SerDes链路。

7 本文修改记录

  • 2023-07-30

第一个版本。