FPD LINK III for Jetson/zh

From wiki_veye
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

English

1 概述

FPD-Link SerDes III是由TI提供的视频流同轴远程传输方案。我们设计了FPD-LINK3-TXFPD-LINK3-2RX电路板,可以实现1或2路MIPI图像的同轴远程传输,传输距离可达8米(RG174电缆)或10米(RG58电缆)。

在Jetson Nano和NX平台上,采用1组FPD-LINK3-TXFPD-LINK3-2RX电路板,即可提供1路摄像头的远传,采用2组则可以提供2路摄像头的远传。FPD-LINK3-2RX上,fpdlink通道为port0(J3)到J9。

在Jetson TX2和Jetson AGX Xavier平台上,采用1组FPD-LINK3-TXFPD-LINK3-2RX电路板,即可提供2路摄像头的远传。FPD-LINK3-2RX上,fpdlink通道为port0(J3)和port1(J4)到J7,J7为一个4lan的mipi接口,通过虚拟通道技术,支持两路独立的摄像头数据传输。

在Jetson TX2平台,采用3组FPD-LINK电路板,配合1个ADP-N2,即可提供6路视频的远传。在Jetson AGX Xavier平台,采用4组FPD-LINK电路板,配合一个ADP-N3,即可提供8路视频的远传。

在应用层看来,FPD-Link通道支持所有MIPI摄像头功能,包括图像、i2c通信、同步IO、触发IO。
在使用CS-FPD-CAM时,必须要参考如下文章:

2 硬件准备及安装

 
Jetson NX connect with CS-FPD-CAMs(the same with Jetson Nano)
 
AGX XAVIER connnect with CS-FPD-CAMs
 
TX2 connect with CS-FPD-CAMs


注:

  1. FPD-LINK3-2RX需要12V供电。
  2. FPD-LINK3-2RX需要不晚于Xavier主板供电。因为Xavier会在启动阶段探测外设。
  3. 务必将ADP转接板用螺丝固定到主板上。

3 更新Jetson系统

更新Jetson Nano, Jetson TX2,AGX Xavier和Xavier NX系统步骤基本一致,注意dts、dtb、均采用fpdlink后缀的版本即可。driver源代码和Image,兼容FPD-Link和MIPI接口摄像头。

3.1 Image和DTB更新成功了吗?

3.1.1 对于Image

ls /sys/bus/i2c/drivers/

应当有 veyecam2m csx307 cssc132 i2c-ds90ub954 目录的存在。

3.1.2 对于DTB

DTB在不同的平台和不同的摄像头模组都会有所不同。

- Nano A02

ls /proc/device-tree/host1x/i2c@546c0000/

- Nano B01

ls /proc/device-tree/cam_i2cmux/i2c@*

- TX2 Devkit

ls /proc/device-tree/i2c@3180000/tca9548@70/i2c@*

- AGX Xavier

ls /proc/device-tree/i2c@3180000/tca9548@70/i2c@*

- Xavier NX 和 TX2 NX(p3509-0000 carrier board)

ls /proc/device-tree/cam_i2cmux/i2c@*

应当可以发现摄像头型号和ds90ub954。

4 I2C地址

fpdlink port:FPD-LINK3-2RX板子上,J3为port 0, J4为port 1。

4.1 Nano A02

Camera Index I2C bus I2C Addr Location
Camera 0 6 0x3b FPD-LINK3-2RX port 0

4.2 Nano B01

Camera Index I2C bus I2C Addr Location
Camera 0 7 0x3b FPD-LINK3-2RX port 0
Camera 1 8 0x3b FPD-LINK3-2RX port 0

4.3 Xavier NX and TX2 NX(p3509-0000 carrier board)

Camera Index I2C bus I2C Addr Location
Camera 0 9 0x3b FPD-LINK3-2RX port 0
Camera 1 10 0x3b FPD-LINK3-2RX port 0

4.4 AGX Xavier

Camera Index I2C bus I2C Addr Location
Camera 0 30 0x3b ADP-N3 J1--FPD-LINK3-2RX port 0
Camera 1 30 0x3c ADP-N3 J1--FPD-LINK3-2RX port 1
Camera 2 31 0x3b ADP-N3 J2--FPD-LINK3-2RX port 0
Camera 3 31 0x3c ADP-N3 J2--FPD-LINK3-2RX port 1
Camera 4 32 0x3b ADP-N3 J3--FPD-LINK3-2RX port 0
Camera 5 32 0x3c ADP-N3 J3--FPD-LINK3-2RX port 1
Camera 6 33 0x3b ADP-N3 J4--FPD-LINK3-2RX port 0
Camera 7 33 0x3c ADP-N3 J4--FPD-LINK3-2RX port 1

