Operator TrgPortLine

Operator Library: Hardware Platform

该算子为相机生成触发信号 (Exsync)。 它还负责将采集到的行组装成图像。

可以使用内部信号 generator (GrabberControlled),也可以通过外部信号触发信号 generator, 这些外部信号可以来自触发扩展板(TTL Trigger 板或 OPTO 触发板)的输入信号,或者通过软件触发。 信号 generator 可以生成具有灵活延迟、脉冲宽度和极性的 Exsync 信号。 此外,还会生成可在触发扩展板上使用的闪光信号。

该算子占用 4 个数字输出和一个用于 CC 信号的相机端口。 因此,使用了一个类型为 CameraControl 的 VisualApplets 资源。 如果资源索引设置为 0,则使用数字输出 0 到 2 以及相机端口 A。 如果资源索引设置为 1,则使用数字输出 4 到 6 以及相机端口 B。 输出 3 和 7 不被该算子使用。 请注意,没有其他算子可以使用这些硬件资源。 在资源对话框中设置资源索引。

适用于以下硬件平台
microEnable IV VD1-CL/-PoCL
microEnable IV VD4-CL/-PoCL

I/O Property

Property 值
Operator Type P
Input Link I,数据输入
Output Link O,数据输出

Supported Link Format

Link Parameter Input Link I Output Link O
Bit Width [1, 64] as I
Arithmetic {unsigned, signed} as I
Parallelism any as I
Kernel Columns 1 as I
Kernel Rows 1 as I
Img Protocol VALT_LINE1D VALT_IMAGE2D
Color Format any as I
Color Flavor any as I
Max. Img Width any as I
Max. Img Height 65536 as I

参数

YOffset
键入 动态/静态读/写参数
默认 0
范围 [0, 224]

此参数定义了在一帧开始时省略的行数。

YLength
键入 动态/静态读/写参数
默认 1024
范围 [8, 224]

此参数定义了一帧的行数。

MaxGatedHeight
键入 dynamid read/write parameter
默认 restricted
范围 {restricted, unrestricted}

当图像 Trigger Mode (ImgTriggerMode) 设置为 ExternSw_Gate 时,参数 MaxGatedHeight 允许您限制最大图像高度。

如果图像 Trigger Mode (ImgTriggerMode) 设置为 ExternSw_Gate, 且参数 MaxGatedHeight 设置为 unrestricted, 则图像高度由门开启的时间决定,即 由外部图像触发信号的脉冲宽度或软件触发持续时间(值为 1)决定。 此时,如果门开启时间较长,图像高度就会变大。 如果参数 MaxGatedHeight 设置为 restricted,即使门仍然开启,图像高度也会被限制为 YLength 个图像行。 算子将丢弃任何后续行,并等待下一个开门信号以开始新的一帧。

相比之下,如果参数设置为 unrestricted,则图像高度仅由门决定。

[警告] 可能违反 Link Property

在 unrestricted 模式下使用此参数可能会违反 VisualApplets 链路协议。 图像高度可能会超过 TrgPortLine 算子输出链路中定义的允许的最大图像高度。 使用 unrestricted 模式时请小心。 有关链路属性的更多信息,请参见 'Link Properties'。

随后的 SplitImage 算子可以将大图像分割成块(较小的图像)。

LineTriggerMode
键入 动态/静态读/写参数
默认 GrabberControlled
范围 {GrabberControlled, Extern_Trigger, GrabberControlled_Gated_by_Img, Extern_Trigger_Gated_by_Img}

此参数选择内部 Exsync 信号 generator 的运行模式。 外部触发输入的源可以通过参数 LineTrgInSourceA 和 LineTrgInSourceB 进行选择(见下文)。

GrabberControlled:由内部信号 generator 周期性生成 Exsync

Extern_Trigger:使用外部触发信号启动一次信号 generator

GrabberControlled_Gated_by_Img:在采集一帧期间,由内部信号 generator 周期性生成 Exsync

Extern_Trigger_Gated_by_Img:在采集一帧期间,使用外部触发信号触发信号 generator

ExsyncEnable
键入 动态读/写参数
默认 OFF
范围 {OFF, ON}

Enables or disables the Exsync output to the camera.

LineTrgInSourceA
键入 动态/静态读/写参数
默认 InSignal0
范围 {InSignal0, InSignal1, InSignal2, InSignal3, InSignal4, InSignal5, InSignal6, InSignal7}

此参数指定用于触发 Exsync 信号 generator 的信号源。 仅当 Trigger Mode 设置为 Extern_Trigger 时,此参数才相关。

