Silicon Imaging

SI-6600 MegaCamera

6.6 Million Pixel Progressive Scan Digital Camera

Revision 1.5

April 18 2005

  • 6.6 Million Pixels
  • 3.5 um Square Pixel
  • 3002 x 2210 Portrait Sensor
  • Rolling Shutter
  • Windowing and Subsampling
  • 7~200 Frames per Second
  • 10 Bit Digital Sampling
  • Mono or Bayer Color
  • USB2.0 High-Speed Interface

**** Company Confidential ****

SI-6600-M & RGBMegaCamera™
6.6 Megapixel (3002 x 2210), Portrait Image
USB 2.0 High-Speed 480Mb/sec Digital Camera
INTRODUCTION
Silicon Imagingis proud to continue its innovation in ultra-high resolution machine vision camera. Driven by the growing demand for consumer Digital Still Cameras, CMOS sensors are continuing to break technical barriers and surpass the performance characteristics of CCD’s in many photonic, imaging and consumer applications. By utilizing a single highly integrated CMOS device, which incorporates Megapixel sensing areas, timing generation, signal processing and high bandwidth outputs, Silicon Imaging has developed a very compact, low-power, ultra high speed Megapixel digital camera system.
2208 x 2960 Megapixel Imaging - Ultra Resolution
The SI-6600 is an all-digital CMOS camera that delivers 6.6 Million pixels of resolution and is capable of running at 6 frames/second at its full 2210 x 3012 resolution. The entire package is only 45 x 52 x 50mm (33 x 40mm x 22mm in PCB) and is small enough to placed on a robot for semiconductor machine vision inspection or placed in an outdoor housing for remote surveillance. It is ideal for live visualization of documents or films and scanning of biometrics for handprint or facial recognition.
10-Bit Pixel Clock Sampling – Sub-Pixel Accuracy
The SI-6600 MegaCamera uses 10-Bit digitizers to sample the pixel data. Converting the pixel data directly to digital at the sensor head eliminates pixel-sampling jitter and enables accurate sub-pixel metrology, image analysis and improved live video reconstruction. A programmable clock which ranges from 7~40MHz allows for trade-offs in speed versus exposure time and lower noise.
200 FPS - Windowing & Subsampling
Ideal for object tracking and high-speed Motion analysis, the SI-6600 is capable of generating imagery at over 200 frames per second by reducing the size of the readout image (ex. 100x100). This windowed Region-of–Interest (ROI) can be moved dynamically, creating an entirely electronic pan/tilt/zoom function within the camera field-of-view.
USB2.0 Bus-Powered – 40MB/sec Transfers
For low-cost and portable connectivity, with data transfer rates up to 40MB/sec, the SI-6600U provide convenient capture using the High-Speed 480Mb/sec USB 2.0 interface. It is a bus-powered unit, consuming less than 500mA at 5VDC and will operate without any external power supply. The precision-machined C-mount housing includes an integrated tethered USB cable. For OEM board level configurations, two General Purpose Outputs are accessible; Pull-Up and pull-down driven transistors to be used to control light sources and switches.
Microsoft-XP™ Live Mode Kernel Driver - Fast captures
For applications which require a combination of high-resolution and streaming high-frame rate video images, Silicon Imaging has developed a custom driver which can request and capture double buffered images at the driver level. This method enables immediate request to camera for next image without user level software intervention. The double-buffers allow one image to processed by the host PC, while another image is being readout from the camera and filled into the user allocated memory space. /

FEATURES

