V-by-One-HS KIT appnotes 4 rpi/zh

From wiki_veye
Jump to navigation Jump to search

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采用近端模式,一根同轴线缆的模式。

如需采用其他模式的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

第一个版本。