LineTrgInSourceB
键入 动态/静态读/写参数
默认 InSignal0
范围 {InSignal0, InSignal1, InSignal2, InSignal3, InSignal4, InSignal5, InSignal6, InSignal7}

此参数指定用于触发 Exsync 信号 generator 的信号源。 仅当 Trigger Mode 设置为 Extern_Trigger 且 EncoderABMode 设置为 Signal_AB_Filter 时,此参数才相关。

EncoderABMode
键入 动态/静态读/写参数
默认 Signal_A_Only
范围 {Signal_A_Only, Signal_AB_Filter, Signal_ABx2_Filter, Signal_ABx4_Filter}

此参数指定是使用单个触发输入(仅 A)还是使用信号 A 和 B 来生成 Exsync。

信号 A/B 支持能够确定轴编码器的旋转方向,并抑制和补偿反向运动:

Signal_A_Only:使用由 LineTrgInSourceA 选择的触发输入来生成 Exsync。

Signal_AB_Filter:以单分辨率为轴编码器的正转生成 Exsync,即 针对 LineTrgInSourceA 的上升沿产生一个触发脉冲。

Signal_ABx2_Filter:以双分辨率为轴编码器的正转生成 Exsync,即 针对 LineTrgInSourceA 的上升沿和 LineTrgInSourceA 的下降沿产生一个触发脉冲。使用 LineTrgInSourceA 的两个边沿。

Signal_ABx4_Filter:以四倍分辨率为轴编码器的正转生成 Exsync,即 针对 LineTrgInSourceA 的上升沿和下降沿以及 LineTrgInSourceB 的上升沿和下降沿产生一个触发脉冲。

启用 AB 支持时的相关参数:

  • EncoderABLead(可用于切换正向的定义)

您可以通过将参数 EncoderABMode 设置为值 Signal_A_Only 来重置轴编码器。

EncoderABLead
键入 动态/静态读/写参数
默认 Signal_AB
范围 {Signal_AB, Signal_BA}

如果参数设置为 Signal_AB,则正向运动定义为信号 B 之前的信号 A 的上升沿,反之亦然:

Signal_AB:正向定义为 A 在 B 之前

Signal_BA:正向定义为 B 在 A 之前

LineTrgInPolarity
键入 动态读/写参数
默认 LowActive
范围 {LowActive, HighActive}

该参数用于定义外部输入触发信号 LineTrgInSourceA 和 LineTrgInSourceB 的极性。当设置为 LowActive 时,Exsync 发生器在参数 ImgTrgInSource 指定的信号的下降沿启动。否则,Exsync 发生器在上升沿启动。这仅在 TriggerMode 设置为 Extern_Trigger 时相关。

LineTrgDownscaler
键入 动态/静态读/写参数
默认 1
范围 [1, 256]

该参数指定生成 Exsync 所需的外部输入触发信号数量。这仅在 TriggerMode 设置为外部触发模式时相关。

LineTrgPhase
键入 动态/静态读/写参数
默认 1
范围 [1, 256]

该参数指定生成帧的第一个 Exsync 所需的外部输入触发信号数量。这仅在 TriggerMode 设置为 Extern_Trigger_Gated_by_Img 时相关。

ExsyncPeriod
键入 动态/静态读/写参数
默认 100 μs
范围 [1.024, 4000] μs

该参数指定 Exsync 信号的周期。因此,在使用采集卡控制模式触发所连接的相机时,它决定了行频。

ExsyncExposure
键入 动态/静态读/写参数
默认 20 µs
范围 [1.024, 2000] μs,不得超过 ExsyncPeriod

该参数指定 Exsync 信号的脉冲宽度,许多相机可以利用该宽度来指定 Exposure Time。因此,甚至在采集过程中也可以通过软件调整 Exposure Time。

Exsync2Delay
键入 动态/静态读/写参数
默认 0 μs
范围 [0, 2000] μs,不得超过 ExsyncPeriod

该参数指定生成的 Exsync 信号相对于外部触发输入的延迟。因此,Exsync2 信号是 Exsync 的延迟克隆(极性、周期等与 Exsync 相同)。

ExsyncPolarity
键入 动态/静态读/写参数
默认 LowActive
范围 {LowActive, HighActive}

该参数将 Exsync 信号发生器的极性调整为所连接相机接受的极性。如果相机在下降沿打开快门,请使用 LowActive,否则使用 HighActive。

ImgTriggerMode
键入 动态/静态读/写参数
默认 FreeRun
范围 {FreeRun, ExternSw_Trigger, ExternSw_Gate}

