Interleaved Camera and Illumination Control
CIC Cycle Programs
When Interleaved Acquisition is enabled, the Camera and Illumination Controller is configured with two, usually different, camera and illumination cycle programs. These programs are named P1 and P2 respectively.
Each camera and illumination cycle program defines five events on a timeline beginning with a Cycle Trigger event.
- ResetON: turn ON time of the Reset pulse and Start of Exposure
- ResetOFF: turn OFF time of the Reset pulse and End of Exposure
- StrobeON: turn ON time of the Strobe pulse and Start Of Illumination
- StrobeOFF: turn OFF time of the Strobe pulse and End Of Illumination
- The AllowNextTrigger event: the last event of a program indicating that a new cycle may be initiated.
Each program defines two pulses: one Reset pulse and one Strobe pulse. Their timing is user configurable:
- Exposure Time is the time interval between the ResetON and the ResetOFF events.
- Strobe Duration is the time interval between the StrobeON and the StrobeOFF events.
- Exposure Delay is the time interval between the Trigger and ResetON events.
- Strobe Delay is the time interval between the ResetON and StrobeON events. This value can be positive, null, or negative allowing the Strobe pulse to be positioned anywhere relatively to the start of exposure.
The following restrictions apply on the position order of the events on the timeline:
- 0 ≤ ResetON < ResetOFF ≤ AllowNextTrigger
- 0 ≤ StrobeON < StrobeOFF ≤ AllowNextTrigger
MultiCam Camera Trigger Overrun Protection Principle
- MultiCam checks if the exposure time user setting can be achieved by the camera. If the user setting of the exposure time is out of bounds, MultiCam corrects its value. The effective exposure time will be set to the nearest boundary.
- MultiCam calculates the position on the timeline of the AllowNextTrigger event of P1 and P2 programs. This calculation takes into account the camera operating limits and the user-defined exposure and strobe timing settings for P1 and P2 programs.
Camera Operating Limits
The following camera operating limits are considered:
- Exposure time range
- Minimum time interval between two consecutive Exposure
- Maximum line rate
In MultiCam, the following parameters describe the operating limits of a camera:
ExposeMin_us
: declares the minimum exposure time, expressed in microseconds (i.e. the minimum duration of a Reset pulse).ExposeMax_us
: declares the maximum exposure time, expressed in microseconds (i.e. the maximum duration of a Reset pulse).ResetDur
: for line-scan cameras only, declares the minimum time interval between two consecutives Reset pulses.ExposeRecovery_us
: for area-scan cameras only, declares the minimum time interval between two consecutive Reset pulses.LineRate_Hz
: for line-scan cameras only, declares the highest line rate supported by the camera (i.e. the reciprocal of the readout time)FrameRate_mHz
: for area-scan cameras only, declares the highest frame rate supported by the camera (i.e. the reciprocal of the readout time)ExposeOverlap
: declares that the camera allows or forbids the next exposure to begin before the completion of the current readout.
Allow Next Trigger Rules
MultiCam applies the following rules when it calculates the position of the AllowNextTrigger event.
RULE 1a – Readout time limitation (Expose Overlapping forbidden) |
---|
This rule applies only when The start of exposure of the next cycle may not occur before the end of the current camera readout. Note: If there is any exposure delay (a) in the next cycle, the AllowNextTrigger event may be generated
anticipatively
|
RULE 1b - Readout time limitation (Expose Overlapping allowed) |
---|
This rule applies only when The end of exposure of the next cycle must not occur before the end of the current camera readout. Note: If there is any exposure delay (a) in the next cycle, the AllowNextTrigger event may be generated
anticipatively
|
RULE 2 – Reset interval limitation |
---|
The time interval (r) between consecutive Reset pulses may not be shorter than the value specified by
Note: If there is any exposure delay (a) in the next cycle, the AllowNextTrigger event may be generated anticipatively
|
RULE 3 – Next Cycle |
---|
The next cycle after P1 is undetermined, it can be either P2 or P1. The next cycle after P2 is always P1. For the calculation of the position of the AllowNextTrigger event of P1, MultiCam evaluates both hypothesis (P1 and P2) and keeps the worst case. For the calculation of the position of the AllowNextTrigger event of P2, MultiCam assumes that the next cycle is P1. Note: This rule applies only to line-scan interleaved acquisition!
|
Exposure Delay
By default, MultiCam configures P1 and P2 with the smallest possible value:
- 0 if
StrobeDelay_P<1,2>_us
≥ 0 - (-
StrobeDelay_P<1,2>_us
) ifStrobeDelay_P<1,2>_us
< 0
If required, the exposure delay can be configured using any of the following methods:
Manual Method |
---|
This method is invoked when With this method, the user may specify the exposure delay for P1 and P2 with:
By default, these parameters are set to 0. MultiCam calculates the smallest possible value for each program separately as follows:
|
Automatic method 1 (Same Start of Exposure) |
---|
Select this method by setting |
Automatic method 2 (Same End of Exposure) |
---|
Select this method by setting MultiCam calculates the smallest values ensuring that the end of exposure occurs at the same position on the program timeline. |
Effective Exposure Time
The effective exposure time values are reported by ExposureTime_P1_Effective_us
and
ExposureTime_P2_Effective_us
.
Effective Strobe Duration and Strobe Delay
The effective strobe duration and strobe delay values are reported by StrobeDuration_P1_Effective_us
,
StrobeDuration_P2_Effective_us
, StrobeDelay_P1_Effective_us
and,
StrobeDelay_P2_Effective_us
.
Effective Exposure Delay
The effective exposure delay values are reported by ExposureDelay_P1_Effective_us
and
ExposureDelay_P2_Effective_us
.
ExposureDelayControl = MANUAL
, the effective values are very close to the user settings, the slight
differences can be explained by rounding issues to the nearest timer tick period. Effective Minimum Trigger Period
The run time of each program is reported by MinTriggerPeriod_P1_us
and MinTriggerPeriod_P2_us
.