·2210 x 3002 Resolution (6.6Million Pixels)
·Rolling Shutter, Progressive scan
·1” Imaging Format , 3.5um Square Pixel
·Windowing and Subsampling
·10 Bits per Pixel, 7~40MHz Sampling
·High Speed Readout (6 ~ 200FPS)
·Region-of-Interest (ROI) windowing
·Gamma & NDR Readout
·Programmable Gain, Offset, Clock, Exposure
·External Clock Synchronization (option)
·Monochrome & Color Bayer RGB Models
·5VDC Low Power, Small Package
·C-Mount Housing or PCB versions
·USB 2.0 High-Speed Interface
SI-6600 USB2.0 MegaCamera Specifications
Sensor:
Size / 1” (7.7mm x 10.5mm); portrait mode
Active Pixels / 2,210H x 3,002V
Pixel Size (pitch) / 3.5 µm x 3.5 µm
Pixel Type / CMOS ; 3 transistor; active pixel; rolling shutter
Pixel Aspect Ratio / 1 : 1
Spectral Response *FF / Peak: 0.12 A/W
Average: (550-700 nm) ; 0.1 A/W
Peak QE x FF / 20% Monochrome @ 500nm-630nm
Conversion Gain / 33 uV/e-
Sensitivity / 250 V per Ws/m
Dark Current @ 21°C / <30 mV/s for 99% of pixels
Temporal Noise / 24 e- at digital output
Output Swing / 0.8 V
Dynamic range / 61dB; 1100:1 Typical
Fill Factor / 35%
Optical Cross Talk / 15% to nearest neighbor
4% to second neighbor
FPN / 0.35% (RMS% of saturation)
PRNU / 1.5% (RMS % of signal)
Black Level / Level & Odd/Even Balanace
Parasitic Sensitivity / < 1 %
Dual Slope / Yes; multiple slopes
Pixel Rate / 40 MHz nominal (7-45MHz program)
Shutter / Rolling; windowing and ROI
Spectral Sensitivity / 400 – 1000 nm
ADC / 10 bits
A/D Conversion & Sampling Clock Synthesizer
A/D Conversion / Nominal 35Mhz (24fps @ 1.0MP)
Vertical Resolution / 10 Bit
Pixel Clock Frequency / 7 ~ 40 Mhz Programmable
Digital Video Output
Readout Format / 8-bit or 16bit (10-bit data)
Readout Rate / 7 ~ 40Mhz ( 8bit format)
7~ 25Mhz (16-bit format)
Max Transfer Rate / ~ 40MB/sec(ICH4 or higher)
Frame Rate
2048 x 2960
1024 x 1024
1280 x 720
1024 x 768
640 x 480
320 x 240 / 40MHz
6
30
35
40
85
220 / 20MHz
3
15
17
20
42
110
Row Time / clocks/row / Clock =Row_Time
1524 / 40MHz = 38.1usec/row
Exposure Time / N-Row Times
/ USB2.0 High-Speed Interface & Control:
USB Speed / 480Mb/sec (High-Speed)
Serial Communication / Endpoint 0, Vendor Protocol
Data Interface / Endpoint 2, 2K FIFO
Programmable Modes / Exposure, Gain, Windowing, Clock rates, Gamma
Region-of–Interest / Programmable Horiz & Vertical
Global Gain / Range: 15X
Setting Timing / Next top of Frame
Ext Clock Sync / Clock in or Clock Out (-X Option)
External Triggers / TTL Trigger-In / Strobe-Out
w/3-Pin connection (option)
Power
Input Voltage / +5 VDC +/- 10% < 500mA
Power Consumption / 2.0 Watts
Trigger Connection (opt) / Tajimi RO3-PB3M 3Pin (optional)
Connection / USB Bus Powered
Mechanical
Lens Mount / C-Mount, 7mm Back focus Adj.
Enclosure Size / 45mm W x 52mm H x 50mm L
Weight / 8.5 oz. / 240g
Camera Mount / ¼” x 20 standard tripod mount
Cable Connector / USB-A Cable Integrated
Spectral Response

SI-6600 Ordering Information

SI-6600U -M or -RGB / 6 Megapixel USB2.0 Camera, M=Monochrome, RGB = Bayer Color
-PCB / PCB (33x40mm) Version of Camera. No housing included.
-T / External Trigger & strobe with 3-Pin Connection and Trigger/Strobe Breakout Cable
-X / External Clock-In & Clock out camera. Must be ordered as a Master-Slave configuration
Camera Architecture Overview

The MegaCamera SI-6600 consists of 6 major component sections, which are built on two circuit boards.

1.)6.6 Megapixel Sensor

2.)Digital Clock Synthesizer

3.)10-Bit Digitizing System

4.)Microprocessor

5.)USB 2.0 Interface

6.)Camera Control Systems and Power


PCB OEM Version
44 x 33 x 14mm - 2PCB
Actual size

1)6.6 Megapixel CMOS Image Sensor (2210 x 3002)