4.5 TX2 Devkit

Camera Index I2C bus I2C Addr Location
Camera 0 30 0x3b ADP-N2 J1--FPD-LINK3-2RX port 0
Camera 1 30 0x3c ADP-N2 J1--FPD-LINK3-2RX port 1
Camera 2 31 0x3b ADP-N2 J2--FPD-LINK3-2RX port 0
Camera 3 31 0x3c ADP-N2 J2--FPD-LINK3-2RX port 1
Camera 4 32 0x3b ADP-N2 J3--FPD-LINK3-2RX port 0
Camera 5 32 0x3c ADP-N2 J3--FPD-LINK3-2RX port 1

4.6 应用和测试

MIPI模组在Jetson平台的应用和测试步骤一致。

5 FPD LINK III 脚本使用说明

$ ./fpdlink3_i2c_jetson.sh

Usage:  ./fpdlink3_i2c_jetson.sh [-f] function name -b bus -p port -p1 param1 -p2 param2 -p3 param3

options:

    -f [function name]       function name

    -b [i2c bus num]               i2c bus number

    -p [fpdlink port]      fpd link port number [0,1]

    -p1 [param1]                           param1 of each function

    -p2 [param1]                           param2 of each function

    -p3 [param1]                           param3 of each function

support functions: rpi_init,sync_init,trigger_init

fpdlink port:FPD-LINK3-2RX板子上,J3为port 0, J4为port 1。

5.1 fpdlink3_i2c.sh使用详解

FPD-Link设备的探测和加载在系统上电初始化的时候会自动完成。

5.1.1 sync_init

./fpdlink3_i2c_jetson.sh -f sync_init -b [busnum] -p [portnum] -p1 0

配置I2C总线busnum,port为portnum,设备为sync模式的主摄像头。

将对应的FPD-LINK3-TX的J1信号连接到FPD-LINK3-2RX的J6,信号方向为TX-->RX。

./fpdlink3_i2c_jetson.sh -f sync_init -b [busnum] -p [portnum] -p1 1

配置I2C总线busnum,port为portnum,设备为sync模式的从摄像头。

将对应的FPD-LINK3-2RX的J8信号连接到port1上的FPD-LINK3-TX的J1,信号方向为RX-->TX。

5.1.2 trigger_init

./fpdlink3_i2c_jetson.sh -f trigger_init -b [busnum] -p [portnum]

配置I2C总线busnum,port为portnum,设备为trigger模式。

FPD-LINK3-2RX的J6信号连接到portnum上的FPD-LINK3-TX的J1,信号方向为RX-->TX。

6 典型使用方案

6.1 CS-FPD-CAM单纯视频流,连接到Jetson Nano B01/NX

 
CS-FPD-CAM connect to Jetson Nano/NX

6.2 CS-FPD-CAM单纯视频流,连接到Jetson AGX Xavier

 
CS-FPD-CAM connect to Jetson AGX Xavier

6.3 CS-FPD-CAM-IMX307的同步模式,连接到Jetson Nano B01/NX

 
CS-FPD-CAM-IMX307 sync mode's sync singal connection

SYNC信号采用J7-3连接到J1-3,J7-2连接到J1-2。

6.3.1 第一步:

上电之后,

ls /dev/video*

出现video0,video1,则表明已正确检测到摄像头,可以连出视频。

6.3.2 第二步:

执行上面步骤后,

  • 配置cam0为主

./fpdlink3_i2c_jetson.sh -f sync_init -p 0 -p1 0 -b [i2c_bus_num]

./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 0 -b [i2c_bus_num] -d 0x3b

  • 配置cam1为从

./fpdlink3_i2c_jetson.sh -f sync_init -p 0 -p1 1 -b [i2c_bus_num]

./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b [i2c_bus_num] -d 0x3b

6.3.3 第三步:

指令执行之后,对摄像头的码流获取和I2C指令控制,与MIPI接口的摄像头完全一致。

6.4 CS-FPD-CAM-IMX307的同步模式,连接到Jetson AGX Xavier

 
CS-FPD-IMX307 connect to Jetson AGX Xavier SYNC MODE

SYNC信号采用J7-3连接到J1-3,J7-2连接到J1-2。

6.4.1 第一步:

上电之后,

ls /dev/video*

出现video0-7,则表明已正确检测到摄像头,可以连出视频。

6.4.2 第二步:

