Difference between revisions of "FPD LINK III for Jetson/zh"

From wiki_veye
Jump to navigation Jump to search
(41 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[FPD LINK III for Jetson|English]]
 
[[FPD LINK III for Jetson|English]]
 +
 +
== 概述 ==
 +
FPD-Link SerDes III是由TI提供的视频流同轴远程传输方案。我们设计了[[FPD-LINK3-TX Data Sheet index|FPD-LINK3-TX]]和[[FPD-LINK3-2RX Data Sheet index|FPD-LINK3-2RX]]电路板,可以实现1或2路MIPI图像的同轴远程传输,传输距离可达8米(RG174电缆)或10米(RG58电缆)。
 +
 +
在Jetson Nano和NX平台上,采用1组[[FPD-LINK3-TX Data Sheet index|FPD-LINK3-TX]]和[[FPD-LINK3-2RX Data Sheet index|FPD-LINK3-2RX]]电路板,即可提供1路摄像头的远传,采用2组则可以提供2路摄像头的远传。[[FPD-LINK3-2RX Data Sheet index|FPD-LINK3-2RX]]上,fpdlink通道为port0(J3)到J9。
 +
 +
在Jetson TX2和Jetson AGX Xavier平台上,采用1组[[FPD-LINK3-TX Data Sheet index|FPD-LINK3-TX]]和[[FPD-LINK3-2RX Data Sheet index|FPD-LINK3-2RX]]电路板,即可提供2路摄像头的远传。[[FPD-LINK3-2RX Data Sheet index|FPD-LINK3-2RX]]上,fpdlink通道为port0(J3)和port1(J4)到J7,J7为一个4lan的mipi接口,通过虚拟通道技术,支持两路独立的摄像头数据传输。
 +
 +
在Jetson TX2平台,采用3组FPD-LINK电路板,配合1个[[ADP-N2 Data Sheet index|ADP-N2]],即可提供6路视频的远传。在Jetson AGX Xavier平台,采用4组FPD-LINK电路板,配合一个[[ADP-N3 Data Sheet index|ADP-N3]],即可提供8路视频的远传。
 +
 +
在应用层看来,FPD-Link通道支持所有MIPI摄像头功能,包括图像、i2c通信、同步IO、触发IO。<br />在使用CS-FPD-CAM时,必须要参考如下文章:
 +
 +
* [[VEYE CS Camera for Jetson TX2/zh|如何在英伟达Jetsno Nano, TX2,AGX Xavier和Xavier NX平台使用VEYE系列和CS系列摄像头模组]]
 +
 +
== 硬件准备及安装 ==
 +
[[File:Jetson NX FPDLINK3 2 cameras.jpg|center|thumb|600x600px|Jetson NX connect with CS-FPD-CAMs(the same with Jetson Nano)]]
 +
[[File:XAVIER-FPDLINK3-4cam.jpg|center|thumb|600x600px|AGX XAVIER connnect with CS-FPD-CAMs]]
 +
[[File:TX2-FPDLINK3-4cams.jpg|center|thumb|600x600px|TX2 connect with CS-FPD-CAMs]]
 +
<br />注:
 +
 +
# [[FPD-LINK3-2RX Data Sheet index|FPD-LINK3-2RX]]需要12V供电。
 +
#FPD-LINK3-2RX需要不晚于Xavier主板供电。因为Xavier会在启动阶段探测外设。
 +
#务必将ADP转接板用螺丝固定到主板上。
 +
 +
== 更新Jetson系统 ==
 +
