IMX071

From Nikon Hacker
Jump to: navigation, search

IMX071 is a CMOS Active Pixel Sensor (APS) made by Sony. It is used in D5100 and D7000 driven by a 54MHz master clock. Sensor features gapless microlens array and 14bit column parallel ADC (Exmor). Image sensor is interfaced with SPI lines and 8 channel LVDS data output with an additional clock pair. SPI is 4 wire includes SCK, XCE, SDI and SDO. SDO does not seem to be connected. XCE is low enabled and bits are sampled at rising edge of SCK with LSB transmitted first.

Known Register map

Address Name Function Range Example Detailed Explanation
0x00 bit 0 STBY Sensor standby switch 0 or 1 0 to cancel standby Standby allows register input without sensor running
bit 1 Power Sensor driving circuit power save 0 or 1 1 to disable driving circuit Possibly disable ADC, LVDS to lower power during long exposure
bit 2  ?  ? D5100 always set to 1
bit 4~7 MODE Sensor scan mode  ? 0: All-pixel scan (Photo)
1: Zoom all-pixel scan (LiveView after zoom 3 or more times)
5: 1664 x 1100 mode. Possibly 3x3 addition readout (LiveView)
0x01 bit 0-1  ?  ? 0..3
bit 2  ?  ?
bit 3  ?  ?
bit 5  ?  ?
0x02 8-bit VAL3[7:0]  ? 0..4095
0x03 bit 0-3 VAL3[11:8]
0x04 8-bit VAL4[7:0]  ? 0..4095
0x05 bit 0-3 VAL4[11:8]
0x06 8-bit SHS[7:0] Reset line delay in 1 line unit 1 ~ Min(VMAX - 1, 0xFFF) 0x01 for 360 degree shutter Reset each line after "SHS lines" delay after its last readout
0x07 bit 0-3 SHS[11:8] Reset line delay in 1 line unit
0x08 8-bit VAL5[7:0]  ? 0..4095
0x09 bit 0-3 VAL5[11:8]
0x0A 8-bit VAL6[7:0]  ? 0..4095
0x0B bit 0-3 VAL6[11:8]
0x0E 8-bit VAL7[7:0]  ? 0..4095
0x0F bit 0-3 VAL7[11:8]
bit 4-7 VAL8[3:0]  ? 0..64
0x10 bit 0-1 VAL8[5:4]
bit 2-7 VAL9[5:0]  ? 0..4095
0x11 bit 0-5 VAL9[11:6]
0x13 8-bit  ?  ?
0x14 8-bit  ?  ?
0x15 8-bit  ?  ?
0x16 8-bit  ?  ?
0x17 8-bit  ?  ?
0x18 8-bit  ?  ?
0x19 8-bit  ?  ?
0x1A 8-bit  ?  ?
0x1F 8-bit OFFSET[7:0] Analog Bias Black Point 0 ~ ?, Default to 0x258 0x80 This value sets the offset level for the bias voltage, or average for dummy pixels
0x20 bit 0-2 OFFSET[10:8] Analog Bias Black Point
bit 5  ?  ?
bit 6  ?  ?
bit 7  ?  ?
0x21 bit 0-6  ?  ? 0..63
0x22 bit 0-6  ?  ? 0..63
0x23 bit 0 Clamp offset
bit 1 Clamp BK offset
bit 2 Clamp OPB offset
bit 4 Clamp mode
0x24 8-bit  ?  ?
0x25 bit 3-7 VAL2[4:0]  ? 0..2047
0x26 bit 0-5 VAL2[10:5]  ?
0x27 bit 0-5  ?  ? 0..31
bit 6-7 VAL1[1:0]  ? 0..2047
0x28 8-bit VAL1[9:2]  ?
0x29 bit 0 VAL1[10]  ?
bit 6  ?  ?
bit 7  ?  ?
0x2A bit 0-3  ?  ? 0..7
0x2B bit 0-2 LVIOUT  ? 0..3, default 3
0x2C bit 2  ?  ?
bit 4-7 APGC_R[3:0] Analog Programmable Gain Control for Red pixels 0 ~ 4083 0 for lowest gain
0x2D 8-bit APGC_R[11:4] Analog Programmable Gain Control for Red pixels
0x2E 8-bit APGC_Gr[7:0] APGC for Gr Pixels 0 ~ 4083
0x2F bit 0-3 APGC_Gr[11:8] APGC for Gr Pixels
0x30 8-bit APGC_B[7:0] APGC for Blue Pixels 0 ~ 4083
0x31 bit 0-3 APGC_B[11:8] APGC for Blue Pixels
0x32 8-bit APGC_Gb[7:0] APGC for Gb Pixels 0 ~ 4083
0x33 bit 0-3 APGC_Gb[11:8] APGC for Gb Pixels
0x34 8-bit  ?  ?
0x3E 8-bit  ?  ?
0x44 8-bit  ?  ?
0x45 8-bit  ?  ?
0x46 8-bit  ?  ?
0x4F 8-bit  ?  ?
0x51 8-bit  ?  ?
0x52 8-bit  ?  ?
0x53 8-bit  ?  ?
0x54 8-bit  ?  ?
0x57 8-bit  ?  ?
0x58 8-bit  ?  ?
0x5A 8-bit  ?  ?
0x5B 8-bit  ?  ?
0x5C 8-bit  ?  ?
0x61 8-bit  ?  ?
0x6F 8-bit  ?  ?
0x70 8-bit  ?  ?
0x71 8-bit  ?  ?
0x72 8-bit  ?  ?
0x76 8-bit  ?  ?
0x7B 8-bit  ?  ?
0x8F 8-bit  ?  ?
0x98 8-bit  ?  ?
0xA5 8-bit  ?  ?
0xA6 8-bit  ?  ?
0xA7 8-bit  ?  ?
0xA8 8-bit  ?  ?
0xAB 8-bit  ?  ?
0xAC 8-bit  ?  ?
0xAE 8-bit  ?  ?
0xAF 8-bit  ?  ?
0xB0 8-bit  ?  ?
0xB1 8-bit  ?  ?
0xB8 8-bit  ?  ?
0xB9 8-bit  ?  ?
0xC0 8-bit  ?  ?
0xC3 8-bit  ?  ?
0xE4 8-bit  ?  ?
0xF8 SSBRK Shutter Break 0x00 or 0x80 0x80 to signal EOF and Next XVS pulse is a valid new frame Return to 0x00 immediately

Sync Pulse and Control

Sensor is operated in slave mode. Synchronization pulse XVS and XHS are fed from EI-155. Each XVS pulse initiates a new frame with each XHS for a new row. EI-155 output a data valid signal starting at 13th lines from XVS. Duration of the data valid pulse depends on sensor mode. 3362 lines for all-pixel scan (Both normal image acquisition and liveview super zoom) or 1126 lines for 1/3 vertical elimination during liveview. VMAX is determined by XHS pulses for each XVS pulse in slave mode.

Zone Definition

When factory overscan mode is enabled, camera records 5056x3358 pixels.Offset to non-overscan coordinates is: 8, 74.

During making a photo there are 3482 pulses of XHS from sensor bridge EI-155. The image received by Milbeaut-4 digital frontend in Expeed during making a normal photo is 5010 x 3356. NEF RAW data contain 4992 x 3280 points from offset 9, 38. Finally JPEG L size contains only 4928 x 3264 points.

In LiveView 1632 x 1088 picture is generated from sensor frame offset 4,12 and size 1664 x 1100.

XHS signal

In order for SHS register setting to function properly, XHS pulse must be generated continuosly, even between frames. This was observed in LiveView mode, where usual mechanical shutter is not operated.