silicon imaging si-6600 megacamera 6.6 million pixel progressive

26
Silicon Imaging , Inc. 2004 Page 1 of 26 Company Confidential Silicon Imaging SI-6600 MegaCamera 6.6 Million Pixel Progressive Scan Digital Camera Revision 1.5 April 18 2005 o 6.6 Million Pixels o 3.5 um Square Pixel o 3002 x 2210 Portrait Sensor o Rolling Shutter o Windowing and Subsampling o 7~200 Frames per Second o 10 Bit Digital Sampling o Mono or Bayer Color o USB2.0 High-Speed Interface **** Company Confidential ****

Upload: others

Post on 03-Feb-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Silicon Imaging , Inc. 2004 Page 1 of 26 Company Confidential

Silicon Imaging

SI-6600 MegaCamera���� 6.6 Million Pixel Progressive Scan Digital Camera

Revision 1.5 April 18 2005

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

**** Company Confidential ****

Silicon Imaging , Inc. 2004 Page 2 of 26 Company Confidential

SI-6600-M & RGB MegaCamera™ 6.6 Megapixel (3002 x 2210), Portrait Image USB 2.0 High-Speed 480Mb/sec Digital Camera�������������������� �

INTRODUCTION Silicon Imaging is 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.

��������

· 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

Silicon Imaging , Inc. 2004 Page 3 of 26 Company Confidential

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

�������� �����������������������������

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

Silicon Imaging , Inc. 2004 Page 4 of 26 Company Confidential

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

Silicon Imaging , Inc. 2004 Page 5 of 26 Company Confidential

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.

Silicon Imaging , Inc. 2004 Page 6 of 26 Company Confidential

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.

Silicon Imaging , Inc. 2004 Page 7 of 26 Company Confidential

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.

Silicon Imaging , Inc. 2004 Page 8 of 26 Company Confidential

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 USB driver is provided which provides additional functionality for high-speed image capture and event notification.

Silicon Imaging , Inc. 2004 Page 9 of 26 Company Confidential

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.

Silicon Imaging , Inc. 2004 Page 10 of 26 Company Confidential

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 the CODE does not match, the returned 4 bytes will contain the ASCII "FAIL". If the code does 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 the CPLD Firmware Code.

Silicon Imaging , Inc. 2004 Page 11 of 26 Company Confidential

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!

Silicon Imaging , Inc. 2004 Page 12 of 26 Company Confidential

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:

( clock rate(Hz) ) = # Frames Per Second (fps) ( # of columns + 142) * ( # of rows)

Example: What is the frame rate, at 45MHz clock rate for an image size of 1280 x 1024?

45 x 106 = 30 Frames Per Second (fps) ( 1280 + 142) * (1024) *** Subsampling frame rates are based on the resulting size of the subsampled image or window. In order to obtain the increase frame rate the Width and Height Registers (1 & 2) must be set to the size of the desired output image.

Silicon Imaging , Inc. 2004 Page 13 of 26 Company Confidential

Rolling Shutter Exposure - Register 3 The exposure time for each frame can be adjusted using the camera’s electronic rolling shutter. The amount of exposure or integration time, is set by loading a row counter into Register 3. This register is the number of row times the imager is not exposing. Therefore, the exposure will depend on the height (Register 2).