与[[VEYE CS Camera for Jetson TX2/zh#.E6.9B.B4.E6.96.B0Jetson Nano.2C Jetson TX2.EF.BC.8CAGX Xavier.E5.92.8CXavier NX.E7.B3.BB.E7.BB.9F|更新Jetson Nano, Jetson TX2,AGX Xavier和Xavier NX系统]]步骤基本一致,注意dts、dtb、均采用fpdlink后缀的版本即可。driver源代码和Image,兼容FPD-Link和MIPI接口摄像头。
 +
 +
==== Image和DTB更新成功了吗? ====
 +
 +
===== 对于Image =====
 +
<code>ls /sys/bus/i2c/drivers/</code>
 +
 +
应当有 veye327 csx307 cssc132 i2c-ds90ub954 目录的存在
 +
 +
===== 对于DTB =====
 +
DTB在不同的平台和不同的摄像头模组都会有所不同。
 +
 +
- Nano A02
 +
 +
<code>ls /proc/device-tree/host1x/i2c@546c0000/</code>
 +
 +
- Nano B01
 +
 +
<code>ls /proc/device-tree/cam_i2cmux/i2c@*</code>
 +
 +
- TX2 Devkit
 +
 +
<code>ls /proc/device-tree/i2c@3180000/tca9548@70/i2c@*</code>
 +
 +
- AGX Xavier
 +
 +
<code>ls /proc/device-tree/i2c@3180000/tca9548@70/i2c@*</code>
 +
 +
- Xavier NX 和 TX2 NX(p3509-0000 carrier board)
 +
 +
<code>ls /proc/device-tree/cam_i2cmux/i2c@*</code>
 +
 +
应当可以发现摄像头型号和ds90ub954。
 +
 +
== I2C地址 ==
 +
'''fpdlink port:[[FPD-LINK3-2RX Data Sheet index|FPD-LINK3-2RX]]板子上,J3为port 0, J4为port 1。'''
 +
 +
==== Nano A02 ====
 +
{| class="wikitable"
 +
!Camera Index
 +
!I2C bus
 +
!I2C Addr
 +
!Location
 +
|-
 +
|Camera 0
 +
|6
 +
|0x3b
 +
|FPD-LINK3-2RX port 0
 +
|}
 +
 +
==== Nano B01 ====
 +
{| class="wikitable"
 +
!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
 +
|}
 +
 +
==== Xavier NX and TX2 NX(p3509-0000 carrier board) ====
 +
{| class="wikitable"
 +
!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
 +
|}
 +
 +
==== AGX Xavier ====
 +
{| class="wikitable"
 +
!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
 +
|}
 +
 +
==== TX2 Devkit ====
 +
{| class="wikitable"
 +
!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
 +
|}
 +
 +
=== 应用和测试 ===
 +
与[[VEYE CS Camera for Jetson TX2/zh#.E5.BA.94.E7.94.A8.E5.92.8C.E6.B5.8B.E8.AF.95|MIPI模组在Jetson平台的应用和测试]]步骤一致。
 +
== 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 Data Sheet index|FPD-LINK3-2RX]]板子上,J3为port 0, J4为port 1。'''
 +
===fpdlink3_i2c.sh使用详解===
 +
FPD-Link设备的探测和加载在系统上电初始化的时候会自动完成。
 +
 +
=====sync_init=====
 +
<code>./fpdlink3_i2c_jetson.sh -f sync_init -b [busnum] -p [portnum] -p1 0</code>
 +
 +
配置I2C总线busnum,port为portnum,设备为sync模式的主摄像头。
 +
 +
将对应的[[FPD-LINK3-TX Data Sheet index|FPD-LINK3-TX]]的J1信号连接到[[FPD-LINK3-2RX Data Sheet index|FPD-LINK3-2RX]]的J6,信号方向为TX-->RX。
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f sync_init  -b [busnum] -p [portnum] -p1 1</code>
 +
 +
配置I2C总线busnum,port为portnum,设备为sync模式的从摄像头。
 +
 +
将对应的[[FPD-LINK3-2RX Data Sheet index|FPD-LINK3-2RX]]的J8信号连接到port1上的[[FPD-LINK3-TX Data Sheet index|FPD-LINK3-TX]]的J1,信号方向为RX-->TX。
 +
=====trigger_init =====
 +
<code>./fpdlink3_i2c_jetson.sh -f trigger_init -b [busnum] -p [portnum]</code>
 +
 +
配置I2C总线busnum,port为portnum,设备为trigger模式。
 +
 +
将[[FPD-LINK3-2RX Data Sheet index|FPD-LINK3-2RX]]的J6信号连接到portnum上的[[FPD-LINK3-TX Data Sheet index|FPD-LINK3-TX]]的J1,信号方向为RX-->TX。
 +
== 典型使用方案 ==
 +
 +
=== CS-FPD-CAM单纯视频流,连接到Jetson Nano B01/NX ===
 +
[[File:CS-FPD-CAM connect to Jetson Nano-NX.png|center|thumb|800x800px|CS-FPD-CAM connect to Jetson Nano/NX]]
 +
=== CS-FPD-CAM单纯视频流,连接到Jetson AGX Xavier ===
 +
[[File:CS-FPD-CAM connect to Jetson AGX Xavier.png|center|thumb|800x800px|CS-FPD-CAM connect to Jetson AGX Xavier]]
 +
 +
=== CS-FPD-CAM-IMX307的同步模式,连接到Jetson Nano B01/NX ===
 +
[[File:CS-FPD-CAM-IMX307 sync mode's sync singal connection NEW.png|alt=|center|thumb|800x800px|CS-FPD-CAM-IMX307 sync mode's sync singal connection]]SYNC信号采用J7-3连接到J1-3,J7-2连接到J1-2。
 +
 +
=====第一步:=====
 +
上电之后,
 +
 +
<code>ls /dev/video*</code>
 +
 +
出现video0,video1,则表明已正确检测到摄像头,可以连出视频。
 +
===== 第二步:=====
 +
执行上面步骤后,
 +
 +
*配置cam0为主
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f sync_init -p 0 -p1 0 -b [i2c_bus_num]</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 0 -b [i2c_bus_num] -d 0x3b</code>
 +
 +
*配置cam1为从
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f sync_init -p 0 -p1 1 -b [i2c_bus_num]</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b [i2c_bus_num] -d 0x3b</code>
 +
=====第三步: =====
 +
指令执行之后,对摄像头的码流获取和I2C指令控制,与MIPI接口的摄像头完全一致。
 +
=== CS-FPD-CAM-IMX307的同步模式,连接到Jetson AGX Xavier ===
 +
[[File:CS-FPD-IMX307 connect to Jetson AGX Xavier SYNC MODE NEW.png|alt=|center|thumb|800x800px|CS-FPD-IMX307 connect to Jetson AGX Xavier SYNC MODE]]SYNC信号采用J7-3连接到J1-3,J7-2连接到J1-2。
 +
 +
=====第一步:=====
 +
上电之后,
 +
 +
<code>ls /dev/video*</code>
 +
 +
出现video0-7,则表明已正确检测到摄像头,可以连出视频。
 +
 +
===== 第二步: =====
 +
执行上面步骤后,I2C通路就可以访问了。
 +
 +
*配置cam0为主
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f sync_init -p 0 -p1 0 -b 30</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 0 -b 30 -d 0x3b</code>
 +
 +
*配置cam1-7为从
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f sync_init -p 1 -p1 1 -b 30</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b 30 -d 0x3c</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f sync_init -p 0 -p1 1 -b 31</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b 31 -d 0x3b</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f sync_init -p 1 -p1 1 -b 31</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b 31 -d 0x3c</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f sync_init -p 0 -p1 1 -b 32</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b 32 -d 0x3b</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f sync_init -p 1 -p1 1 -b 32</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b 32 -d 0x3c</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f sync_init -p 0 -p1 1 -b 33</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b 33 -d 0x3b</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f sync_init -p 1 -p1 1 -b 33</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 1 -p2 1 -b 33 -d 0x3c</code>
 +
 +
===== 第三步: =====
 +
指令执行之后,对摄像头的码流获取和I2C指令控制,与MIPI接口的摄像头完全一致。
 +
 +
===== 同步信号连接说明: =====
 +
同步信号连接如上图所示,需将J6与J8的2、4、6、8pin连接在一起。
 +
 +
同步信号原理图请参考:
 +
 +
* [[FPD-LINK3-2RX Data Sheet index|FPD-LINK3-2RX数据手册]]
 +
 +
* [[ADP-N2 Data Sheet index|ADP-N2数据手册]]
 +
 +
* [[ADP-N3 Data Sheet index|ADP-N3数据手册]]
 +
 +
=== CS-FPD-CAM-SC132外触发模式,连接到Jetson Nano B01/NX ===
 +
[[File:CS-FPD-CAM-SC132 trigger mode new.png|alt=|center|thumb|780x780px|CS-FPD-CAM-SC132 trigger mode's trigger signal]]Trigger信号采用J7-1连接到J1-1,J7-2连接到J1-2.
 +
 +
=====第一步:=====
 +
上电之后,
 +
 +
<code>ls /dev/video*</code>
 +
 +
出现video0,则表明已正确检测到摄像头。
 +
===== 第二步:=====
 +
<code>./fpdlink3_i2c_jetson.sh -f trigger_init -p 0 -b [i2c_bus_num] -d 0x3b</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 3 -b [i2c_bus_num] -d 0x3b</code>
 +
 +
配置port 0为硬触发模式。
 +
=====第三步:=====
 +
执行上面步骤后,I2C通路就可以访问了。对摄像头的码流获取和I2C指令控制,与MIPI接口的摄像头完全一致。
 +
 +
参考[[Camera module Trigger Mode manual/zh|摄像机模组触发模式应用说明]]进行触发模式的配置。
 +
=== CS-FPD-CAM-SC132外触发模式,连接到Jetson AGX Xavier ===
 +
[[File:CS-FPD-SC132-Xavier-TRIGGER.png|center|thumb|800x800px|CS-FPD-SC132-Xavier- trigger mode's trigger signal]]
 +
<br />Trigger信号采用J7-1连接到J1-1,J7-2连接到J1-2.
 +
 +
===== 第一步: =====
 +
上电之后,
 +
 +
<code>ls /dev/video*</code>
 +
 +
出现video0-7,则表明已正确检测到摄像头。
 +
===== 第二步:=====
 +
<code>./fpdlink3_i2c_jetson.sh -f trigger_init -p 0 -b 30 -d 0x3b</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 30 -d 0x3b</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f trigger_init -p 1 -b 30 -d 0x3c</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 30 -d 0x3c</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f trigger_init -p 0 -b 31 -d 0x3b</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 31 -d 0x3b</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f trigger_init -p 1 -b 31 -d 0x3c</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 31 -d 0x3c</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f trigger_init -p 0 -b 32 -d 0x3b</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 32 -d 0x3b</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f trigger_init -p 1 -b 32 -d 0x3c</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 32 -d 0x3c</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f trigger_init -p 0 -b 33 -d 0x3b</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 33 -d 0x3b</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f trigger_init -p 1 -b 33 -d 0x3c</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 33 -d 0x3c</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f trigger_init -p 0 -b 34 -d 0x3b</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 34 -d 0x3b</code>
 +
 +
<code>./fpdlink3_i2c_jetson.sh -f trigger_init -p 1 -b 34 -d 0x3c</code>
 +
 +
<code>./cs_mipi_i2c.sh -w -f streammode -p1 3 -b 34 -d 0x3c</code>
 +
 +
配置所有摄像头为硬触发模式。
 +
=====第三步:=====
 +
执行上面步骤后,I2C通路就可以访问了。对摄像头的码流获取和I2C指令控制,与MIPI接口的摄像头完全一致。
 +
 +
参考[[Camera module Trigger Mode manual/zh|摄像机模组触发模式应用说明]]进行触发模式的配置。

Revision as of 09:24, 6 April 2021

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/

应当有 veye327 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接口的摄像头完全一致。

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