is to provide the best possible documentation for the
RMV cameras and we will update this document with
your feedback. We welcome comments and criticism of
this document.
This document covers the CCD versions of the
RMV digital cameras. A separate document will cover
the CMOS versions of the RMV.
Please direct your comments to:
EMAIL: info@illunis.com
Illunis is a privately held LLC
located in beautiful Minnetonka Minnesota, USA. Since it’s inception in
2000 illunis has grown into a technological innovator in the digital
camera arena. We value our customers and suppliers and offer state
of the art products at the industries
most competitive prices. As a self
funded company, illunis is a stable,
reliable source for demanding
OEM’s who include the most prestigious names in the world. We invite you to visit us and together we
can create a prosperous future.
Illunis LLC
14700 Excelsior Blvd.
Minnetonka, MN USA
Zip Code: 55345
Phone: (952) 975-9203
Fax: (952) 294-8308
Internet
Web: www.illunis.com
Email: info@illunis.com
Dave Krekelberg:dave@illunis.com
Scott Elhardt: scott@illunis.com
RMV Release Notes
Thank you for purchasing the RMV digital camera from illunis. The RMV camera uses
the latest technology including the camera link (CL) and Gigabit Ethernet standards with the
following features:
RMV Release operational notes
CCD sensors with one, two and four taps are supported.
CCD sensors from Turesence: All 5.5um sensors and all 7.4um that have 4 tap capa-
bility. Color and monochrome.
Sensor data is sampled at 14bits giving a maximum dynamic range of 72dB
Data is processed as 12 bit data and output as camera link data in 8,10, or 12 bits
Digital data is tap reordered (TRO), corrected for bad pixels (PDM), and a lookup table
(LUT) is applied.
Image data can be overlaid with text, line plots and column plots.
Image data is measured with specialized detectors for brightness, sharpness, tap
matching, noise, raster size and exposure time. These detectors can be read as raw
data or as processed into appropriate scientific values.
Image exposure can be in free run and external triggered modes.
Image data can be read as a partial scan (PS) on sensors that support the function.
Image processing of DGO, PDM, LUT, PS can be enabled independently in free run
mode and trigger mode.
Analog processing includes gain, offset and dark current compensation.
Analog gain is fixed at the factory and a digital gain is provided for the user Digital gain
(DGO) is from zero to 16 times and is performed in 12 bit resolution.
Analog and digital gain is performed independently for each sensor tap.
Functions are provided for common control of gains and offsets.
Data is output in the industry standard camera link format.
Camera communication initializes at 9600 baud and can be increased to 115,200 baud.
Image data is read as either active pixels or as all pixels in an over scan mode.
Sensor dark current correction is performed with an automatic line or frame clamp.
A STROBE output signal is available for applications that require a electronic signal in-
dicating actual exposure of the sensor.
A look up table (LUT) is provided at 12 bits resolution equal to the full dynamic range of
the data path.
The camera is communicated with in data packets that are error checked.
The camera has a temperature sensor that is placed at the hottest part of the camera.
The camera is set in modes and has five registers that indicate the current mode set.
The camera has two registers that indicate operational status.
The camera state can be saved to EEPROM and restored on power up.
The camera state can be save to or loaded from a file.
The camera state, as it left the factory, is saved by illunis and can be sent via email,
A graphical user interface (GUI) is provided for convenient control of the camera func-
tions. This program is visual basic based and source code is available.
Newest release ADC hardware supported for exceptional low noise performance.
Histogram Equalization (HEQ)
Camera can auto equalize images based on histogram min/max measurements. This function utilizes the Master DGO to apply offset and gain.
Mechanical IRIS control + AE with IRIS
A PWD servo controller is provided to drive a mechanical IRIS using a RC Servo. AE is integrated with the IRIS to provide min/max/step/reverse/start functions.
Histogram AE coefficients
AE is supported with histogram bin calculations with coefficient multipliers
Master-Slave mode
This mode supports master-slave configurations of cameras where the master camera
runs AE, IRIS and HEQ functions and transmits this data to the slave cameras. This allows for large arrays of cameras to be configured and operated as a single imager.Data is framed and error checked.
Histogram OSD PlotThe RMV incorporates a 512 point histogram that can be viewed on screen.
Master Digital Gain and OffsetAn additional digital gain and offset circuit is provided for the HEQ functions.
Option Board SupportThe new option board is supported with mechanical shutter drive, orientation sensors,
optically isolated strobe and pickle switch, servo drive and fan control.
Triggered Double Exposure System with Mechanical ShutterSpecial modes for the mechanical shutter to stop exposure on the second frame of the
TDE mode. Shutter delay is programmable.
Trigger arming functionTrigger can be “armed” to prevent accidental use. Disarm is provided.
Auto Tap Match:If camera is in 1 or 2 tap mode, that matcher will treats the camera as if it were in 4 tap
mode (Micro Version EF.42).
External Trigger In:The Power Supply board inverts the external trigger from the power connector. The
FPGA did not account for this inversion until EF (Micro Version EF.43).
GigE Support
Not Supported. GigE interface is not fast enough to support 4 tap CCD Readout.
Special Notes
4 Tap Readout:
4 Tap Readout in not four taps to the frame grabber. The RMV camera outputs the
CCD 4 taps on to CameraLink channels running at twice the speed of the CCD pixel clock.
Doing this allows the user to use a frame grabber in base mode (One connector). The user
MUST be sure the CameraLink cable can support the 80Mhz data rate coming from the camera.
Additional information is available for advanced features of the RMV cameras. They
are available as pdf files and include:
Advanced Auto Exposure
This application note describes the advanced AE modes including the mechanical IRIS control, Histogram Equalization, Master-Slave modes, and Histogram based AE calculations.
Advanced Timing
This application note describes the advanced trigger timing of the RMV cameras. The
advanced timing includes multiple TPD resolutions, timing diagrams and equations, and special states for flash strobe imaging. These features are available only for firmware revisions E7
and above.
Data On Screen Overlay
This application note describes the support for the Data overlay function added to the
rev E7 FPGA. The Data overlay or DOSD functions allow for the insertion of binary data into
the video image. The data is inserted outside the normal active video area.
EEPROM User States
This application note describes the multi USER EEPROM state mechanism in the RMV
cameras. Up to 4 USER states are available for storing customize camera parameters. These
features are available only for firmware revisions E7 and above.
Boot loader Information
This application note describes the use of the firmware boot loader. The boot loader is available for all firmware revisions and must be installed at the factory.
Custom Configuration files
This application note describes how to create a custom configuration file for loading
multiple cameras to the same user state without affecting the factory tuning parameters. This
application note is relevant to all camera revisions.
The RMV is our newest line of area scan cameras for industrial machine vision and
photography. Designed from the ground up with the latest technologies, this line of cameras represents a new standard in digital imaging. The RMV product line builds on the popular XMV products by adding 14 bit analog sampling and 12bit data paths, advanced triggering and CCD readout
control, built in detectors that analyze the camera’s performance, image processing to remove
sensor defects, correct for flat field effects, and on screen tools for analyzing line/columns as well
as text overlay. No longer are you required to depend on custom tools to setup and analyze your
demanding imaging systems.
RMV Camera Architecture
The RMV camera is based on a modular design which allows for many different image
sensors and output formats to be implemented. Through combinations of three different PCB’s
many different cameras can be created. Each sensor is supported with its own unique circuit
board which contains the circuitry needed to drive the sensor and output the digital image data.
The Image Processing PCB is common to all cameras and supports the advanced features of the
RMV. The data format and power PCB provides the camera link and other signal outputs. From
these PCB combinations illunis can manufacture a family of advanced digital cameras.
Sensors Supported
Truesence CCD:
All 5.5 um Sensors
All 7.4 um Sensors with 4
tap readout.
RMV Camera Modularity Options
Data Formats Supported
Camera Link Base Mode
8/10/12 bits per tap
1 or 2 channels
* Coming in 2004
14 bit ADC’s and data path with Tap Reorder: The RMV supports full 14 bit signal sam-
pling and 12bit data paths throughout the signal processing path. This insures that the maximum
signal quality is preserved in the processing chain. The tap data is reordered within the RMV to a
single raster. Each ADC has programmable gain and programmable active black clamp.
Image Signal Processor (ISP): At the heart of the RMV camera is a very powerful image
signal processor that is implemented with a FPGA. The ISP provides all of the sensor control as
well as image processing and diagnostics. The ISP is capable of processing all of its functions in
a single pixel clock cycle at up to 80 million pixels per second. Any area sensor to 8Kx8K is supported.
Micro Processor (uP) with FLASH data storage: Supporting the ISP is an advanced mi-
croprocessor. The uP is paired with FLASH memory that stores the data for the ISP. The uP also
monitors the operation of the RMV and tracks the camera temperature and performance parame-
Chapter 1: Overview
ters.
Communication Interface and GUI: Control of the RMV is through a military spec packed
based command protocol. The operation of the RMV is represented as modes which can be read
as status and written as commands. Packets are error checked and reply with ACK/NACK’s A
Graphical User Interface (GUI) is included as source code to speed integration. The GUI allows
for control of the camera with a standard windows interface.
The RMV supports any
sensor with one, two or
four video taps. The
Truesence interline
transfer CCD’s are
supported with programmable tap operation so you can select
the best output option
for your application.
The built in image
detectors include tap
boundary measurement and active tap
balancing logic to insure that the two taps
gain and offset match
as close as possible.
Image
Sensor
CCD or
CMOS
(up to 4kx4 k)
ADC
(12bits )
ADC
(12bits)
Image
Signal
Processor
(1M Gate FPGA)
Camera Link
(Upto 80M Pi x/sec)
uP
Drive
Built in Test and Industrial Grade Components: Designed for demanding applications, the RMV is built with military
derated passive components and industrial grade integrated circuits. Using surface mount technology and very a robust mechanical assembly the RMV can withstand high G and vibration environments. With the design experience of several military
level camera projects, we have added extensive built in test features to the RMV. The BIT coverage includes test patterns and
CRC measurement for all features of the ISP. The RMV was designed for eRugged environments.
RMV Image Signal Processor Architecture
The RMV ISP is a data driven real time digital signal processor that process a pixel on every clock. The ISP is im-
plemented using a single Xilinx Vertex II FPGA with 1M gates of logic. Here are some of the features:
Custom Timing Generator: All timing signals to the sensor are created by a custom proprietary timing generator. The TG
provides complete control of exposure and readout modes of the sensor. Exposure modes include Free run, Free Run Triggered, Free Run Synchronized, Triggered Program Exposure, Triggered Manual/Controlled Exposure, and Triggered Double
Exposure. The Trigger and Free run modes can have independent control of Binning, Image correction, LUT activation, Digital
gain and offset and Partial Scanning. The RMV can operate in an Asynchronous Reset Mode where the camera free runs,
RMV Camera Architecture
any 12 bit value. The GUI can be used to generate simple LUTs such as gamma curves. LUTs are saved as text files.
On Screen Line/Column/Histogram Plots: Integrated into the ISP are on screen plots of line and column data. These
plots extend outside the image area and very useful for evaluating camera performance. The plots run in real time and are
overlaid onto the video image. You no longer need to rely on capture cards or custom software to evaluate your image data.
On Screen Text: Another eRugged feature, the On screen text overlay is used to display image detector and or user data in
real time.
Raster Measurement: With the multitude of programmable features the RMV can present almost any sized raster to a
capture device. To ease integration the RMV includes a built in raster measurement circuit. This circuit provides the total and
active lines and pixels within the image output to the camera link device.
Exposure Measurement: The RMV camera incorporates an exposure detector circuit that measures the exact time the
camera is exposing the photo diodes. The exposure detector measures the time from the end of the electronic erasure to the
end of the photo diode transfer pulse. The exposure is measured in pixel clock periods, 25ns for a 40mhz camera and 33.3ns
for a 30mhz camera.
Camera Link Format: The RMV image data is output to a base mode camera link chipset. The image data can be format-
ted in 8, 10, 12 bit pixels on one or two channels. The maximum data rate is 80 Mpix/sec. This allows the RMV to easily interface with any video capture card or custom circuit.
with or without active valids, and upon a trigger
signal changes modes and outputs a frame.
Tap Reorder (TRO) and Digital Gain/
Offset: The RMV camera has an integrated
programmable tap reorder circuit. The TRO
linearizes the sensor data and allows for horizontal image flipping. This reordered image is
used within the RMV for processing. The TRO
circuit also includes a digital gain and offset .
Image Detectors: A powerful feature of the
RMV is a group of image detectors that measure brightness, sharpness, tap matching, and
signal to noise performance. In addition the
RMV has a frame counter and cross hair overlay for image center alignment..
Pixel Defect Correction: All sensors have
defects and the RMV includes a circuit to correct gross defects through replication or averaging.
Look Up Table (LUT): The hardware LUT
built into the ISP can translate any 12 bit pixel to
RMV Sensor information:
The RMV camera’s are named by the sensor that is used within them. For example a
RMV-2020 uses the Truesence KAI-2020 sensor. Here is a list of RMV camera names
with the corresponding sensors. Note all sensors supported are not listed in this table.
The RMV EF Revision uses Truesence CCD sensors with a four tap outputs format. The sensors can be used with either the single, dual or four taps readout
modes.
The 4 tap sensor layout is shown below as displayed by the frame grabber.
When the camera is in single tap mode, all sensor data is clocked out tap A. Sensor
data is clocked out of taps A and B in dual tap mode. In four tap mode the data is
clock out each tap.
For information on setting up the frame grabber, see the frame grabber section of
this document.
Firmware updates are available for all RMV cameras. Our goal is to provide the
highest quality product as possible, however over the course of time and with a great
deal of testing we do find bugs. As we swat these bugs we release new firmware
that incorporate the fixes as well as new features. The FPGA and Microprocessor
revision numbers are the key to knowing what version of the firmware you have. At
the beginning of this manual you will find a change list that describes the new features added to the RMV cameras.
RMV cameras may be updated by the user using the illunis control application.
For more information please call at (952) 975-9203 or email: info@illunis.com
1.2: RMV Overview
Warranty
Warranty. illunis warrants that all products will perform in normal use in ac-
cordance with specifications for a period of one year from date of shipment. This
warranty does not cover failure due to those mechanical and electrical causes defined below as liability of the customer. If the device does not function properly during the warranty period, illunis will at it’s option, either repair or replace the unit. In
the case of replacement, illunis reserves the right to re-use the original CCD serial
number if found to be performing to specification. Illunis does not warranty glassless
CCD’s. Please refer to the terms and conditions included with your quotation for full
warrantee information.
Returns. Products will be considered for replacement for up to one year from
the date of shipment. All returns require an RMA number. No returns will be accepted without an RMA number. Returns will be re-tested against the device acceptance
criteria and if found to meet those criteria will be shipped back to the customer at the
customer’s expense.
A little Humor helps the frustration in setting up a new system, and certainly the
basics of how to integrate a camera link camera for the first time. So here are some
basic facts about camera link devices:
Camera link is controlled by the AIA: For more information go to
http://www.machinevisiononline.org
Camera Link is a wiring specification: The camera link (CL) spec defines
wires and signals for transporting video data in various formats over channel
link integrated circuits.
Camera Link can be used in three modes: The CL spec defines a base
mode that uses a single CL cable, a medium mode and a full mode that use
two CL cables.
Camera Link uses Channel Link Chips: Camera Link is based on the Na-
tional Semiconductor Channel Link chipset. These devices convert the video
data from a source (camera), serialize the data, transmit the data using LVDS
over twisted wires to a receiver device that converts the data back into the
original format. For more information go to: www.national.com/lvds
The Camera Link Cable is data only: The CL cable does not include a pro-
vision for power to the camera. Thus all CL cameras must have a separate
power connector. The RMV power connector has additional signals.
The Camera Link Cable includes communication: The CL cable provides a
serial communication link to the camera. This link is bidirectional and by default is 9600 baud. The communication rate can be increased but must default
to 9600 baud on system startup. The serial communication, from a user application to a CL device, is through a special windows DLL. Some CL capture
card manufactures provide
The Camera link Cable includes trigger signals: The CL cable has four
camera control signals called CC1, CC2, CC3, and CC4. The RMV camera
uses the CC1 signal for the trigger signal. Currently the other control signals
are not used in the RMV.
The Camera link Cable can transmit one or two pixels per clock: The base
mode camera link used in the RMV can transmit one or two pixels per clock
and each pixel can be 8, 10, or 12 bits in size.
The RMV hardware design goal was to incorporate advanced features into the smallest size
possible. Since the RMV product line incorporates sensors from 640x480 to 4008x2672 the small size
of the camera PCB’s was dictated by the sensor package size. The RMV circuit design separates the
camera into three circuit boards; A imager PCB that contains the electronics need by the specific sensor (this is unique to each sensor), A FPGA/microprocessor PCB that contains the timing generator,
control processor, and image processing hardware, and the third PCB is the Power/Communication
board which generates the many voltages needed in the CCD image sensor drive circuits and contains
the digital image data drive circuits.
The RMV case is machined from 6061 T-6 aluminum on 5-axis CNC machinery. The case was
designed using Pro-E CAD software. Solid models of any of the RMV cameras are available for customer use. To obtain a solid model contact the designer: scott@illunis.com
The RMV case dimensions can be provided as a manufacturing drawings and as a solid model
that can be imported into almost any CAD system. For access to these drawings please contact illunis
at www.illunis.com , Phone (952) 975-9203, or email: info@illunis.com
CAD Models supported are STEP, IGES, ProE native, and many others
This is the manufacturing drawing
for one possible power supply for
the RMV camera. You can use this
drawing as a basis for making your
own.
CAMERA BACK PANEL
The camera back panel contains the Camera Link and power connectors as well as two dual color
camera Status LED’s.
VSYNC = GREEN
TRIGMODE=ORANGE
INTERNAL ERROR = RED
POWER = GREEN
LED’s
There are four LED's on the back
of the RMV-Camera. The Power
LED indicates that the camera is
receiving 12V DC. The VYSNC
LED flashes when a frame is
sent by the camera.
off off blinking Normal, no errors
on off blinking Brownout reset
on on blinking Watch Dog Timeout
on on blinking JTAG reset
on off on VSYNC timeout
on on off Invalid EEPROM
The RMV camera is very small and it’s case requires that the camera link cable be carefully selected. The Following cables have been tested and are recommended.
CLCP-1.0-P 1.0 Meter
CLCP-2.0-P 2.0 Meter
CLCP-3.0-P 3.0 Meter
CLCP-4.5-P 4.5 Meter
CLCP-5.0-P 5.0 Meter
CLCP-7.0-P 7.0 Meter
CLCP-10-P 10 Meter
3M
Web: www.3M.com/interconnects/
14B26-SZLB-100-0LC 1.0 Meter
14B26-SZLB-200-0LC 2.0 Meter
14B26-SZLB-300-0LC 3.0 Meter
14B26-SZLB-450-0LC 4.5 Meter
14B26-SZLB-500-0LC 5.0 Meter
14B26-SZLB-700-0LC 7.0 Meter
14B26-SZLB-A00-0LC 10 Meter
B: Thumbscrew shell kit
NOT Recommended Camera Link Cables
3M
Web: www.3M.com/interconnects/
14T26-SZLB-100-0LC 1.0 Meter
14T26-SZLB-200-0LC 2.0 Meter
14T26-SZLB-300-0LC 3.0 Meter
14T26-SZLB-450-0LC 4.5 Meter
14T26-SZLB-500-0LC 5.0 Meter
14T26-SZLB-700-0LC 7.0 Meter
● Do not open or disassemble the camera case or electronics as there are no
user adjustments within the camera. This will void your warrantee.
● Care must be taken in handling as not to create static discharge that may
permanently damage the device.
● Do not apply power with reversed polarity at this will render the camera
non functional and void your warrantee.
● Camera Link is a DC based interface. The camera and capture device must
share the same electrical ground. Failure to do so will destroy the camera link
interface chips and/or camera and capture card.
Absolute Maximum Ratings
Input Voltage: 10 to 16V DC
Storage Temperature: -40C to +70C
Recommended Maximum Ratings
Input Voltage: 11 to 14V DC
Operating Temperature: -20C to +60C
Most cameras operate beyond these temperature limits, please call illunis for details.
Recommended Operating Conditions
Input Voltage: 12V DC
Operating Temperature -5C to 54C
Relative humidity should not exceed 80% non-condensing
Thermal interface
The RMV camera contains many advanced circuits and performs at very high clock speeds and thus
requires careful consideration for thermal cooling. The camera should be used either with a lens and/
or a solid mechanical mount that acts as a heat sink.
Power Consumption
The RMV camera was designed to be as small as possible and as such has a high energy density.
The various operating modes of the RMV will change the power consumption from the base line. In
particular the binning and partial scan modes require more power. The triggered modes are lowest in
power when the camera is waiting for a trigger. Special versions of the RMV with lower clock speeds
are available with lower power consumption.
Special notes for Rugged environmental use
The RMV cameras are designed using military 0.6 stress ratings on all passive components
and uses industrial temperature range active components when ever possible. The RMV is assembled using standard commercial techniques that DOES NOT HARDEN the mechanical components
against vibration. It is highly recommended that any use of the RMV in any application that requires
high vibration and temperature ranges that the hardware be inspected and modified using adhesives
to retain the mechanical components.
Interline Sensor Options (All sensors are available in color and mono except where noted)
KAI-340 640 x 480
KAI-2001 1600 x 1200
KAI-2020 1600 x 1200 (new version of the 2001)
KAI-2093 1920 x 1080 (HDTV color)
KAI-2092 1920 x 1080 (HDTV mono)
KAI-4010 2048 x 2048
KAI-4020 2048 x 2048
KAI-4011 2048 x 2048 (new version of the 4010)
KAI-4021 2048 x 2048 (new version of the 4020)
KAI-11002 4004 x 2672
KAI-16000 4872 x 3248
Full Frame Sensor Options
KAF-3200 2048 x 1536
Cable Options
Cable with strobe output
Basic Power Only Cable
Lens Mounting Options*(Call for current solid models and drawings)
C-Mount
C-Mount with 25mm filter mount
F-Mount (desktop) with 1/4-20 mount
F-Mount with flange for RMV-11000
F-Mount with flange for RMV 340, 2001, 4010, 4020
A special test board is available for use as a camera link repeater (CLR) and for setup of camera link
systems. The CLR is a circuit that de-serializes the camera link data, provides this data as LVTTL and
then re-serializes the CL data for transmission to a capture card. The CLR also provides an option to
redirect the communications data from the capture card to a standard windows serial port.
The RMV software interface (commonly called a Inter-Connect-Description or ICD) was developed for high reliability applications. The ICD incorporates error checking and a handshake protocol
which responds with either a positive or negative acknowledge signal. The communication path from
frame grabber to the RMV is through the Camera Link cable. The Camera Link committee has specified
that devices connected must first communicate at 9600 baud. This default baud rate is certainly very
slow for devices such as the RMV camera. The RMV has a selectable baud rate for faster communication speeds.
The RMV microprocessor is a flash programmable device with many features vital to the operation of the RMV camera. Some of these include:
A hardware UART used for serial communications. A watchdog timer used to monitor communication errors and system faults. Onboard RAM and EEPROM for saving camera settingsParallel data bus for high speed interfaces to the FPGA and NAND FLASH memoriesBrown out detection and reset
Command with checksum
Camera
Data and/or ACK/NACK
Capture
Device
SERIAL INTERFACE PROTOCOL
Implementation
Camera communication is accomplished via asynchronous serial communication according to EIA
Standard RS 232 C through the Camera Link cable.
Data rate: Full Duplex, 9600 baud.
1 START bit.8 DATA bits – The LSB (D0) is transfered first.1 STOP bit.No parity.
The camera is controlled through command packets. The camera is considered a slave device and never generates
data without a read request. The data packet formatting is described in detail below – note That the checksum is calculated
only on the 4 ascii characters comprising the Data.
Data Packets
Data packets are of either ‘read’ or ‘write’ types. For example to read the camera serial number, the packet sent to
the camera would be {r07000002fe} to which the camera would respond by issuing an acknowledge character ! followed by the
response {r0700sssscc}, where ssss is the camera serial number and cc is the checksum calculated in hex as 0x0100 – ( ss
(high byte hex) + ss (low byte).
The camera parses the sequence byte by byte. An invalid read
command, target or index will cause the camera to issue an
NACK. The Host (You) will generate dummy data with a valid
checksum then an end. The camera will respond with an ACK
and re send the command with valid data and checksum. If the
Host detects an error, it will re issue the command.
Host {r tt ii 0 0 0 0 cc}, camera issues !
Camera issues {r tt ii data data data data cc} (NOTE no ACK)
Write Command Structure
The camera parses the sequence byte by byte. An invalid
write command, target, index or checksum will cause the cam-
era to issue a NACK, otherwise the write sequence will complete and the camera will issue an ACK after the command has
been executed. The camera receives the checksum from the
Host.
Host {w tt ii data data data data cc} camera issues !
Error Checking
The camera parser is character by character and will respond
with an immediate NACK if any unrecognised command, target, index or checksum occurs.
Communication Timeouts
The camera micro controller uses a hardware watchdog timer
that will time out if the time between bytes are longer than ???
ms. When sending command frames to the camera the host
must not have significant delays between bytes sent.
3.3: Software ICD
Command Table
Target Index DescriptionRead
Write
Camera Control
04 00 Sensor Taps Write 0x0000 = One Tap
04 03 Readout Mode Select Write 0x0000 = Free Run
04 04 Mode Register
write lines to 0428 and
0429 prior to binning
M = 0 Common – both
trigger and free run
M = 8 Free Run Only
M = 4 Trigger Only
04 16 OSD Text Window X location Read/Write
04 17 OSD Text Window Y location Read/Write
04 18 LUT load W Loads LUT based on mode (OEM Only)
04 45 LUT load mode R/W 0x0000 = load from com port (OEM Only)
0x0001 = load from com port (OEM Only)
and save to EEPROM
0x0002 = load from EEPROM (OEM Only)
04 46 Load Gamma LUT Write Data is a 0-100 = gamma * 100
04 19 Show Detectors Write 0x0000 = Tap A Crack 0x0001 = Tap B
0x0002 = AE Window0x0003 = AF Win
0x0004 = SNR Left0x0005 = Right
0x0006 = Cross hair
0x0007 = AF Data
0x0008 = AF Data Full Screen
0x0009 = disable
04 1a Read Detectors Read 0x0000 = Tap A Crack0x0001 = Tap B
0x0002 = AE Window0x0003 = AF Win
0x0004 = Left SNR Sum
0x0005 = Left SNR Sum of Squares
0x0006 = Left SNR # of Samples
0x0007 = Right SNR Sum
0x0008 = Right SNR Sum of Squares
0x0009 = Right SNR # of Samples
0x000a = Frame Counter
0x000b = Left SNR Max Value
0x000c = Right SNR Max Value
0x000d = Number of saturated pixels
04 1b System Registers Read 0x0000 = Read Pixels/line
0x0001 = Read Active pixels/line
0x0002 = Read Lines per frame
0x0003 = Read Active lines per frame
0x0004 = Read TPW
0x0005 = TRO Left Start
0x0006 = TRO Right Start
0x0007 = TRO Size
0x0008 = LVAL Start0x0009 = Stop
0x000a = FVAL Start0x000b = Stop
0x000c = CCD Type
0x000d = FPGA Revision
0x000e = Read TPD
0x000f = SNR Left0x0010 = SNR Right
0x0011 = Crack detector position
0x0012 = Read Exposure value low
0x0013 = Read Exposure value hi
0x0014 = Read CRC
04 1e AE Set point R/W
04 1f AE Hysteresis R/W
04 20 AE max gain R/W In Digital Gain untis
04 21 AE min gain R/W
04 22 AE max exposure R/W (min erasure)
04 23 AE min exposure R/W (max erasure)
04 24 Common gain - Digital R/W
04 25 Free Run erasure R/W
04 26 AE detector Read
04 27 System Registers write
data to EEDATA 030c
prior to calling
Write 0x0004 = Write TPW
0x0005 = Write TRO Left Start
0x0006 = Write TRO Right Start
0x0007 = Write TRO Size
0x0008 = Write LVAL Start
0x0009 = Write LVAL Stop
0x000a = Write FVAL Start
0x000b = Write FVAL Stop
0x000e = Write TPD
0x000f = SNR Left
0x0010 = SNR Right
0x0011 = Crack Location
04 28 Trigger V Bin / Dec R/W Read/Write values 1 - 13
04 29 Trigger H Bin / Dec R/W Read/Write values 1 - 16
04 2a Write Free Run V Bin R/W Read/Write values 1 - 13
04 2b Write Free Run H Bin R/W Read/Write values 1 - 16
04 2c Left Tap Digital gain R/W
04 2d Left Tap Digital offset R/W
04 2e Right Tap Digital gain R/W
04 2f Right Tap Digital offset R/W
02 00 Set Trigger Time MS Read/Write ms * 100 (0x0064 = 1.0ms)
02 01 Set Trigger Time US Read/Write us
02 02 Set Free Run Time MS Read/Write ms * 100
02 03 Set Free Run Time US Read/Write us
02 04 Transfer Pulse Delay Read/Write
02 05 Soft Trigger Time Write Software trigger in ms
02 06 Set trigger high Write Sets internal trigger high (active)
02 07 Set trigger low Write Sets internal trigger low
03 00 Save Camera State Write Wait for acknowledge before re-
moving power
03 02 Restore Factory State Write Wait for acknowledge before re-
moving power
03 03 Copy User to Factory Write Wait for acknowledge before re-
moving power
03 04 Save substrate DAC value Write Dummy data
03 05 Copy factory to all USER Write Warning: This can take time !
03 06 Copy USER# to USER# Write Top byte is SRC USER
Bottom byte is DST USER
03 07 Set USER # Write Copies USER to ACTIVE, loads
it, and performs soft reset
Bottom byte is USER#
03 08 Number of USER configs Read 4 is the current limit
03 09 Reset EEPROM CRC Write
03 20 Read 64 bytes from
EEPROM
03 0c EEPROM data and tempo-
rary location for operations
requiring data and address
free run, runs valid enabled,
no binning, no partial scan,
no line or text displays, no LUT, no PDC,
no digital gain or offset, no test pattern,
reset the LVAL and FVAL defaults.
AE detector counter set to small size.
enable strobe in free run mode
Auto Tap Matcher off
04 D8 Checksum Mode
(Cleared on restart)
04 D0 Power Up Write Resets camera and powers up circuits
04 D1 Power Down Write Puts the camera into low power mode
09 00 Auto Tap Matcher R/W 0 = off, 1 = on
Write 0x0000 = Checksum of data
0x0001 = Checksum of command and data
There are additional ICD commands for specialized control of the RMV camera.
Information on these commands require a nondisclosure agreement. Please
contact illunis at email: info@illunis.com
0x0004 = 115200
0x11 01 Put character Write Puts character to external UART
0x11 02 Clear buffer Write Clear receive buffer
0x11 03 Get character Read Returns character if buffered or 0 if buffer is empty
0x11 04 Get buffer count Read Returns number of characters in receive buffer
0x11 05 Get buffer size Read Returns total size of receive buffer
Canon Lens Control Commands (Rev >=E7 hardware only)
10 = lens communication error
0x12 0x01 Canon command Write Two character command. Top byte = first char. Bot-
tom byte = second char. Sent to controller as Ch1
Ch2 <cr>.
0x12 0x02 Lens ID Write Information is in the serial read buffer
0x12 0x03 Lens Hdw Vers. Write Information is in the serial read buffer
0x12 0x04 Focus to Infinity Write
0x12 0x05 Focus to Zero Write
0x12 0x06 Focus Absolute Write Data = Focus position
0x12 0x07 Position of Focus Write Information is in the serial read buffer
0x12 0x18 Focus Incremental Write Data = signed incremental position change
Positive number move focus to infinity.
Negative numbers move focus to zero.
0x12 0x08 Focus Distance Write Information is in the serial read buffer
0x12 0x0A Response Mode Write 0 = non-verbose, 1 = verbose
0x12 0x0B Aperture Open Write
0x12 0x0C Aperture Close Write
0x12 0x0D Aperture Absolute Write Data = Aperture position
0x12 0x18 Aperture Incre-
mental
0x12 0x0E Position of Aper-
ture
0x12 0x10 Image Stab. Write Image Stabilization
0x12 0x40 Auto Focus Write Requires free run mode and correct exposure
0x12 0x50 Auto IRIS Write Data = AE detector set-point. The IRIS will be driven
Write Data = signed incremental position change (negative
numbers open IRIS, positive numbers close IRIS)
Write Information is in the serial read buffer
Works only on static images. The AF algorithm will
scan the image in three passes to determine the best
focus. The AF may take up to 10 seconds to com-
plete.
so that the AE detector will match the set-point. The
desired brightness may not be possible as a change
0x0001 = Camera Hardware rev
0x0002 = Camera Serial Number
0x0003 = Micro firmware rev
0x0004 = FPGA major revision
0x0005 = Sensor Serial Number
0x0006 = Clock Rate
0x0007 = FPGA Sub/minor revision
0x0008 = Micro Sub/minor revision
3.4: Software ICD
System & Status Continued
Serial Commands
Target Index Command R/W Description
07 00 Camera
05 00 Camera mode and
Parameters
status registers
R 0x0000 = Camera Model
0x0001 = Camera Hardware rev
0x0002 = Camera Serial Number
0x0003 = Micro firmware rev
0x0004 = FPGA/Timing Generator rev
0x0005 = Sensor Serial Number
0x0006 = Clock Rate
0x0007 = FPGA sub revision
The Camera link 1.0 specification allows for
serial communication at 9600 baud only. The 1.1
specification provides for faster rates.
The RMV camera allows for the setting of the
baud rate to one of five rates. This setting can be
made for only the current power cycle or for the boot
cycle.
The RMV camera allows the user the option of
saving the communication speed in the camera
EEPROM. This can cause communication with the
camera to be lost if the command is not used carefully.
Note that only one of the baud rates will be used so
that if communication is lost it can be restored by trying the other baud rates.
Once the EEPROM baud rate is set the camera must
be re-powered to set the rate.
Quick FAQ’s:
►The Camera Link specification requires the camera
to always start up at 9600 baud.
►DANGER ! The Camera link and external serial
port can be forced to start at a different rate. Note
that this will disable the communication with your
camera from some control applications.
USE WITH CAUTION ! ►The baud rate is set to 9600 from the factory.
Serial Commands
Target Index Command R/W Description
04 09 Set Current Baud
The RMV cameras are feature rich and to some rather complicated to interface. To ease the
introduction to the RMV command set and allow easy user control of the cameras illunis has provided a
graphical user interface (GUI). The GUI is a application (C#) that consists of several windows, menus
and dialog boxes for each of the many features of the RMV camera. The GUI is installed using a standard windows installer program available from the illunis web site.
The complete installation and operating instructions for the GUI program are included in the
“Quick Start Guide” to RMV cameras. Please contact info@illunis.com or call (USA) 952-975-9203.
The RMV can be programmed to expose images in several different modes. These modes are
grouped into two categories, free run modes and triggered modes. In the free run mode the RMV camera continuously exposes and outputs images. In the trigger modes the RMV waits for a trigger event.
The begins a exposure/readout cycle on the trigger events edge. Some of the RMV exposure modes
are listed below. Other custom OEM trigger mode may not be listed here.
RMV Exposure Modes
Mode Description
Free Run Mode: Camera generates all timing signals. Exposure is set by a register that specifies lines
FRM
FRS
TPE
TME
TDE
of erasure. Trigger signals are ignored.
Free Run Synchronize: Camera generates all timing signals. Exposure is set by a register that specifies lines of erasure. If the trigger is not asserted, then the image readout is halted at the 4th line.
When the trigger is asserted the readout resumes. This mode allows multiple free running cameras to
be synchronized with the trigger signal. FRS is enabled by selecting FRM and ASYNC RESET.
Triggered Program Exposure: The camera waits in an idle flush state for a trigger rising edge. On the
trigger rising edge the photo diode array is erased and an exposure is made based on the value of the
Triggered Pulse Delay (TPD) register. When the exposure is complete the image is transferred from the
Photo diodes to the CCD, then read out of the CCD and passed to the camera link interface. The camera is reset and waits for another trigger signal to assert.
Triggered Manual Exposure: This mode is a superset of the TPE mode and operates exactly the
same with the following difference. The exposure is extended by the width of the trigger signal. The
programmed exposure is execute at the fall of the trigger pulse. To match the exposure of the image to
the trigger pulse width the TPD register should be set to its minimum value (6).
Triggered Double Exposure: This mode is a superset of the TPE mode and operates exactly the same
with the following difference. After the first frame is transferred from the Photo Diodes to the CCD a
second image is exposed and read out. The exposure of the second frame is equal to the read out time
of the first frame. In this mode two frames are exposed and read out for every trigger signal.
Triggered Overlap Exposure: This mode allows overlap of the exposure and readout of the sensor. In
TOE mode the assertion of the trigger signal transfers the image data from the photo diodes into the
CCD and begins readout. The photo diodes then begin imaging. The time between trigger assertions
defines the exposure. The trigger pulse width is not used..
The camera link control signal CC1 or external signal can be used to implement the trigger function.
Multiple RMV cameras can by synchronized with the CC1 signal.
In the trigger mode this is accomplished by sending the same trigger signal to multiple cameras at the
same time.
Exposure control is performed differently for free run and trigger readout.
Free Run exposure control is set in lines of erasure. Consider the CCD sensor in free run mode. The
sensor is exposing its photodiodes with a new image while at the same time the previous image is being
read from the storage CCD. Because of the reading of the previous image the timing of the electronic
shutter can only happen during the horizontal line blanking. Thus the electronic exposure can only happen once every line. This results in a free run exposure time resolution of one line time. Now consider
that the exposure of the new image starts at the first line of readout and continues until the electronic
shutter signal is asserted. The time of the electronic shutter is defined as a line of readout. Thus the
exposure time is set as the number of lines to erase, with the electronic shutter.
Triggered exposure control is set in pixel clock increments. A special trigger clock in the RMV,
equal to the pixel clock divided by 4/16/64/1024 is used to calculate the triggered exposure time. The
triggered exposure is set with a register called the Transfer Pulse Delay (TPD). TPD is the time from the trigger to the transfer of the photodiode image data into the CCD storage area for readout. In
the RMV trigger mode the camera waits for a trigger while simultaneously flushing the internal CCD.
When a trigger is detected the TPD counter starts from zero. The TPD counter is used to time the electronic erasure pulse that is used to clear the photo diodes and begin exposing a new image. This electronic erasure pulse requires 6 TPD time periods. (Thus the minimum TPD is 6). The TPD counter is
then incremented using the special trigger clock (1/64th the pixel clock) until the TPD counter is equal to
the TPD register. When the TPD counter equals the TPD register the image transfer and readout cycles
are started.
A special feature of the RMV is a the ability to turn image processing features on and off in the
exposure and trigger modes. Each mode has it’s own enables for:
RMV Exposure Specific Mode Enables
Mode Description and Example
Partial Scan: The PS mode can be used to increase frame rates for image feature
PS
DGO
LUT
searching. For example the PS mode could be used to search a small number of
image lines at a high speed to find printed circuit board fiducials. Once found a full
image can be used for inspection.
Digital Gain and Offset: The DGO can be used in the portrait photography example to enhance the live preview mode image contrast (with no effect on the triggered image)..
LUT : The look up tables can be used to apply a gamma function to a live preview
and not to the triggered image. This is desirable when a good looking live image is
needed but the final image is heavy software processed and only raw image data is
needed.
PDC
BINNING
Commands to the camera can specify if the command is to be applied to the free run mode, the
trigger mode or common to both modes.
Free Run Parameters
Pixel Defect Correction: The PDC circuit must be disabled in the binning modes.
Binning: Horizontal and Vertical binning can be specified separately for each
The trigger transfer pulse delay (TPD) is a
register that is used to define a triggered exposure.
The TPD register is set to an integer value that represents a counter based on a value called the TPD
unit time.
The TPD unit time is a programmable clock
that is selectable between four different divisors of
the master camera pixel clock. The divisors are 4,
16, 64, 1024. The range of divisors allow for very
fine control to very long exposures.
For help on this command contact dave@illunis.com
Serial Commands
Target Index Command R/W Description
02 0E TPD resolution R/W 0x0000 = 4 clock periods
Quick FAQ’s:
►If your application requires very short exposures
use the TPD clock divisor 4.
►If your application requires very long exposures
use the TPD clock divisor 1024.
►Cameras previous to FPGA release E7 used a
fixed TPD divisor of 64.
►Note that when using the TPD divisor 1024 the
exposure time may be larger than the maximum the
exposure detector can measure.
0x0001 = 16 clock periods
0x0002 = 64 clock periods
0x0003 = 1024 clock periods
TPD
= Pixel Clock Period * TPD
time
unit time
RMV TPD Time constants
Pixel Clock 20Mhz 30Mhz 40Mhz
In Free Run Mode the camera generates all
timing signals to the CCD and to the camera link
port. The trigger signal is ignored. The exposure is
set with the ERASURE register A minimum ERASURE value of 1 results in the maximum exposure
time. The maximum ERASURE value, dependent on
the CCD used, sets the minimum exposure time.
Serial Commands
Target Index Command R/W Description
04 03 Readout Mode Select W 0x0000 = Free Run Exposure
02 02 Set Free Run ms W Set FR time in milliseconds * 100
02 03 Set Free Run us W Set FR time in us
02 02 Get Free Run ms R Return actual time in milliseconds * 100
02 03 Get Free Run us R Return actual time in us (0xFFFF = to large).
Exposure
Read Out
Exposure N-1 Exposure N Exposure N + 1 Exposure N
Read Out N-2 Read Out N-1 Read Out N Read Out N + 1
Quick FAQ’s:
►FRM is sometimes called continuous mode.
►In FRM the exposure and readout are overlapped.
►FRM exposure is set in units of line timing
►The strobe signal can be used to determine frame
In Free Run Sync mode the camera generates
all timing signals to the CCD and to the camera link
port as in FRM with the following exception: After the
image is transferred into the interline storage area of
the CCD, the camera waits for the trigger to assert.
Thus the camera waits for a SYNC signal - provided
by the trigger - and thus allows several cameras to
be slaved to the trigger signal.
Serial Commands
Target Index Command R/W Description
04 03 Readout Mode Select W 0x0004 = Free Run Synchronize
Quick FAQ’s:
►FRS is used to sync free running cameras.
►Cameras can be synced to one pixel clock period.
►Any number of cameras can be synchronized.
►The strobe signal can be used to determine frame
timing.
►The strobe signal can be found on the RMV power
connector and is a 3.3V LVTTL signal.
►FRS mode works with Auto exposure in rev E9
(Note ASYNC reset will work)
Trigger period
Trigger
Synced by Trigger
FVAL
FRS Example: To Synchronize
multiple free running cameras connect the triggers to the same source
and set the cameras to FRS mode
Not that the trigger timing is very
critical and that the trigger period
must be slightly greater than the
free run frame in order to sync at
the maximum possible rate.
Camera Link Trigger
Note: Trigger must fall before the end of read out
The free run exposure time is set In lines of erasure. The resolution of the exposure is in horizontal line
times. Two commands are provided for calculating the
free run time from a specified time variable
(milliseconds or microseconds). The closest availa-
ble time is selected and set in the internal time variable. The maximum free run time is dependent on
the sensor, readout mode, and pixel clock speed. The
millisecond variable is set as ms*100 to give more resolution to the command. This results in a maximum
possible exposure of 655ms although the value is sensor dependant.
Serial Commands
Target Index Command R/W Description
02 02 Set Free Run ms W Set FR time in milliseconds * 100
02 03 Set Free Run us W Set FR time in us
02 02 Get Free Run ms R Return actual time in milliseconds * 100
02 03 Get Free Run us R Return actual time in us (0xFFFF = to large).
Quick FAQ’s:
►The strobe signal can be found on the RMV power
grammed expose/readout cycle. The exposure is set by
the Transfer Pulse Delay (TPD) register. The TPD is set
in increments of 4,16,64 or 1024 pixel clock periods.
Serial Commands
Target Index Command R/W Description
04 03 Readout Mode Select W 0x0001 = Trigger Program Exposure
02 04 Transfer Pulse Delay R/W 0x0007 to 0xFFFF
04 1B Transfer Pulse Width R 0x0004 = TPW (Preset at factory)
02 00 Set Trigger ms W Set TR time in milliseconds * 100
02 01 Set Trigger us W Set TR time in us
02 00 Get Trigger ms R Return actual time in milliseconds * 100
02 01 Get Trigger us R Return actual time in us (0xFFFF = to large).
02 0E TPD resolution R/W 0x0000 = 4 clock periods
Quick FAQ’s:
►Use the TPE mode to control exposure within the
RMV camera.
►The rising edge of the trigger pulse determines the
beginning of exposure.
►Multiple Cameras with the same trigger can be
slaved together for very exacting applications
►The strobe signal can be found on the RMV power
connector and is a 3.3V LVTTL signal.
0x0001 = 16 clock periods
0x0002 = 64 clock periods
0x0003 = 1024 clock periods
grammed expose/readout cycle. The exposure is set by
the width of the trigger pulse and Transfer Pulse Delay
(TPD) register. TPD should be set to its minimum value
so that the trigger pulse width controls the exposure.
TME mode is the same as TPE mode with the exception
that the exposure is extended by the trigger pulse width.
Serial Commands
Target Index Command R/W Description
04 03 Readout Mode Select W 0x0002 = Trigger Manual Exposure
02 04 Transfer Pulse Delay R/W 0x0007 to 0xFFFF
04 1B Transfer Pulse Width R 0x0004 = TPW (Preset at factory)
02 00 Set Trigger ms W Set TR time in milliseconds * 100
02 01 Set Trigger us W Set TR time in us
02 00 Get Trigger ms R Return actual time in milliseconds * 100
02 01 Get Trigger us R Return actual time in us (0xFFFF = to large).
02 0E TPD resolution R/W 0x0000 = 4 clock periods
Quick FAQ’s:
►Use the TME mode to control exposure with a cam-
era link capture device’s trigger signal.
►The rising edge of the trigger pulse determines the
beginning of exposure.
►The falling edge of the trigger pulse starts a TPE
cycle. Set TPD to a its minimum value.
►The strobe signal can be found on the RMV power
connector and is a 3.3V LVTTL signal.
0x0001 = 16 clock periods
0x0002 = 64 clock periods
0x0003 = 1024 clock periods
images in rapid succession. This is accomplished by
capturing the first image in the Photo Diodes, transferring
this image to the vertical CCD, and then capturing a second image in the Photo Diodes. The first image is read
from the CCD as the second image is exposed. The
second image is then transferred and read from the CCD.
The second image exposure is fixed to the readout time
of the first image.
Serial Commands
Target Index Command R/W Description
04 03 Readout Mode Select W 0x0003 = Triggered Double Exposure
02 04 Transfer Pulse Delay R/W 0x0007 to 0xFFFF
04 1B Transfer Pulse Width R 0x0004 = TPW (Preset at factory)
02 00 Set Trigger ms W Set TR time in milliseconds * 100
02 01 Set Trigger us W Set TR time in us
02 00 Get Trigger ms R Return actual time in milliseconds * 100
02 01 Get Trigger us R Return actual time in us (0xFFFF = to large).
02 0E TPD resolution R/W 0x0000 = 4 clock periods
Quick FAQ’s:
►Use the TDE mode with external illumination con-
trol to grab two closely timed images.
►The rising edge of the trigger pulse determines the
beginning of first exposure.
►The strobe signal can be used to determine frame
timing.
►The strobe signal is only valid for the first frame.
►The Transfer Pulse Width (TPW) can be used to
minimize the frame to frame timing.
0x0001 = 16 clock periods
0x0002 = 64 clock periods
0x0003 = 1024 clock periods
pulse is generated. This effectively creates a overlap-
ping exposure and readout. The time between trigger
pulses determines the exposure (time). Note that the
STROBE signal is not valid in TOE mode. To use
TOE mode both TPE/TME and TOE must be activat-
ed.
Serial Commands
Target Index Command R/W Description
04 03 Readout Mode Select W 0x000b = Trigger Overlap Exposure enable
04 03 Readout Mode Select W 0x000c = Trigger Overlap Exposure disable
02 04 Transfer Pulse Delay R/W 0x0007 to 0xFFFF
04 1B Transfer Pulse Width R 0x0004 = TPW (Preset at factory)
02 00 Set Trigger ms W Set TR time in milliseconds * 100
02 01 Set Trigger us W Set TR time in us
02 00 Get Trigger ms R Return actual time in milliseconds * 100
02 01 Get Trigger us R Return actual time in us (0xFFFF = to large).
Quick FAQ’s:
►Use the TOE mode to maximize triggered readout
speed. Because the readout is overlapped with the
exposure the triggered mode can run at nearly the
speed of free run exposure.
►The rising edge of the trigger pulse determines the
beginning of image readout and exposure of the next
image.
►An initial frame must be read to start a sequence.
The trigger run exposure time is set in increments of the TPD Period. This unit of time is called
the Transfer Pulse Delay (TPD).
Two commands are provided for calculating the
triggered exposure time from a specified time variable (milliseconds or microseconds). The closest
available time is selected and set in the internal time
variable. The maximum triggered time is dependent
on the pixel clock speed. The millisecond variable is
set as ms*100 to give more resolution to the command. This results in a maximum possible exposure
of 65535 TPD units.
Serial Commands
Target Index Command R/W Description
02 00 Set Trigger ms W Set TR time in milliseconds * 100
02 01 Set Trigger us W Set TR time in us
02 00 Get Trigger ms R Return actual time in milliseconds * 100
02 01 Get Trigger us R Return actual time in us (0xFFFF = to large).
02 0E TPD resolution R/W 0x0000 = 4 clock periods
Quick FAQ’s:
►The strobe signal can be found on the RMV power
connector and is a 3.3V LVTTL signal.
►Minimum exposure time is set by the physics of the
photodiode transfer to vertical CCD clock
sequence. The electronics can be set for any
exposure downto zero.
►Maximum exposure time is set by the TPD period
and the maximum TPD register value (65535).
0x0001 = 16 clock periods
0x0002 = 64 clock periods
0x0003 = 1024 clock periods
4.2.6: Exposure:Trigger Modes
Software Controlled Trigger
This command forces an internal trigger from a
software command. The soft trigger pulse has a
width in us as specified in the data field. The range
is 1 to 65535 ms (65sec). The timing is approximate
due to the inaccuracies in the microprocessor time
function. The exposure time is set with the TDP register in TPE mode. The set trigger high/low can be
used to create an arbitrary long exposure. The software trigger is logically OR’d with the CL hardware
trigger so you must disable the hardware trigger on
your capture card for this to function correctly.
Serial Commands
Target Index Command R/W Description
02 05 Soft Trigger W Issue a soft trigger with width in ms
02 06 Soft Trigger high W Sets trigger high
02 07 Soft Trigger low W Sets trigger low
►NOTE: The trigger input must be set to CL for the
software trigger to work !
4.2.7: Exposure:Trigger Modes
Trigger Substrate Pulse Delay
The trigger substrate delay (TSUBD) pulse is
useful in applications where a very powerful flash is
used. Because a very bright flash will overpower the
VCCD light shield and create unwanted smear the
TSUBD is used to delay the photo diode erasure
pulse (Substrate Pulse).
If the VCCD is clocked during a very bright
flash then the sensor will contain smear within the
VCCD. The TSUBD allows for the VCCD flush to
stop before the flash thus preventing image smear
(from the flash).
Serial Commands
Target Index Command R/W Description
02 0B SUB Delay R/W Default = 0x0001
02 0C Triggered VCCD on W VCCD clocks during triggered exposure
02 0D Triggered VCCD off W No VCCD clocks during triggered exposure
Quick FAQ’s:
►Use the TSUBD with applications that have very
tight timing and very bright flash exposures.
►The TSUBD time units are the same as TPD.
►The substrate pulse is used to erase the photo
diodes for the beginning of exposure.
►The default for normal operation of TSUBD is a
register value of 0x0001
►TheTSUBD must be zero for TME mode to
function.
Normal Triggered Image
This scope plot shows a normal triggered image where exposure starts at the trigger and
ends at the interline transfer. The VCCD is
clocked throughout the exposure to minimize
dark current buildup in the VCCD.
Yellow = Trigger, Blue = VCCD Clocks, Red = Exposure strobe, Green = FVAL
Triggered Image with VCCD off and TSUBD
This scope plot shows a triggered image where
exposure is delayed from the trigger by the
TSUBD register value (and ends at the interline
transfer). The VCCD is stopped throughout the
exposure to eliminate smear of the image in
the VCCD.
Yellow = Trigger, Blue = VCCD Clocks, Red = Exposure strobe, Green = FVAL
The trigger modes may be used in a async
reset where the RMV is operated in a free run mode
and is reset by the trigger signal.
In this mode the camera runs as if in FRM
and waits for a trigger.
Once the trigger signal is recognized the
camera “resets” by flushing the internal CCD’s and
erasing the photo diodes. The selected triggered image is then exposed and readout.
The camera then returns to FRM (free run mode).
Serial Commands
Target Index Command R/W Description
04 05 Readout Mode Select W Async Reset Enabled
04 06 Readout Mode Select W Async Reset Disabled
04 07 Readout Mode Select W Runs Valid Enabled
04 08 Readout Mode Select W Runs Valid Disabled
Quick FAQ’s:
►Some camera manufactures call their trigger mode
Async reset as they do not have different trigger
and free run timing.
►If the Async Reset mode is active in free run
mode then the Free Run Synchronize mode is
active. The camera will sync to the trigger signal.
►The RUN VALS option controls the output of FVAL
and LVAL during async reset mode.
► Async Reset mode and Runs Valid disabled are
useful with auto exposure to allow the AE to run
and still allow the use of triggered images.
number of rows from the CCD. Using the fast dump gate
feature of the Truesence Interline Transfer sensors the
PS mode dumps or purges the lines before the start line.
Then the lines between the start line and the stop line are
read out. Finally the lines after the stop line are purged.
Partial scan can be used to increase the frame rate by
only reading the lines of interest to an application. There
are separate PS enables for free run and trigger modes.
Serial Commands
Target Index Command R/W Description
04 04 Mode Register W 0xM003 = Enable Partial Scan
04 04 Mode Register W 0xM004 = Disable Partial Scan
M = 0: Common—both, M = 8: Free Run only, M = 4: Trigger only
04 0A PS Start Line R/W Sensor Dependent
04 0B PS Stop Line R/W Sensor Dependent. (> Start Line)
Quick FAQ’s:
►5p5 um CCDs do not have a fast dump gate.
►PS purges unwanted lines of video data.
►The stop line must be greater than the start line.
►PS of 1/2 the lines of the sensor does not result in
2X the frame rate bacause the purged lines require
some time for the purge.
►CCD’s have non-visable lines that can be selected
cent pixels and lines to effectively create larger pixels. The
RMV can bin video data independently in both horizontal
and vertical modes. Vertical binning merges the charge
from adjacent lines on the CCD and creates a composite
line in the horizontal shift register on the CCD. This binned
data is then read out as a standard line. Vertical binning
can be performed in 1 to 32 line increments. Special care
must be taken when binning very bright images as the
charge in the horizontal shift register can overflow and
cause image artifacts. Horizontal binning is performed as
digital summation within the FPGA. There is no speed
difference between digital and analog binning. Horizontal
binning can be performed in 1 to 16 pixel increments. Your
capture device must qualify the video data with the DVAL
signal for horizontal binning to function. The H-bin math
sums the pixel data. You can use the bin data average
mode to average the binned pixel data. This will reduce
noise and increase the dynamic range of the camera.
Serial Commands
Target Index Command R/W Description
04 04 Mode Register W 0xM000 = Enable Bin
04 04 Mode Register W 0xM002 = Disable Bin
M = 0: Common—both, M = 8: Free Run only, M = 4: Trigger only
04 28 Trigger Mode V Bin R/W Values 1 to 32 (1 is no binning)
04 29 Trigger Mode H Bin R/W Values 1 to 16 (1 is no binning)
04 2A Free Run Mode V Bin R/W Values 1 to 32 (1 is no binning)
04 2B Free Run Mode H Bin R/W Values 1 to 16 (1 is no binning)
04 52 Bin data average mode R/W 0x0000 = Sum binned horizontal pixel data
Quick FAQ’s:
►Binning can be independently set for any horizontal
and vertical combination.
►Horizontal binning in and two channel camera link
data modes do not function in all modes.
►Vertical binning can overload the HCCD in bright
images.
►Binning can create super pixels in many sizes.
►Vertical binning will increase the power
consumption of the camera.
►Vertical binning increases the frame rate. 2X
vertical binning is does not increase the frame rate
by 2X as some time is needed to sum the image.
►horizontal binning can be set to sum or to average
by using the divide function.
0x0001 = Divide sum by 2
0x0002 = Divide sum by 4
0x0003 = Divide sum by 8
Binning Example: Multi Spectral imaging
In a multi spectral imaging (MSI) application several camera are used, each with a different optical filter. Images from each of the cameras are processed and merged. Examples of the MSI are vegetation detection and identification.
Since MSI used optical filters of various wavelengths, the QE response of the sensor at these wavelengths will vary. To
improve image brightness binning is used.
The RMV allows for independent binning in the horizontal and the vertical directions. The horizontal binning can
be set from 1 to 16 pixels. The vertical binning can be set from 1 to 32 lines. Vertical binning is performed on chip in the
HCCD and horizontal binning is performed as a digital summation of pixels with overflow checking.
The RMV can bin pixels in any shape such as 3x7 or 9x14. Please note that when the RMV is operating in Camera Link dual channel mode some horizontal binning modes are not available. This is due to the fact that the DVAL signal
Is used in horizontal binning and the DVAL cannot distinguish between the active/inactive pixels on the two channels.
DVAL is only valid for both pixels on the dual channel output. If this is a problem then use the single channel Camera Link
readout mode.
The RMV camera incorporates an auto exposure (AE) algorithm that allows the camera to automatically adjust exposure (and gain) for changing light levels. The AE uses the AED detector (section
6.1) to measure the brightness of an image by summing the pixels within a region of interest called the
AED window. The AE algorithm compares the image brightness with a user defined minimum and maximum brightness set-point. If the image is brighter than the maximum the AE algorithm will reduce the
exposure or gain. If the image is darker than the minimum the AE algorithm will increase the brightness
or gain.
If the image is brighter than
the maximum the gain/
exposure is decreased
If the image is dimmer than the
minimum the gain/exposure is
increased
Diagram of AED value vs. Set-Point and Hysteresis
The AE algorithm can run in either gain mode or exposure mode. Gain mode is used if the expo-
sure reaches the user defined maximum exposure. At the point the AE is at maximum exposure it will
switch to gain mode and increase the digital camera gain to attempt to brighten the image. At the limits of
the gain and exposure modes the AE will set internal mode bits that indicate to the user that an external
Iris should be opened or closed. If the user desires to disable gain or exposure mode they only need set
the minimum and maximum values for that mode to the same value.
The AE algorithm provides variables for the following:
Setting Comment
Minimum digital gain : Usually set to 1.0x
Maximum digital gain : Limited by noise requirements
Minimum exposure: Limited my smear requirements
Maximum exposure: Motion blur sets maximum
Set-Point: Target image brightness
Hysteresis: Dead zone around set-point
AE Detector: Last Frame Brightness
AED Average: AED Average of previous frames.
AE VSYNC count: Frame spacing between AE calculations
AE Detector (AED) window: ROI on image to measure brightness
Deterministic AE (Fast): Calculates next exposure/gain.
Iterative AE (Slow): Steps to next exposure/gain.
Exposure and gain denominator Used to determine iterative step size
On Screen Display: Overlays AE data on image.
Predefined Recce modes: Easy setup.
The AE algorithm calculates a new exposure, from the previous exposure, the set-point and the
AED value. One of two methods for the new exposure calculation can be used. The first method is an
iterative algorithm that uses the following equation:
In this algorithm the set-point is subtracted from the detector and divided by a scaling factor
(denominator). This results in a calculated step that is applied to the exposure. The denominator value
determines the step size. Setting the denominator to a larger number will reduce the step size and allow
for a slower AE tracking. Reducing the denominator will increase the step size and increasing the AE
tracking. However note that at some point, reducing the denominator the AE algorithm will be come unstable.
.
Iterative AE algorithm On Screen Display (Time Version)
In this algorithm the AE attempts to adjust to the change in light in a single step. The AE is
changed by the ratio of the set-point to the detector. If the maximum/minimum of the gain/exposure
limits are met by the ratio, then another step will be required to meet the correct exposure/gain setting
The AED window can be used in a small or large mode. The small mode is used for AED windows under 1Mega pixel in size. The large mode can be used for AED windows up to 16 million pixels
in size. The AE Detector is a simply the sum of the pixels within the AED window. The AED set-point is
a arbitrary number compared to the AED. As the AED window changes the maximum value of the AED
will change. Set-point should change with it. Set-point is determined by the AED window size and User
preference.
There are two major firmware versions of the AE algorithm. To determine the release version
you can read more register 5, bit 15. If this bit is set then you have the new time-based algorithm.
The first release was based on primarily the free run mode and uses the free run erasure register as the basis for setting exposure values. The minimum and maximum exposure limits are set in units
of erasure (not a simple concept). This first pass AE algorithm did not operate in trigger mode and required an extensive knowledge of the camera operation.
The second release of the AE algorithm was a complete rewrite and uses time as the basis for
all exposure calculations. The time units used are 16bit hexadecimal numbers that indicate time in micro seconds x 10. Thus a time base number 0x3E8 = 1000 (decimal) = 10000 micro seconds = 10.00
milliseconds. This provides for a exposure range up to 0xFFFF = 65535 (decimal) = 65.535 milliseconds. These time values are the same those used in the SetFreeRunTime and SetTriggeredTime commands. The new algorithm also supports the binning modes and partial scan modes (but not both at
the same time).
Deterministic AE algorithm On Screen Display (Time version)
The illunis GUI program can be used to setup and explore the AE algorithm. The Exposure and
Readout dialog box contains the controls needed to activate and set the AE algorithm parameters.
In this example the AE is setup for the following:
MaxGain = 0x2000 = 2.0x maximum gainMinGain = 0x1000 = 1.0x minimum gainMaxExposure = 0x3F1 = 1009 dec = 10.09 ms maximum exposureMinExposure = 0x068 = 104 dec = 1.04 ms minimum exposure
brightness of the image through exposure and gain control.
The limits of gain and exposure can be set. The AE algorithm uses the AE detector window to measure the brightness of the image. If the maximum exposure is reached
the camera sets a status bit to indicate the iris be opened.
There are two counter modes, a smaller mode for windows
up to 1Mega pixel and a larger mode for windows up to 16
Mega pixels. The larger counter can cover the entire active
area of the RMV-11000.
This function is quite complicated.
For help contact dave@illunis.com.
Serial Commands
Target Index Command R/W Description
05 00 0x0004 = Mode Register #5
Bit# 15: AE Algorithm type
04 1d Auto Exposure W 0x0000 = Disable AE
04
04 1f AE Hysteresis R/W Added and subtracted from set point to de-
04 20 AE max gain R/W Maximum digital gain to use in AE
1e AE Set point R/W The detector value that the AE attempts to
Quick FAQ’s:
►The AE algorithm adjusts both exposure and gain
to control the image brightness.
►The limits of minimum and maximum gain can be
set. This allows for control of noise .
►AE does work in TPE mode, it does not work in
TME, TOE or TDE modes.
►AE uses digital gain (analog gain is fixed).
►The exposure limits are set in us * 10 = ms / 100
►Note: In free run mode (FRM) the max and min
exposures are checked and reset to the actual time
calculated by the SetFreeRunTime function. So
when you set a time, you can read it back to find
the actual time used by the AE function.
reach (including hysteresis).
The set-point is dependent on the AED window size and AED maximum value
termine a stable area for the AE.
04 21 AE min gain R/W Minimum digital gain to use in AE (should be
04 22 AE max exposure R/W maximum exposure time
04 23 AE min exposure R/W Minimum exposure time
04 26 AE detector R Read by AE algorithm to determine bright-
04 31 AE detector Average R Running average of previous AED’s
04 32 AE Vsync Count R/W Set to 3 in FRM, 1 in TPE mode
04 33 AE exposure denominator R/W Use ~10 for indoor light
04 34 AE gain denominator R/W Use ~2 for indoor light
Use ~200 for outdoor lighting
Smaller is faster, too small is unstable
Use ~20 for outdoor lighting
Indicates that the image is too bright for the
AE and the IRIS should be closed if possible.
Indicates that the image is to dim for the AE
and the IRIS should be opened if possible.
4.7: Exposure:
The RMV Strobe signal is a 3.3V LVTTL signal
that is active whenever the CCD is exposing and image.
The strobe signal is very useful for analyzing and optimizing imaging applications. The strobe can be used to activate an illumination source. The strobe signal should
cannot drive significant current and should be buffered if
used in this fashion.
Serial Commands
Quick FAQ’s:
►The strobe signal can be used to determine frame
timing.
►The strobe signal can be found on the RMV power
connector and is a 3.3V LVTTL signal.
►The exposure detector measures the strobe signal
in increments of the pixel clock.
Target Index Command R/W Description
04 0e Strobe Control
Write 0x0000 = negative strobe polarity
0x0001 = positive strobe polarity
0x0002 = Active during free run
0x0003 = Inactive during free run
(Always active during trigger)
Strobe Signal
Free Run Mode (FRM) STROBE:
Yellow = trigger, Blue = LVAL, Red = STROBE, Green = FVAL
Yellow = trigger, Blue = LVAL, Red = STROBE, Green = FVAL
CCD:4020 Exposure = 0x0400 lines
Trigger Programmed Exposure (TPE)
STROBE:
CCD:4020 TPD = 0x1000
Trigger Double Exposure (TDE) STROBE:
Yellow = trigger, Blue = LVAL, Red = STROBE, Green = FVAL
Free Run Synchronize (FRS) STROBE:
Yellow = trigger, Blue = LVAL, Red = STROBE, Green = FVAL
RMV cameras uses four analog to digital converters
(ADC) from Analog devices, one for each tap of the CCD
sensor. Each ADC has a programmable analog gain
stage that can be adjusted from 6dB to 40 dB. Each
ADC also incorporates an active black clamp offset control feature. The offset can be selected from 0 to 256 in
12 bit pixel space. The ADC also has a special feature
for optimizing color sensor filter response.
Serial Commands
Target Index Command R/W Description
00 01 A: Gain R/W A channel controls
00 02 A: Clamp Level R/W
00 21 B: Gain R/W B channel controls
00 22 B: Clamp Level R/W
01 01 C: Gain R/W C channel controls
01 02 C: Clamp Level R/W
01 21 D: Gain R/W D channel controls
01 22 D: Clamp Level R/W
Quick FAQ’s:
►Single tap data is sent through the B tap only.
►Dual tap data is sent through both taps, with the B
tap on the left side and the A tap on the right side.
►Two tap data is reorded in the FPGA TRO circuit.
►An ADC maximum gain of 40dB is 100X !
►Use the offset to raise the minimum signal above
zero to see all system noise.
12 bit
data
12 bit
data
The RMV uses Truesence CCD sensors with 4 tap readout. The A tap is the Left Top side and
the B tap is the Right Top side when viewed on the capture card. C tap is the Left Bottom side
and D tap is the Right Bottom side when viewed on the capture card. Dual tap mode uses CCD
Readout A and B. Single tap mode uses CCD Readout A .
The ADG gain range is from 0 to 1023 counts which represents a gain of 2 to 36dB. The pre-gain of the
CDS stage adds an additional 4dB of gain resulting in a range of 6 to 40dB. The gain curve follows a
linear-in-dB characteristic.
ADC gain can be calculated with the following equation.
Gain (dB) = 5.1 + (0.0359 * code)
Where code is the range of 0 to 1023.
The optical black clamp loop removes residual offsets in the signal chain to track low frequency variations in the CCD’s black level. During the optical black (shielded) pixel interval on each line, the ADC
output is compared with a fixed black level reference, set by the offset value. The offset value can be
programmed between 0 LSB and 255 LSB. The resulting error signal is filtered to reduce noise, and the
correction value is applied to the ADC input through a D/A converter. The optical black clamp is turned
on once per horizontal line.
circuit that removes the CCD’s optical black offset. This
offset exists in the CCD’s shielded black reference pixels.
The ADC removes this offset in the input stage to minimize the effects of gain change on the system black level. During the optical black (shielded) pixel interval on
each line, the ADC output is compared with a fixed black
level reference selected by the value in the clamp register. The Clamp level is programmed in 8 bit resolution. If
external digital clamping is used during the post processing the black clamp can be disabled.
Quick FAQ’s:
►Each tap has its own ADC and thus its own clamp-
ing circuit.
►Clamp values for each tap can be adjusted inde-
pendently.
►Clamp is often referred to as black offset.
►Use the clamp offset to raise the minimum signal
above zero to see all system noise.
►The DGO does not subtact the ADC clamp
The RMV FPGA implements image processing features that are very useful to
many imaging applications. These include reordering of the sensor image data, correction of pixel defects and responses, mapping the video data using a programmable
look up table, and video analysis tools.
The flow of image data from the CCD Taps to the LVDS output drivers is as follows:
a) Image data is read from the sensor in a raw form. The image data is represented as 12 bits
per pixel. The data is processed as 12 bits until the last stages where it is formatted into the
selected Camera Link format.
b) Video Tap data is reorder to create a single corrected image
c) Video data is passed through the detectors in the reordered but unmodified format
d) The Video data is then optionally corrected for gross defects
d) The Video data is then optionally corrected for column gain.
d) The data is then passed through an optional look up table (LUT) . The LUT converts the 12-
bit video data to any 12-bit value.
g) The final processing stage formats the video data for the output LVDS circuitry. This stage
permits one or two channel output, bit and tap flipping, 8 and 12 bit/pixel formatting for camera link. This stage also provides the test pattern and on screen display functions
Note: This path shows A and B Taps
being merged into one line at the Tap
Reorder block. If the camera were in
4 tap mode, taps C and D are merged
the same way. However, C and D
start at the bottom of the image and
work to the middle.
ADC ‘B’
Right Digital
Gain and
Offset
5.2: Image Processing
Digital Gain and Offset
Digital Gain and Offset (DGO) are used in
situations where analog gain and offset are either to
course or not applicable. The digital gain ranges from
0.002 to 16x in 0.002 increments. The digital gain is represented as a hex number where 0x1000 represents a
gain of 1X. The digital offset ranges from –4095 to
+4095 in increments on 1 count. These gain and offset
ranges allow for full 12 bit precision without round-off
error. There are separate DGO enables for free run and
Serial Commands
Target Index Command R/W Description
04 04 Mode Register W 0xM005 = Enable Digital Gain and offset
04 2c A Tap Digital gain R/W
04 2d A Tap Digital offset R/W
04 2e B Tap Digital gain R/W
04 2f B Tap Digital offset R/W
Master digital gain and offset (MDGO) are available on in FPGA revision E9 and above.
MDGO is independent of the Trigger and Free run modes. MDGO is used for histogram equilization.
04 36 Master Digital Gain R/W
04 37 Master Digital Offset R/W
04 38 Master DGO Enable R/W 1 = enable, 0 = disable
M = 0: Common—both, M = 8: Free Run only, M = 4: Trigger only
Quick FAQ’s:
►DGO can be used to match taps when ADC gain
and offset are not fine enough.
►DGO is applied to each tap before tap reorder.
►DGO can be set to be active in either free run
mode or triggered mode.
►DGO gain is applied first, then the offset is added.
►The DGO does not suptract the ADC clamp
offset before the gain/offset is applied. Thus
color processing may be incorrect unless ADC
clamp is set to zero.
►Master DGO affects both taps equally.
►Use Master DGO for gain and offset and individual
gross defects in an image sensor. The PDC circuit can
force pixels to black or white, replace pixels with the left or
right neighbor, or an average of their neighbors, or the last
pixel corrected. There are separate PDC enables for free
run and trigger modes. The PDC circuit can operate on
either pixels or columns (not both). The column corrector is
useful for DSC grade sensors. The PDC is loaded from a
specially formatted file.
A Column defect corrector (CDC) can be used to
correct bad CCD columns. It uses the same correction
codes. Row numbers are don’t care variables.
Serial Commands
Target Index Command R/W Description
04 1C PDM Mode W 0x0002 = Enable PDC
Quick FAQ’s:
►PDC is enabled for both trigger and free run
modes.
►PDC operates on pixels.
►CDC operates on entire columns.
►Up to 511 pixels or columns can be corrected
►PDC is applied after the digital gain offset and
before Look Up Table.
► Defect data is stored in EEPROM. The load
commands below assume correction data is
already in EEPROM.
0x0006 = Disable PDC
0x0001 = Enable CDC
0x0003 = Disable CDC
Correction Type Code
No correction 0
Copy from right pixel 1
Copy from left pixel 2
Copy Average : (left+right)/2 3
Force White 4
Force Black 5
XOR pixel 6
Replicate 7
Copy Bayer Average : (2left+2right)/2 8
Copy Bayer right 9
Copy Bayer left 10
Not Defined 11-15
Pixel Defect Correction Values
Serial Number 4321
1,1, 4
ffff,ffff,ff
Pixel Defect Correction File
Example of white dot at sensor origin
Serial Number 4321
400,0,4
410,0,1
420,0,2
430,0,5
440,0,3
450,0,5
460,0,6
470,0,8
480,0,6
490,0,7
500,0,5
510,0,9
520,0,5
530,0,10
540,0,4
ffff,ffff,ff
Look Up Tables (OEM Only) are used to
transform video data from sensor samples to any arbitrary value. Any 12bit value can be transposed into
any other 12 bit value. LUT’s can be loaded from
tables stored within the camera or directly from your
application.
Serial Commands
Target Index Command R/W Description
04 04 Mode Register W 0xM007 = Enable LUT
04 18 LUT load command W
04 45 LUT mode R/W 0x0000 = load from com port
04 46 Gamma LUT W Loads a gamma LUT where data is a
M = 0: Common—both, M = 8: Free Run only, M = 4: Trigger only
Quick FAQ’s:
►LUT’s are 12 bit to 12 bit look up.
►The most common use for a LUT is gamma
correction.
►In FPFA revision E8 the LUT’s can be stored in the
camera EEPROM and can be reloaded each time
the camera is powered with a single command.
►To save a LUT to EEPROM set the LUT mode to
0x0001 and load a LUT from the com port. The
LUT will be saved to EEPROM and can be reloaded from EEPROM with the LUT mode 0x0002
►When saving a LUT to EEPROM the load time will
be longer.
►The LUT EEPROM is not initialized for you.
0xM008 = Disable LUT
0x0001 = load from com port
and save to EEPROM
0x0002 = load from EEPROM
number from 1-100 = gamma * 100
Note 45 dec = 0x2D hex
The Look Up Table (LUT) is loaded using a sequence of character commands
that are acknowledged with a return character from the camera. Each command component should wait for the return character and check its status.
The table must be loaded in two passed as the internal FPGA data path to the LUT
memory is only a single byte wide. The high byte is loaded in the first pass, then the
low nibble is loaded in the second pass.
The command sequence for loading the LUT is as follows:
Command Ack char Description
{w04450001FF} : !Optional save to EEPROM while loading
{w0418000000} : !LUT load command
> : !Starts the LUT load sequence
Send 4096 entries for the LUT high byte
#xxxx : @Loads a byte to the LUT
where xxxx = hex number high byte
Example: 0x1234 => 0x12
: $Indicates end of first sequence
Send 4096 entries for the LUT low byte
&xxxx : * Loads a byte to the LUT where xxxx = hex number low byte
Example: 0x1234 => 0x34
: %Indicates end of second sequence
Acknowledgement of load sequence
: ! Indicates end of LUT load
Once the LUT is saved into EEPROM it can be reloaded into the FPGA with:
Command Ack char Description
{w04450002FE} : !Set to EEPROM load mode
{w0418000000} : !LUT load command from EEPROM
The Misc functions are provided for special
applications .Please contact dave@illunis.com for
specific implementation details on these functions.
Serial Commands
Target Index Command R/W Description
04 FF Base Reset Write Resets camera mode to:
Quick FAQ’s:
►The “Base Reset” is a convenient way to reset the
camera state.
free run,
runs valid enabled,
no binning,
no partial scan,
no line or text displays,
no LUT, no PDC,
no digital gain or offset,
no test pattern,
reset the LVAL and FVAL defaults.
AE Detector set to small size.
Auto tap matcher off
The CCD sensors with micro lens have a QE
directly related to the angle of light entering the pixel.
This angle dependency is due to the focus of the micro
lens. Because the photo diode is narrower in the horizontal direction the QE changes much more on that
axis. Thus a column based gain will correct this.
A Flat Field Correction circuit (FFC) applies a
gain correction to each column based on a look up
table (LUT). The FFC LUT is used to provide a gain
curve to correct for the QE drop due to (light) angle
into the micro lens pixel.
A master gain is provide for applications using
a zoom lens that has variable aperture over the zoom
range. By using the master gain the table values do
not need to change with zoom position.
To create the FFC table image a flat field at
50%, average all lines within the image, smooth the
data and create a compensation gain table to flatten
the field. Generate the FFC LUT from the table.
Serial Commands
Flat Field Correction
Quick FAQ’s:
►The FFC correction is in the horizontal direction only. Vertical FFC is very small compared
to the horizontal FFC.
►The FFC data is loaded exactly like the LUT
data. The maximum length of the FFC table
size is a read command. All entries must be
loaded.
►The FFC Master gain is formatted as
XXXX.YYYYYYYYYYYY
where 1.000 = 1.0x, 1.800 = 1.5x
►In FPFA revision E8 the FFC can be stored in
the camera EEPROM and can be reloaded
each time the camera is powered with a single
command.
►To save a FFC to EEPROM set the LUT
mode to 0x0001 and load a FFC from the com
port. The FFC will be saved to EEPROM and
can be reloaded from EEPROM with the FFC
mode 0x0002
►When saving a FFC to EEPROM the load
time will be longer.
►The FFC EEPROM is not initialized for you.
Target Index Command R/W Description
04 40 FFC table load W Loads FFC table based on mode
04 41 FFC test W Loads entire FFC table with data.
Where 0x1000 = 1x, 0x1800 = 1.5x
04 42 FFC Master gain R/W Sets master gain
04 43 FFC mode R/W 0x0000 = load from com port
0x0001 = load from com port
and save to EEPROM
0x0002 = load from EEPROM
04 44 FFC table size R Returns FFC table size
The FFC circuit uses an internal (LVAL) signal within the camera to determine
the starting column to apply the correction. The correction table is offset from image
data by a certain number of pixels. so that the optical black area can be corrected.
The correction data offset does not change with LVAL start and is constant with
the image raster. This data offset must be applied during the creation of the offset table. To create your own alignment test file simply create a FFC file, then edit the center
pixel gain value to be 32000. A white line will appear at the center point.
Note that the leftmost number in the FFC file data is not used by the loader and
can be used for user reference of offset data.
The FFC table is loaded using a sequence of character commands that are
acknowledged with a return character from the camera. Each command component
should wait for the return character and check its status.
The table must be loaded in two passes as the internal FPGA data path to the
LUT memory is only a single byte wide. The high byte is loaded in the first pass, then
the low nibble is loaded in the second pass.
SIZE = 4096 for FPGA revisions < E8, 8192 for FPGA revisions > E8
The command sequence for loading the FFC table is as follows:
Command Ack char Description
{w04421000F0} : Sets the FFC master gain to 1.0x
{w04430001FF} : !Optional FFC mode
= load from com port, save to EEPROM.
{w0440000000} : !FFC load command
> : !Starts the FFC load sequence
Send SIZE entries for the FFC LUT high byte
#xxxx : @Loads a byte to the FFC LUT
where xxxx = hex number high byte
Example: 0x1234 => 0x12
: $Indicates end of first sequence
Send SIZE entries for the FFC LUT low byte
&xxxx : * Loads a byte to the FFC LUT where xxxx = hex number low byte
Example: 0x1234 => 0x34
: %Indicates end of second sequence
Acknowledgement of load sequence
: ! Indicates end of FFC load
Once the FFC is saved into EEPROM it can be reloaded into the FPGA with:
(Note: FPGA revision E8 only !)
The two tap sensors require two sets of analog to digital converters and associated circuitry.
Along with variances in the sensor manufacturing
these two paths are rarely exactly the same. In addition the effects of temperature, optics and gain can
cause the tap imbalance to be visible.
Thus we need to balance the two taps through
the use of analog gain. The Automatic Tap Matcher
(ATM) uses the tap crack detectors to determine the
tap mismatch and then applies analog gain to attempt
to correct the imbalance.
The tap matcher runs at full speed of the crack
detectors (every 7 frames).
4 Tap readout requires top/bottom matching.
4 Tap process matches taps B to A, D to C. When
those are matched, D and C get moved together to
match B and A.
Applications that will benefit from the ATM are
Arial imaging, portrait photography, and microscopy.
Applications that should not use ATM are PCB and
LCD inspection, imaging with regular features and
fixed patterns and PIV particle fields.
Automatic Tap Matcher
Quick FAQ’s:
►The ATM is designed to work with randomly
changing images that present unstructured image data to the crack detectors.
►The crack detectors must be set to color
mode if the sensor is a Bayer pattern color device. It is a good idea to use the color mode all
the time with the ATM.
►The ATM on/off state is saved with the camera state.
►The ATM will change the analog gains by no
more than one count (up or down) on any given
correction.
►The ATM correction is scene dependent. If
the image data presented to the tap crack detectors is unbalanced then the ATM correction
will cause the taps to become unbalanced.
►The ATM correction is performed by adjusting
the right analog gain.
►NOTE: If the state of the camera is saved, the
ATM modified analog gains will also be saved.
Serial Commands
Target Index Command R/W Description
09 00 Tap Match On/Off R/W 0 = off. 1 = on
05 00 Camera mode R 0x0000 = read mode register 1
04 11 OSD modes Write 0x000a enable color mode
The RMV incorporates several video "detectors" that analyze imagery in real time.
The video detectors measure exposure, focus, SNR and tap-to-tap balance. The exposure detectors operate in several modes that allow the measurement of both image brightness and tap-to-tap matching. The focus detectors measure the sharpness
of the image and can be used for auto focus optics. In addition to the detectors the
windows of the detectors can be overlaid on the video image.
Detector Windows
Each detector has its own window that it uses for analyzing the video data.
The Auto Exposure (AED) and Auto Focus (AFD) detectors and Signal to Noise
Ratio (SNR) are updated on every image read from the sensor. The Tap Match
(TMD) detectors monitor the taps cracks on A, B, C and D. There are also detectors along the lines at the middle of the image (top and bottom TMD). The detector windows are:
the image within the auto exposure detector (AED) window.
The AED sums the values of the image data within the window. The top 15 bits of the summed data is output as the
AED data. The MSb of the AED is a negative logic flag
indicating that the data is valid. Thus if the highest bit
(0x8000) of the AED is set then the AED value is INVALID.
To change the AED position you must use the PIO twin
command write, this requires writing the data first and then
the address for the data second.
Serial Commands
Target Index Command R/W Description
04 1d Auto Exposure Detector
04 19 Show Detectors W 0x0002 = AE Window
04 1a Read Detectors R 0x0002 = AE Window
03
03
03
03
03
03
03
03
0c
13
0c
13
0c
13
0c
13
(Counter)
AE Detector Data
Top Register Address
AE Detector data
Right Register Address
AE Detector data
Left Register Address
AE Detector data
Bottom Register Address
Quick FAQ’s:
►Brightness is also called AED
►The AED window size is programmable.
►The small AED was designed to use a window size
of 1M pixel, thus a window of 1k x 1k pixels is
standard.
►The large AED window can measure up to 16Mpix,
►If the high bit of the AED is set then the data is not
vaild. Data can become invalid during a ASYNC
RESET mode and a triggered image .
►The AED window can be displayed as an overlay.
tered on the image area and 512 x 512 pixels in size. The
sharpness detector can be used as a auto focus detector
(AFD). The AFD calculates sharpness as the summation
of the difference of the pixels within the window.. The top
15 bits of the summed data is output as the AFD data.
The MSb of the AFD is a negative logic flag indicating
that the data is valid. Thus if the highest bit (0x8000) of
the AFD is set then the AFD value is INVALID.
Serial Commands
Target Index Command R/W Description
04 19 Show Detectors W 0x0003 = AF Window
04 1a Read Detectors R 0x0003 = AF Window
Quick FAQ’s:
►The AFD window size is fixed in the center of the
image.
►If the high bit of the AFD is set then the data is not
vaild. Data can become invalid during a ASYNC
RESET mode.
►The AFD window can be displayed as an overlay.
►The AFD data can be displayed as video data
showing either the first or second derivative.
►The AF value peaks sharply when the image is at
it’s maximum sharpness.
0x0007 = AF Data in AF Window
0x0008 = AF Data Full Screen
0x0009 = disable
determine how close the taps match in multiple tap systems. The TMD are single (or double in the case of color
mode) column and row wide windows that are located at
the sensor tap boundary. The TMD sum all of the pixels
in the window are over 4 frames. The TMD works best
with images that are not static. The TMD data does not
become valid until the 5th frame readout. The user must
implement a matching algorithm using these detector
values. It is recommended that the Digital Gain be used
for this.
A two tap readout can ignore TMD C and D
along with the TMD Top and Bottom. Two tap readout
only reads image data out of A and B taps.
Serial Commands
Target Index Command R/W Description
04 19 Show Detectors W 0x0000 = Tap A Crack
04 1a Read Detectors (Left—Right) R 0x0000 = Tap A/C Crack
FE 0D Read Detectors (Top– Bottom) R Top Line when BIT5 of PIO x57 is 0
04 11 OSD modes W 0x000a enable color mode
Quick FAQ’s:
►The TMD’s are used to determine the relative
brightness of the two and four sensor taps.
►The TMD’s can be displayed as an overlay.
►The color mode makes the TMD two pixels wide so
that the four colors of the Bayer pattern are sam-
pled.
►The TMD’s vertical limits are set by the AED win-
dow.
0x0001 = Tap B Crack
0x0009 = disable
0x0001 = Tap B/D Crack
A and B when BIT5 of PIO x57 is 0
C and D when BIT5 of PIO x57 is 1
tem noise and signal amplitude. From these measurements a signal to noise ratio can be calculated. See the
following section for the mathematics required to calculate SNR. By dividing the SNR sum values be the number of samples, the accuracy of the black clamping can
be measured. There are separate detectors for the left
and the right taps.
In 4 tap readout, there are two additional SNR
detectors.
Serial Commands
Target Index Command R/W Description
04 19 Show Detectors W 0x0004 = SNR Left
04 1a Read Detectors R 0x0004 = Left SNR Sum
Quick FAQ’s:
►SNR detectors are very useful for measuring cam-
era performance.
►SNR can be measured live and displayed as on
screen text.
►The SNR window position is programmable. Thus
the active imaging area can be used to measure
noise. Call or email info@illunis.com for details.
►The SNR window vertical limits are set by the AED
window.
0x0005 = SNR Right
0x0009 = disable
0x0005 = Left SNR Sum of Squares
0x0006 = Left SNR Number of Samples
0x0007 = Right SNR Sum
0x0008 = Right SNR Sum of Squares
0x0009 = Right SNR Number of Samples
0x000a = Left SNR Max Value
0x000b = Right SNR Max Value
A and B when BIT5 of PIO x57 is 0
C and D when BIT5 of PIO x57 is 1
The RMV can calculate SNR on each frame by analyzing the noise in the black
clamp areas of the CCD and measuring the maximum pixel brightness in the image
area. The detector measures:
N Number of pixels in SNR detector window
SUM Sum of the pixel values in the SNR window
SQR Sum of the square of the pixel values in the SNR window
MAX Maximum pixel value of the tap area intersected by AE window area
From these numbers we calculate
Bmean = SUM / N;
Bsdev = √ ((N * SQR - SUM * SUM) / ( N * (N -1)));
size of the video image output by the RMV camera link
signals. The RD’s count the number of pixels per line
and the number of active pixels per line. The RD’s also
count the number of lines per frame and the number of
active lines per frame. Because the RMV can be set to
any number of modes the RD circuit is vital to correctly
configuring your capture device.
Serial Commands
Target Index Command R/W Description
04 1b System Registers R 0x0000 = Read Pixels/line
04 14 Line of Interest R/W Line number from top of image (Plus FVAL start)
Quick FAQ’s:
►LVAL = Line VALid: This Camera Link signal indi-
cates when pixel data is valid with a line.
►FVAL = Frame VALid: This Camera Link signal
indicates when line data is valid with a Frame.
►LVAL start and stop define a lines active pixels and
are in some weird internal FPGA counting unit.
►FVAL start and stop define a frames active lines
and are directly related to the sensor design.
►The Raster line detectors use the “line of Inter-
est” line from the On Screen line plot function
to determine which line is measured. The line
of interest must be in the visible image data or
these detectors will read zero !
0x0001 = Read Active pixels/line (in LVAL)
0x0002 = Read Lines per frame
0x0003 = Read Active lines per frame (in FVAL)
tained though a solid state device located on the CCD
PCB. The temperature sensor is located as close as
possible to the warmest component in the camera. The
temperature sensor doe not read the CCD temperature.
Serial Commands
Target Index Command R/W Description
04 07 Camera Temperature R Temperature in degrees Celsius
Example
Read 0x003D = 61(decimal) degrees Celsius
Quick FAQ’s:
►Temperature is read in degrees Celsius.
►Temperature accuracy is 0.5 degrees.
6.7: Image Detectors
Frame Counter
A Frame Counter is implemented in the RMV
FPGA. Each frame read has a unique count. You can
read the frame count immediately after the rising edge of
FVAL. The frame counter is displayed in the On Screen
Quick FAQ’s:
►The frame counter is a 16 bit counter that rolls over
to zero when the maximum count of 65535 is
reached.
Serial Commands
Target Index Command R/W Description
04 1A Read Detector R 0x000A = Frame Counter
04 1A Reset Frame Counter to Zero W 0x000A = Reset to Zero
6.8: Image Detectors
Built In Test
Built In Test (BIT) is a key feature of the RMV
cameras that indicate hardware, software and communication faults. Use the status registers to determine the
BIT status.
Serial Commands
Target Index Command R/W Description
04 0c Micro Power On
ured with a very high resolution counter circuit. The
counter contents are cleared on the electronic erasure
pulse and saved on the photo diode transfer pulse. The
count resolution is the pixel clock so a very accurate
measurement of the exposure can be made.
Serial Commands
Target Index Command R/W Description
04 0x27 Camera Exposure R 0x12 = Low Word (2 bytes)
Trigger
SUB (Erase)
Strobe
QuickFAQ’s:
Quick FAQ’s:
►TemperatureisreadindegreesCelsius.
►Exposure is measure in pixel clock periods
►Temperatureaccuracyis0.5degrees.
For a 40Mhz clock the period is 0.025usFor a 30Mhz clock the period is 0.033us►The maximum count is 4294967295 (0xFFFFFFFF)For a 40Mhz clock the maximum is 107 secondsFor a 30Mhz clock the maximum is 143 seconds
The RMV can be configured as a color camera by
utilizing a Bayer patterned sensor. For optimum processing of the Bayer pattern the gains of the two green
pixels within each pattern must be matched for uniformity. The RMV incorporates a special circuit that
measures a 32x32 pixel area (consisting of 16x16
Bayer quads) for brightness of each of the Bayer colors. Each of the Bayer colors is integrated over the
32x32 pixel area and are read from the CL detector
circuit. The detector can be selected for the left side
tap or the right side tap. Wait 2 VSYNCS after changing this bit before reading the GNU/WB data.
Serial Commands
Target Index Command R/W Description
04 1b Read WB/GNU detector R 0x0019 = clr0 (GREEN-RED)
04 35 WB/GNU tap select R/W 0x0000 = left tap (Power on default)
Quick FAQ’s:
►To use the detectors for white balance place the
detector location on a calibrated gray color patch
and adjust the RGB values to be the same.
►To use the detectors for GNU place the detector
location on a uniform green patch and balance the
Green values to be the same.
►The detector window can be seen by activating the
AE detector window. The WB/GNU is the small
window in the center.
►Wait 2 vsyncs after selecting or changing the WB/
GNU detector settings before reading the detector .
►The WB/GNU detector is read as 16 bit value while
brightness of the image within the auto exposure detector
(AED) window. The Saturated Pixel Counter (SPC) is used
to count the number of saturated pixels within the AED window. The SPC has a maximum value of 16 million pixels.
The SPC represents the top 16bits of a 24 bit counter that
counts pixels whose upper seven bits (of a twelve bit sample) are all ones.
Serial Commands
Target Index Command R/W Description
04 1a Read Detectors R 0x000D = # Sat Pixels
04 1a Read Detectors R 0x001D = # Sat Pixels (older version)
03
03
03
03
03
03
03
03
0c
13
0c
13
0c
13
0c
13
AE Detector Data
Top Register Address
AE Detector data
Right Register Address
AE Detector data
Left Register Address
AE Detector data
Bottom Register Address
Quick FAQ’s:
►The Saturated Pixel Counter (SPC) uses the AE
window as the ROI for measurement.
►The AED window size is programmable.
►The SPC register value must be multiplied by 256
to calcutate the total number od saturated pixels.
►The SPC is useful for determining the set point in
The Brightness detector is used to measure the
brightness of the image within the auto exposure detector
(AED) window.
The Exposure Histogram Detector is used to
measure the number of pixels at specific brightness levels
through the concept of bins. Bins are used to count the
number of pixels within two ADC values that occur in the
AED window. The bin sizes are determined by three register values that define points in the ADC count. There are
five bins. The typical usage of the bins are: BIN0 is used
for black measurement, BIN1 and BIN2 are used to measure mid range, BIN3 is used to measure bright points and
BIN4 is used to measure saturated pixels.
In addition to the histogram bin counts a reference
count of the number of pixels in the AED window is provided. This reference count can be used easily to calculate
percentages of pixel counts within the bins.
Serial Commands
Target Index Command R/W Description
04 1a Read Bin and AED size values R 0x0011 = Bin #0
03
03
04 19 Show Detectors W 0x000A = Blooming
0c
13
AE Histogram Point
Register Address
Quick FAQ’s:
►The Saturated Pixel Counter (SPC) uses bin 4.
►The bin register values are in units of 16 DN.
►The PT1 value is usually 4X the black clamp
►The PT2 value is usually one half the max count
►The PT3 value is usually 85% the max count
►Typical register values for the points are
The eRugged nature of the RMV name comes in part from the cameras ability to display performance and image data as on screen overlays. The RMV FPGA contains circuits that can do the following:
Display On Screen Text with:
Programmable character font.
128x32 character screen memory.
Screen memory can be positioned anywhere on image.
Text can be normal or double size.
Text can have transparent or opaque backgrounds.
Display a plot of video data with:
Horizontal (line plot) or Vertical (column plot) display.
Selectable line/column of interest for display.
Selectable baseline position for the plot data.
Scalable plot size from 1 pixel to full scale (4095).
Plot can be drawn as a single line or as a bar plot.
All data can be plotted, including the over scan areas.
In addition to the on screen displays the RMV has several image detectors that are used to calculate
performance data in real time. The data is analyzed and displayed using the On Screen Text feature.
The following screen image shows some of the on screen functions in operation.