执行上面步骤后,I2C通路就可以访问了。

  • 配置cam0为主

./fpdlink3_i2c_jetson.sh -f sync_init -p 0 -p1 0 -b 30

./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 0 -b 30 -d 0x3b

  • 配置cam1-7为从

./fpdlink3_i2c_jetson.sh -f sync_init -p 1 -p1 1 -b 30

./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b 30 -d 0x3c

./fpdlink3_i2c_jetson.sh -f sync_init -p 0 -p1 1 -b 31

./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b 31 -d 0x3b

./fpdlink3_i2c_jetson.sh -f sync_init -p 1 -p1 1 -b 31

./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b 31 -d 0x3c

./fpdlink3_i2c_jetson.sh -f sync_init -p 0 -p1 1 -b 32

./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b 32 -d 0x3b

./fpdlink3_i2c_jetson.sh -f sync_init -p 1 -p1 1 -b 32

./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b 32 -d 0x3c

./fpdlink3_i2c_jetson.sh -f sync_init -p 0 -p1 1 -b 33

./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b 33 -d 0x3b

./fpdlink3_i2c_jetson.sh -f sync_init -p 1 -p1 1 -b 33

./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b 33 -d 0x3c

6.4.3 第三步:

指令执行之后,对摄像头的码流获取和I2C指令控制,与MIPI接口的摄像头完全一致。

6.4.4 同步信号连接说明:

同步信号连接如上图所示,需将J6与J8的2、4、6、8pin连接在一起。

同步信号原理图请参考:

6.5 CS-FPD-CAM-SC132外触发模式,连接到Jetson Nano B01/NX

 
CS-FPD-CAM-SC132 trigger mode's trigger signal

Trigger信号采用J7-1连接到J1-1,J7-2连接到J1-2.

6.5.1 第一步:

上电之后,

ls /dev/video*

出现video0,则表明已正确检测到摄像头。

6.5.2 第二步:

./fpdlink3_i2c_jetson.sh -f trigger_init -p 0 -b [i2c_bus_num] -d 0x3b

./cs_mipi_i2c.sh -w -f streammode -p1 3 -b [i2c_bus_num] -d 0x3b

配置port 0为硬触发模式。

6.5.3 第三步:

执行上面步骤后,I2C通路就可以访问了。对摄像头的码流获取和I2C指令控制,与MIPI接口的摄像头完全一致。

参考摄像机模组触发模式应用说明进行触发模式的配置。

6.6 CS-FPD-CAM-SC132外触发模式,连接到Jetson AGX Xavier

 
CS-FPD-SC132-Xavier- trigger mode's trigger signal


Trigger信号采用J7-1连接到J1-1,J7-2连接到J1-2.

6.6.1 第一步:

上电之后,

ls /dev/video*

出现video0-7,则表明已正确检测到摄像头。

6.6.2 第二步:

./fpdlink3_i2c_jetson.sh -f trigger_init -p 0 -b 30 -d 0x3b

./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 30 -d 0x3b

./fpdlink3_i2c_jetson.sh -f trigger_init -p 1 -b 30 -d 0x3c

./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 30 -d 0x3c

./fpdlink3_i2c_jetson.sh -f trigger_init -p 0 -b 31 -d 0x3b

./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 31 -d 0x3b

./fpdlink3_i2c_jetson.sh -f trigger_init -p 1 -b 31 -d 0x3c

./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 31 -d 0x3c

./fpdlink3_i2c_jetson.sh -f trigger_init -p 0 -b 32 -d 0x3b

./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 32 -d 0x3b

./fpdlink3_i2c_jetson.sh -f trigger_init -p 1 -b 32 -d 0x3c

./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 32 -d 0x3c

./fpdlink3_i2c_jetson.sh -f trigger_init -p 0 -b 33 -d 0x3b

./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 33 -d 0x3b

./fpdlink3_i2c_jetson.sh -f trigger_init -p 1 -b 33 -d 0x3c

./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 33 -d 0x3c

./fpdlink3_i2c_jetson.sh -f trigger_init -p 0 -b 34 -d 0x3b

./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 34 -d 0x3b

./fpdlink3_i2c_jetson.sh -f trigger_init -p 1 -b 34 -d 0x3c

./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 34 -d 0x3c

配置所有摄像头为硬触发模式。

6.6.3 第三步:

执行上面步骤后,I2C通路就可以访问了。对摄像头的码流获取和I2C指令控制,与MIPI接口的摄像头完全一致。

参考摄像机模组触发模式应用说明进行触发模式的配置。