V-by-One-HS KIT appnotes 4 rpi/zh
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 |
---|---|
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 整体连接示意图
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
第一个版本。