22
0 R_WaveEnH 0xD2 7 R/W Wave gesture detection enable
0 PositionFilterCenterX 0xD3 7:0 - R Low byte of horizontal object center after IIR  lter for cur-
sor mode
0 PositionFilterCenterX 0xD4 3:4 - R High byte of horizontal object center after IIR  lter for
cursor mode
0 PositionFilterCenterY 0xD4 7:4 - R High byte of vertical object center after IIR  lter for cursor
mode
0 PositionFilterCenterY 0xD5 7:0 - R Low byte of vertical object center after IIR  lter for cursor
mode
0 PositionFilterAvgY 0xD6 7:0 - R Low byte of object brightness after IIR  lter for cursor
mode
0 PositionFilterAvgY 0xD7 0 - R High byte of object brightness after IIR  lter for cursor
mode
0 PositionFilterSize 0xD7 5:4 - R High byte of object size after IIR  lter for cursor mode
0 PositionFilterSize 0xD8 7:0 - R Low byte of object size after IIR  lter for cursor mode
0 ProcessFilterCenterX 0xDA 7:0 - R Low byte of horizontal object center after IIR  lter for
gesture detection
0 ProcessFilterCenterX 0xDB 3:0 - R High byte of horizontal object center after IIR  lter for
gesture detection
0 ProcessFilterCenterY 0xDB 7:4 - R High byte of vertical object center after IIR  lter for ges-
ture detection
0 ProcessFilterCenterY 0xDC 7:0 - R Low byte of vertical object center after IIR  lter for gesture
detection
0 ProcessFilterSize 0xD9 1:0 - R High byte of object size after IIR  lter for gesture detec-
tion
0 ProcessFilterSize 0xDD 7:0 - R Low byte of object size after IIR  lter for gesture detection
0 ProcessFilterAvgY 0xD9 2 - R High byte of object brightness after IIR  lter for gesture
detection
0 ProcessFilterAvgY 0xDE 7:0 - R Low byte of object brightness after IIR  lter for gesture
detection
0 AbortIntervalCount 0xD9 5:4 - R High byte of abort gesture gap duration
0 AbortIntervalCount 0xDF 7:0 - R Low byte of abort gesture gap duration
Cursor Mode Controls
Bank Register Name Addr Bits
Default
Value R/W Description
0 R_CursorUseTop 0x32 0 0x01 R/W 1: Enable cursor center function
If enabled, the cursor object information will involve
R_CursorTopRatio for the calculation
Refer to R_CursorTopRatio
0 R_CursorUseBGModel 0x32 1 0x00 R/W 1: If cursor center function is enabled, the cursor object
information will involve background model for the
calculation
0 R_CursorInvertY 0x32 2 0x00 R/W 1: Horizontal cursor center inverse
0 R_CursorInvertX 0x32 3 0x01 R/W 1: Vertical cursor center inverse
0 R_ CursorTopRatio 0x32 5:4 0x02 R/W Use the  rst R_CursorTopRatio / 8 part of the object to
calculate center
Example :
If the original object size is 100, the cursor object size
will be 25 at R_CursorTopRatio = 2, The cursor center
will move from the center of the object to the upper
1/4 part
0 R_PositionFilterStartSizeTh 0x33 7:0 0x01 R/W Low byte
As object size > R_PositionFilterStartSizeTh, use the
object information after IIR  lter for cursor
23
0 R_PositionFilterStartSizeTh 0x34 0 0x00 R/W High byte
As object size > R_PositionFilterStartSizeTh, use the
object information after IIR  lter for cursor
0 R_ProcessFilterStartSizeTh 0x35 7:0 0x01 R/W Low byte
As object size > R_ProcessFilterStartSizeTh, use the
object information after IIR  lter for gesture detection
0 R_PositionFilterStartSizeTh 0x36 0 0x00 R/W High byte
As object size > R_ProcessFilterStartSizeTh, use the
object information after IIR  lter for gesture detection
0 R_CursorClampLeft 0x37 4:0 0x09 R/W Minimum cursor horizontal center value, if data <
R_CursorClampLeft, clamp at 0 else, clamp at data –
(R_CursorClampLeft << R_PositionResolution)
Example :
R_CursorClampLeft = 9,
R_CursorClampRight = 21,
R_PositionResolution = 0,
X = 5 ≥ X' = 0
X = 10 ≥ X' = 10 – 9 = 1
X = 25 ≥ X' = 20 – 1 – 9 = 10
Example :
R_CursorInvertY = 0,
R_CursorClampRight = 20,
R_PositionResolution = 2,
Y = 50, set R_CursorInvertY = 1,
R_CursorClampRight = 20,
R_PositionResolution = 2, ≥ Y' = 20 × (2
2
) – 50 = 30
0 R_CursorClampRight 0x38 4:0 0x15 R/W Maximum cursor horizontal center value,
if data is > R_CursorClampRight, clamp at –1
0 R_CursorClampUp 0x39 4:0 0x0A R/W Minimum cursor vertical center value, if data < R_Cur-
sorClampUp, clamp at 0 else, clamp at data – (R_Cur-
sorClampUp << R_PositionResolution)
0 R_CursorClampDown 0x3A 4:0 0x12 R/W Maximum cursor vertical center value,
if data is > R_CursorClampDown, clamp at –1
0 CursorClampCenterX 0x3B 7:0 0x00 R Low byte of clamping center X
0 CursorClampCenterX 0x3C 3:0 0x7D R High byte of clamping center X
0 CursorClampCenterY 0x3D 7:0 0x0F R Low byte of clamping center Y
0 CursorClampCenterY 0x3E 3:0 0xA0 R High byte of clamping center Y
0 R_Cursor_ObjectSizeTh 0x8B 7:0 0x10 R/W Object size threshold for cursor mode, if cursor object
size > R_Cursor_ObjectSizeTh, trigger cursor has
object interrupt
0 R_PositionResolution 0x8C 2:0 0x07 R/W Cursor mode object resolution,
Example :
(x,y) = (1000,1000) at R_PositionResolution = 7,
=> real (x',y') = (1000 / 2
7
,1000/2
7
) = (7.8125,7.8125)
which maps to 30×30 scale
24
Proximity Mode Controls
Bank Register Name Addr Bits
Default
Value R/W Description
0 R_Prox_UB 0x69 7:0 0xC8 R/W Proximity up bound
0 R_Prox_LB 0x6A 7:0 0x40 R/W Proximity low bound
0 S_State 0x6B 7:0 - R PS approach state
1: Approach, (S_AvgY ≥ R_Pox_UB)
0: Not approach, (S_AvgY ≤ R_Pox_LB)
(Only functional at proximity detection mode)
0 S_AvgY 0x6C 7:0 - R Proximity object average brightness
Image Controls
Bank Address Register Name Default Value R/W Description
0 0x5B Trigger 0x00 R/W Trigger mode use only, as setting to one, trigger IC to
report one frame
1 0x77 R_SRAM_Read_EnH 0x00 R/W SRAM read enable, active high
1 0x7C R_SPIOUT_PXDNUM [7:0] 0x384 R/W SPI output pixel amount
1 0x7D R_SPIOUT_PXDNUM [15:8] R/W
1 0x7E R_SPIOUT_CSN_MODE [1:0] 0x00 R/W Bit [3:2]
0: Follow TG_VsyncO
1: Follow IDLE time
2: Follow LED
3: Reserved
1 0x7E R_SPIOUT_EnH 0x00 R/W Bit[0]
SPI output enable, active high
Background Controls
Bank Register Name Addr Bits
Default
Value R/W Description
0 R_UseBGModel 0x9F 0 0x01 R/W Background model enable
0 R_BGUseDi Weight 0x9F 1 0x00 R/W When calculating object center, use the weight be-
tween background and pixel
0 R_BGUpdateAtProcess 0x9F 2 0x00 R/W Update background at process state
0 R_BGUpdateMaxIntensity_En 0x9F 3 0x01 R/W Background up bound threshold enable
0 R_BGUpdateMaxIntensity 0xA0 7:0 0x03 R/W Background up bound threshold, if pixel data >
R_BGUpdateMaxIntensity × 2, update this pixel to BG
SRAM
0 R_BGFilterLengthUp 0xA1 1:0 0x01 R/W IIR  lter weight of updating background not at pro-
cess state,
IIR Filter Out (X : previous data, X' : current date) =
X × 2
R_BGFilterLength – 1
+ X'} / 2
R_BGFilterLength
0 R_BGFilterLengthDown 0xA1 5:4 0x10 R/W IIR  lter weight of updating background at process
state
0 R_BGDi Thd 0xA2 5:0 0x08 R/W Only if the di erence between BG and pixel > R_BG-
Di Thd, this will be taken as part of object
0 R_BGUpdateFreq 0xA3 7:0 0x00 R/W Low byte: Update background per this number
frames
0 R_BGUpdateFreq 0xA4 1:0 0x03 R/W High byte: Update background per this number
frames
0 R_BGResolution 0xA4 5:4 0x03 R/W Background resolution,
BG data = pixel data << R_BGResolution

APDS-9500

Mfr. #:
Manufacturer:
Broadcom / Avago
Description:
Proximity Sensors Imaging Gesture and Proximity Sensor
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet