Difference between revisions of "Camera module Trigger Mode manual/zh"
(22 intermediate revisions by 3 users not shown) | |||
Line 4: | Line 4: | ||
本文主要介绍global shutter模组实现的触发模式,包括硬件触发和软件触发两种。 | 本文主要介绍global shutter模组实现的触发模式,包括硬件触发和软件触发两种。 | ||
===适用型号=== | ===适用型号=== | ||
− | CS-MIPI-SC132 | + | |
− | === | + | *[[CS-MIPI-SC132 Global Shutter Camera|CS-MIPI-SC132]] |
− | ==== | + | |
+ | ===图像同步模式概念=== | ||
+ | ====Free Running==== | ||
这个模式下,摄像机模组自由运行,多路摄像机的曝光和采样处于随机状态。 | 这个模式下,摄像机模组自由运行,多路摄像机的曝光和采样处于随机状态。 | ||
====Hardware Trigger==== | ====Hardware Trigger==== | ||
此模式下,以Trigger IO引脚为触发信号,模组收到触发信号后开始曝光并输出图像。引脚定义参考:[[CS-MIPI-SC132 Data Sheet/zh#.E6.8E.A5.E5.8F.A3.E5.92.8C.E5.BC.95.E8.84.9A.E8.AF.B4.E6.98.8E|CS-MIPI-SC132手册]]。 | 此模式下,以Trigger IO引脚为触发信号,模组收到触发信号后开始曝光并输出图像。引脚定义参考:[[CS-MIPI-SC132 Data Sheet/zh#.E6.8E.A5.E5.8F.A3.E5.92.8C.E5.BC.95.E8.84.9A.E8.AF.B4.E6.98.8E|CS-MIPI-SC132手册]]。 | ||
+ | |||
+ | 如果使用Xavier/TX2主板,可以支持多路同时触发。引脚定义参考:[[ADP-N1 Adapter Board Data Sheet|ADP_N1手册]]。 | ||
触发信号支持沿属性可设,触发延迟可设,去毛刺属性可设。 | 触发信号支持沿属性可设,触发延迟可设,去毛刺属性可设。 | ||
− | triggeredge : 触发沿属性 | + | '''''triggeredge''''': 触发沿属性 |
− | + | '''''tgdly''''':触发延迟 | |
− | + | '''''tgdebncr''''':去毛刺属性 | |
− | |||
− | ''' | ||
+ | ====Software Trigger==== | ||
此模式下,以I2C寄存器来控制触发抓拍一张。 | 此模式下,以I2C寄存器来控制触发抓拍一张。 | ||
− | striggerone | + | '''''striggerone''''':触发抓拍一张指令。 |
注:以上指令参考设置参考:[[CS-MIPI-X i2c/zh|CS系列模组参数配置脚本]]。 | 注:以上指令参考设置参考:[[CS-MIPI-X i2c/zh|CS系列模组参数配置脚本]]。 | ||
− | === | + | ===触发模式下的曝光控制和帧率=== |
− | ==== | + | ====触发模式下的曝光和增益的配置==== |
− | + | 在触发模式下,推荐用户使用直接手动曝光。当然,也可以使用自动曝光模式,但是由于AE算法需要经过一些帧的运算来收敛,前几帧图像的曝光效果会不好。 | |
− | + | '''''expmode''''':曝光模式设置 | |
− | + | '''''dmetime''''':直接手动曝光时间 | |
− | + | '''''dmeagain''''':直接手动模拟增益 | |
− | + | '''''dmedgain''''':直接手动数字增益 | |
用户还可以在自动模式下,使用expostate指令来读出当前曝光时间和增益值,作为参考。 | 用户还可以在自动模式下,使用expostate指令来读出当前曝光时间和增益值,作为参考。 | ||
Line 44: | Line 47: | ||
注:以上指令参考设置参考:[[CS-MIPI-X i2c/zh|CS系列模组参数配置脚本]]。 | 注:以上指令参考设置参考:[[CS-MIPI-X i2c/zh|CS系列模组参数配置脚本]]。 | ||
− | ==== | + | ====触发模式下的曝光时间和传输时间==== |
− | + | '''''T<sub>tgmin =</sub> T<sub>exp</sub> + T<sub>trans</sub>''''' | |
+ | |||
+ | '''''T<sub>tgmin</sub>''''': 触发最小间隔时间 | ||
+ | |||
+ | '''''T<sub>exp</sub>''''':曝光时间 | ||
+ | |||
+ | '''''T<sub>trans</sub>''''':一帧传输时间(sensor到isp) | ||
+ | |||
+ | 相应的,在已知触发最小间隔时间的情况下,允许配置的最大曝光时间为: | ||
+ | |||
+ | '''''T<sub>expmax =</sub> T<sub>tgmin -</sub> T<sub>trans</sub>''''' | ||
− | ''' | + | '''''T<sub>expmax</sub>''''':最大曝光时间 |
如果当前触发信号与前一次触发信号的时间间隔小与触发最小间隔时间,则传感器会忽略掉当前触发信号。 | 如果当前触发信号与前一次触发信号的时间间隔小与触发最小间隔时间,则传感器会忽略掉当前触发信号。 | ||
− | ''' | + | *'''''T<sub>exp</sub>'' 曝光时间''' |
+ | |||
+ | 用户可以通过自动和手动设置。 | ||
aemode为自动时,建议结合使用场景,限制最大曝光时间aetime。 | aemode为自动时,建议结合使用场景,限制最大曝光时间aetime。 | ||
Line 57: | Line 72: | ||
aemode为手动时,通过metime设置曝光时间即可。 | aemode为手动时,通过metime设置曝光时间即可。 | ||
− | ''' | + | *'''''T<sub>trans</sub>'':一帧传输时间(sensor到isp):''' |
− | + | 指触发模式下,一帧图像从sensor输出需要的时间,图像输出完成后才接受下一次触发。一帧传输时间与当前分辨率模式有关。 | |
{| class="wikitable" | {| class="wikitable" | ||
|+触发模式曝光时间计算 | |+触发模式曝光时间计算 | ||
!工作模式 | !工作模式 | ||
− | !一帧传输时间(ms) | + | !'''''T<sub>trans</sub>''''' 一帧传输时间(ms) |
!最大帧率 | !最大帧率 | ||
!保证最大帧率的最大曝光时间(ms) | !保证最大帧率的最大曝光时间(ms) | ||
Line 83: | Line 98: | ||
|7.65 | |7.65 | ||
|120 | |120 | ||
− | |0. | + | |0.68 |
|} | |} | ||
===触发模式下的延迟=== | ===触发模式下的延迟=== | ||
+ | '''''T<sub>total</sub> = tgdly + T<sub>exp +</sub> T<sub>trans +</sub>T<sub>isp+</sub>T<sub>mipi</sub>''''' | ||
+ | |||
+ | 触发总延迟时间:触发总延迟时间为从触发信号输入到完整一帧图像通过mipi信号输出完成的时间。下面的表格通过硬件测量方法得到。 | ||
+ | |||
+ | '''''tgdly''''':人为设置的触发延迟时间,以下测量均配置为0。tgdly仅针对Hardware Trigger有效。 | ||
+ | |||
+ | '''''T<sub>exp</sub>''''':曝光时间,用户可以通过自动和手动设置,以下以expostate读出的实际值为准。 | ||
+ | |||
+ | '''''T<sub>isp</sub>''''':模组处理时间。 | ||
+ | |||
+ | '''''T<sub>mipi</sub>''''':MIPI传输时间。 | ||
+ | {| class="wikitable" | ||
+ | |+触发延迟测量 | ||
+ | !工作模式 | ||
+ | !''T<sub>exp</sub>'' 曝光时间(us) | ||
+ | !''T<sub>total</sub>'' 触发总延迟时间(ms) | ||
+ | |- | ||
+ | |1280x1080 | ||
+ | |1000 | ||
+ | |45.80 | ||
+ | |- | ||
+ | |1080x1280 | ||
+ | |1000 | ||
+ | |43.20 | ||
+ | |- | ||
+ | |1280x720 | ||
+ | |1000 | ||
+ | |35.20 | ||
+ | |- | ||
+ | |720x1280 | ||
+ | |1000 | ||
+ | |33.40 | ||
+ | |- | ||
+ | |640x480 | ||
+ | |1000 | ||
+ | |18.00 | ||
+ | |- | ||
+ | |480x640 | ||
+ | |1000 | ||
+ | |17.20 | ||
+ | |} | ||
<br /> | <br /> |
Latest revision as of 20:40, 22 March 2021
1 摄像机模组抓拍模式应用说明
本文主要介绍global shutter模组实现的触发模式,包括硬件触发和软件触发两种。
1.1 适用型号
1.2 图像同步模式概念
1.2.1 Free Running
这个模式下,摄像机模组自由运行,多路摄像机的曝光和采样处于随机状态。
1.2.2 Hardware Trigger
此模式下,以Trigger IO引脚为触发信号,模组收到触发信号后开始曝光并输出图像。引脚定义参考:CS-MIPI-SC132手册。
如果使用Xavier/TX2主板,可以支持多路同时触发。引脚定义参考:ADP_N1手册。
触发信号支持沿属性可设,触发延迟可设,去毛刺属性可设。
triggeredge: 触发沿属性
tgdly:触发延迟
tgdebncr:去毛刺属性
1.2.3 Software Trigger
此模式下,以I2C寄存器来控制触发抓拍一张。
striggerone:触发抓拍一张指令。
注:以上指令参考设置参考:CS系列模组参数配置脚本。
1.3 触发模式下的曝光控制和帧率
1.3.1 触发模式下的曝光和增益的配置
在触发模式下,推荐用户使用直接手动曝光。当然,也可以使用自动曝光模式,但是由于AE算法需要经过一些帧的运算来收敛,前几帧图像的曝光效果会不好。
expmode:曝光模式设置
dmetime:直接手动曝光时间
dmeagain:直接手动模拟增益
dmedgain:直接手动数字增益
用户还可以在自动模式下,使用expostate指令来读出当前曝光时间和增益值,作为参考。
注:以上指令参考设置参考:CS系列模组参数配置脚本。
1.3.2 触发模式下的曝光时间和传输时间
Ttgmin = Texp + Ttrans
Ttgmin: 触发最小间隔时间
Texp:曝光时间
Ttrans:一帧传输时间(sensor到isp)
相应的,在已知触发最小间隔时间的情况下,允许配置的最大曝光时间为:
Texpmax = Ttgmin - Ttrans
Texpmax:最大曝光时间
如果当前触发信号与前一次触发信号的时间间隔小与触发最小间隔时间,则传感器会忽略掉当前触发信号。
- Texp 曝光时间
用户可以通过自动和手动设置。
aemode为自动时,建议结合使用场景,限制最大曝光时间aetime。
aemode为手动时,通过metime设置曝光时间即可。
- Ttrans:一帧传输时间(sensor到isp):
指触发模式下,一帧图像从sensor输出需要的时间,图像输出完成后才接受下一次触发。一帧传输时间与当前分辨率模式有关。
工作模式 | Ttrans 一帧传输时间(ms) | 最大帧率 | 保证最大帧率的最大曝光时间(ms) |
---|---|---|---|
1280x1080
1080x1280 |
18.67 | 45 | 3.55 |
1280x720
720x1280 |
14.94 | 60 | 1.73 |
640x480
480x640 |
7.65 | 120 | 0.68 |
1.4 触发模式下的延迟
Ttotal = tgdly + Texp + Ttrans +Tisp+Tmipi
触发总延迟时间:触发总延迟时间为从触发信号输入到完整一帧图像通过mipi信号输出完成的时间。下面的表格通过硬件测量方法得到。
tgdly:人为设置的触发延迟时间,以下测量均配置为0。tgdly仅针对Hardware Trigger有效。
Texp:曝光时间,用户可以通过自动和手动设置,以下以expostate读出的实际值为准。
Tisp:模组处理时间。
Tmipi:MIPI传输时间。
工作模式 | Texp 曝光时间(us) | Ttotal 触发总延迟时间(ms) |
---|---|---|
1280x1080 | 1000 | 45.80 |
1080x1280 | 1000 | 43.20 |
1280x720 | 1000 | 35.20 |
720x1280 | 1000 | 33.40 |
640x480 | 1000 | 18.00 |
480x640 | 1000 | 17.20 |