The MegaCamera SI-6600 utilizes a proprietary portrait style 6.6 Million pixel high-speed CMOS image sensor. Each pixel is 3.5um square, ideal for image processing, and the entire array fits the 1” format for flexible optic choices. This reduction in process geometry allows for both an increase in transistors and fill factor without compromising performance, plus offers more advanced readout controls, greater speeds and lower power dissipation. This new sensor technology offers a more responsive pixel design with added circuitry for increased dynamic range, greater sensitivity, decreased fixed pattern noise and low dark current for long exposure applications. Unlike CCD, which leak charge to adjacent pixels when the registers overflow (blooms), the SI-6600 provides inherent anti-blooming protection in each pixel, so that there is no blooming.

The array has 2210 pixels on a line and 3002 rows, which result in a near 3:4 portrait aspect ratio. The image can be rotated 90-degrees to obtain a 4:3 image. In addition, by using the windowing feature, a 16:9 aspect ratio (eg. 1280x 720) or 1:1 aspect ratio (1024 x 1024) are available. At smaller ROI sizes (eg. 128 x 128) frame rates in excess of 1000fps.

The SI-6600 MegaCamera achieves high data rates by simultaneously accessing two adjacent pixels at a time and reading them out sequentially. These pixel values feed thru a gain & offset amplifier and then to on-board dual 10-Bit A/D converters and placed onto a 12-bit data bus for transmission. The entire imager field of view can also be readout using subsampling. In this mode, 2 pixels are readout and a group of pixels are skipped. As fewer pixel are output, the frame rate increases.

In a color model, a Bayer filter covers each of the pixels to produce a pattern of values that represent the color information, which must be processed and interpolated to obtain an RGB value per pixel. The 12-bit output format from the camera is identical for monochrome and color models.

SI-6600 QE Performance & Response Curve

The following figure shows the 6600 spectral response characteristics. The curve is measured directly on the pixels. It includes effects of non-sensitive areas in the pixel, (e.g. interconnection lines).

The camera sensor is light sensitive between 400 and 1000 nm. The peak QE * FF is 22.5% approximately between 500 and 700 nm. In view of a fill factor of 35%, the QE is thus close to 70% between 500 and 700 nm.

Photo-voltaic response curve

The figure above shows the pixel response curve in linear response mode. This curve is the relation between the electrons detected in the pixel and the output signal. The resulting voltage-electron curve is independent of any parameters (integration time, etc). The voltage to electrons conversion gain is 37 µV/electron.

2)10-Bit Digital Sampling System

A 10-Bit Analog-to-digital (A/D) converter samples each pixel value and quantizes it into 1024 levels, as it is clocked out of the sensor. Pixel clock sampling ensures precise measurement of the photonic charge without the jitter and sampling uncertainty associated with traditional analog video systems, such as RS-170 and CCIR. The camera produces images which can deliver improved photometry accuracy and sub-pixel metrology. The use of 10-bit converters versus traditional 8-bit systems further enhances the image dynamic range. The combination of 10-bit vertical resolution and pixel clock sampling provide precise sub-pixel measurement accuracy (ex. 1/10 pixel).

3)Digital Clock Synthesizer & 8/16-Bit Transfer Modes

A wide range a master clock frequencies (eg. 7 to 40MHz) can by precisely generated using the Digital Clock Synthesizer. The clock rate adjustment can be used to tradeoff speed versus bit depth. For example, the camera can be programmed to operate at 40MHz (40MB/sec burst transfer rate) in 8bit mode. Then, to get 10-bit per pixel, the user can switch to 16-bit mode and operate at 20MHz and still maintain continuous transfers within the 40MB/sec limits.

4)Embedded Microprocessor

A microprocessor in the camera provides the control interface between the PC and the functional block in the camera (Sensor, Clock Synthesizer, Register Memory, Channel Link Interface & Serial port (CameraLink). The Microprocessor receives commands thru the LVDS level serial port and issues commands to the other devices. It also can store preset values for camera setting, which can be recalled with single ASCII character commands. Several digital I/O or analog sampling signals are available on the processor from PCB header points for custom OEM applications.

5)USB 2.0 Interface

The SI-6600U provide convenient capture using the High-Speed 480Mb/sec USB 2.0 interface. It is a bus-powered unit, consuming less than 500mA at 5VDC and will operate without any external power supply. The precision-machined C-mount housing includes an integrated tethered USB cable and optional 3-pin trigger/strobe connection. For OEM board level configurations, two General Purpose Outputs are accessible; Pull-Up and pull-down driven transistors to be used to control light sources and switches. A USBdriver is provided which provides additional functionality for high-speed image capture and event notification.

Introduction to USB Communication

Vendor Requests – Endpoint-0 Communication

All camera controls and programming are done at the lowest level USB communication using Vendor Requests (VR). The VR’s codes have been assigned by Silicon Imaging, “the vendor” and their functions are defined in the following section.

The Vendor Request can be used to change all camera settings or the high-level API can be used to perform the same functions. The INFO-tab of MegaXV, provides a convenient method for sending these commands and seeing the results.

The basic Vendor Request provides the following fields:

Vendor Code: 8 bits
Value: 16 bits
Index: 16 bits
Length: 16 bits
Direction:1 bit, (IN (1) or OUT (0))

A non-zero length vendor request implies an endpoint 0 (EP0) data transfer, which is either IN or OUT. A "Hex Bytes" input field is provided in the control panel window and holds the data for OUT transfers.

TransferCamControlData( )

The following is the Silicon Imaging API function used to send any vendor request command:

int TransferCamControlData (int iCamNumber, int iVendorRequestCode, int iIndex, int iValue, int iDirection, int iBufferSize, unsigned char* buffer) ;

Description:

Downloads or uploads arbitrary Endpoint-0 control data to the camera registers.

Arguments:

iCamNumber – number of camera device

iVendorRequestCode -vendor request code

iIndex – Camera register or value (16 bits)

iValue – data value per command(16 bits)

iDirection – 1 (IN) - upload from camera to host and transmit commands with return strings

0 (OUT) - download from host to camera

iBufferSize – number of bytes to transfer to/from register specified by the iIndex value

*buffer – pointer to buffer containing control information (typ recived from the camera for 1=IN)

A non-zero Length Vendor Request implies an EndPoint 0 (EP0) data transfer, which is either IN or OUT.

SI-6600 USB VENDOR CODES

VR / Function / Value / Index / DIR / Buffer / Description
0x94 /

Write Register

/ xVVVV
Value
To
Write
Into
register / xRRRR
Register
To
Write / 1 / 0 / 0x00 / Chip ID
0x01 / Row Start
0x02 / Column Start
0x03 / Window Height
0x04 / Window Width
0x05 / Horizontal Blanking
0x06 / Vertical Blanking
0x09 / Exposure
0x0C / Shutter Delay
0x1E / Subsampling
0x20 / Subsampling 2
0x2B / Green1 Gain
0x2C / Blue Gain
0x2D / Red Gain
0x2E / Green2 Gain
0x35 / Global Gain
0x94 /

Read Register

/ 0 / xRR
Register / 1 / 2 / Read Register (16-bit) response
0xE1 / Read Firmware Version / 0 / 0 / 1 / 16 / Issue an IN transfer of Length 16 to Read Firmware Version. The Value and Index fields are ignored. The returned string will contain ASCII characters, and the last byte will be zero.
0xE7 / Read Serial Number / 0 / 0 / 1 / 16 / To read Serial Number String from the Camera,issue an IN transfer of Length 16 bytes. The Value and Index fields are ignored. The returned string will contain ASCII characters.
0xE4 / Write Flash memory (OUT) / 0 / 0x0000
to 0x00FF / 0 / 32 / An OUT transfer of 16 is used for storage of 32 words of 14bit values. The Index field is used to address 256 blocks(0xFF) of memory. The first byte and every odd byte contain only 6 usable bits. The Value field is ignored. This command is used in firmware upgrades, but the data storage can be used for other function
0xE4 / Read Flash memory
(OUT)
Note: This memory space is used in firmware upgrades and will overwrite any user data stored in this memory. / 0 / 0x0000 - 0x00FF / 1 / 32 / An IN transfer of 32 is used to read 16 words of 14bit values. The Index field is used to address 256 blocks (0xFF) of memory. The first byte and every odd byte contain only 6 usable bits. The Value field is ignored. This command is read arbitrary data stored by the Write Flash command.
0xE4 / Upgrade Firmware (IN)
WARNING! Please wait 30 seconds before unplugging the camera to allow the upgrade to complete. / CODE / 0 / 1 / 4 / An IN request of Length 4 will expect a firmware upgrade code (from factory) in the Value field (length 16 bits – 4 hex). Index field ignored. If theCODE does not match, the returned 4 bytes will contain the ASCII "FAIL". If thecodedoes match, the 4 bytes of data returned will be "DONE". After the firmware update is done, the USB Camera should be reboot (unplug and replug). The new firmware will then be active.
0xE8 / Read CPLD code / 0 / 0 / 1 / 4 / An IN transfers of Length 4 bytes will return theCPLD Firmware Code.

SI-6600 Sensor Register Programming

0 / 10:0
(x000) / READOUT / Bit 0: 0= Normal, 1= Non-Destructive read(NDR)
Bit 1:2 NDR Mode
Bit 10 0=normal, 1= output DAC_Dark
1 / 10:0
(x457) / WIDTH /2
Number of pixels to count (X direction). / Pixels in row.
Width Max. 2222/2 = 1~1111
2 / 11:0
(xbc5) / HEIGHT
Number of lines to count (Y direction). / Rows in frame
Height Max. 3014 = 1 ~ 3014
3 /

11:0

(xb93)

/

INT_TIME

Exposure Counter

/ Exposure time = HEIGHT - INT_TIME + 1
Note: Register must be Less than Height
5 / 6:0
(0x000) / Begin_Column (X-origin)
= X / 24 / X start position (0 to 98).
This register determines the start position of the window in the X-direction in steps of 24.
6 / 7:0
(0x000) / Begin_Row (Y-origin)
= Y / 24 / Y start position (0 to 137).
This register determines the start position of the window in the Y-direction in steps of 24.
7 / 7:0
0x000) / SUBSAMPLING
Bits 0,1 = 0
Bits 7:2 = Subsampling
X-direction (bits 2:4)
Y-direction (bits 5:7) / Subsampling / Reg 7
1:1 / 000
1:4 / 024
1:9 / 048
1:16 / 06c
1:36 / 090
8 / 4:0
(0x003) / GAIN
Bits 3:0 Output amplifier gain setting
(see table)
Bits 4 1 = unity gain
0 = setting by GAIN<3:0>
All other bits set to 0 / Gain / Bits (0:3) / Reg 8
1.36 / 0000 / l000
1.64 / 0001 / 001
1.95 / 0010 / 002
2.35 / 0011 / 003
2.82 / 0100 / 004
3.32 / 0101 / 005
3.93 / 0110 / 006
4.63 / 0111 / 007
5.40 / 1000 / 008
6.35 / 1001 / 009
7.44 / 1010 / 00a
8.79 / 1011 / 00b
10.31 / 1100 / 00c
12.36 / 1101 / 00d
14.67 / 1110 / 00e
9 / 7:0(0x050) / BLACK LEVEL (256 levels) / Black level offset for both odd and even columns
Values: 0~255
a / 7:0(0x040) / COLUMN BALANCE (256 levels) / Odd/Even amplifier balance
Values: 0~255
b / 7:0(0x040) / DAC Dark (256 levels) / Sets the voltage level that is put on the internal busses during calibration of the output stage.
c / 7:0 (0x000) / ADC Settings / Bit 9 GAMMA CURVE ( 0 = linear, 1 = ‘gamma’)
Bit 10 INVERT (0 = normal ,1 = inversion of bits)
All other Bits set to 0!
SI-6600 Digital Clock Synthesizer Programming

The SI-6600 has a Digital Clock Synthesizer capable of generating a range of frequencies from 7MHz to 50MHz. The pixel data output rate is the same as the sampling clock rate. A range of preset frequencies are listed below: The clock frequency is programmed use of a 0xE2 vendor request and the following API functions.

Index / Clock Rate
(Mhz)
0 / 7
1 / 8
2 / 9
3 / 10
4 / 15
5 / 20
6 / 25
7 / 30
8 / 35
9 / 40
10 / 41
11 / 42
12 / 43
13 / 44
14 / 45
15 / 50

API FUNCTION:

SI_ReadClockFile(char* cCamClockFile, int* iClockTableSize, CLOCKSETTING* ClockSettings)

SI_SetClock ( int iCamID, int iCamClockMode, CLOCKSETTING* ClockSettings)

SI_SetClockB ( int iCamID, int iClockIndex)

SI_ReadStatusClock (int iCamID, int* iStatus, int* iClock)

Frame Rate Calculation

Each row of the image requires and additional 142 clocks of blanking to perform readout. Therefore to calculate the frame rate for any clock rate the equation is: