MATRIX VISION - mvBlueLYNX-M7 Technical Documentation
Appendix A.1 CCD specific camera / sensor data

mvBlueLYNX-M720a (0.3 Mpix [640 x 480])

Introduction

The CCD sensor is a highly programmable imaging module which will, for example, enable the following type of applications

Industrial applications:

  • triggered image acquisition with precise control of image integration start by hardware trigger input.
  • image acquisition of fast moving objects due to:
    • frame integration, integrating all pixels at a time in contrast to CMOS imager which typically integrate line-by-line.
    • short shutter time, to get sharp images.
    • flash control output to have enough light for short time.

Scientific applications:

  • long time integration for low light conditions.
  • optimizing image quality using the variable shutter control.

Details of operation

The process of getting an image from the CCD sensor can be separated into three different phases.

Trigger

When coming out of reset or ready with the last readout the CCD controller is waiting for a Trigger signal.

The following trigger modes are available:

Setting (GenICam) Mode / Setting (Device Specific) Description
"TriggerSelector = FrameStart"
"TriggerMode = Off"
Continuous Free running, no external trigger signal needed.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = Software"
"ExposureMode = Timed"

To trigger one frame execute the TriggerSoftware@i command then.
OnDemand Image acquisition triggered by command (software trigger).
"TriggerSelector = AcquisitionActive"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelLow"
"ExposureMode = Timed"
OnLowLevel Start an exposure of a frame as long as the trigger input is below the trigger threshold. (No FrameTrigger!)
"TriggerSelector = AcquisitionActive"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelHigh"
"ExposureMode = Timed"
OnHighLevel Start an exposure of a frame as long as the trigger input is above the trigger threshold. (No FrameTrigger!)
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = FallingEdge"
"ExposureMode = Timed"
OnFallingEdge Each falling edge of trigger signal acquires one image.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = RisingEdge"
"ExposureMode = Timed"
OnRisingEdge Each rising edge of trigger signal acquires one image.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelHigh"
"ExposureMode = TriggerWidth"
OnHighExpose Each rising edge of trigger signal acquires one image, exposure time corresponds to pulse width.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelLow"
"ExposureMode = TriggerWidth"
OnLowExpose Each falling edge of trigger signal acquires one image, exposure time corresponds to pulse width.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = AnyEdge"
"ExposureMode = Timed"
OnAnyEdge Start the exposure of a frame when the trigger input level changes from high to low or from low to high.

Line Mapping (TriggerSource mvIMPACT Acquire -> TriggerSource GenICam (valid values for <desired Line>)):