Row Time = (# of pixels in Row + 142) * clock rate Exposure = Row_Time * (Height - Register 3 + 1)

In Rolling shutter, each line in the image has the same amount of integration, however the start and end time of integration is shifted in time as the image is scanned (rolled) out of the sensor array, similar to a curtain shutter of a SLR film camera. Although it is a pure electronic operation, the shutter seems to slide over the image.

Reset line

Read line

x

y x

y

Time axis

Line number Reset sequence

Frame time Integration time

An object, which moves during the typical 1/30sec readout time, can display a stretched or skewed perspective, in the direction of motion. For example, a vertical line can appear tilted if the object moves several horizontal pixels during readout. The faster the object moves the larger the tilt. The crispness or detail of the line will be determined by the shutter speed (integration time). It will not appear smeared if the shutter speed is shorter than the full frame time. This artifact can be minimized by maintaining the shortest possible readout time (faster clock). The benefit of rolling shutter mode, is that exposure and readout are overlapping, enabling full frame exposures without reducing frame rate. The following is a table of commands to set shutter speeds in Register 3, based on full image size (2210 x 3002).

Shutter Speed

Number of Rows 58.8 usec/row (40MHz)

Register Value (3002 – # of rows)

Register Command ly3 xxx <cr>

1/10 1700 1302 516 1/30 567 2435 983 1/50 340 2662 a66 1/60 283 2719 a9f

1/100 170 2832 b10 1/250 68 2934 b76 1/500 34 2968 b98 1/1000 17 2985 ba9 1/4250 4 2998 bb6

** Note: Exposure_Time must be set less than the number of rows (Height: Register 2) in the image. API FUNCTION:

SI_SetExposureValue (int iCamID, int iExposure)

Silicon Imaging , Inc. 2004 Page 14 of 26 Company Confidential

Window Size and Position – Registers 1, 2, 5, 6 The frame size and readout position is selected through the programming of registers 1, 2, 5 and 6.

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

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.

Pixels are always readout in pairs to preserve color bayer patterns in subsampling. Therefore, the Width register can only be set in increments of 2. The Height register can be selected to any number of rows.

The beginning row and column of readout can be set in steps of 24 pixels, the lowest common multiple of the subsampling modes. This step size enables nuber of choices for the Begin_Row register to be 99 and Begin_Column register to be 138. To place a 640 x 480 window at starting coordinate 1080, 1272

Reg 1 140 WIDTH to ( 640 / 2 ) = 320 (0x140h) Reg 2 1df HEIGHT to 480 (0x1F0h). Reg 5 02d BEGIN_COLUMN to 1080/24 =45 (0x02dh). Reg 6 035 BEGIN_ROW to 1272/24 =53 (0x035h).

API FUNCTIONS:

SI_InitWindowMode (int iCamID, int iStartRow, int iEndRow, int iStartColumn, int iEndColumn, int iFrameTime, int iExposureTime) SI_SetRowStartEnd (int iCamID, int iStartRow, int iEndRow) SI_SetColStartEnd (int iCamID, int iStartColumn, iEndColumn) SI_SetWindowPosition (int iCamID, int iStartRow, int iStartColumn) SI_SetWindowPositionExposure (int iCamID, int iStartRow, int iStartColumn, int iExposureTime)

Silicon Imaging , Inc. 2004 Page 15 of 26 Company Confidential

Subsampling – Register 7 The complete Field of View (FOV) of the camera can be seen at reduced resolution and higher frame rates by skipping groups of pixels (aka. Subsampling). Several subsampling modes are provided from 2x for 6x in both x and y (row or columns) directions. It is also possible to set subsampling ratios in x and y, independently.

Register 7 (0x000)

Subsampling-X 7:0 Bits 0,1 = 0 Bits 2:7 = define the sub-sampling mode X-direction (bits 2:4) Y-direction (bits 5:7)

Command Subsampling

000 1:1 024 1:4 048 1:9 06c 1:16 090 1:36

To preserve the bayer color information, 2 adjacent pixels are read in any mode, while the number of pixels that is skipped, varies from mode to mode.

iSubSampMode Subsampling XxY Reduce Read Step Skip Resolution 40MHz (fps) A 1 1:1 1x1 2 0 0 2210 x 3002 5.7 B 2 1:4 2x2 2 4 2 1106 x 1502 21.3 C 3 1:9 3x3 2 6 4 738 x 1002 45.4 D 4 1:16 4x4 2 8 6 554 x 752 76.4 E 6 1:36 6x6 2 12 10 370 x 502 155.6

NOTE: In order to obtain the increase frame rate the Width and Height Registers (1 & 2) must be set to the size of the desired output image.

API FUNCTIONS:

SI_SetSubsampleMode (int iCamID, int iSubSampMode) // Modes = 1,2,3,4,6

Silicon Imaging , Inc. 2004 Page 16 of 26 Company Confidential

1:1 (1x1)

1:4 (2x2) 1:9 (3x3)

1:16 (4x4) 1:36 (6x6)

Silicon Imaging , Inc. 2004 Page 17 of 26 Company Confidential

Gain, Offset & Balance – Registers 8, 9, A & B Each pair of pixels is output thru a differentail amplifier which subtracts the reset (R) voltage and signal (S) voltages from each other to cancel out FPN as much as possible (Stage 1).

8 4:0 GAIN

Bits 3:0 Output amplifier gain setting (1x ~ 14.67x) Bits 4 0 =setting by GAIN<3:0> , 1 = unity gain All other bits set to 0

9 7:0

BLACK LEVEL (128 levels)

Black level offset for both odd and even columns Values: 0~127

A 7:0 COLUMN BALANCE (128 levels) Odd/Even Amplifier Balance

Values: 0~127

B 7:0 DAC Dark (128 levels) Voltage level put on the internal busses during calibration

of the output stage.

The black level adjustments consists of 2 DACs (DAC_Raw & DAC-Fine). The main offset DAC_raw is adjusted with Register 9 (BLACK LEVEL) and adjusts both odd and even columns. The DAC-fine allows fine-tuning of the offset difference between the signal paths arriving at the two amplifiers A1 and A2, using Register A (COLUMN BALANCE). There are 128 possible levels for offset and balance.

The third DAC (DAC_dark) puts its value on the busses during the calibration of the output amplifier. In case of non-destructive readout (no double sampling), bus1_R and bus2_R are continuously connected to the output of the DAC_fine to provide a reference for the signals on bus1_S and bus2_S. The non-destructive readout capability is not currently implemented in the camera. The FPN corrected data is fed to programmable gain amplifiers (stage 2) and are programmed via Register 8 (GAIN) and output to a pair of A/D converters for digital conversion. API FUNCTION:

SI_SetGlobalGain (int iCamID, int iGain) SI_SetBlackOffset (int iCamID, int iBlackOffset) SI_SetColumnOffset (int iCamID, int iColOffset)

Silicon Imaging , Inc. 2004 Page 18 of 26 Company Confidential

Gain Setting Commands – Register 8 There are 16 choices of Gain (000h~00fh). The values are as follows:

Gain Bits (0:3) Command 1.00 xxxx ly8 01x 1.36 0000 ly8 000 1.64 0001 ly8 001 1.95 0010 ly8 002 2.35 0011 ly8 003 2.82 0100 ly8 004 3.32 0101 ly8 005 3.93 0110 ly8 006 4.63 0111 ly8 007 5.40 1000 ly8 008 6.35 1001 ly8 009 7.44 1010 ly8 00a 8.79 1011 ly8 00b

10.31 1100 ly8 00c 12.36 1101 ly8 00d 14.67 1110 ly8 00e

The table below shows recommended gain register settings and corresponding gain values:

Register Setting (0x2B, 0x2C, 0x2D, 0x2E, 0x35)

Gain

Register Setting (0x2B, 0x2C, 0x2D, 0x2E, 0x35)

Gain

Decimal Hex Gain Gain [dB] Decimal Hex Gain Gain [dB] 8 0x08 1 0 32 0x20 4 12.0 9 0x09 1.125 1.0 81 0x51 4.25 12.6

10 0x0A 1.25 1.9 82 0x52 4.5 13.1 11 0x0B 1.375 2.8 83 0x53 4.75 13.5 12 0x0C 1.5 3.5 84 0x54 5 14.0 13 0X0D 1.625 4.2 85 0x55 5.25 14.4 14 0x0E 1.75 4.9 86 0x56 5.5 14.8 15 0x0F 1.875 5.5 87 0x57 5.75 15.2 16 0x10 2 6.0 88 0x58 6 15.6 17 0x11 2.125 6.5 89 0x59 6.25 15.9 18 0x12 2.25 7.0 90 0x5A 6.5 16.3 19 0x13 2.375 7.5 91 0x5B 6.75 16.6 20 0x14 2.5 8.0 92 0x5C 7 16.9 21 0x15 2.625 8.4 93 0x5D 7.25 17.2 22 0x16 2.75 8.8 94 0x5E 7.5 17.5 23 0x17 2.875 9.2 95 0x5F 7.75 17.8 24 0x18 3 9.5 96 0x60 8 18.1 25 0x19 3.125 9.9 97 0x61 9 19.1 26 0x1A 3.25 10.2 98 0x62 10 20.0 27 0x1B 3.375 10.6 99 0x63 11 20.8 28 0x1C 3.5 10.9 100 0x64 12 21.6 29 0x1D 3.625 11.2 101 0x65 13 22.3 30 0x1E 3.75 11.5 102 0x66 14 22.9 31 0x1F 3.875 11.8 103 0x67 15 23.5

Silicon Imaging , Inc. 2004 Page 19 of 26 Company Confidential

API FUNCTION:

SI_SetGlobalGain (int iCamID, int iGain) SI_SetGlobalGainB (int iCamID, int iGainIndex) SI_GetGainString((int iCamID, int iGainIndex, char** cGain)

ADC (Gamma & Invert) – Register C If GAMMA is set to 0, the ADC input to output conversion is linear, otherwise the conversion follows a ‘gamma’ law (more contrast in dark parts of the window, lower contrast in the bright parts). If BITINVERT = 0, 0000000000 is the conversion of the lowest possible input voltage, otherwise the bits are inverted.

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!

API FUNCTION:

SI_SetGammaMode(int iCamID, bool bGammaMode)

Silicon Imaging , Inc. 2004 Page 20 of 26 Company Confidential

Non-Destructive-Readout (NDR) – Register 0 The default mode of operation of the sensor is with FPN correction (double sampling). However, the sensor can also be read out in a non-destructive way. After a pixel is initially reset, it can be read multiple times, without resetting. The initial reset level and all intermediate signals can be recorded. High light levels will saturate the pixels quickly, but a useful signal is obtained from the early samples. For low light levels, one has to use the later or latest samples.

Figure: Principle of non-destructive readout.

Essentially an active pixel array is read multiple times, and reset only once. The external system intelligence takes care of the interpretation of the data. The advantages and disadvantages of non-destructive readout.

Advantages Disadvantages

Low noise as it is true CDS. In the order of 10 e- or below.

System memory required to record the reset level and the intermediate samples.

High sensitivity – as the conversion capacitance is kept rather low.

Requires multiples readings of each pixel; Thereby has limited frame rate and possible motion image blur.

High dynamic range – as the results includes signal for short and long integrations times.

Requires digital post processing to create the final image.

In normal operation (NDR = 0), the sensor operates in double sampling mode. At the start of each row readout, the signals from the pixels are sampled, the row is reset and the signals from the pixels are sampled again. The values are subtracted in the output amplifier. When NDR is set to 1, the sensor operates in non-destructive readout (NDR) mode

NDR_Modes - Reg 0 (bit 1 and 2) There are basically two modes for non-destructive readout (Mode 1 and Mode 2). Each mode needs two different frame types of readout. First is a reset/readout sequence (reset_seq) and then one or several pure readout sequences (read_seq).

NDR Mode Reg 0 (Bits 0:2)

Mode1 - Reset 100

Mode1 - Read 101

Mode2 - Reset 110

Mode2 - Read 111

Silicon Imaging , Inc. 2004 Page 21 of 26 Company Confidential

MODE 1 – Long Integration NDR In this mode, the sensor is readout in the same way as for normal readout. However, the electronic shutter control is disabled. The minimal (integration) time between two readings of a row is equal to the number of lines that has to be read out (frame read time). In Mode 1, the time Tint between two readings of the same row is given by

Tint Integration time [# lines] = NROF_LINES register + 1 MODE 2 – Short Integration NDR In mode 2, it is possible to have a shorter integration time than the frame read time. Rows are alternating read out with the left and right pointer. These two pointers can point to two different rows by setting the INT_TIME (Reg 3). The (integration) time between two readings of the same row is equal to the number of lines that is set in the INT_TIME register times 2 plus 1 and is minimal 1 line read time. In setting Mode 2 -Reset, the row that is read out by the left pointer is reset and read out (first Y_CLOCK), the row that is read out by the right pointer is read out without resetting (second Y_CLOCK). In setting Mode 2 - Read, both rows are read out without resetting (on the first Y_CLOCK the row is read out by the left pointer; on the second Y_CLOCK the row is read out by the right pointer). In Mode 2, the times Tint1 and Tint2 between two readings of the same row (alternating) are given by

Tint1 Integration time [# lines] = 2 * INT_TIME + 1 Tint2 Integration time [# lines] = 2 * (HEIGHT + 1) – (2 * INT_TIME register + 1)

For both modes, the signals are read out through the same amplifier path as with destructive readout (double sampling) but the busses that are carrying the reset signals used for FPN correction are set to the voltage given by DAC_DARK (Reg A).

Silicon Imaging , Inc. 2004 Page 22 of 26 Company Confidential

Live Register Programming Once the camera is running in LIVE Rolling shutter, all the sensor control and clock registers can be modified.

• Clock • Exposure • Window Size & Position • Gain & Offset

The sensor register values are loaded at the next top of frame and will not interrupt the video timing. It is therefore possible to have different set of values for every image output from the camera. However, it can take up to 1 additional frame time to see certain results dependant on where in the frame cycle time the command is sent. The clock frequency change command will take effect immediately, during the frame time. The Clock change is not internally synchronized to the frame readout, as it is usually set for the application and not changed on the fly.

Silicon Imaging , Inc. 2004 Page 23 of 26 Company Confidential

SI-6600 Sensor & PCB Dimensions

Silicon Imaging , Inc. 2004 Page 24 of 26 Company Confidential

SI6600-RGB Cover Glass Filter Response

A S8612 glass is used as NIR cut-off filter on top of SI-6600-RGB color image sensor. The following shows the transmission characteristics of the S8612 glass.

Silicon Imaging , Inc. 2004 Page 25 of 26 Company Confidential

SI6600-RGB Sensor Response The Figure below shows the response of the color filter array as function of the wavelength. This response curve includes the optical cross talk and the NIR filter of the color glass lid, shown on the previous page.

Silicon Imaging , Inc. 2004 Page 26 of 26 Company Confidential

������������������

���������������������www.siliconimaging.com

[email protected]

�����������������

SI-6600U -M or -RGB 1.3 Megapixel USB2.0 Camera, M=Monochrome, RGB= Bayer Color -PCB PCB (33x40mm). 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

��������������� Silicon Imaging reserves the right to make changes to its products or to discontinue any product or service without notice, and advises customers to obtain the latest version of relevant information to verify, before placing orders, that information being relied on is current and complete. No license, express or implied to any intellectual property rights is granted by this document. Specific testing of all parameters of each device is not necessarily performed, except those mandated by government requirements. CERTAIN APPLICATIONS USING SEMICONDUCTOR PRODUCTS MAY INVOLVE POTENTIAL RISKS OF DEATH, PERSONAL INJURY, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE ("CRITICAL APPLICATIONS"). SILICON IMAGING PRODUCTS ARE NOT DESIGNED, AUTHORIZED, OR WARRANTED TO BE SUITABLE FOR USE IN LIFE-SUPPORT DEVICES OR SYSTEMS OR OTHER CRITICAL APPLICATIONS. INCLUSION OF SILICON IMAGING PRODUCTS IN SUCH APPLICATIONS IS UNDERSTOOD TO BE FULLY AT THE CUSTOMER'S RISK. The Product described in this datasheet may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available upon request.

Copyright: Silicon Imaging, Inc., 2005

080304-Rev 1.4