此参数选择内部图像门(Image Gate)的操作模式。

图像触发输入信号可以由外部(外围)设备(例如轴编码器)或软件创建。 您可以通过参数 ImgTrgInSource 选择外部图像触发输入的源,见下文)。

参数 ImgTriggerMode 的值会引发以下行为:

  • FreeRun:

    • 相机传输的所有传入行都会被接受。

    • 图像门被忽略。

    • 参数 YLength 定义何时生成帧结束 (EOF)。

    • 如果参数 yOffset 大于零, 则会省略两个连续图像之间的若干 yOffset 行。

      Example:yOffset = 0,YLength = 2:

      Example:yOffset = 2,YLength = 2:

  • ExternSw_Trigger:

    • 在接受的图像触发输入信号的上升沿, 会启动一个新帧,并将传入的行附加到图像中,最多达到 YLength。

    • 参数 YLength 定义何时生成帧结束 (EOF)。

    • 只有在附加了 YLength 行并生成 EOF 后,才会接受图像触发的新上升沿。 如果在向图像附加 YLength 行并生成 EOF 之前发生图像触发的新上升沿,则该上升沿将被忽略。

      Example:YLength 设置为值 2:

  • ExternSw_Gate:

    • 在门控模式下,图像触发输入信号保持活动状态的时长非常重要, 因为它充当 Image Gate 信号。

    • 此模式的具体行为可通过参数 MaxGatedHeight 来定义。 (通过 MaxGatedHeight,您可以定义图像的最大图像高度是受限制的还是不受限制的。 有关详细信息,请参见参数 MaxGatedHeight 的说明。)

      当参数 MaxGatedHeight 设置为“Unrestricted”时,ExternSW_Gate 模式的行为

      • 在 Image Gate 信号处于活动状态时,传入的行将附加到图像中。

      • “图像选通 (Image Gate)”控制哪些图像行是有效的:

        • 在 Image Gate 信号处于活动状态时,将接受传入的行。(参见图形,例如第 n+8 行和 第 n+9 行。)

        • 在 Image Gate 信号未处于活动状态时,将忽略传入的行。(参见图形,例如第 n+3 行。)

        • 在 Image Gate 信号处于活动状态时开始的每一行都是有效的。 (参见图形:n+1、n+2、n+4、n+5、n+6、n+8 和 n+9 是有效的。)

          如果在获取上一行的所有数据之前出现 Image Gate 的下降沿, 该行仍然有效并被完全获取。(参见图形:n+2 和 n+6)

        • 传输的始终是完整的行。

        • 在 Image Gate 关闭时开始的每一行均无效。 (参见图形:第 n 行和第 n+7 行无效,第 n+4 行有效。)

        • 行结束 (EoL) 和帧结束 (EoF) 既可以在新行开始之前直接生成, 也可以在 Image Gate 的下降沿生成。

          EoL 在新行开始前直接生成:如果一行的下降沿出现在开放的 Image Gate 内, 并且 Image Gate 覆盖了下一行的起点, 则在下一行的上升沿之前直接生成 EoL。(参见图形:n+1、n+4、n+5 和 n+8。)

          EoL 与 EoF 在新行开始前直接一同生成:如果 Image Gate 的下降沿出现在某一行的下降沿之前, 则在下一行的上升沿之前直接生成 EoL 和 EoF。(参见图形:图像 m 和图像 m+1。)

          EoL 与 EoF 在 Image Gate 下降沿一同生成:如果一行的下降沿出现在开放的 Image Gate 内, 并且 Image Gate 的下降沿出现在下一行的上升沿之前, 则在 Image Gate 的下降沿之后直接生成 EoL 和 EoF。(参见图形:图像 m+2。)

      当参数 MaxGatedHeight 设置为“Restricted”时,ExternSW_Gate 模式的行为

      如果参数 MaxGatedHeight 设置为“restricted”,则其行为与上述 MaxGatedHeight 设置为“unrestricted”时的行为相同, 但有以下例外情况:

      • 只要图像门开启,就会附加行,直到达到最大图像高度 YLength。 将省略所有后续行,直到 Image Gate 信号的下一个上升沿。

      • 如果在附加 YLength 行之前出现 Image Gate 信号的下降沿: Image Gate 信号的下降沿决定了图像的高度, 即使图像的高度未达到 YLength。 (有关图像高度的更多信息,请参见参数 MaxGatedHeight。)

      • 下面的示例(图形)显示了 MaxGatedHeight = restricted 且 YLength = 3 时的行为。

ImgTrgInSource
键入 动态/静态读/写参数
默认 InSignal0
范围 {InSignal0, InSignal1, InSignal2, InSignal3, InSignal4, InSignal5, InSignal6, InSignal7}

此参数指定用于触发图像采集的信号源。这仅在 ImgTriggerMode 设置为 ExternSw_Trigger 或 ExternSw_Gate 时相关。

ImgTrgInPolarity
键入 动态读/写参数
默认 LowActive
范围 {LowActive, HighActive}

该参数定义外部输入触发信号的极性。

ImgTrgDelay
键入 动态读/写参数
默认 0
范围 {0, 4095}

该参数将图像触发信号延迟指定的图像行数。

FlashEnable
键入 动态读/写参数
默认 OFF
范围 {OFF, ON}

启用或禁用闪光输出。 闪光信号的脉冲宽度等于一个行周期。

FlashPolarity
键入 动态/静态读/写参数
默认 LowActive
范围 {LowActive, HighActive}

该参数定义生成的 Flash 信号的极性。

FlashDelay
键入 动态/静态读/写参数
默认 0
范围 {0, 4095}

此参数指定相对于外部触发输入, 生成的 Flash 信号要延迟的行数。 因此,可以将闪光灯与外部触发输入同步。

闪光信号的脉冲宽度等于一个行周期。

SoftwareTrgPulse
键入 动态/静态写入参数
默认
范围 {1}

将此参数设置为 1 将生成一个软件触发。这仅在 Trigger Mode 设置为外部触发模式且 ImgTrgInSource 设置为 SoftwareTrigger 时才相关。

SoftwareTrgInput
键入 动态/静态写入参数
默认
范围 {0, 1}

使用此参数可以为图像触发模式 ExternSw_Gate 生成软件门控。

ImgTrgIsBusy
键入 动态/静态读取参数
默认 0
范围 {0, 1}

ImgTrgIsBusy 参数支持通过软件读取图像触发的忙碌状态。 如果处于忙碌状态,此参数将设置为 1 以反映正在进行的图像捕获。 如果设置为 0,则算子不忙。

CC1output
键入 动态/静态写入参数
默认 Exsync
范围 {Exsync, ExsyncInvert, Hdsync, HdsyncInvert, Flash, FlashInvert, Gnd, Vcc}

此 Property 指定 CameraLink 电缆的 CC1 线上可用的信号。

CC2output
键入 动态/静态写入参数
默认 Exsync
范围 {Exsync, ExsyncInvert, Hdsync, HdsyncInvert, Flash, FlashInvert, Gnd, Vcc}

此 Property 指定 CameraLink 电缆的 CC2 线上可用的信号。

CC3output
键入 动态/静态写入参数
默认 Exsync
范围 {Exsync, ExsyncInvert, Hdsync, HdsyncInvert, Flash, FlashInvert, Gnd, Vcc}

此 Property 指定 CameraLink 电缆的 CC3 线上可用的信号。

CC4output
键入 动态/静态写入参数
默认 Exsync
范围 {Exsync, ExsyncInvert, Hdsync, HdsyncInvert, Flash, FlashInvert, Gnd, Vcc}

此 Property 指定 CameraLink 电缆的 CC4 线上可用的信号。

ImgTrgDebouncingMaxTime
键入 静态写参数
默认 65.520 us
范围 [0.016, 1000000] us

此参数指定 ImgTrgDebouncingTime 参数的最大时间。最大时间越小,实现去抖动 Timer 所需的 FPGA 资源就越少。

ImgTrgDebouncingTime
键入 动态/静态写入参数
默认 0.112 us
范围 [0.016, ImgTrgDebouncingMaxTime] us

此参数指定输入图像触发信号必须保持相同值才能被检测到所需的去抖动时间。去抖动时间内的快速信号变化将被滤除。

LineTrgDebouncingMaxTime
键入 静态写参数
默认 65.520 us
范围 [0.016, 1000000] us

此参数指定 LineTrgDebouncingTime 参数的最大时间。最大时间越小,实现去抖动 Timer 所需的 FPGA 资源就越少。

LineTrgDebouncingTime
键入 动态/静态写入参数
默认 0.112 us
范围 [0.016, ImgTrgDebouncingMaxTime] us

此参数指定输入行触发信号必须保持相同值才能被检测到所需的去抖动时间。去抖动时间内的快速信号变化将被滤除。

使用示例

以下示例展示了 TrgPortLine 算子的用法: