Balluff - BVS CA-MLC / BVS CA-IGC / mvBlueFOX Technical Documentation
mvBlueFOX-[Model]221 (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:

Mode Description
ContinuousFree running, no external trigger signal needed.
OnDemandImage acquisition triggered by command (software trigger).
OnLowLevelAs long as trigger signal is Low camera acquires images with own timing.
OnHighLevelAs long as trigger signal is High camera acquires images with own timing.
OnFallingEdgeEach falling edge of trigger signal acquires one image.
OnRisingEdgeEach rising edge of trigger signal acquires one image.
OnHighExposeEach rising edge of trigger signal acquires one image, exposure time corresponds to pulse width.
OnLowExposeEach falling edge of trigger signal acquires one image, exposure time corresponds to pulse width.
OnAnyEdgeStart the exposure of a frame when the trigger input level changes from high to low or from low to high.
See also
For detailed description about the trigger modes (https://www.balluff.com/en-de/documentation-for-your-balluff-product [Impact 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