TriggerSource mvIMPACT Acquire TriggerSource GenICam(M7/BCP)
GP-IN0 Line2
GP-IN1 Line3
See also
For detailed description about the trigger modes (https://www.matrix-vision/manuals/ [mvIMPACT Acquire API])
  • C: TCameraTriggerMode
  • C++: mvIMPACT::acquire::TCameraTriggerMode
Note
Trigger modes which use an external input (ctmOnLowLevel, ctmOnHighLevel, ctmOnRisingEdge, ctmOnFallingEdge) will use digital input 0 as input for the trigger signal. Input 0 is not restricted to the trigger function. It can always also be used as general purpose digital input. The input switching threshold of all inputs can be programmed with write_dac(level_in_mV). The best is to set this to the half of the input voltage. So for example if you apply a 24V switching signal to the digital inputs set the threshold to 12000 mV.

Exposure aka Integration

After an active trigger, the integration phase starts with a maximum jitter of ttrig. If flash illumination is enabled in software the flash output will be activated exactly while the sensor chip is integrating light. Exposure time is adjustable by software in increments of treadline.

Readout

When integration is finished, the image is transferred to hidden storage cells on the CCD. Image data is then shifted out line-by-line and transferred to memory. Shifting out non active lines takes tvshift, while shifting out active lines will consume treadline. The number of active pixels per line will not have any impact on readout speed.

CCD Timing

Timings

Name Description Pixel clock
    20 MHz 40 MHz
ttrig Time from trigger
(internal or external) to exposure start
3.6us 1.8us
ttrans Image transfer time
(move image to readout cells in CCD)
42.6us 21.3us
treadline time needed to readout a line 39.05us 19.525us
tvshift time needed to shift unused lines away 3.6us 1.8us
twait minimal time to next trigger 7.2us 3.6us
texposure Exposure time 1us..10s 1us..10s
treadout Image readout time
(move image from readout cells to memory
treadout = (ActiveLines * treadline) + (504 - ActiveLines) * tvshift + treadline
Note
In partial scan mode (readout window ysize < 480 lines).

To calculate the maximum frames per second (FPSmax) you will need following formula (Expose mode: No overlap):

FPS_max =                         1
           --------------------------------------------------
           t_trig + t_readout + t_exposure + t_trans + t_wait

(Expose mode: Overlapped):

t_trig + t_readout + t_trans + t_wait < t_exposure:    FPS_max =        1
                                                                 ---------------
                                                                    t_exposure

t_trig + t_readout + t_trans + t_wait > t_exposure:    FPS_max =                   1
                                                                 -------------------------------------
                                                                 t_trig + t_readout + t_trans + t_wait

Example: Frame rate as function of lines & exposure time

Now, when we insert the values using exposure time of, for example, 8000 us, 480 lines and 40MHz pixel clock (Expose mode: No overlap):

FPS_max =                                                1
           -----------------------------------------------------------------------------------------------
           1.8 us + ((480 * 19.525 us) + ((504 - 480) * 1.80 us) + 19.525 us) + 8000 us + 21.3 us + 3.6 us
        =  0.0000572690945899318068   1 / us
        =  57.3

Frame rate calculator

Note
The calculator returns the max. frame rate supported by the sensor. Please keep in mind that it will depend on the interface and the used image format if this frame rate can be transferred.

Frame rate calculator
Expose mode: Exposure and readout without overlapping
Overlapping exposure and readout (default)
Pixel clock: 40 MHz
20 MHz
Exposure time: us
Number of lines:
Frame rate (max): 1/s
  

See also
To find out how to achieve any defined freq. below or equal to the achievable max. freq., please have a look at Achieve a defined image frequency (HRTC).

Reprogramming CCD Timing

Reprogramming the CCD Controller will happen when the following changes occur

  • Changing the exposure time
  • Changing the capture window
  • Changing Trigger Modes

Reprogram time consists of two phases

  1. Time needed to send data to the CCD controller depending on what is changed

    exposure : abt 2..3ms
    window: abt 4..6ms
    trigger mode: from 5..90ms,
    varies with oldmode/newmode combination

  2. Time to initialize (erase) the CCD chip after reprogramming this is fixed, abt 4.5 ms

So for example when reprogramming the capture window you will need (average values)

tregprog = change_window + init_ccd

tregprog = 5ms + 4.5ms

tregprog = 9.5ms

CCD Sensor Data

Device Structure

  • Interline CCD image sensor
  • Image size: Diagonal 6mm (Type 1/3)
  • Number of effective pixels: 659 (H) x 494 (V) approx. 330K pixels
  • Total number of pixels: 692 (H) x 504 (V) approx. 350K pixels
  • Chip size: 5.79mm (H) x 4.89mm (V)
  • Unit cell size: 7.4um (H) x 7.4um (V)
  • Optical black:
    • Horizontal (H) direction: Front 2 pixels, rear 31 pixels
    • Vertical (V) direction: Front 8 pixels, rear 2 pixels
  • Number of dummy bits: Horizontal 16 Vertical 5
  • Substrate material: Silicon

Characteristics

These zone definitions apply to both the color and gray scale version of the sensor.

Color version

Gray scale version

Device Feature And Property List

Gray scale version

Color version



mvBlueLYNX-M721 (0.8 Mpix [1024 x 768])

Introduction

The CCD sensor is a highly programmable imaging module which will, for example, enable the following type of applications

Industrial applications:

  • triggered image acquisition with precise control of image exposure start by hardware trigger input.
  • image acquisition of fast moving objects due to:
    • frame exposure, integrating all pixels at a time in contrast to CMOS imager which typically integrate line-by-line.
    • short shutter time, to get sharp images.
    • flash control output to have enough light for short time.

Scientific applications:

  • long time exposure for low light conditions.
  • optimizing image quality using the variable shutter control.

Details of operation

The process of getting an image from the CCD sensor can be separated into three different phases.

Trigger

When coming out of reset or ready with the last readout the CCD controller is waiting for a Trigger signal.

The following trigger modes are available:

Setting (GenICam) Mode / Setting (Device Specific) Description
"TriggerSelector = FrameStart"
"TriggerMode = Off"
Continuous Free running, no external trigger signal needed.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = Software"
"ExposureMode = Timed"

To trigger one frame execute the TriggerSoftware@i command then.
OnDemand Image acquisition triggered by command (software trigger).
"TriggerSelector = AcquisitionActive"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelLow"
"ExposureMode = Timed"
OnLowLevel Start an exposure of a frame as long as the trigger input is below the trigger threshold. (No FrameTrigger!)
"TriggerSelector = AcquisitionActive"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelHigh"
"ExposureMode = Timed"
OnHighLevel Start an exposure of a frame as long as the trigger input is above the trigger threshold. (No FrameTrigger!)
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = FallingEdge"
"ExposureMode = Timed"
OnFallingEdge Each falling edge of trigger signal acquires one image.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = RisingEdge"
"ExposureMode = Timed"
OnRisingEdge Each rising edge of trigger signal acquires one image.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelHigh"
"ExposureMode = TriggerWidth"
OnHighExpose Each rising edge of trigger signal acquires one image, exposure time corresponds to pulse width.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelLow"
"ExposureMode = TriggerWidth"
OnLowExpose Each falling edge of trigger signal acquires one image, exposure time corresponds to pulse width.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = AnyEdge"
"ExposureMode = Timed"
OnAnyEdge Start the exposure of a frame when the trigger input level changes from high to low or from low to high.

Line Mapping (TriggerSource mvIMPACT Acquire -> TriggerSource GenICam (valid values for <desired Line>)):

TriggerSource mvIMPACT Acquire TriggerSource GenICam(M7/BCP)
GP-IN0 Line2
GP-IN1 Line3
See also
For detailed description about the trigger modes (https://www.matrix-vision/manuals/ [mvIMPACT Acquire API])
  • C: TCameraTriggerMode
  • C++: mvIMPACT::acquire::TCameraTriggerMode

Exposure aka Integration

After an active trigger, the exposure phase starts with a maximum jitter of ttrig. If flash illumination is enabled in software the flash output will be activated exactly while the sensor chip is integrating light. Integration time is adjustable by software in increments of treadline.

Readout

When exposure is finished, the image is transferred to hidden storage cells on the CCD. Image data is then shifted out line-by-line and transferred to memory. Shifting out non active lines takes tvshift, while shifting out active lines will consume treadline. The number of active pixels per line will not have any impact on readout speed.

CCD Timing

Timings

Name Description Pixel clock
    20 MHz 40 MHz
ttrig Time from trigger
(internal or external) to exposure start
9.7us 4.85us
ttrans Image transfer time
(move image to readout cells in CCD)
45us 22.5us
treadline time needed to readout a line 65.4us 32.7us
tvshift time needed to shift unused lines away 9.7us 4.85us
twait minimal time to next trigger 116us 58us
texposure Integration time 1us..10s 1us..10s
treadout Image readout time
(move image from readout cells to memory
treadout = (ActiveLines * treadline) + (788 - ActiveLines) * tvshift + treadline
Note
In partial scan mode (readout window ysize < 768 lines).

To calculate the maximum frames per second (FPSmax) you will need following formula (Expose mode: Sequential):

FPS_max =                       1
           -----------------------------------------------
           t_trig + t_readout + t_exposure + t_trans + t_wait

(Expose mode: Overlapped):

t_trig + t_readout + t_trans + t_wait < t_exposure:    FPS_max =        1
                                                              ---------------
                                                                  t_exposure

t_trig + t_readout + t_trans + t_wait  > t_exposure:    FPS_max =                   1
                                                              -------------------------------------
                                                              t_trig + t_readout + t_trans + t_wait

Example: Frame rate as function of lines & exposure time

Now, when we insert the values using exposure time of, for example, 8000 us, 768 lines and 40MHz pixel clock (Expose mode: Sequential):

FPS_max =                                              1
           -------------------------------------------------------------------------------------------
           4.85 us + ((768 * 32.7 us) + ((788 - 768) * 4.85 us) + 32.7 us) + 8000 us + 22.5 us + 58 us
        =  0.000030004215592290717   1 / us
        =  30
Note
The calculator returns the max. frame rate supported by the sensor. Please keep in mind that it will depend on the interface and the used image format if this frame rate can be transferred.

Frame rate calculator
Expose mode: Sequential exposure and readout (default)
Overlapping exposure and readout
Pixel clock: 40 MHz
20 MHz
Integration time: us
Number of lines:
Frame rate (max): 1/s
  

See also
To find out how to achieve any defined freq. below or equal to the achievable max. freq., please have a look at Achieve a defined image frequency (HRTC).

Reprogramming CCD Timing

Reprogramming the CCD Controller will happen when the following changes occur

  • Changing the exposure time
  • Changing the capture window
  • Changing Trigger Modes

Reprogram time consists of two phases

  1. Time needed to send data to the CCD controller depending on what is changed
    exposure : abt 2..3ms
    window: abt 4..6ms
    trigger mode: from 5..90ms,
    varies with oldmode/newmode combination
  2. Time to initialize (erase) the CCD chip after reprogramming this is fixed, abt 4.5 ms


So for example when reprogramming the capture window you will need (average values)

tregprog = change_window + init_ccd

tregprog = 5ms + 4.5ms

tregprog = 9.5ms

CCD Sensor Data

Device Structure

  • Interline CCD image sensor
  • Image size: Diagonal 6mm (Type 1/3)
  • Number of effective pixels: 1025 (H) x 768 (V) approx. 790K pixels
  • Total number of pixels: 1077 (H) x 788 (V) approx. 800K pixels
  • Chip size: 5.80mm (H) x 4.92mm (V)
  • Unit cell size: 4.65um (H) x 4.65um (V)
  • Optical black:
    • Horizontal (H) direction: Front 3 pixels, rear 40 pixels
    • Vertical (V) direction: Front 7 pixels, rear 2 pixels
  • Number of dummy bits: Horizontal 29 Vertical 1
  • Substrate material: Silicon

Characteristics

These zone definitions apply to both the color and gray scale version of the sensor.

Color version

Gray scale version

CCD Signal Processing

The CCD signal is processed with an analog front-end and digitized by an 12 bit analog-to-digital converter (ADC). The analog front-end contains a programmable gain amplifier which is variable from 0db (gain=0) to 30dB (gain=255).

The 8 most significant bits of the ADC are captured to the frame buffer. This will give the following transfer function (based on the 8 bit digital code): Digital_code [lsb] = ccd_signal[V] * 256[lsb/V] * exp(gain[bB]/20) lsb : least significant bit (smallest digital code change)

Device Feature And Property List

Gray scale version

Color version



mvBlueLYNX-M722 (1.2 Mpix [1280 x 960])

Introduction

The CCD sensor is a highly programmable imaging module which will, for example, enable the following type of applications

Industrial applications:

  • triggered image acquisition with precise control of image exposure start by hardware trigger input.
  • image acquisition of fast moving objects due to:
    • frame exposure, integrating all pixels at a time in contrast to CMOS imager which typically integrate line-by-line.
    • short shutter time, to get sharp images.
    • flash control output to have enough light for short time.

Scientific applications:

  • long time exposure for low light conditions.
  • optimizing image quality using the variable shutter control.

Details of operation

The process of getting an image from the CCD sensor can be separated into three different phases.

Trigger

When coming out of reset or ready with the last readout the CCD controller is waiting for a Trigger signal.

The following trigger modes are available:

Setting (GenICam) Mode / Setting (Device Specific) Description
"TriggerSelector = FrameStart"
"TriggerMode = Off"
Continuous Free running, no external trigger signal needed.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = Software"
"ExposureMode = Timed"

To trigger one frame execute the TriggerSoftware@i command then.
OnDemand Image acquisition triggered by command (software trigger).
"TriggerSelector = AcquisitionActive"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelLow"
"ExposureMode = Timed"
OnLowLevel Start an exposure of a frame as long as the trigger input is below the trigger threshold. (No FrameTrigger!)
"TriggerSelector = AcquisitionActive"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelHigh"
"ExposureMode = Timed"
OnHighLevel Start an exposure of a frame as long as the trigger input is above the trigger threshold. (No FrameTrigger!)
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = FallingEdge"
"ExposureMode = Timed"
OnFallingEdge Each falling edge of trigger signal acquires one image.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = RisingEdge"
"ExposureMode = Timed"
OnRisingEdge Each rising edge of trigger signal acquires one image.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelHigh"
"ExposureMode = TriggerWidth"
OnHighExpose Each rising edge of trigger signal acquires one image, exposure time corresponds to pulse width.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelLow"
"ExposureMode = TriggerWidth"
OnLowExpose Each falling edge of trigger signal acquires one image, exposure time corresponds to pulse width.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = AnyEdge"
"ExposureMode = Timed"
OnAnyEdge Start the exposure of a frame when the trigger input level changes from high to low or from low to high.

Line Mapping (TriggerSource mvIMPACT Acquire -> TriggerSource GenICam (valid values for <desired Line>)):

TriggerSource mvIMPACT Acquire TriggerSource GenICam(M7/BCP)
GP-IN0 Line2
GP-IN1 Line3
See also
For detailed description about the trigger modes
  • C: TCameraTriggerMode
  • C++: mvIMPACT::acquire::TCameraTriggerMode

Exposure aka Exposure

After an active trigger, the exposure phase starts with a maximum jitter of ttrig. If flash illumination is enabled in software the flash output will be activated exactly while the sensor chip is integrating light. Exposure time is adjustable by software in increments of treadline.

Readout

When exposure is finished, the image is transferred to hidden storage cells on the CCD. Image data is then shifted out line-by-line and transferred to memory. Shifting out non active lines takes tvshift, while shifting out active lines will consume treadline. The number of active pixels per line will not have any impact on readout speed.

CCD Timing

Timings

Name Description Pixel clock
    20 MHz 40 MHz
ttrig Time from trigger
(internal or external) to exposure start
10.5us 5.25us
ttrans Image transfer time
(move image to readout cells in CCD)
29.2us 14.6us
treadline time needed to readout a line 82.5us 41.25us
tvshift time needed to shift unused lines away 10.5us 5.25us
twait minimal time to next trigger 21us 10.5us
texposure Exposure time 1us..20s 1us..20s
treadout Image readout time
(move image from readout cells to memory
treadout = (ActiveLines * treadline) + (976 - ActiveLines) * tvshift + treadline
Note
In partial scan mode (readout window ysize < 964 lines).

To calculate the maximum frames per second (FPSmax) you will need following formula (Expose mode: No overlap):

FPS_max =                          1
           --------------------------------------------------
           t_trig + t_readout + t_exposure + t_trans + t_wait

(Expose mode: Overlapped):

t_trig + t_readout + t_trans + t_wait < t_exposure:    FPS_max =        1
                                                                 ---------------
                                                                   t_exposure

t_trig + t_readout + t_trans + t_wait > t_exposure:    FPS_max =                   1
                                                                 -------------------------------------
                                                                 t_trig + t_readout + t_trans + t_wait

Example: Frame rate as function of lines & exposure time

Now, when we insert the values using exposure time of, for example, 8000 us and 964 lines in High-Speed mode (Expose mode: No overlap):

FPS_max =                                                1
           -----------------------------------------------------------------------------------------------
           5.25 us + ((964 * 41.25 us) + ((976 - 964) * 5.25 us) + 41.25 us) + 8000 us + 14.6 us + 10.5 us
        =  0.000020877001060551653   1 / us
        =  20.9

Frame rate calculator

Note
The calculator returns the max. frame rate supported by the sensor. Please keep in mind that it will depend on the interface and the used image format if this frame rate can be transferred.

Frame rate calculator
Expose mode: Exposure and readout without overlapping
Overlapping exposure and readout (default)
Pixel clock: 40 MHz
20 MHz
Exposure time: us
Number of lines:
Frame rate (max): 1/s
  

See also
To find out how to achieve any defined freq. below or equal to the achievable max. freq., please have a look at Achieve a defined image frequency (HRTC).

Reprogramming CCD Timing

Reprogramming the CCD Controller will happen when the following changes occur

  • Changing the exposure time
  • Changing the capture window
  • Changing Trigger Modes

Reprogram time consists of two phases

  1. Time needed to send data to the CCD controller depending on what is changed
    exposure : abt 2..3ms
    window: abt 4..6ms
    trigger mode: from 5..90ms,
    varies with oldmode/newmode combination
  2. Time to initialize (erase) the CCD chip after reprogramming this is fixed, abt 4.5 ms


So for example when reprogramming the capture window you will need (average values)

tregprog = change_window + init_ccd

tregprog = 5ms + 4.5ms

tregprog = 9.5ms

CCD Sensor Data

Device Structure

  • Interline CCD image sensor
  • Image size: Diagonal 6mm (Type 1/3)
  • Number of effective pixels: 1296 (H) x 966 (V) approx. 1.25 M pixels
  • Total number of pixels: 1348 (H) x 976 (V) approx. 1.32 M pixels
  • Chip size: 6.26mm (H) x 5.01mm (V)
  • Unit cell size: 3.75um (H) x 3.75um (V)
  • Optical black:
    • Horizontal (H) direction: Front 12 pixels, rear 40 pixels
    • Vertical (V) direction: Front 8 pixels, rear 2 pixels
  • Number of dummy bits: Horizontal 4 Vertical 2
  • Substrate material: Silicon

Characteristics

These zone definitions apply to both the color and gray scale version of the sensor.

Color version

Gray scale version



mvBlueLYNX-M724 (1.9 Mpix [1600 x 1200])

Introduction

The CCD sensor is a highly programmable imaging module which will, for example, enable the following type of applications

Industrial applications:

  • triggered image acquisition with precise control of image exposure start by hardware trigger input.
  • image acquisition of fast moving objects due to:
    • frame exposure, integrating all pixels at a time in contrast to CMOS imager which typically integrate line-by-line.
    • short shutter time, to get sharp images.
    • flash control output to have enough light for short time.

Scientific applications:

  • long time exposure for low light conditions.
  • optimizing image quality using the variable shutter control.

Details of operation

The process of getting an image from the CCD sensor can be separated into three different phases.

Trigger

When coming out of reset or ready with the last readout the CCD controller is waiting for a Trigger signal.

The following trigger modes are available:

Setting (GenICam) Mode / Setting (Device Specific) Description
"TriggerSelector = FrameStart"
"TriggerMode = Off"
Continuous Free running, no external trigger signal needed.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = Software"
"ExposureMode = Timed"

To trigger one frame execute the TriggerSoftware@i command then.
OnDemand Image acquisition triggered by command (software trigger).
"TriggerSelector = AcquisitionActive"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelLow"
"ExposureMode = Timed"
OnLowLevel Start an exposure of a frame as long as the trigger input is below the trigger threshold. (No FrameTrigger!)
"TriggerSelector = AcquisitionActive"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelHigh"
"ExposureMode = Timed"
OnHighLevel Start an exposure of a frame as long as the trigger input is above the trigger threshold. (No FrameTrigger!)
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = FallingEdge"
"ExposureMode = Timed"
OnFallingEdge Each falling edge of trigger signal acquires one image.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = RisingEdge"
"ExposureMode = Timed"
OnRisingEdge Each rising edge of trigger signal acquires one image.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelHigh"
"ExposureMode = TriggerWidth"
OnHighExpose Each rising edge of trigger signal acquires one image, exposure time corresponds to pulse width.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = LevelLow"
"ExposureMode = TriggerWidth"
OnLowExpose Each falling edge of trigger signal acquires one image, exposure time corresponds to pulse width.
"TriggerSelector = FrameStart"
"TriggerMode = On"
"TriggerSource = <desired Line>"
"TriggerActivation = AnyEdge"
"ExposureMode = Timed"
OnAnyEdge Start the exposure of a frame when the trigger input level changes from high to low or from low to high.

Line Mapping (TriggerSource mvIMPACT Acquire -> TriggerSource GenICam (valid values for <desired Line>)): 1500

TriggerSource mvIMPACT Acquire TriggerSource GenICam(M7/BCP)
GP-IN0 Line2
GP-IN1 Line3
See also
For detailed description about the trigger modes (https://www.matrix-vision/manuals/ [mvIMPACT Acquire API])
  • C: TCameraTriggerMode
  • C++: mvIMPACT::acquire::TCameraTriggerMode

Exposure aka Integration

After an active trigger, the exposure phase starts with a maximum jitter of ttrig. If flash illumination is enabled in software the flash output will be activated exactly while the sensor chip is integrating light. Exposure time is adjustable by software in increments of treadline.

Readout

When exposure is finished, the image is transferred to hidden storage cells on the CCD. Image data is then shifted out line-by-line and transferred to memory. Shifting out non active lines takes tvshift, while shifting out active lines will consume treadline. The number of active pixels per line will not have any impact on readout speed.

CCD Timing

Timings

Name Description Pixel clock
    20 MHz 40 MHz
ttrig Time from trigger
(internal or external) to exposure start
10.2us 5.1us
ttrans Image transfer time
(move image to readout cells in CCD)
96us 48us
treadline time needed to readout a line 96us 48us
tvshift time needed to shift unused lines away 10.2us 5.1us
twait minimal time to next trigger 316us 158us
texposure Exposure time 1us..10s 1us..10s
treadout Image readout time
(move image from readout cells to memory
treadout = (ActiveLines * treadline) + (1248 - ActiveLines) * tvshift + treadline
Note
In partial scan mode (readout window ysize < 1200 lines).

To calculate the maximum frames per second (FPSmax) you will need following formula (Expose mode: No overlap):

FPS_max =                         1
           --------------------------------------------------
           t_trig + t_readout + t_exposure + t_trans + t_wait

(Expose mode: Overlapped):

t_trig + t_readout + t_trans + t_wait < t_exposure:    FPS_max =        1
                                                                 ---------------
                                                                   t_exposure

t_trig + t_readout + t_trans + t_wait > t_exposure:    FPS_max =                   1
                                                                 -------------------------------------
                                                                 t_trig + t_readout + t_trans + t_wait

Example: Frame rate as function of lines & exposure time

Now, when we insert the values using exposure time of, for example, 8000 us, 1200 lines and 40MHz pixel clock (Expose mode: No overlap):

FPS_max =                                            1
           ---------------------------------------------------------------------------------------
           5.1 us + ((1200 * 48 us) + ((1248 - 1200) * 5.1 us) + 48 us) + 8000 us + 48 us + 158 us
        =  0.000015127700483632586   1 / us
        =  15.1

Frame rate calculator

Note
The calculator returns the max. frame rate supported by the sensor. Please keep in mind that it will depend on the interface and the used image format if this frame rate can be transferred.

Frame rate calculator
Expose mode: Exposure and readout without overlapping
Overlapping exposure and readout (default)
Pixel clock: 40 MHz
20 MHz
Exposure time: us
Number of lines:
Frame rate (max): 1/s
  

See also
To find out how to achieve any defined freq. below or equal to the achievable max. freq., please have a look at Achieve a defined image frequency (HRTC).

Reprogramming CCD Timing

Reprogramming the CCD Controller will happen when the following changes occur

  • Changing the exposure time
  • Changing the capture window
  • Changing Trigger Modes

Reprogram time consists of two phases

  1. Time needed to send data to the CCD controller depending on what is changed exposure : abt 2..3ms window: abt 4..6ms trigger mode: from 5..90ms, varies with oldmode/newmode combination
  2. Time to initialize (erase) the CCD chip after reprogramming this is fixed, abt 4.5 ms

So for example when reprogramming the capture window you will need (average values)

tregprog = change_window + init_ccd

tregprog = 5ms + 4.5ms

tregprog = 9.5ms

CCD Sensor Data

Device Structure

  • Interline CCD image sensor
  • Image size: Diagonal 8.923mm (Type 1/1.8)
  • Number of effective pixels: 1600 (H) x 1200 (V) approx. 1.92M pixels
  • Total number of pixels: 1688 (H) x 1248 (V) approx. 2.11M pixels
  • Chip size: 8.50mm (H) x 6.8mm (V)
  • Unit cell size: 4.4um (H) x 4.4um (V)
  • Optical black:
    • Horizontal (H) direction: Front 12 pixels, rear 48 pixels
    • Vertical (V) direction: Front 10 pixels, rear 2 pixels
  • Number of dummy bits: Horizontal 28 Vertical 1
  • Substrate material: Silicon

Characteristics

These zone definitions apply to both the color and gray scale version of the sensor.

Color version

Gray scale version

CCD Signal Processing

The CCD signal is processed with an analog front-end and digitized by an 12 bit analog-to-digital converter (ADC). The analog front-end contains a programmable gain amplifier which is variable from 0db (gain=0) to 30dB (gain=255).

The 8 most significant bits of the ADC are captured to the frame buffer. This will give the following transfer function (based on the 8 bit digital code): Digital_code [lsb] = ccd_signal[V] * 256[lsb/V] * exp(gain[bB]/20) lsb : least significant bit (smallest digital code change)

Device Feature And Property List

Gray scale version

Color version