Multimodal Sensor Front End
ADPD4100/ADPD4101
Data Sheet
FEATURES
GENERAL DESCRIPTION
Multimodal analog front end
8 input channels with multiple operation modes for various
sensor measurements
Dual-channel processing with simultaneous sampling
12 programmable time slots for synchronized sensor
measurements
Flexible input multiplexing to support differential and
single-ended sensor measurements
8 LED drivers, 4 of which can be driven simultaneously
Flexible sampling rate from 0.004 Hz to 9 kHz using internal
oscillators
On-chip digital filtering
SNR of transmit and receive signal chain: 100 dB
AC ambient light rejection: 60 dB up to 1 kHz
400 mA total LED peak drive current
Total system power dissipation: 30 µW (combined LED and
AFE power), continuous PPG measurement at 75 dB SNR,
25 Hz ODR, 100 nA/mA CTR
SPI and I2C communications supported
512-byte FIFO size
The ADPD4100/ADPD4101 operate as a complete multimodal
sensor front end, stimulating up to eight light emitting diodes
(LEDs) and measuring the return signal on up to eight separate
current inputs. Twelve time slots are available, enabling 12 separate
measurements per sampling period.
The data output and functional configuration utilize an I2C
interface on the ADPD4101 or a serial port interface (SPI) on
the ADPD4100. The control circuitry includes flexible LED
signaling and synchronous detection. The devices use a 1.8 V
analog core and 1.8 V/3.3 V compatible digital input/output (I/O).
The analog front end (AFE) rejects signal offsets and corruption
from asynchronous modulated interference, typically from
ambient light, eliminating the need for optical filters or externally
controlled dc cancellation circuitry. Multiple operating modes
are provided, enabling the ADPD4100/ADPD4101 to be a sensor
hub for synchronous measurements of photodiodes, biopotential
electrodes, resistance, capacitance, and temperature sensors. The
multiple operation modes accommodate various sensor measurements, including, but not limited to, photoplethysmography
(PPG), electrocardiography (ECG), electrodermal activity
(EDA), impedance, capacitance, temperature, gas detection,
smoke detection, and aerosol detection for various healthcare,
industrial, and consumer applications.
APPLICATIONS
Wearable health and fitness monitors: heart rate monitors
(HRMs), heart rate variability (HRV), stress, blood pressure
estimation, SpO2, hydration, body composition
Industrial monitoring: CO, CO2, smoke, and aerosol detection
Home patient monitoring
The ADPD4100/ADPD4101 are available in a 3.11 mm ×
2.14 mm, 0.4 mm pitch, 33-ball WLCSP and 35-ball WLCSP.
FUNCTIONAL BLOCK DIAGRAM
ADPD4100/ADPD4101
LED LEVEL
AND
MUX CONTROL
LED
DRIVERS
AGND
DGND
IOGND
HIGH
FREQUENCY
AND LOW
FREQUENCY
OSCILLATORS
LGND
INTEGRATOR
TIMING
IN1
IN2
IN3
IN4
IN5
IN6
IN7
IN8
VC1
VC2
AVDD
DVDD1
DVDD2
IOVDD
CH 1 SIGNAL
CONDITIONING
ADC
DIGITAL PROCESSING,
INTERFACE AND
TIMING CONTROL,
FIFO, PROGRAM AND
DATA REGISTERS,
COMMUNICATIONS
TIA_VREF
CH 2 SIGNAL
CONDITIONING
CS
SCLK
MOSI
MISO
SCL
SDA
GPIO0
GPIO1
GPIO2
GPIO3
VREF
INTEGRATOR
TIMING
VC1
VOLTAGE
VREF
VC2
REFERENCES
TIA_VREF
NOTES
VICM
1. CS, SCLK, MOSI, AND MISO PINS ARE ON THE ADPD4100.
2. SCL AND SDA PINS ARE ON THE ADPD4101.
3. TIA_VREF IS THE INTERNAL VOLTAGE REFERENCE SIGNAL FOR THE TRANSIMPEDANCE AMPLIFIER.
23297-001
LED4B
LED3B
LED2B
LED1B
LED4A
LED3A
LED2A
LED1A
Figure 1.
Rev. 0
Document Feedback
Information furnished by Analog Devices is believed to be accurate and reliable. However, no
responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other
rights of third parties that may result from its use. Specifications subject to change without notice. No
license is granted by implication or otherwise under any patent or patent rights of Analog Devices.
Trademarks and registered trademarks are the property of their respective owners.
One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A.
Tel: 781.329.4700
©2020 Analog Devices, Inc. All rights reserved.
Technical Support
www.analog.com
ADPD4100/ADPD4101
Data Sheet
TABLE OF CONTENTS
Features .............................................................................................. 1
Time Slot Operation .................................................................. 23
Applications ....................................................................................... 1
Execution Modes ........................................................................ 24
General Description ......................................................................... 1
Host Interface.............................................................................. 24
Functional Block Diagram .............................................................. 1
Applications Information .............................................................. 28
Revision History ............................................................................... 2
Operating Mode Overview ....................................................... 28
Specifications..................................................................................... 3
Analog Integration Mode .......................................................... 28
Temperature and Power Specifications ..................................... 3
Digital Integration Mode........................................................... 40
Performance Specifications ......................................................... 4
TIA ADC Mode .......................................................................... 42
Digital Specifications ................................................................... 6
Protecting Against TIA Saturation in Normal Operation .... 42
Timing Specifications .................................................................. 6
ECG Measurement with the ADPD4100/ADPD4101 .......... 44
Absolute Maximum Ratings............................................................ 9
Register Map ................................................................................... 51
Thermal Resistance ...................................................................... 9
Register Details ............................................................................... 70
Electrostatic Discharge (ESD) Ratings ...................................... 9
Global Configuration Registers ................................................ 70
ESD Caution .................................................................................. 9
Interrupt Status and Control Registers .................................... 72
Pin Configurations and Function Descriptions ......................... 10
Threshold Setup and Control Registers .................................. 82
Typical Performance Characteristics ........................................... 13
Clock and Timestamp Setup and Control Registers.............. 84
Theory of Operation ...................................................................... 15
System Registers ......................................................................... 84
Introduction ................................................................................ 15
I/O Setup and Control Registers .............................................. 86
Analog Signal Path ..................................................................... 15
Time Slot Configuration Registers........................................... 89
LED Drivers ................................................................................ 16
AFE Timing Setup Registers ..................................................... 94
Determining CVLED...................................................................... 17
LED Control and Timing Registers ......................................... 96
Datapath, Decimation, Subsampling, and FIFO .................... 18
ADC Offset Registers................................................................. 97
Clocking ....................................................................................... 21
Output Data Registers ............................................................... 97
Time Stamp Operation .............................................................. 22
Outline Dimensions ..................................................................... 100
Low Frequency Oscillator Calibration .................................... 22
Ordering Guide ........................................................................ 101
High Frequency Oscillator Calibration ................................... 22
REVISION HISTORY
6/2020—Revision 0: Initial Version
Rev. 0 | Page 2 of 101
Data Sheet
ADPD4100/ADPD4101
SPECIFICATIONS
TEMPERATURE AND POWER SPECIFICATIONS
Table 1. Operating Conditions
Parameter
TEMPERATURE RANGE
Operating
Storage
POWER SUPPLY VOLTAGE
Supply, VDD
Input/Output Driver Supply, IOVDD
Test Conditions/Comments
Min
Typ
−40
−65
Applied at the AVDD, DVDD1, and DVDD2 pins
Applied at the IOVDD pin
1.7
1.7
1.8
1.8
Max
Unit
+85
+150
°C
°C
1.9
3.6
V
V
AVDD = DVDDx = IOVDD = 1.8 V, TA = 25°C, unless otherwise noted.
Table 2. Current Consumption
Parameter
POWER SUPPLY (VDD)
CURRENT
VDD Supply Current1
Symbol
Total System Power
Dissipation
Peak VDD Supply Current
(1.8 V)
1-Channel Operation
Standby Mode Current
1
IVDD_PEAK
IVDD_STANDBY
Test Conditions/Comments
Min
Typ
Max
Unit
Signal-to-noise ratio (SNR) = 75 dB, 25 Hz output data rate (ODR),
single time slot, 1 MHz low frequency oscillator frequency
SNR = 75 dB, 25 Hz ODR, single time slot, 32 kHz low frequency
oscillator frequency
Combined LED and AFE power, continuous PPG measurement at
75 dB SNR, 25 Hz ODR, 100 nA/mA current transfer ratio (CTR),
1 MHz low frequency oscillator frequency
Combined LED and AFE power, continuous PPG measurement at
75 dB SNR, 25 Hz ODR, 100 nA/mA CTR, 32 kHz low frequency
oscillator frequency
10
µA
8
µA
30
μW
26
μW
Peak VDD current during time slot sampling
3.8
0.20
mA
µA
VDD is the voltage applied at the AVDD and DVDDx pins.
Rev. 0 | Page 3 of 101
ADPD4100/ADPD4101
Data Sheet
PERFORMANCE SPECIFICATIONS
AVDD = DVDDx = IOVDD = 1.8 V, TA = full operating temperature range, unless otherwise noted.
Table 3.
Parameter
DATA ACQUISITION
Datapath Width
FIRST IN, FIRST OUT (FIFO) SIZE
LED DRIVER
LED Peak Current per Driver
LED Peak Current, Total
Driver Compliance Voltage
LEDxx Pin Voltage1
Highest LED Peak Current per Driver2
LED PERIOD
SAMPLING RATE4
OSCILLATOR DRIFT
32 kHz Oscillator
1 MHz Oscillator
32 MHz Oscillator
Test Conditions/Comments
Min
LED pulse enabled
Using multiple LED drivers simultaneously
For any LED driver output at LED_CURRENTx_x = 0x7F
1.5
For any LED driver at LED_CURRENTx_x = 0x7F
AFE width = 4 µs3
AFE width = 3 µs
Single time slot, four data bytes to FIFO, 2 µs LED pulse
176
11
9
0.004
Percent variation from 25°C to 85°C
Percent variation from +25°C to −40°C
Percent variation from 25°C to 85°C
Percent variation from +25°C to −40°C
Percent Variation from 25°C to 85°C
Percent Variation from +25°C to −40°C
Typ
200
Max
Unit
32
512
Bits
Bytes
200
400
300
3.6
208
mA
mA
mV
V
mA
µs
µs
Hz
9000
6
−8.5
3
−4
1
−1.5
%
%
%
%
%
%
LEDxx refers to LED1A, LED2A, LED3A, LED4A, LED1B, LED2B, LED3B, and LED4B.
The maximum value in this specification is the maximum value at LED driver current setting = 0x7F on LED Driver LED1A, and the minimum value in this specification
is the minimum value at LED driver current setting = 0x7F on LED Driver LED4B. Typically, the LED peak current is the highest on LED1A and the lowest on LED4B,
while the rest of the drivers fall in between, and the LED peak current of the LEDxA drivers are higher than that of LEDxB drivers of the same number. For example, the
LED peak current of LED3A is higher than that of LED3B.
3
Minimum LED period = (2 × AFE width) + 3 µs.
4
The maximum value in this specification is the internal ADC sampling rate using the internal 1 MHz state machine clock. The I2C and SPI read rates in some
configurations may limit the ODR.
1
2
Table 4.
Parameter
TRANSIMPEDANCE AMPLIFIER (TIA) GAIN
PULSED SIGNAL CONVERSIONS, 3 μs LED
PULSE
ADC Resolution1
ADC Saturation Level2
Test Conditions/Comments
Min
12.5
Typ
Max
200
Unit
kΩ
4 μs integration width, continuous connect mode
TIA feedback resistor
12.5 kΩ
25 kΩ
50 kΩ
100 kΩ
200 kΩ
TIA feedback resistor
12.5 kΩ
25 kΩ
50 kΩ
100 kΩ
200 kΩ
Rev. 0 | Page 4 of 101
6.2
3.1
1.5
0.77
0.38
nA/LSB
nA/LSB
nA/LSB
nA/LSB
nA/LSB
50
25
12.5
6.22
3.11
μA
μA
μA
μA
μA
Data Sheet
Parameter
PULSED SIGNAL CONVERSIONS, 2 μs LED
PULSE
ADC Resolution1
ADC Saturation Level2
FULL SIGNAL CONVERSIONS
TIA Linear Dynamic Range (per Channel)
SYSTEM PERFORMANCE
Referred to Input Noise
Referred to Input Noise
SNR
AC Ambient Light Rejection
DC Power Supply Rejection Ratio (PSRR)
1
2
ADPD4100/ADPD4101
Test Conditions/Comments
3 μs integration width, continuous connect mode
TIA feedback resistor
12.5 kΩ
25 kΩ
50 kΩ
100 kΩ
200 kΩ
TIA feedback resistor
12.5 kΩ
25 kΩ
50 kΩ
100 kΩ
200 kΩ
Total input current, 1% compression point, TIA_VREF = 1.265 V
12.5 kΩ
25 kΩ
50 kΩ
100 kΩ
200 kΩ
Continuous connect mode, single pulse, single channel,
floating input, TIA_VREF = 1.265 V, 3 μs integration time
12.5 kΩ TIA gain
25 kΩ TIA gain
50 kΩ TIA gain
100 kΩ TIA gain
200 kΩ TIA gain
Continuous connect mode, single pulse, single channel, 90%
full-scale input signal, no ambient light, TIA_VREF = 1.265 V,
VCx = TIA_VREF + 215 mV, 2 μs LED pulse, photodiode
capacitance (CPD) = 70 pF, input resistor = 500 Ω
12.5 kΩ TIA gain
25 kΩ TIA gain
50 kΩ TIA gain
100 kΩ TIA gain
200 kΩ TIA gain
12.5 kΩ TIA gain, single pulse
25 kΩ TIA gain, single pulse
50 kΩ TIA gain, single pulse
100 kΩ TIA gain, single pulse
200 kΩ TIA gain, single pulse
100 kΩ TIA gain, 100 Hz ODR, 80 pulses, CPD = 70 pF, 0.5 Hz to
20 Hz bandwidth, transmit and receive signal chain
DC to 1 kHz, linear range of TIA, TIA gain = 25 kΩ, 50 kΩ,
100 kΩ, 200 kΩ
DC to 1 kHz, linear range of TIA, TIA gain = 12.5 kΩ
At 75% full scale input
ADC resolution is listed per pulse. If using multiple pulses, divide by the number of pulses.
ADC saturation level applies to pulsed signal only, because ambient signal is rejected prior to ADC conversion.
Rev. 0 | Page 5 of 101
Min
Typ
Max
Unit
8.2
4.1
2.04
1.02
0.51
nA/LSB
nA/LSB
nA/LSB
nA/LSB
nA/LSB
67
33
16.7
8.37
4.19
μA
μA
μA
μA
μA
72
38
18.7
9.3
4.6
μA
μA
μA
μA
μA
8.2
4.1
2.2
1.2
0.61
nA rms
nA rms
nA rms
nA rms
nA rms
10.3
5.3
2.7
1.5
0.97
76
76
75
74
72
100
nA rms
nA rms
nA rms
nA rms
nA rms
dB
dB
dB
dB
dB
dB
60
dB
55
50
dB
dB
ADPD4100/ADPD4101
Data Sheet
DIGITAL SPECIFICATIONS
IOVDD = 1.7 V to 3.6 V, unless otherwise noted.
Table 5. Digital Specifications
Parameter
LOGIC INPUTS
Input Voltage Level
SCL, SDA
High
Low
GPIOx, MISO, MOSI, SCLK, CS
High
Low
Input Current Level
High
Low
Input Capacitance
LOGIC OUTPUTS
Output Voltage Level
GPIOx, MISO
High
Low
SDA
Low
Output Current Level
Low
Symbol
Test Conditions/Comments
Min
Typ
Max
Unit
VIH
VIL
0.7 × IOVDD
−0.3
3.6
+0.3 × IOVDD
V
V
VIH
VIL
0.7 × IOVDD
−0.3
IOVDD + 0.3
+0.3 × IOVDD
V
V
10
µA
µA
pF
All logic inputs
IIH
IIL
CIN
−10
2
VOH
VOL
2 mA high level output current
2 mA low level output current
VOL1
3 mA low level output current
SDA
VOL1 = 0.4 V
IOL
IOVDD – 0.5
0.5
V
V
0.4
V
20
mA
TIMING SPECIFICATIONS
Table 6. I2C Timing Specifications for the ADPD4101
Parameter
TIMING REQUIREMENTS
I2C Port1
SCL
Frequency
Minimum Pulse Width
High
Low
Start Condition
Hold Time
Setup Time
SDA
Hold Time2
Setup Time
SCL and SDA
Rise Time
Fall Time
Stop Condition
Setup Time
1
2
Symbol
Test Conditions/Comments
See Figure 2
Min
Typ
Max
Unit
1
Mbps
t1
t2
260
500
ns
ns
t3
t4
260
260
ns
ns
t5
t6
0
50
ns
t7
t8
120
120
260
t9
Guaranteed by design.
Both timing requirement and switching characteristic.
Rev. 0 | Page 6 of 101
ns
ns
ns
Data Sheet
ADPD4100/ADPD4101
Table 7. SPI Timing Specifications for the ADPD4100
Parameter
TIMING REQUIREMENTS
SPI Port
SCLK
Frequency
Minimum Pulse Width
High
Low
CS
Setup Time
Symbol
Test Conditions/Comments
Min
Typ
fSCLK
tSCLKPWH
tSCLKPWL
Max
Unit
24
MHz
15
15
ns
ns
tCSS
CS setup to SCLK rising edge
11
ns
Hold Time
tCSH
CS hold from SCLK rising edge
5
ns
Pulse Width High
tCSPWH
CS pulse width high
15
ns
tMOSIS
tMOSIH
MOSI setup to SCLK rising edge
MOSI hold from SCLK rising edge
5
5
ns
ns
tMISOD
MISO valid output delay from SCLK falling edge
Register 0x00B4 = 0x0050 (default)
Register 0x00B4 = 0x005F (maximum slew rate,
maximum drive strength for SPI)
MOSI
Setup Time
Hold Time
SWITCHING CHARACTERISTICS
MISO Output Delay
21.5
14.0
Table 8. Timing Specifications for Provision of External Low Frequency Oscillator
Parameter
FREQUENCY
1 MHz Low Frequency Oscillator
32 kHz Low Frequency Oscillator
DUTY CYCLE
1 MHz Low Frequency Oscillator
32 kHz Low Frequency Oscillator
Min
Rev. 0 | Page 7 of 101
Typ
Max
Unit
500
10
2000
100
kHz
kHz
10
10
90
90
%
%
ns
ns
ADPD4100/ADPD4101
Data Sheet
Timing Diagrams
t6
t3
t3
SDA
t5
t1
t7
t8
t2
t4
23297-002
SCL
t9
Figure 2. I2C Timing Diagram for the ADPD4101
tCSH
tCSS
tCSPWH
tSCLKPWL
tSCLKPWH
CS
SCLK
MOSI
tMOSIH
MISO
tMISOD
Figure 3. SPI Timing Diagram for the ADPD4100
Rev. 0 | Page 8 of 101
23297-003
tMOSIS
Data Sheet
ADPD4100/ADPD4101
ABSOLUTE MAXIMUM RATINGS
ELECTROSTATIC DISCHARGE (ESD) RATINGS
Table 9.
Parameter
AVDD to AGND
DVDD1, DVDD2 to DGND
IOVDD to DGND
GPIOx, MOSI, MISO, SCLK, CS, SCL,
SDA to DGND
LEDxx to LGND
Junction Temperature
Rating
−0.3 V to +2.2 V
−0.3 V to +2.2 V
−0.3 V to +3.9 V
−0.3 V to +3.9 V
The following ESD information is provided for handling of ESD
sensitive devices in an ESD protected area only.
Human body model (HBM) per ANSI/ESDA/JEDEC JS-001 and
charged device model (CDM) per ANSI/ESDA/JEDEC JS-002.
Machine model (MM) per ANSI/ESD STM5.2. MM voltage
values are for characterization only.
−0.3 V to +3.9 V
150°C
ESD Ratings for ADPD4100/ADPD4101
Stresses at or above those listed under Absolute Maximum
Ratings may cause permanent damage to the product. This is a
stress rating only; functional operation of the product at these
or any other conditions above those indicated in the operational
section of this specification is not implied. Operation beyond
the maximum operating conditions for extended periods may
affect product reliability.
Table 11. ADPD4100/ADPD4101, 35-Ball and 33-Ball WLCSP
ESD Model
HBM
CDM
MM
ESD CAUTION
THERMAL RESISTANCE
Thermal performance is directly linked to printed circuit board
(PCB) design and operating environment. Close attention to
PCB thermal design is required.
θJA is the natural convection junction to ambient thermal
resistance measured in a one cubic foot sealed enclosure. θJC is
the junction to case thermal resistance.
Table 10. Thermal Resistance
Package Type1
CB-35-2
CB-33-1
1
θJA
41.89
42.15
θJC
0.98
0.98
Withstand Threshold (V)
2000
1250
100
Unit
°C/W
°C/W
The thermal resistance values are defined as per the JESD51-12 standard.
Rev. 0 | Page 9 of 101
Class
2
C3
Not applicable
ADPD4100/ADPD4101
Data Sheet
PIN CONFIGURATIONS AND FUNCTION DESCRIPTIONS
ADPD4100
5
4
3
2
1
A
LED1A
LED2A
LED3A
LED4A
LED4B
B
LGND
LED1B
LED2B
LED3B
GPIO2
C
GPIO0
GPIO1
GPIO3
SCLK
MISO
D
AVDD
DVDD2
IOVDD
CS
MOSI
E
VREF
AGND
IOGND
DGND
DVDD1
F
VC1
IN1
IN3
IN5
IN7
G
VC2
IN2
IN4
IN6
IN8
23297-005
BOTTOM VIEW, BALL SIDE UP
(Not to Scale)
Figure 4. ADPD4100 Pin Configuration
Table 12. ADPD4100 Pin Function Descriptions
Pin No.
A5
A4
A3
A2
A1
B5
B4
B3
B2
B1
C5
C4
C3
C2
C1
D5
D4
D3
D2
D1
E5
E4
E3
E2
E1
F5
F4
F3
Mnemonic
LED1A
LED2A
LED3A
LED4A
LED4B
LGND
LED1B
LED2B
LED3B
GPIO2
GPIO0
GPIO1
GPIO3
SCLK
MISO
AVDD
DVDD2
IOVDD
CS
MOSI
VREF
AGND
IOGND
DGND
DVDD1
VC1
IN1
IN3
Type1
AO
AO
AO
AO
AO
S
AO
AO
AO
DIO
DIO
DIO
DIO
DI
DO
S
S
S
DI
DI
REF
S
S
S
S
AO
AI
AI
Description
LED Driver 1A Current Sink. If not in use, leave this pin floating.
LED Driver 2A Current Sink. If not in use, leave this pin floating.
LED Driver 3A Current Sink. If not in use, leave this pin floating.
LED Driver 4A Current Sink. If not in use, leave this pin floating.
LED Driver 4B Current Sink. If not in use, leave this pin floating.
LED Driver Ground.
LED Driver 1B Current Sink. If not in use, leave this pin floating.
LED Driver 2B Current Sink. If not in use, leave this pin floating.
LED Driver 3B Current Sink. If not in use, leave this pin floating.
General-Purpose I/O 2. This pin is used for interrupts and various clocking options.
General-Purpose I/O 0. This pin is used for interrupts and various clocking options.
General-Purpose I/O 1. This pin is used for interrupts and various clocking options.
General-Purpose I/O 3. This pin is used for interrupts and various clocking options.
SPI Clock Input.
SPI Master Input/Slave Output.
1.8 V Analog Supply.
1.8 V Digital Supply.
1.8 V/3.3 V I/O Driver Supply.
SPI Chip Select Input.
SPI Master Output/Slave Input.
Internally Generated ADC Voltage Reference. Buffer this pin with a 1 µF capacitor to AGND.
Analog Ground.
I/O Driver Ground.
Digital Ground.
1.8 V Digital Supply.
Output Voltage Source 1 for Photodiode Common Cathode Bias or Other Sensor Stimulus.
Current Input 1. If not in use, leave this pin floating.
Current Input 3. If not in use, leave this pin floating.
Rev. 0 | Page 10 of 101
Data Sheet
Pin No.
F2
F1
G5
G4
G3
G2
G1
1
Mnemonic
IN5
IN7
VC2
IN2
IN4
IN6
IN8
ADPD4100/ADPD4101
Type1
AI
AI
AO
AI
AI
AI
AI
Description
Current Input 5. If not in use, leave this pin floating.
Current Input 7. If not in use, leave this pin floating.
Output Voltage Source 2 for Photodiode Common Cathode Bias or Other Sensor Stimulus.
Current Input 2. If not in use, leave this pin floating.
Current Input 4. If not in use, leave this pin floating.
Current Input 6. If not in use, leave this pin floating.
Current Input 8. If not in use, leave this pin floating.
AO means analog output, S means supply, DIO means digital input/output, DI means digital input, DO means digital output, REF means voltage reference, and AI
means analog input.
ADPD4101
5
4
3
2
1
A
LED1A
LED2A
LED3A
LED4A
LED4B
B
LGND
LED1B
LED2B
LED3B
GPIO2
C
GPIO0
GPIO1
GPIO3
SDA
SCL
D
AVDD
DVDD2
IOVDD
E
VREF
AGND
IOGND
DGND
DVDD1
F
VC1
IN1
IN3
IN5
IN7
G
VC2
IN2
IN4
IN6
IN8
23297-006
BOTTOM VIEW, BALL SIDE UP
(Not to Scale)
Figure 5. ADPD4101 Pin Configuration
Table 13. ADPD4101 Pin Function Descriptions
Pin No.
A5
A4
A3
A2
A1
B5
B4
B3
B2
B1
C5
C4
C3
C2
C1
D5
D4
D3
E5
E4
Mnemonic
LED1A
LED2A
LED3A
LED4A
LED4B
LGND
LED1B
LED2B
LED3B
GPIO2
GPIO0
GPIO1
GPIO3
SDA
SCL
AVDD
DVDD2
IOVDD
VREF
AGND
Type1
AO
AO
AO
AO
AO
S
AO
AO
AO
DIO
DIO
DIO
DIO
DIO
DI
S
S
S
REF
S
Description
LED Driver 1A Current Sink. If not in use, leave this pin floating.
LED Driver 2A Current Sink. If not in use, leave this pin floating.
LED Driver 3A Current Sink. If not in use, leave this pin floating.
LED Driver 4A Current Sink. If not in use, leave this pin floating.
LED Driver 4B Current Sink. If not in use, leave this pin floating.
LED Driver Ground.
LED Driver 1B Current Sink. If not in use, leave this pin floating.
LED Driver 2B Current Sink. If not in use, leave this pin floating.
LED Driver 3B Current Sink. If not in use, leave this pin floating.
General-Purpose I/O 2. This pin is used for interrupts and various clocking options.
General-Purpose I/O 0. This pin is used for interrupts and various clocking options.
General-Purpose I/O 1. This pin is used for interrupts and various clocking options.
General-Purpose I/O 3. This pin is used for interrupts and various clocking options.
I2C Data Input/Output.
I2C Clock Input.
1.8 V Analog Supply.
1.8 V Digital Supply.
1.8 V/3.3 V I/O Driver Supply.
Internally Generated ADC Voltage Reference. Buffer this pin with a 1 µF capacitor to AGND.
Analog Ground.
Rev. 0 | Page 11 of 101
ADPD4100/ADPD4101
Pin No.
E3
E2
E1
F5
F4
F3
F2
F1
G5
G4
G3
G2
G1
1
Mnemonic
IOGND
DGND
DVDD1
VC1
IN1
IN3
IN5
IN7
VC2
IN2
IN4
IN6
IN8
Type1
S
S
S
AO
AI
AI
AI
AI
AO
AI
AI
AI
AI
Data Sheet
Description
I/O Driver Ground.
Digital Ground.
1.8 V Digital Supply.
Output Voltage Source 1 for Photodiode Common Cathode Bias or Other Sensor Stimulus.
Current Input 1. If not in use, leave this pin floating.
Current Input 3. If not in use, leave this pin floating.
Current Input 5. If not in use, leave this pin floating.
Current Input 7. If not in use, leave this pin floating.
Output Voltage Source 2 for Photodiode Common Cathode Bias or Other Sensor Stimulus.
Current Input 2. If not in use, leave this pin floating.
Current Input 4. If not in use, leave this pin floating.
Current Input 6. If not in use, leave this pin floating.
Current Input 8. If not in use, leave this pin floating.
AO means analog output, S means supply, DIO means digital input/output, DI means digital input, DO means digital output, REF means voltage reference, and AI
means analog input.
Rev. 0 | Page 12 of 101
Data Sheet
ADPD4100/ADPD4101
TYPICAL PERFORMANCE CHARACTERISTICS
0.20
9
0.18
8
0.12
0.10
0.08
0.06
0.04
6
5
4
3
2
1
0.02
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
LED1A DRIVER COMPLIANCE (V)
0
23297-007
0
12.5kΩ GAIN
25kΩ GAIN
50kΩ GAIN
100kΩ GAIN
200kΩ GAIN
7
0
100
200
300
400
500
600
700
800
900
1000
INPUT CAPACITANCE (pF)
Figure 6. LED Driver Current vs. LED1A Driver Compliance at LED_CURRENT1_x =
0x7 (10 mA), 0x19 (40 mA), 0x4A (120 mA), and 0x7F (200 mA)
23297-010
LED DRIVER CURRENT (A)
0.14
INPUT REFERRED NOISE (nA rms)
LED_CURRENT1_x 0x7 = 10mA
LED_CURRENT1_x 0x19 = 40mA
LED_CURRENT1_x 0x4A = 120mA
LED_CURRENT1_x 0x7F = 200mA
0.16
Figure 9. Input Referred Noise vs. Input Capacitance,
Integrator Input Resistor = 400 kΩ
0
96
94
–10
92
90
SNR (dB)
AC PSRR (dB)
–20
–30
88
86
84
–40
82
80
200kΩ GAIN
100kΩ GAIN
50kΩ GAIN
78
1
10
100
1k
10k
100k
1M
FREQUENCY (Hz)
76
23297-058
Figure 7. AC PSRR vs. Frequency
100
Figure 10. SNR vs. Number of LED Pulses in Continuous Connect Mode,
CPD = 70 pF, Integrator Input Resistor = 400 kΩ, 90% Full Scale
10000
TOTAL POWER CONSUMPTION (µW)
8
INPUT REFERRED NOISE (nA rms)
10
NUMBER OF LED PULSES
9
7
6
5
4
3
2
0
20
40
60
80
100
120
TIA GAIN (kΩ)
140
160
180
200
Figure 8. Input Referred Noise vs. TIA Gain, CPD = 70 pF, Integrator Input
Resistor = 400 kΩ
1000
100
10
76
23297-009
1
0
1
200kΩ GAIN
100kΩ GAIN
50kΩ GAIN
78
80
82
84
86
SNR (dB)
88
90
92
94
96
23297-012
–60
23297-011
–50
Figure 11. Total Power Consumption vs SNR in Continuous Connect Mode
Including LED Power, CPD = 70 pF, Integrator Input Resistor = 400 kΩ, ODR =
25 Hz, CTR = 150 nA/mA, LED Supply Voltage = 4 V, 90% of Full Scale
Rev. 0 | Page 13 of 101
Data Sheet
0
160
–10
140
–20
120
NUMBER OF DEVICES
AMBIENT LIGHT REJECTION (dB)
ADPD4100/ADPD4101
–30
–40
–50
100
80
60
40
–60
20
100
1k
10k
100k
FREQUENCY (Hz)
0
FREQUENCY (MHz)
Figure 14. 1 MHz Clock Frequency Distribution, Untrimmed
Figure 12. Ambient Light Rejection vs. Frequency
90
200
80
180
160
50
40
30
140
120
100
80
60
20
0
0
FREQUENCY (kHz)
23297-014
40
10
30.0
30.5
31.0
31.5
32.0
32.5
33.0
33.5
34.0
34.5
35.0
35.5
36.0
36.5
37.0
37.5
38.0
38.5
39.0
39.5
40.0
MORE
20
Figure 13. 32 kHz Clock Frequency Distribution, Untrimmed
FREQUENCY (MHz)
Figure 15. 32 MHz Clock Frequency Distribution, Untrimmed
Rev. 0 | Page 14 of 101
23297-016
60
BIN
28.0
28.5
29.0
29.5
30.0
30.5
31.0
31.5
32.0
32.5
33.0
33.5
34.0
34.5
35.0
35.5
36.0
36.5
37.0
37.5
38.0
MORE
NUMBER OF DEVICES
70
NUMBER OF DEVICES
23297-015
10
23297-013
1
0.80
0.82
0.84
0.86
0.88
0.90
0.92
0.94
0.96
0.98
1.00
1.02
1.04
1.06
1.08
1.10
1.12
1.14
1.16
1.18
1.20
MORE
–70
Data Sheet
ADPD4100/ADPD4101
THEORY OF OPERATION
RINT
IN4
RF
IN5
RF
6.3pF
6.3pF
ADC
RINT
IN6
TIA
IN7
BPF
IN8
23297-017
RINT
RF
6.3pF
Figure 16. Analog Signal Path Block Diagram
Analog Input Multiplexer
VICM
TIA_VREF
The ADPD4100/ADPD4101 support eight analog input pins.
Each input can be used as a single-ended input or as part of a
differential pair. Figure 17 shows a single representation of the
input switch matrix, which allows programmable connection to
the two AFE channels. Each pair of inputs has an exact duplicate
of this multiplexer: IN1 and IN2, IN3 and IN4, IN5 and IN6, and
IN7 and IN8. The connections are programmable per time slot.
IN1
VICM
TIA
IN2
ANALOG SIGNAL PATH
The ADPD4100/ADPD4101 analog signal path consists of eight
current inputs that can be configured as single-ended or
differential pairs into one of two independent channels. The
two channels can be sampled simultaneously for applications
Rev. 0 | Page 15 of 103
TIA_VREF
TIA
THERE ARE FOUR
COPIES OF SWITCH MATRIX.
ONE COPY FOR EACH
INPUT PAIR.
TIA_VREF
*ALL BIAS CONNECTIONS SHOWN ARE ONLY AVAILABLE DURING
SLEEP AND PRECONDITIONING PERIODS. THE SWITCHES TO
THESE BIAS LEVEL ARE OPEN DURING TIME SLOTS WITH THE
RESPECTIVE INPUTS SELECTED.
Figure 17. Analog Input Multiplexer
23297-018
The LED driver is a current sink and is independent from the LED
supply voltage and the LED type. The inputs can be connected
to any sensor that provides currents up to 200 μA. The
ADPD4100/ADPD4101 can also interface with voltage output
sensors with a series resistor placed between the sensor output and
the ADPD4100/ADPD4101 inputs to convert the voltage to a
current. The ADPD4100/ADPD4101 produce a high SNR for
relatively low LED power while greatly reducing the effect of
ambient light on the measured signal.
BPF
TIA
IN3
VC2
When making optical measurements, the ADPD4100/ADPD4101
provide 60 dB of ac ambient light rejection using a synchronous
modulation scheme with pulses as short as 1 μs combined with
a BPF. Ambient light rejection is automatic without the need of
external control loops, dc current subtraction, or digital
algorithms.
IN2
TIA_VREF
The core circuitry provides stimulus to the sensors connected
to the inputs of the device and measures the response, storing
the results in discrete data locations. The eight inputs can drive
two simultaneous input channels, either in a single-ended or
differential configuration. Data is read directly by a register or
through a FIFO method. This highly integrated system includes
an analog signal processing block, digital signal processing block,
an I2C communication interface on the ADPD4101 or an SPI
port on the ADPD4100, programmable pulsed LED current
sources, and pulsed voltage sources for sensors that require
voltage excitation.
RINT
VC1*
The AFE consists of a TIA, band-pass filter (BPF), integrator,
and analog-to-digital converter (ADC). The digital block
provides multiple operating modes, programmable timing, four
general-purpose input/output (GPIO) pins, block averaging,
and a selectable second- through fourth-order cascaded
integrator comb (CIC) filter. Eight independent LED drivers are
provided that can each drive up to 200 mA. Four LED drivers can
be enabled in any time slot and can be programmed from
1.5 mA to 200 mA monotonically, with a 7-bit register setting.
The LED drivers enabled in any time slot can provide a total
combined maximum of 400 mA of LED current.
6.3pF
RF
IN1
VC2
The ADPD4100/ADPD4101 operate as a complete multimodal
sensor front end, stimulating up to eight LEDs and measuring
the return signal on up to eight separate current inputs. Twelve
time slots are available, enabling 12 separate measurements per
sampling period. The analog inputs can be driven single-ended
or in differential pairs. The eight analog inputs are multiplexed
into a single channel or two independent channels, enabling
simultaneous sampling of two sensors.
that require instantaneous sampling of two sensors. Each
channel contains a TIA with programmable gain, a BPF with a
high-pass corner at 100 kHz and a low-pass cutoff frequency of
390 kHz, and an integrator capable of integrating ±7.5 pC per
sample. Each channel is time multiplexed into a 14-bit ADC. In
Figure 16, RF is the TIA feedback resistor, and RINT is the series
resistor to the input of the integrator.
VC1*
INTRODUCTION
ADPD4100/ADPD4101
Data Sheet
Preconditioning of the sensor connected to the input is provided to
set the operating point at the input just prior to sampling. There
are several different options for preconditioning determined by
the PRECON_x bits. The PRECON_x bits are provided for each
time slot to specify the precondition for enabled inputs or input
pairs during the corresponding time slot. Preconditioning options
include: float the input(s), VC1, VC2, input common-mode
voltage (VICM), TIA_VREF, TIA input, and short the input pair.
The preconditioning time at the start of each time slot is
programmable using the PRE_WIDTH_x bits. The default
preconditioning period is 8 µs.
The block diagram in Figure 17 shows all the bias levels that can
be switched into the input connections during sleep and
preconditioning. These connections are not available during the
sampling phase of a time slot in which the input is selected.
Second AFE Channel
The second AFE channel is disabled by default. When disabled,
the three amplifiers (TIA, BPF, and integrator) are automatically
powered down, and no ADC cycles occur for the second
channel. Digital integration and impulse response mode do not
use the second channel.
The second AFE channel can be enabled with the CH2_EN_x
bits on a per time slot basis. When the second channel is
enabled, ADC conversions and the datapath bits of the second
channel operate. When data is being written to the FIFO, the
Channel 2 data is written after the Channel 1 data.
Channel 2 TIA gain, integrator resistor, and buffer gain (when
in digital integrate or TIA ADC mode) are set separately from
Channel 1.
VLED2
CVLED
LEDxA
CVLED
LEDxB
LED_CURRENTx_x
23297-019
LED_DRIVESIDEx_x
NOTES
CVLED IS THE BYPASS CAPACITOR.
Figure 18. Block Diagram of LED Driver Output Pair
The LED driver output pins (LED1A, LED1B, LED2A, LED2B,
LED3A, LED3B, LED4A, and LED4B) have a maximum
allowable pin voltage of 3.6 V. Any voltage exposure over this
rating affects the reliability of the device operation and, in
certain circumstances, causes the device to cease proper
operation. The voltage of the LED driver output pins must not
be confused with the supply voltages for the LED themselves.
VLEDx is the voltage applied to the anode of the external LED
whereas the LED output driver pin is connected to the cathode
of the external LED. The compliance voltage is the amount of
headroom voltage at the LED driver pin, measured with respect
to ground, required to maintain the programmed LED current
level and is a function of the current required. Figure 6 shows
the typical compliance voltages required at various LED current
settings for LED driver LED1A, and Figure 19 shows the typical
compliance voltages for all the LED drivers at the maximum LED
current setting. Due to internal layout of the LED driver circuitry,
some drivers output more or less current than others at any
given setting. Typically, the LED1A and LED1B drivers are ~3%
higher than the LED4A and LED4B drivers, respectively, with
the 2× and 3× drivers falling somewhere in between. Also, the
LEDxA drivers are ~3% higher than the LEDxB driver of the
same number.
0.20
0.18
0.16
0.14
0.12
0.10
0.08
LED4B
LED4A
LED3B
LED3A
LED2B
LED2A
LED1B
LED1A
0.06
0.04
LED DRIVERS
0.02
The ADPD4100/ADPD4101 have four LED drivers, each of
which is brought out to two LED driver outputs providing a
total of eight LED output drivers. The device can drive up to four
LEDs simultaneously, one from each driver pair. The LED output
driver is a current sink. Figure 18 shows an example of a single
LED driver output pair.
0
0
0.2
0.2
0.3
0.4
0.5
0.6
0.7
LED DRIVER VOLTAGE (V)
0.8
0.9
1.0
23297-020
The sleep conditions are used for any inputs that are not enabled.
Sleep conditions are determined by the INP_SLEEP_12,
INP_SLEEP_34, INP_SLEEP_56, and INP_SLEEP_78 bits,
which specify the state for the input pairs during sleep and
when the inputs are not active. Inputs are only considered active
during the precondition and pulse regions for time slots where
they are enabled.
VLED1
LED DRIVER CURRENT (A)
The PAIR12, PAIR34, PAIR56, and PAIR78 bits select whether
the matching input pair is used as two single-ended inputs or as
a differential pair. This selection is valid for all active time slots.
The INP12_x, INP34_x, INP56_x, and INP78_x bits specify
whether the input pair is enabled during the corresponding
time slot and, if enabled, which input is connected to which
AFE channel.
Figure 19. LED Driver Current vs. LED Driver Voltage for LED Drivers (LEDxA,
LEDxB) for LED_CURRENTx_x = 0x7F
Rev. 0 | Page 16 of 101
Data Sheet
ADPD4100/ADPD4101
Either side of each LED driver output pair, but not both, can be
driven in any of the 12 available time slots. Up to four LED
driver outputs can be enabled in any time slot using the LED_
DRIVESIDE1_x, LED_DRIVESIDE2_x, LED_DRIVESIDE3_x,
and LED_DRIVESIDE4_x bits. The current is set on a per
driver, per time slot basis using the LED_CURRENT1_x, LED_
CURRENT2_x, LED_CURRENT3_x, and LED_CURRENT4_x
bits. Each driver can be programmed from 1.5 mA to 200 mA
with a monotonic 7-bit setting, as shown in Figure 20. Each
setting from 1 to 127 increases the LED drive current by ~1.5 mA.
Setting LED_CURRENTx_x = 0 disables that particular driver.
Although each driver can be programmed to 200 mA and up to
four LED drivers can be enabled in any time slot, there is a
limitation of a total of 400 mA of combined LED driver current
that can be provided in any time slot. It is up to the user to
program the LED drivers such that this 400 mA limit is not
exceeded. If the 400 mA limit is exceeded by the user settings,
priority is given, in the following order, to LED1x, LED2x,
LED3x, and LED4x. For example, if the user settings have
LED1A set to 150 mA, LED2B set to 150 mA, and LED3A set to
150 mA in a single time slot, LED1A and LED2B both provide
150 mA. However, LED3A is limited to 100 mA to maintain the
400 mA total LED drive current limit for the device.
LED Driver Protection from LED Driver Pin Overvoltage
In typical designs, no external components are needed on the
LED driver. However, in some cases where the LED driver pin
voltage has the possibility to be pulled above 3.6 V, an external
NPN bipolar junction transistor (BJT) type transistor can be
connected to the LED driver pin, as shown in Figure 21. This
additional transistor serves as a protection of the LED driver
pin from exceeding the maximum allowable LEDxx pin voltage
of 3.6 V.
Protecting the LED driver pins from overvoltage is required
when (VLEDx − LED turn on voltage) > 3.6 V, or when the
voltage source has a shunt resistance of less than 10 MΩ and the
supply voltage is above 3.6 V. For example, VLEDx of 6 V can be
used without pulling the LED driver pins up past 3.6 V for low
leakage LEDs such as some green and blue LEDs. Typically,
when VLEDx < 6 V, the protection transistor is not necessary.
VLED1
CVLED
VBASE
LEDxx
NOTES
1. CVLED IS THE BYPASS CAPACITOR.
2. VBASE IS THE BASE VOLTAGE.
150
23297-059
200
Figure 21. LED Driver Overvoltage Protection Circuit
The NPN BJT selection must follow these guidelines:
100
•
50
0
0
16
32
48
64
80
96
112
LED_CURRENTx_x SETTING
23297-021
LED DRIVER CURRENT (mA)
250
Figure 20. LED Driver Current vs. LED_CURRENTx_x Setting
LED Driver Protection from High Inductance
•
•
•
If the total inductance in the path between the LED and the
ADPD4100/ADPD4101 LED driver pin (LEDxA or LEDxB)
and in the path between the LED and the LED supply voltage
(VLEDx) is significant due to the use of long wires and multiple
connectors, connect a reverse biased protection diode to a
suitable high supply voltage such as VLEDx at the LED driver pin
used. That is, connect a reverse biased protection diode
between the LED driver pin used and VLEDx.
The current capacity must match the maximum LED
driver current on the LED. The maximum LED driver
current is 200 mA for one LED driver and 400 mA for
multiple LED drivers connected to the same LED.
The voltage rating of the transistor must exceed the supply
being used on the load.
The base emitter voltage must be ≤0.9 V at the maximum
LED driver current on the LED.
Lower collector emitter voltages at the maximum LED
driver current on the LED provide more operating room
for the load being driven.
DETERMINING CVLED
To determine the bypass capacitor (CVLED) value, determine the
maximum forward-biased voltage, VFB_LED_MAX, of the LED in
operation. The maximum LED current, ILED_MAX, converts to
VFB_LED_MAX as shown in Figure 22. In this example, 125 mA of
current through two green LEDs in parallel yields VFB_LED_MAX =
3.5 V. Any series resistance in the LED path must also be
included in this voltage. When designing the LED path, keep in
mind that small resistances can add up to large voltage drops
due to the LED peak current being large. In addition, these
resistances can be unnecessary constraints on the VLEDx supply.
Rev. 0 | Page 17 of 101
ADPD4100/ADPD4101
Data Sheet
voltage is the voltage of the anode of the LED such that the compliance of the LED driver and the forward-biased voltage of the
LED operating at the maximum current is satisfied. At a 125 mA
drive current, the compliance voltage of the driver is ~0.4 V. For
a typical ADPD4100/ADPD4101 example, assume that the
lowest value for the VLEDx supply is 4.5 V and that the peak
current is 125 mA for two 528 nm LEDs in parallel. The
minimum value for CVLED is then equal to 1 µF.
TWO 528nm LEDs
ONE 850nm LED
4.0
3.5
3.0
2.5
CVLED = (3 × 10−6 × 0.125)/(4.5 – (3.5 + 0.4)) = 0.625 nF (2)
2.0
1.5
1.0
0
50
100
150
200
LED DRIVER CURRENT SETTING (mA)
250
23297-022
LED FORWARD-BIASED VOLTAGE DROP (V)
4.5
Figure 22. Example of the Average LED Forward-Biased Voltage Drop as a
Function of the LED Driver Current Setting
To correctly size the CVLED capacitor, do not deplete it during the
pulse of the LED to the point where the voltage on the capacitor
is less than the forward bias on the LED. Calculate the minimum
value for CVLED as follows:
CVLED = (tLED_PW × ILED_MAX)/(VLED_MIN − (VFB_LED_MAX + VCOMP)) (1)
where:
tLED_PW is the LED pulse width.
ILED_MAX is the maximum forward-biased current on the LED
used in operating the devices.
VLED_MIN is the lowest voltage from the VLEDx supply with no load.
VFB_LED_MAX is the maximum forward-biased voltage required on
the LED to achieve ILED_MAX.
VCOMP is the compliance voltage of the LED driver at the
programmed LED drive level.
The numerator of Equation 1 sets up the total discharge amount
in coulombs from the bypass capacitor to satisfy a single programmed LED pulse of the maximum current. The denominator
represents the difference between the lowest voltage from the
VLEDx supply and the LED required voltage. The LED required
As shown in Equation 2, as the minimum supply voltage drops
close to the maximum anode voltage, the demands on CVLED
become more stringent, forcing the capacitor value higher. It is
important to insert the correct values into Equation 2. For
example, using an average value for VLED_MIN instead of the
worst case value for VLED_MIN can cause a serious design
deficiency, resulting in a CVLED value that is too small, causing
insufficient optical power in the application.
Additionally, multiple pulses can cause further droop on the
VLEDx supply if the CVLED capacitor is not fully recharged
between pulses. Therefore, adding a sufficient margin on CVLED
is strongly recommended. Add additional margin to CVLED to
account for multiple pulses and derating of the capacitor value
over voltage, bias, temperature, and other factors over the life of
the component.
DATAPATH, DECIMATION, SUBSAMPLING, AND
FIFO
ADC samples are gathered for each pulse in each time slot and
combine to create a running positive and negative sum for each
time slot. These sums are each kept as a 32-bit unsigned value
register and saturate if the values overflow 32 bits. Each ADC
sample is added to either the positive or negative sum based on
the SUBTRACT_x bits for the current pulse in standard sampling
mode, or in the lit or dark acquisition regions for digital
integration mode. Figure 23 shows the datapath structure.
Rev. 0 | Page 18 of 101
Data Sheet
ADPD4100/ADPD4101
ADC
(14 BITS UNSIGNED)
CHx_ADC_ADJUST_x
+
–
15 BITS SIGNED
ACCORDING TO
SUBTRACT OR DIGITAL
INTEGRATION REGION
POSITIVE ACCUMULATION
32 BITS SIGNED
NEGATIVE ACCUMULATION
32 BITS SIGNED
ADD 2048 IF
ZERO_ADJUST_x = 1
CLIP
CLIP
LIT
32 BITS UNSIGNED
PER CHANNEL
AND PER TIME SLOT
DARK
32 BITS UNSIGNED
DECIMATION
+
–
CLIP
SIGNAL
32 BITS UNSIGNED
CLIP
PER CHANNEL
AND PER TIME SLOT
DARK
32 BITS UNSIGNED
DATA REGISTERS
Figure 23. Datapath Block Diagram
Rev. 0 | Page 19 of 101
23297-023
SIGNAL
32 BITS UNSIGNED
ADPD4100/ADPD4101
Data Sheet
At the end of the pulse operations in each time slot, the lit and
dark values are clipped to positive numbers and are sent to the
decimation unit. At the end of time slot operations, if the
decimated value is ready, the signal value is calculated by
subtracting the dark value from the lit value. Then, the data
registers that are ready are updated, and the selected values are
written to the FIFO. The data interrupt for that time slot is also
set at this time for each updated time slot.
Decimation
The DECIMATE_FACTOR_x bits determine the number of
time slot values used to create a 32-bit final sample value at a
rate of
Sample Rate =
(1/TIMESLOT_PERIOD_x)/(DECIMATE_FACTOR_x + 1)
If DECIMATE_FACTOR_x is 0, the output sample rate equals
the time slot rate. The final value is the sum of the decimated
samples. There is no divide by (DECIMATE_FACTOR_x + 1)
operation performed on the decimated data, but final data
values can be bit shifted to the right before being written to the
FIFO, creating a direct average when the number of samples is a
power of 2. DECIMATE_TYPE_x selects the method of
decimation used. A setting of 0 selects a simple block sum with
other settings allowing higher order CIC filters up to fourth
order. If using higher order CIC filters for the signal data, the
dark data still uses the simple block sum at the same decimation
rate. Each time slot maintains its own block sum or CIC filter
state. The entire decimation path uses a 32-bit datapath. When
using the CIC filter, the number of bits required for the result is
dependent on the number of pulses, the decimation rate and the
order of the CIC filter according to the following equation:
NBITS = 14 + log2(Number of Pulses) + (log2(Decimation
Rate))(CIC Order)
It is up to the user to ensure that there is no undesired overflow.
Final data results can be read from data registers or a 512-byte
data FIFO. Data written to the FIFO is configurable to allow the
different data registers, formats, and data sizes as required. Each
time slot can use its own decimation rate. Data from each time
slot is written to the FIFO at its respective ODR.
Subsampling
The ADPD4100/ADPD4101 support a subsampling mode that
allows selected time slots to run at slower sampling rates than
the programmed sampling rate. For example, in a multiparameter
application where most of the measurements need to be taken
at a sampling rate of 300 Hz but one of the measurements only
needs to be taken at 25 Hz, the subsampling mode can be used
on the time slot that only needs to operate at 25 Hz. To enable
subsampling mode for a specific time slot, set the SUBSAMPLE_x
bit to 1 and set the DECIMATE_FACTOR_x bits to the desired
subsampling rate. The subsampled time slot then samples only
once every (DECIMATE_FACTOR_x + 1) cycles, instead of
operating every time slot sequence. If other time slots are decimating at the same rate, the subsampled cycles occur at the same
time the decimated data is presented to the FIFO. For example,
if Time Slot A is operating at 300 Hz but decimating to 25 Hz,
and Time Slot B is set to subsample by 12, both time slots write
the FIFO during the same time slot sequence and at the same rate.
More complicated patterns can be made if the decimate and
subsample rates for the enabled time slots are different. The
user must manage the varying packet sizes by reading the data
in multiples of the repeating packet size. For example, if Time
Slot A is not decimating or subsampling, Time Slot B is subsampling every second cycle, and Time Slot C is subsampling every
fourth cycle, the data pattern written to the FIFO is A, AB, A,
ABC, and so on, as the repeating packet.
Decimation and subsampling have the same effect on the output
data rate. The only difference is that the decimated time slots
operate every input cycle but produce data at the slower rate
using the on-chip decimating filter. The subsampling time slots
only occur at the slower rate.
Status bytes are written to the FIFO every wake-up period,
regardless of which time slots execute. Using the same example
as the different decimate and subsample rates scenario, but with
a status byte enabled, the pattern is AS, ABS, AS, ABCS, and so
on, where S is a status byte.
FIFO
Data is written to the FIFO at the end of each sampling period.
This packet can include 0, 8-, 16-, 24-, or 32-bit data for each of
the dark data, lit data, and signal data values. The bit alignment
of the data written to the FIFO is selectable with a shift of 0 bits
to 31 bits, with saturation provided. Lower bits are ignored. The
DARK_SHIFT_x, LIT_SHIFT_x, and SIGNAL_SHIFT_x bits
select the number of bits to shift the output data to the right
before writing to the FIFO. The DARK_SIZE_x, LIT_SIZE_x,
and SIGNAL_SIZE_x bits select the number of bytes of each
field to be written from 0 bytes to 4 bytes. When set to 0, no
data is written for that data type. If there are any nonzero bits at
more significant bit positions than those selected, the data
written to the FIFO is saturated. If both channels are enabled,
all selected Channel 1 data values are written to the FIFO first,
followed by the Channel 2 data.
For example, in modes that utilize dark data, the eight upper
bits of the dark data can be stored with 24 appropriately selected
bits from the signal data for each time slot to allow detection of
whether the ambient light is becoming large, while limiting the
size of the amount of data transferred.
Data is written to the FIFO at the end of the sampling period
only if there is enough FIFO space left to write data for each
active time slot. For example, if one active time slot is running
at an ODR of 100 Hz and a second time slot is decimating by 4
or subsampling at 1/4th the rate of the first time slot for an ODR
of 25 Hz, data is only written to the FIFO at the end of the
sampling period if there is enough room for both active time
slots to write data, regardless of whether the time slot that is
decimating or subsampling is supposed to write data during
Rev. 0 | Page 20 of 101
Data Sheet
ADPD4100/ADPD4101
that sampling period. It is up to the user to manage the data
appropriately at the microprocessor end when using time slots
with different decimation and/or subsampling rates.
The FIFO is never written with partial packets of data. If there
is not enough room for all of the data that is to be written to the
FIFO for all enabled time slots and any selected status bytes, no
data is written from any of the time slots during that period and
the INT_FIFO_OFLOW status bit is set.
The order of samples written to the FIFO (if selected) is dark
data followed by signal data. The byte order for multibyte words
is shown in Table 14.
Table 14. Byte Order for FIFO Writes
Size
8
16
24
32
Byte Order (After Shift)
[7:0]
[15:8], [7:0]
[15:8], [7:0], [23:16]
[15:8], [7:0], [31:24], [23:16]
The FIFO size is 512 bytes. When the FIFO is empty, a read operation returns 0xFF, and the INT_FIFO_UFLOW status bit is set.
In addition to the FIFO, the signal and dark 32-bit registers can
be directly read. These registers are effectively two-stage registers
where there is an internal data register that updates with every
sample, and a latched output data register that is accessed by the
host. The data interrupts can be used to align the access of these
registers to just after the registers are written. If using the interrupt
timing is troublesome, use the HOLD_REGS_x bits to prevent an
update of the output registers during an access not aligned to
the interrupt. Setting the HOLD_REGS_x bits blocks the update
of the latched output data register and ensures that the dark and
signal values read by the host are from the same sample point. If
additional samples occur while the HOLD_REGS_x bit is set,
the samples are written to the internal data register but not
latched into the output data register that is accessed by the host.
Setting the HOLD_REGS_x bit to 0 reenables the pass through
of new data.
After all time slots have completed, the optional status bytes are
written to the FIFO. See the Optional Status Bytes section for
more information.
CLOCKING
Low Frequency Oscillator
A low frequency oscillator clocks the low speed state machine,
which sets the time base used to control the sample timing,
wake-up states, and overall operation. There are three options
for low frequency oscillator generation. The first option is an
internal, selectable 32 kHz or 1 MHz oscillator. The second
option is for the host to provide a low frequency oscillator
externally. Finally, the low frequency oscillator can be generated
by a divide by 32 or divide by 1000 of an external high frequency
clock source at 32 MHz. When powering up the device, it is
expected that the low frequency oscillator be enabled and left
running continuously.
To operate with the on-chip low frequency oscillator, use the
following writes. Set the LFOSC_SEL bit to 0 to select the
32 kHz clock or 1 if the 1 MHz clock is desired. Then, set either
the OSC_1M_EN or OSC_32K_EN bit to 1 to turn on the
desired internal oscillator. The internal 32 kHz clock frequency
is set using the 6-bit OSC_32K_ADJUST bits. The internal
1 MHz clock frequency is set using the 10-bit OSC_1M_FREQ_
ADJ bits.
If higher timing precision is required than can be provided by
the on-chip low frequency oscillator, the low frequency oscillator
can be driven directly from an external source provided on a
GPIOx input. To enable an external low frequency clock, use
the following writes. Enable one of the GPIOx inputs using the
GPIO_PIN_CFGx bits. Next, use the ALT_CLK_GPIO bits to
choose the enabled GPIOx input to be used for the external low
frequency oscillator. Set the ALT_CLOCKS bits to 0x1 to select
an external low frequency oscillator. Finally, use the
LFOSC_SEL bit to match whether a 32 kHz or 1 MHz clock is
being provided.
In a third method, an external 32 MHz clock is used for both
the high frequency clock and to be divided down to generate
the low frequency clock. To use this method, follow the
previous instructions for an external low frequency clock but
set the ALT_CLOCKS bits to 0x3, and use the LFOSC_SEL bit
to determine if a divide by 32 or 1000 is used to generate the
low frequency clock so that either a 32 kHz or 1 MHz clock is
generated from the external 32 MHz clock.
High Frequency Oscillator
A 32 MHz high frequency oscillator is generated internally or
can be provided externally. This high frequency clock clocks the
high speed state machine, which controls the AFE operations
during the time slots, such as LED timing and integration times.
The high frequency oscillator can be internally generated by setting
the ALT_CLOCKS bits to 0x0 or 0x1. When selected, the
internal 32 MHz oscillator is enabled automatically by the low
speed state machine during the appropriate wake-up time or
during the 32 MHz oscillator calibration routine.
The high frequency oscillator can also be driven from an external
source. To provide an external 32 MHz high frequency oscillator,
enable one of the GPIO inputs using the GPIO_PIN_CFGx bits.
Then, use the ALT_CLK_GPIO bits to choose the enabled
GPIOx input for the external high frequency oscillator. Finally,
write 0x2 or 0x3 to the ALT_CLOCKS bits to select an external
high frequency oscillator. Writing 0x2 provides only the high
frequency oscillator from the external source, whereas writing
0x3 generates both the low frequency oscillator and high
frequency oscillator from the external 32 MHz source. When
using an external 32 MHz oscillator, it must be kept running
continuously for proper device operation.
Rev. 0 | Page 21 of 101
ADPD4100/ADPD4101
Data Sheet
TIME STAMP OPERATION
The time stamp feature is useful for calibration of the low frequency oscillator as well as providing the host with timing
information during time slot operation. Timestamping is supported by the use of any GPIO as a time stamp request input,
the CAPTURE_TIMESTAMP bit to enable capture of the time
stamp trigger, a time counter running in the low frequency
oscillator domain, and two output registers. The output bits include
TIMESTAMP_COUNT_x, which holds the number of low
frequency oscillator cycles between time stamp triggers, and
TIMESTAMP_SLOT_DELTA, which holds the number of low
frequency oscillator cycles remaining to the next time slot start.
The setup for using the time stamp operation is as follows:
1.
2.
3.
4.
Set CLK_CAL_ENA = 1 to enable the oscillator calibration
circuitry.
Configure a GPIO to support the time stamp input using the
appropriate GPIO_PIN_CFGx bits. Select the matching
GPIOx to provide the time stamp using the TIMESTAMP_
GPIO bits.
Configure the ADPD4100/ADPD4101 for operation and
enable the low frequency oscillator.
If the TIMESTAMP_SLOT_DELTA function is desired,
start the time slot operation by placing the device in go
mode using the OP_MODE bit (see Table 15). For low
frequency oscillator calibration, it is only required that the
low frequency oscillator be enabled. The device does not
have to be in go mode for low frequency oscillator
calibration.
Use the following procedure to capture the time stamp:
1.
2.
3.
4.
5.
Set the CAPTURE_TIMESTAMP bit to 1 to enable the
capture of the time stamp on the next rising edge of the
selected GPIOx input.
The host provides the initial time stamp trigger on the
selected GPIOx at an appropriate time.
The CAPTURE_TIMESTAMP bit is cleared when the
time stamp signal is captured unless the TIMESTAMP_
ALWAYS_EN bit is set, in which case, the capture of the
time stamp is always enabled. Reenable the capture if
necessary.
The host provides a subsequent time stamp trigger on the
selected GPIO at an appropriate time.
The number of low frequency oscillator cycles that
occurred between time stamp triggers can be read from the
TIMESTAMP_COUNT_x bits.
The host must continue to handle the FIFO and/or data register
data normally during time stamp processing.
If using a dedicated pin for a time stamp that does not have
transitions other than the time stamp, set the TIMESTAMP_
ALWAYS_EN bit to avoid automatic clearing of the CAPTURE_
TIMESTAMP bit. This setting removes the need to enable the
time stamp capture each time.
The time stamp can calibrate the low frequency oscillator as
described in the Low Frequency Oscillator Calibration section.
The host can also use TIMESTAMP_SLOT_DELTA to determine
when the next time slot occurs. TIMESTAMP_SLOT_DELTA
can determine the arrival time of the samples currently in the
FIFO. TIMESTAMP_SLOT_DELTA does not account for the
decimation factor.
The time stamp trigger is edge sensitive and can be set to either
trigger on the rising edge (default) or falling edge using
TIMESTAMP_INV.
LOW FREQUENCY OSCILLATOR CALIBRATION
The time stamp circuitry can calibrate either the 32 kHz or
1 MHz low frequency oscillator circuit by adjusting the
frequency to match the timing of the time stamp triggers.
Simply compare the TIMESTAMP_COUNT_x value in low
frequency oscillator cycles to the actual time stamp trigger
period and adjust the OSC_32K_ADJUST or OSC_1M_FREQ_
ADJ value accordingly.
HIGH FREQUENCY OSCILLATOR CALIBRATION
The high frequency oscillator is calibrated by comparing
multiples of its cycles with multiple cycles of the low frequency
oscillator, which is calibrated to the system time. Calibration of
the low frequency oscillator precedes calibration of the high
frequency oscillator. The method for calibrating the high
frequency oscillator is as follows:
1.
2.
3.
4.
5.
6.
7.
8.
Set CLK_CAL_ENA = 1 to enable the oscillator calibration
circuitry.
Write 1 to the OSC_32M_CAL_START bit.
The ADPD4100/ADPD4101 automatically power up the
high frequency oscillator.
The device automatically waits for the high frequency
oscillator to be stable.
An internal counter automatically counts the number of
32 MHz high frequency oscillations that occur during
128 cycles of the 1 MHz low frequency oscillator or
4 cycles of the 32 kHz low frequency oscillator, depending
on which low frequency oscillator is enabled based on the
setting of the LFOSC_SEL bit.
The OSC_32M_CAL_COUNT bits are updated with the
final count.
The 32 MHz oscillator automatically powers down
following calibration unless time slots are active.
The device resets the OSC_32M_CAL_START bit
indicating the count has been updated.
The OSC_32M_FREQ_ADJ bits adjust the frequency of the
32 MHz oscillator to the desired frequency. When using an external
low frequency oscillator, the 32 MHz oscillator calibration is performed with respect to the externally provided low frequency
oscillator.
Note that when the calibrations of the low frequency and high
frequency oscillators are complete, set CLK_CAL_ENA = 0 to
disable the clocking of the oscillator calibration circuitry to
Rev. 0 | Page 22 of 101
Data Sheet
ADPD4100/ADPD4101
Offset = 64 × (Number of 1 MHz Low Frequency Oscillator
Cycles) × TIMESLOT_OFFSET_x
reduce the power consumption. CLK_CAL_ENA defaults to 0
so that the calibration circuitry is disabled by default.
TIME SLOT OPERATION
If using the 32 kHz low frequency oscillator,
Offset = 2 × (Number of 32 kHz Low Frequency Oscillator
Cycles) × TIMESLOT_OFFSET_x
Operation of the ADPD4100/ADPD4101 is controlled by an
internal configurable controller that generates all the timing
needed to generate sampling regions and sleep periods.
Measurements of multiple sensors and control of synchronous
stimulus sources are handled by multiple time slots. The device
provides up to 12 time slots for multisensor applications. The
enabled time slots are repeated at the sampling rate, which is
configured by the 23-bit TIMESLOT_PERIOD_x bits in the
TS_FREQ register. The following formula determines the
sampling rate:
For example, if TIMESLOT_OFFSET_C is set to 0x040 and the
1 MHz low frequency oscillator is used, the offset from the start
of Time Slot A to the start of Time Slot C is
Offset = (64 × 1 µs × 64) = 4.096 ms
The sampling rate is controlled by the low frequency oscillator.
The low frequency oscillator is driven by one of three sources as
described in the Clocking section.
Each time slot allows the creation of one or more LED and/or
modulation pulses, and the acquisition of the photodiode or
other sensor current based on that stimulus. The operating
parameters for each time slot are highly configurable.
Figure 24 shows the basic time slot operation sequence. Each
time slot is repeated at the sampling rate, followed by an ultra
low power sleep period. By default, subsequent time slots are
initiated immediately following the end of the previous time
slot. In addition, there is an option to add an offset to the start
of the subsequent time slots using the TIMESLOT_OFFSET_x
bits. Figure 25 shows the TIMESLOT_ OFFSET_B bits being
used to offset the start of Time Slot B. In this case, each time
slot still operates at the sampling rate, but there is a sleep period
between Time Slot A and Time Slot B. The wake period shown
in Figure 24 and Figure 25 is used to power up and stabilize the
analog circuitry before data acquisition begins. If the
TIMESLOT_OFFSET_B bits are set to 0, the time slot starts as
soon as the previous time slot finishes.
The time slot offset is always applied to the Time Slot A start
time. For example, TIMESLOT_OFFSET_D is an offset added
to the beginning of Time Slot A, not Time Slot C, which
immediately precedes Time Slot D.
The amount of offset applied is dependent on the low frequency
oscillator used. If using the 1 MHz low frequency oscillator,
WAKE
TIME SLOT A
TIME SLOT B
If TIMESLOT_OFFSET_x is set too short to allow the previous
time slot to finish, the time slot occurs immediately after the
previous time slot. Time slots always occur in A through L order.
Using External Synchronization for Sampling
An external signal driven to a configured GPIO pin can be used to
wake the device from sleep instead of the TIMESLOT_PERIOD_x
counter, which allows external control of the sample rate and time.
This mode of operation is enabled using the EXT_SYNC_EN
bit and uses the GPIOx pin selected by the EXT_SYNC_GPIO
bits. If using this feature, be sure to enable the selected GPIOx
pin as an input using the appropriate GPIO_PIN_CFGx bits.
When operating with external synchronization and set in go
mode, the device enters sleep first and waits for the next
external synchronization signal before waking up. This external
synchronization signal is then synchronized to the low frequency
oscillator and then starts the wake-up sequence. If an additional
external synchronization is provided prior to completing time
slot operations, it is ignored.
TIME SLOT L
SLEEP
WAKE
TIME SLOT A
TIMESLOT_PERIOD_x/
LOW FREQUENCY OSCILLATOR(s)
Figure 24. Basic Time Slot Operation Sequence
SLEEP
WAKE
TIME SLOT A
SLEEP
WAKE
TIME SLOT B
SLEEP
TIME SLOT_OFFSET_B
TIMESLOT_PERIOD_x/
LOW FREQUENCY OSCILLATOR(s)
Figure 25. Time Slot Operation with Offset Using TIMESLOT_OFFSET_B
Rev. 0 | Page 23 of 101
WAKE
TIME SLOT A
23297-025
SLEEP
If the sampling period is set too short to allow the enabled time
slots to complete, a full cycle of enabled time slot samples are
skipped, effectively reducing the overall sample rate. For example,
if the sampling rate is set to 100 Hz (10 ms period) and the total
amount of time required to complete all enabled time slots is
11 ms, the next cycle of time slots does not begin until t = 20 ms,
effectively reducing the sampling rate to 50 Hz.
23297-024
Sampling Rate = Low Frequency Oscillator Frequency (Hz) ÷
TIMESLOT_PERIOD_x
ADPD4100/ADPD4101
Data Sheet
EXECUTION MODES
Level Interrupts
A state machine in the low frequency oscillator clock domain
controls sleep times, wake-up cycles, and the start of time slot
operations. The low frequency oscillator serves as the time base
for all time slot operations, controls the sample rates, and clocks
the low frequency state machine. This state machine controls all
operations and is controlled by the OP_MODE bit.
Two level interrupt status bits, INT_LEV0_x and INT_LEV1_x,
provide an interrupt when the dark data or signal data values
cross above or below a programmed threshold level.
Table 15. OP_MODE Bit Setting Descriptions
OP_MODE Setting
0
Mode
Standby
1
Go
Description
All operations stopped. Time
slot actions reset. Low power
standby state.
Transitioning to this state from
standby mode starts time slot
operation.
At power-up and following any subsequent reset operations, the
ADPD4100/ADPD4101 are in standby mode. The user can
write 0 to the OP_MODE bit to immediately stop operations
and return to standby mode.
Register writes that affect operating modes cannot occur during
go mode. The user must enter standby mode before changing
the control registers. Standby mode resets the digital portion of
the ADC, all of the pulse generators, and the state machine.
When OP_MODE is set to 1, the device immediately starts the
first wake-up sequence and time slot operations unless using an
external synchronization trigger. If using an external synchronization trigger, the device enters the sleep state before the first
wake-up and time slot regions begin.
HOST INTERFACE
The ADPD4100/ADPD4101 provide two methods of communication with the host, a SPI port and I2C interface. The device also
provides numerous FIFO, data register, error, and threshold
status bits, each of which can be provided by an interrupt function
from a GPIO, read from status registers, or appended as optional
status bytes at the end of a FIFO packet.
Interrupt Status Bits
Data Register Interrupts
The data interrupt status bits, INT_DATA_x for each time slot,
are set every time the data registers for that time slot are
updated. The state of the HOLD_REGS_x bit has no effect on
the interrupt logic.
FIFO Threshold Interrupt
The FIFO threshold interrupt status bit, INT_FIFO_TH, is set
when the number of bytes in the FIFO exceeds the value stored
in the FIFO_TH register. The INT_FIFO_TH bit is cleared
automatically when a FIFO read reduces the number of bytes
below the value in the FIFO_TH register, which allows the user
to set an appropriate data size for their host needs.
Two comparison circuits are available per time slot. The
INT_LEV0_x or INT_LEV1_x status bits are set when the data
register update meets the criteria set by the associated
THRESH0_TYPE_x, THRESH0_DIR_x, THRESH0_CHAN_x
settings, or by the associated THRESH1_TYPE_x,
THRESH1_DIR_x, and THRESH1_CHAN_x settings.
The Level 0 interrupt operates as follows. The user sets an 8-bit
threshold value in the THRESH0_VALUE_x bits for the
corresponding time slot. This value is then shifted to the left by
anywhere from 0 bits to 24 bits, specified by the setting of the
THRESH0_SHIFT_x bits. A comparison is then made between
the shifted threshold value and the register chosen by the
THRESH0_TYPE_x bits and the THRESH0_CHAN_x bit. The
INT_LEV0_x status bit is set if the selected data register meets
the criteria set in the THRESH0_DIR_x bits. The Level 1 interrupt
operates in the same fashion.
TIA Ceiling Detection Interrupts
When the TIA ceiling detection is enabled, the TIA ceiling
detection information is latched onto the INT_TCLN1_x bits in
Register 0x0004 for Channel 1 and the INT_TCLN2_x bits in
Register 0x0005 for Channel 2 separately for each time slot.
Therefore, the TIA ceiling detection information can be read for
all enabled channels in all enabled time slots separately. The
latched status bits remain set until they are cleared when the
TIA is driven into the region above the threshold, and the
associated status bits turn to 1. Note that these status bits
remain set until they are cleared.
These status bits can be driven to Interrupt X or Interrupt Y by
setting the relevant registers in Table 31, or they can be monitored
by optional status bytes.
Clearing Interrupt Status Bits
All status bits are set regardless of whether the status bit is routed
to one of the interrupt outputs, Interrupt X or Interrupt Y. The
status bits are independent of the interrupt enable bits. The
status bits are always set by the corresponding event. The
interrupt bits stay set until they are either manually or
automatically cleared.
The user can manually clear a given interrupt by writing a 1 to
the matching interrupt status bit. In addition, the data interrupt
status bits can be configured to clear automatically. When the
INT_ACLEAR_DATA_x or INT_ACLEAR_FIFO bit is set, the
appropriate interrupt status bit is automatically cleared when
any matching data register or FIFO register is read. Automatic
clearing of the interrupt status bits removes the need to
manually clear these interrupts.
Rev. 0 | Page 24 of 101
Data Sheet
ADPD4100/ADPD4101
Optional Status Bytes
There is an option to append each data packet with status bits. This
option is useful for hosts that cannot spare an interrupt channel
to service. The status bytes can each be individually selected in
the FIFO_STATUS_BYTES register. Each bit in the FIFO_
STATUS_BYTES register enables a status byte that is appended
to the data packet in the FIFO. If any bit in the FIFO_STATUS_
BYTES register is set to 1, the byte that is appended to the data
packet contains the status bits, as shown in Table 16. Table 16
shows the order, enable bit, and contents of each status byte.
The 4-bit sequence number cycles from 0 to 15 and is
incremented with a wraparound every time the time slot
sequence completes. This sequence number can also be made
available bitwise on the GPIOx pins.
Interrupt Outputs, Interrupt X and Interrupt Y
The ADPD4100/ADPD4101 support two separate interrupt
outputs, Interrupt X and Interrupt Y. Each interrupt has the option
to be driven to any of the four GPIOx pins. The two different
interrupt outputs can be generated for a host processor if desired.
For example, the FIFO threshold interrupt, INT_FIFO_TH, can
be routed to Interrupt X and used to drive the direct memory
access (DMA) channel of the host, while the INT_FIFO_OFLOW
and INT_FIFO_UFLOW interrupts can be routed to Interrupt
Y and used to drive an additional host interrupt pin. Another
example case includes routing the data interrupt from a single
time slot to Interrupt X and the FIFO threshold interrupt to
Interrupt Y. The host receives one interrupt when the interrupt
of that particular channel occurs and the host can then read
that register directly. Interrupt Y, in this case, is handled by the
host with DMA or with an interrupt. Each of the different
interrupt status bits can be routed to Interrupt X or Interrupt Y,
or both.
For each interrupt, there is an associated Interrupt X and
Interrupt Y enable bit. See Table 31 for a full list of available
interrupts that can be brought out on Interrupt X and Interrupt Y.
The logic for the Interrupt X and Interrupt Y function is a logic
AND of the status bit with its matching enable bit. All enabled
status bits are then logically OR’ed to create the interrupt
function. The enable bits do not affect the status bits.
General-Purpose I/Os
The ADPD4100/ADPD4101 provide four general-purpose I/O
pins: GPIO0, GPIO1, GPIO2, and GPIO3. These GPIOs can be
used as previously described in the Interrupt Outputs, Interrupt
X and Interrupt Y section for interrupt outputs or for providing
external clock signals to the device. The GPIOs can also be used
for many different control signals, as synchronization controls
to external devices, as well as test signals that are useful during
system debugging. All of the available signals that can be
brought out on a GPIOx pin are listed in Table 35.
IOVDD Supply Voltage Consideration
The ADPD4100/ADPD4101 can operate with IOVDD as low as
1.7 V and as high as 3.6 V. LOW_IOVDD_EN in Register 0x00B4
is set to 0x1 for IOVDD lower than 3 V. 0x1 is the default value
for this bit because the typical IOVDD value is 1.8 V.
If 3 V or higher is supplied for IOVDD, the LOW_IOVDD_EN
bit must be set to 0x0 for proper operation.
Table 16. FIFO Status Byte Order and Contents
Contents1
Byte Order
0
1
2
3
4
5
6
7
8
Enable Bit
ENA_STAT_SUM
ENA_STAT_D1
ENA_STAT_D2
ENA_STAT_L0
ENA_STAT_L1
ENA_STAT_LX
ENA_STAT_TC12
ENA_STAT_TC22
ENA_STAT_TCX2
Bit 7
0
DATA_H
0
LEV0_H
LEV1_H
LEV1_L
TCLN1_H
TCLN2_H
TCLN2_L
Bit 6
0
DATA_G
0
LEV0_G
LEV1_G
LEV1_K
TCLN1_G
TCLN2_G
TCLN2_K
Bit 5
Any LEV1_x
DATA_F
0
LEV0_F
LEV1_F
LEV1_J
TCLN1_F
TCLN2_F
TCLN2_J
Bit 4
Any LEV0_x
DATA_E
0
LEV0_E
LEV1_E
LEV1_I
TCLN1_E
TCLN2_E
TCLN2_I
Bit 3
DATA_D
DATA_L
LEV0_D
LEV1_D
LEV0_L
TCLN1_D
TCLN2_D
TCLN1_L
Bit 2
Bit 1
4-bit sequence
DATA_C
DATA_B
DATA_K
DATA_J
LEV0_C
LEV0_B
LEV1_C
LEV1_B
LEV0_K
LEV0_J
TCLN1_C TCLN1_B
TCLN2_C TCLN2_B
TCLN1_K TCLN1_J
Bit 0
DATA_A
DATA_I
LEV0_A
LEV1_A
LEV0_I
TCLN1_A
TCLN2_A
TCLN1_I
DATA_x refers to the data register interrupts for the corresponding time slot. LEV0_x and LEV1_x refer to Level 0 and Level 1 time slot interrupts, respectively, for
Time Slot A through Time Slot L.
2
These status bytes are associated with TIA ceiling detection. See the Protecting Against TIA Saturation with TIA Ceiling Detection section for more information.
1
Rev. 0 | Page 25 of 101
ADPD4100/ADPD4101
Data Sheet
SPI and I2C Interface
starting with the MSB. In addition, multiple registers can be
read if additional 16-bit data is shifted out prior to deassertion
of the CS signal.
The ADPD4100 contains a SPI port, and the ADPD4101
contains an I2C interface. The SPI and I2C interfaces operate
synchronously with their respective input clocks and require no
internal clocks to operate.
It is recommended that reading from the FIFO is performed
byte wise. There is no requirement to read multiples of 16 bits.
The ADPD4100/ADPD4101 have an internal power-on reset
circuit that sets the device into a known idle state during the
initial power-up. After the power-on reset is released,
approximately 2 μs to 6 μs after the DVDDx supply is active, the
device can be read and written through the SPI or I2C interface.
I2C Operations
The ADPD4101 supports fast-mode plus (see the I2C
specification from NXP for more information).
The I2C operations require addressing the device as well as
choosing the register that is being read or written. An I2C
register write is shown in Figure 28 and Figure 29. The SDA pin
is bidirectional and open drain, where different bit times are
driven in a predetermined way by the master or the slave. The
ADPD4101 acts as a slave on the I2C bus. Start and stop bit
operations are shown as S and P in Figure 28 and Figure 29. The
I2C port supports both 7-bit and 15-bit addresses. If accessing
Address 0x007F or lower, a 7-bit address can be used. If the first
address bit after the slave address acknowledge (ACK) is a 0, a
7-bit address is used, as shown in the short read and write
operations (see Figure 28 to Figure 31). If the first bit after a
slave address acknowledge is 1, a 15-bit address is used as
shown in the long read and write operations (see Figure 32 and
Figure 33).
The registers are accessed using addresses within a 15-bit
address space. Each address references a 15-bit register with one
address reserved for the FIFO read accesses. For both the I2C
and SPI interfaces, reads and writes auto-increment to the next
register if additional words are accessed as part of the same
access sequence. This automatic address increment occurs for
all addresses except the FIFO address, one less than the FIFO
address and the last used address, which is 0x277. Reads from
the FIFO address continue to access the next byte from the FIFO.
SPI Operations
The SPI single register write operation is shown in Figure 26.
The first two bytes contain the 15-bit register address and specifies
that a write is requested. The remaining two bytes are the 16 data
bits to write to the register. The register write occurs only when
all 16 bits are shifted in prior to deassertion of the CS signal.
Figure 28 shows the first half of the short register write operation.
The first byte indicates that the ADPD4101 is being addressed
with a write operation. The ADPD4101 indicates that it has
been addressed by driving an acknowledge. The next byte
operation is a write of the address of the register to be written.
The MSB is the L/S bit (long/short). When this bit is low, a 7-bit
address follows. If the L/S bit is high, a 15-bit address follows.
The ADPD4101 sends an acknowledge following the register
address.
In addition, multiple registers can be written if additional 16-bit
data is shifted in before deassertion of the CS signal. The
register address automatically increments to the next register
after each 16 bits of data.
The SPI single register read operation is shown in Figure 27.
The first two bytes contain the 15-bit register address and
specifies that a read is requested. Register bits are shifted out
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
23297-026
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
23297-027
SCLK
CS
MOSI
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
Wr
D15
D14
D13
Figure 26. SPI Write Operation
SCLK
CS
MOSI
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
Rd
MISO
D15
D14
D13
Figure 27. SPI Read Operation
SDA
S
SLVA6
SLVA5
SLVA4
SLVA3
SLVA2
SLVA1
SLVA
WRITE
ACK
L/S
A6
A5
A4
A3
A2
A1
A0
ACK
D15
GRAY BACKGROUND MEANS DRIVEN BY ADPD4101
23297-028
SCL
Figure 28. I2C Short Write First Half
SDA
D15
D14
D13
D12
D11
D10
D9
D8
ACK
D7
D6
D5
Figure 29. I2C Short Write Second Half
Rev. 0 | Page 26 of 101
D4
D3
D2
D1
D0
ACK
P
23297-029
SCL
Data Sheet
ADPD4100/ADPD4101
The rest of the write operation is shown in Figure 29, which
shows the two data bytes that are written to the 16-bit register.
Registers are written only when all 16 bits are shifted in before a
stop bit occurs. The ADPD4101 sends an acknowledge for each
byte received. Additional pairs of byte operations can be repeated
prior to the stop bit occurring. The address auto-increments
after each complete write. Register writes occur only after each
pair of bytes is written.
register read data one byte at a time. The host acknowledges
each byte after it is sent by the ADPD4101, if additional bytes
are to be read. The same address incrementing is used for reads
as well.
To read multiple bytes from the FIFO or from sequential
registers, simply repeat the middle byte operation as shown in
Figure 31.
The first portion of a long write operation is shown in Figure 32.
The second half of the long write is the same as for the short
write, as shown in Figure 29.
The I2C short read operations are shown in Figure 30 and
Figure 31. Like the write operation, the first byte pair selects the
ADPD4101 and specifies the register address (with the L/S bit
low) to read from.
The first half of a long read operation is shown in Figure 33.
The second half is the same as shown in Figure 31.
Figure 31 shows the rest of the read operation. This sequence
starts with a start bit, selects the ADPD4101, and indicates that
a read operation follows. The ADPD4101 sends an acknowledge
to indicate data to be sent. The ADPD4101 then shifts out the
S
SDA
SLVA6 SLVA5 SLVA4 SLVA3 SLVA2 SLVA1
SLVA
WRITE
ACK
L/S
A6
A5
A4
A3
A2
A1
A0
23297-030
SCL
ACK
23297-031
Figure 30. I2C Short Read First Half
SCL
S SLVA6 SLVA5 SLVA4 SLVA3 SLVA2 SLVA1 SLVA0 READ
SDA
ACK
D15
D14
D13
D12
D11
D10
D9
ACK
D8
D7
D6
D5
D4
D3
D2
D1
D0
NACK
P
SCL
SDA
S
SLVA6 SLVA5 SLVA4 SLVA3 SLVA2 SLVA1 SLVA0 WRITE
ACK
L/S
A14
A13
A12
A11
A10
A9
A8
ACK
A7
A6
A5
A4
A3
A2
A1
A0
ACK D15
23297-032
Figure 31. I2C Short Read Second Half
2
SCL
SDA
S
SLVA6 SLVA5 SLVA4 SLVA3 SLVA2 SLVA1 SLVA0 WRITE
ACK
L/S
A14
A13
A12
A11
A10
A9
A8
Figure 33. I2C Long Read First Half
Rev. 0 | Page 27 of 101
ACK
A7
A6
A5
A4
A3
A2
A1
A0
ACK
23297-033
Figure 32. I C Long Write First Half
ADPD4100/ADPD4101
Data Sheet
APPLICATIONS INFORMATION
OPERATING MODE OVERVIEW
Continuous Connect Mode
The ADPD4100/ADPD4101 are effectively charge measuring
devices that can interface with many different sensors, enabling
optical and electrical measurements in various healthcare,
industrial and consumer applications, such as PPG, ECG, EDA,
impedance, capacitance, and temperature measurements, and
gas, smoke, and aerosol detection. A selection of operating
modes are built into the device to optimize each of the different
sensor measurements supported.
Continuous connect mode is used for a single analog integration
of incoming charge per ADC conversion and is the most common
operating mode for the ADPD4100/ADPD4101. In continuous
connect mode, most of the dynamic range of the integrator is
used when integrating the charge from the sensor response to a
single stimulus event, for example, an LED pulse. The TIA is
continuously connected to the inputs after the precondition
period by setting MOD_TYPE_x to 0. Therefore, the input
connection is not modulated in continuous connect mode.
Analog integration mode refers to the modes of operation
where the incoming charge from the sensor response to a
stimulus event is integrated by the integrator in the
ADPD4100/ADPD4101. There are several different analog
integration modes, including continuous connect mode, float
mode, pulse connect modulation, modulation of stimulus
source, multiple integration mode, and sleep float mode.
There is also a digital integration mode, where the integrator is
configured as a buffer and the ADC samples are digitally
integrated (see the Digital Integration Mode section for more
information).
Connection Modulation Types
The ADPD4100/ADPD4101 use three different types of modulation connections to a sensor, controlled by the MOD_TYPE_x
bits. Table 17 shows the different functions controlled by MOD_
TYPE_x. The default mode of operation is MOD_TYPE_x = 0,
where there is no modulation of the input connection, and is
the mode used as described in the Continuous Connect Mode
section.
Table 17. Modulation Connections Based on MOD_TYPE_x
MOD_TYPE_x
(Decimal)
0
1
2
Connect Function
TIA is continuously connected to INx after the
precondition period. There is no modulation of
the input connection.
Float mode operation. The TIA is connected to
INx only during the modulation pulse and
disconnected (floated) between pulses.
Nonfloat mode connection modulation. The
TIA is connected to INx during the modulation
pulse and connected to the precondition value
between pulses.
Continuous connect mode is the typical operating mode used
for a PPG measurement, where an LED is pulsed into human
tissue and the resultant charge from the photodiode response is
integrated and subsequently converted by the ADC. Figure 34
shows an example of a typical PPG measurement circuit.
VCx
RF
6.3pF
RINT
INx
TIA
VLED1
CVLED
RF
TIA_VREF
BPF
ADC
RINT
SWITCH
6.3pF
LEDx
23297-034
ANALOG INTEGRATION MODE
Figure 34. Typical PPG Measurement Circuit
Set the PRECON_x bits to 0x5 to set the anode of the photodiode
to the TIA_VREF potential during the preconditioning period.
The VCx pin is connected to the cathode of the photodiode and
is set to TIA_VREF + 215 mV to apply a 215 mV reverse bias
across the photodiode, which reduces the photodiode capacitance
and reduces the noise of the signal path. Set TIA_VREF to
1.27 V using the AFE_TRIM_VREF_x bits for maximum
dynamic range.
The LED pulse is controlled with the LED_OFFSET_x and LED_
WIDTH_x bits. The default LED offset (LED_OFFSET_x =
0x10) is 16 μs from the end of the preconditioning period and is
suitable for most use cases. Recommended LED pulse width is 2
μs when using the BPF. Short LED pulse widths provide the
greatest amount of ambient light rejection and the lowest power
dissipation. The period is automatically calculated by the
ADPD4100/ADPD4101. The automatic calculation is based on
the integration width selected and the number of ADC conversions. To use the automatic calculation, leave the MIN_PERIOD_x
bits at its default value of 0. If a longer period is desired, for
example, if a specific pulse frequency is desired, use the
MIN_PERIOD_x bits to enable a longer period.
Rev. 0 | Page 28 of 101
Data Sheet
ADPD4100/ADPD4101
SNR. The ADC conversions can be set to 1, 2, 3, or 4, based on
the ADC_COUNT_x bits.
In continuous connect mode using 2 µs LED pulses, the
automatic period calculation is
Period = (2 + 2 × INTEG_WIDTH_x + (Number of
Channels Enabled × (ADC_COUNT_x + 1)))
If two channels are enabled, Channel 1 occurs first, followed by
Channel 2.
The integration pulses are controlled with the INTEG_
OFFSET_x and INTEG_WIDTH_x bits. It is recommended
that an integration width of 1 μs greater than the LED width be
used because the signal spreads due to the response of the BPF.
By setting the integration width 1 μs wider than the LED width,
a maximum amount of charge from the incoming signal is
integrated.
The total number of pulses is equal to NUM_INT_x × NUM_
REPEAT_x. In continuous connect mode, NUM_INT_x = 1 for
a single integration sequence per ADC conversion. Therefore,
the total number of pulses is controlled by NUM_REPEAT_x.
Increasing the number of pulses reduces the noise floor of the
measurement by a factor of √n, where n is the total number of
pulses.
The number of ADC conversions defaults to a single ADC
conversion. However, oversampling is available for increased
Figure 35 shows the timing operation where a single integration
cycle is used per ADC conversion. Table 18 details the relevant
registers using continuous connect mode for a PPG measurement.
Table 18. Continuous Connect Mode Settings
Group
Signal Path
Setup
Timing
LED Settings
Integrator
Chop Mode2
Time Slot A Register
Address1
0x0100, Bits[13:12]
0x0101, Bits[8:0]
0x0102, Bits[15:0]
0x0103, Bits[14:12]
0x0103, Bits[7:6], Bits[1:0]
0x0104, Bits[5:0]
0x0104, Bits[9:8]
0x0108, Bits[13:12]
Bit Field Name
SAMPLE_TYPE_x
AFE_PATH_CFG_x
INPxx_x
PRECON_x
VCx_SEL_x
TIA_GAIN_CHx_x
AFE_TRIM_VREF_x
MOD_TYPE_x
0x0109, Bits[7:0]
LED_OFFSET_x
0x0109, Bits[15:8]
0x010A, Bits[4:0]
0x010B, Bits[12:0]
LED_WIDTH_x
INTEG_WIDTH_x
INTEG_OFFSET_x
0x0107, Bits[15:8]
0x0107, Bits[7:0]
NUM_INT_x
NUM_REPEAT_x
0x0105, Bit 15 and Bit 7;
0x0106, Bit 15 and Bit 7
0x0105, Bits[14:8], Bits[6:0];
0x0106, Bits[14:8], Bits[6:0]
0x010D, Bits[7:4]
LED_DRIVESIDEx_x
Description
Leave at the default setting (0) for default sampling mode.
Set to 0x0DA for TIA, BPF, integrator, and ADC.
Enable desired inputs.
Set to 0x5 to precondition anode of the photodiode to TIA_VREF.
Set to 0x2 to set ~215 mV reverse bias across the photodiode.
Select TIA gain.
Set to 0x3 to set TIA_VREF = 1.27 V for maximum dynamic range.
Set to 0 for continuous TIA connection to inputs following
preconditioning.
Sets start time of first LED pulse in 1 μs increments. 0x10 default
(16 μs).
Sets width of LED pulse in 1 μs increments. 2 μs recommended.
Integration time in µs. Set to LED_WIDTH_x + 1.
Integration sequence start time = INTEG_OFFSET_x. Optimize as
described in the Optimizing Position of Integration Sequence
section.
Set to 1 for a single integration per group of ADC conversions.
With NUM_INT_x = 1, NUM_REPEAT_x sets the total number of
pulses.
Select LED for time slot used.
LED_CURRENTx_x
Set LED current for selected LED.
SUBTRACT_x
0x010D, Bits[3:0]
REVERSE_INTEG_x
Four-pulse subtract pattern. Set to 1 to negate the math operation
in the matching position in a group of four pulses. The LSB maps to
the first pulse.
Four-pulse integration reverse pattern. Set to 1 to reverse the
integrator positive and negative pulse order in the matching
position in a group of four pulses. The LSB maps to the first pulse.
This is the Time Slot A register address. Add 0x020 for the identical register address for each subsequent time slot. For example, Register 0x0100 is the location for
SAMPLE_TYPE_A. For Time Slot B, this register is at Address 0x0120. For Time Slot C, this register is at Address 0x0140. For Time Slot D, this register is at
Address 0x0160, and so on.
2
See the Improving SNR Using Integrator Chopping section for more information about integrator chop mode.
1
Rev. 0 | Page 29 of 101
ADPD4100/ADPD4101
Data Sheet
integrator timing for all TIA gain settings without reoptimizing
for each TIA gain setting, 200 kΩ TIA gain optimal timing must
be used for the other TIA gain settings.
Optimizing Position of Integration Sequence
It is critical that the zero crossing of the output response of the
BPF be aligned with the integration sequence such that the
positive integration is aligned with the positive portion of the
BPF output response and the negative integration is aligned with
the negative portion of the BPF output response (see Figure 35).
Improving SNR Using Multiple Pulses
The ADPD4100/ADPD4101 use short LED pulses, on the order
of 2 μs or 3 μs. The SNR of a single pulse is approximately 72 dB
to 76 dB, depending on the TIA gain. The SNR can be extended
to ~100 dB by increasing the number of pulses per sample and
filtering to a relevant signal bandwidth, for example, 0.5 Hz to
20 Hz for a heart rate signal. The SNR increases as the square
root of the number of pulses. Thus, for every doubling of pulses,
3 dB of SNR increase is achieved. The number of pulses is
increased with the NUM_REPEAT_x bits. The resulting data
for a particular time slot is the summation of ADC conversions
that are NUM_REPEAT_x times. If the number of bits required
for the result is larger than the number of output bits desired by
the user, the most significant bits of the accumulated values can
be selected by DARK_SHIFT_x, LIT_SHIFT_x, and
SIGNAL_SHIFT_x bits. DARK_SHIFT_x, LIT_SHIFT_x, and
SIGNAL_SHIFT_x shift the output data to the right before
writing to the FIFO. For example, an 18-bit accumulated value
can be shifted to write only the upper 16 bits to the FIFO.
Optionally, 24-bit or 32-bit output can be written to the FIFO.
A simple test to find the zero crossing is to set up the circuit so
that the LED is reflecting off a reflector at a fixed distance from
the photodiode such that a steady dc level of photodiode current
is provided to the ADPD4100/ADPD4101. Monitor the output
while sweeping the integrator offset, INTEG_OFFSET_x,
Bits[12:5], from a low value to a high value in 1 μs steps. The
zero crossing is located when a relative maxima is seen at the
output. The zero crossing can then be identified with much finer
precision by sweeping the INTEG_OFFSET_x, Bits[4:0] in
31.25 ns increments. It is critical to identify the zero crossing in
such a fine precision to achieve the highest SNR performance.
The optimal timing point is a function of TIA bandwidth which
varies with TIA gain. To achieve the maximum SNR at each TIA
gain setting, it is recommended that the user find the optimal
timing point at each TIA gain setting for a given use case.
Because there is minimal device to device variation in this
optimal timing point, that same integrator offset timing for
each gain setting can be used for all devices. To use the same
START OF TIME SLOT
PRECONDITION
PRE_WIDTH_x
PERIOD
(AUTOMATICALLY CALCULATED)
LED_OFFSET_x
LED_WIDTH_x
LED
TIA OUTPUT
BPF OUTPUT
INTEG_OFFSET_x
ZERO CROSSING
INTEG_WIDTH_x
INTEGRATOR
SEQUENCE
+
–
+
–
INTEGRATOR
OUTPUT
ADC CONVERSION(S)
ADC CHANNEL 2
(IF ENABLED)
REPEAT NUM_REPEAT_x TIMES
Figure 35. Single Analog Integration per ADC Conversion with Continuous Connect Mode
Rev. 0 | Page 30 of 101
23297-035
ADC CHANNEL 1
Data Sheet
ADPD4100/ADPD4101
bits = 0xA to reverse the integration sequence for the second and
fourth pulses. To complete the operation, the math must be
adjusted by setting the SUBTRACT_x bits = 0xA. An even
number of pulses must be used with integrator chop mode.
Improving SNR Using Integrator Chopping
The last stage in the ADPD4100/ADPD4101 datapath is a
charge integrator. The integrator uses an on and off integration
sequence, synchronized to the emitted light pulse, which acts as
an additional high-pass filter to remove offsets, drifts, and low
frequency noise from the previous stages. However, the
integrating amplifier can itself introduce low frequency signal
content. The ADPD4100/ADPD4101 have a mode that enables
additional chopping in the digital domain to remove this signal.
Chopping is achieved by using an even number of pulses per
sample and inverting the integration sequence for half of those
sequences. When the calculation is performed to combine the
digitized result of each of the pulses of the sample, the sequences
with an inverted integrator sequence are subtracted and the
sequences with a normal integrator sequence are added. An
example diagram of the integrator chopping sequence is shown
in Figure 36.
Because integrator chopping eliminates the low frequency noise
contribution from the integrator, it is recommended to always
keep integrator chop mode enabled in continuous connect
mode to achieve optimal SNR performance.
When using integrator chopping, the ADC offset bits,
CH1_ADC_ADJUST_x and CH2_ADC_ADJUST_x, must be
set to 0, because when the math is adjusted to subtract inverted
integration sequences while default integration sequences are
added, any digital offsets at the output of the ADC are automatically eliminated. Integrator chop mode also eliminates the need
to manually null the ADC offsets at startup in a typical application.
Note that the elimination of the offset using integrator chop
mode can clip at least half of the noise signal when no input
signal is present, which makes it difficult to measure the noise
floor during characterization of the system. There are three
options for performing noise floor characterization of the system.
The result of chopping is that any low frequency signal contribution from the integrator is eliminated, leaving only the
integrated signal and resulting in higher SNR, especially at
higher numbers of pulses and at lower TIA gains where the
noise contribution of the integrator becomes more pronounced.
•
•
Digital chopping is enabled using the registers and bits detailed
in Table 19. The bits define the chopping operation for the first
four pulses. This 4-bit sequence is then repeated for all
subsequent sequence of four pulses. In Figure 36, a sequence is
shown where the second and fourth pulses are inverted while the
first and third pulses remain in the default polarity (noninverted).
This configuration is achieved by setting the REVERSE_INTEG_x
PULSE 1
Integrator chop mode disabled.
Integrator chop mode enabled but with a minimal signal
present at the input, which increases the noise floor
enough such that it is no longer clipped.
Setting the ZERO_ADJUST_x bit = 1, which adds 2048 codes
to the end result.
•
PULSE 2
PULSE 3
PULSE 4
LED
BPF OUTPUT
+
–
–
+
+
–
–
+
ADC
+
–
+
–
23297-036
INTEGRATOR
SEQUENCE
Figure 36. Diagram of Integrator Chopping Sequence
Table 19. Register Settings for Integrator Chop Mode
Group
Integrator
Chop Mode
1
Time Slot A
Register
Address1
0x010D, Bits[7:4]
Bit Field Name
SUBTRACT_x
0x010D, Bits[3:0]
REVERSE_INTEG_x
Description
Four-pulse subtract pattern. Set to 1 to negate the math operation in the
matching position in a group of four pulses. The LSB maps to the first pulse.
Four-pulse integration reverse pattern. Set to 1 to reverse the integrator positive
and negative pulse order in the matching position in a group of four pulses. The
LSB maps to the first pulse.
This is the Time Slot A register address. Add 0x020 for the identical register address for each subsequent time slot. For example, Register 0x010D is the location for
SUBTRACT_A. For Time Slot B, this register is at Address 0x012D, For Time Slot C, this register is at Address 0x014D. For Time Slot D, this register is at Address 0x016D,
and so on.
Rev. 0 | Page 31 of 101
ADPD4100/ADPD4101
Data Sheet
Float Mode Operation
The ADPD4100/ADPD4101 have a unique operating mode, float
mode, that allows high SNR at low power in low light situations.
In float mode, the photodiode is first preconditioned to a known
state. Then, the photodiode anode is disconnected from the
receive path of the device for a preset amount of float time.
During the float time, light falls on the photodiode, either from
ambient light, pulsed LED light, or a combination of the two
depending on the operating mode. Charge from the sensor is
stored directly on the capacitance of the sensor, CPD. At the end
of the float time, the photodiode is switched into the receive
path of the ADPD4100/ADPD4101 and an inrush of the
accumulated charge occurs, which is then integrated, allowing
the maximum amount of charge to be processed per pulse with
the minimum amount of noise added by the signal path. The
charge is integrated externally on the capacitance of the
photodiode for as long as it takes to acquire maximum charge,
independent of the amplifiers of the signal path, effectively
integrating noise free charge. Float mode allows the user the
flexibility to increase the amount of charge per measurement by
either increasing the LED drive current or by increasing the
float time.
In float mode, the signal path bypasses the BPF and uses only
the TIA and integrator. The BPF is bypassed because the shape
of the signal produced when transferring the charge from the
photodiode by modulating the connection to the TIA can differ
across devices and conditions. A filtered signal from the BPF is
not able to be reliably aligned with the integration sequence.
Therefore, the BPF cannot be used. In float mode, the entire
charge transfer is integrated in the negative cycle of the
integrator, and the positive cycle cancels any offsets.
Float LED Mode for Synchronous LED Measurements
Float LED mode is desirable in low signal conditions where the
CTR is below 5 nA/mA. In addition, float mode is an ideal
option when limiting the LED drive current of the green LEDs
in a heart rate measurement to keep the forward voltage drop of
the green LED to a level that allows the elimination of a boost
converter for the LED supply. For example, the LED current can
be limited to 10 mA to ensure that the LED voltage drop is ~3 V
so that it can operate directly from the battery without the need
of a boost converter. Float mode accumulates the received
charge during longer LED pulses without adding noise from the
signal path, effectively yielding the highest SNR per photon
attainable.
In float LED mode, multiple pulses are used to cancel electrical
offsets, drifts, and ambient light. To achieve this ambient light
rejection, an even number of equal length pulses is used. For
every pair of pulses, the LED flashes in one of the pulses and
does not flash in the other. The return from the combination of
the LED, ambient light, and offset is present in one of the pulses.
In the other, only the ambient light and offset is present. A
subtraction of the two pulses is made that eliminates ambient
light as well as any offset and drift. It is recommended to use
groups of four pulses for measurement where the LED is flashed
on Pulse 2 and Pulse 3. The accumulator adds Pulse 2 and Pulse 3
and then subtracts Pulse 1 and Pulse 4. To gain additional SNR,
use multiple groups of four pulses.
For each group of four pulses, the settings of LED_DISABLE_x
determine if the LED flashes in a specific pulse position. Which
pulse positions are added or subtracted is configured in the
SUBTRACT_x bits. These sequences are repeated in groups of
four pulses. The value written to the FIFO or data registers is
dependent on the total number of pulses per sample period.
With NUM_INT_x set to 1, NUM_REPEAT_x determines the
total number of pulses. For example, if the device is set up for
32 pulses, the four-pulse sequence, as defined in
LED_DISABLE_x and SUBTRACT_x, repeats eight times and a
single register or FIFO write of the final value based on
32 pulses executes.
In float mode, the MIN_PERIOD_x bits must be set to control
the pulse period. The automatic period calculation is not
designed to work with float mode. Set the MIN_PERIOD_x
bits, in 1 μs increments, to accommodate the amount of float
time and connect time required.
Placement of the integration sequence is such that the negative
phase of the integration is centered on the charge transfer
phase. The TIA is an inverting stage. Therefore, placing the
negative phase of the integration during the transferring of the
charge from the photodiode causes the integrator to increase
with the negative going output signal from the TIA.
In the example shown in Figure 37, the LED flashes in the
second and third pulses of the four-pulse sequence.
SUBTRACT_x is set up to add the second and third pulses
while subtracting the first and fourth pulses, effectively
cancelling out the ambient light, electrical offsets, and drift.
Table 20 details the relevant registers for float LED mode.
Rev. 0 | Page 32 of 101
Data Sheet
ADPD4100/ADPD4101
START OF TIME SLOT
PRECONDITION
PRE_WIDTH_x
(DEFAULT 8µs)
MOD_OFFSET_x
MIN_PERIOD_x
MOD_WIDTH_x
CONNECT/FLOAT
LED PULSES
MASK PULSE 1 AND PULSE 4
FLASH PULSE 2 AND PULSE 3
LED_OFFSET_x
MASKED LED PULSE
FLASH LED
FLASH LED
MASKED LED PULSE
LED_WIDTH_x
ACCUMULATED
CHARGE ON PD
INTEGRATOR
OUTPUT
INTEG_OFFSET_x
INTEGRATOR
SEQUENCE
INTEG_WIDTH_x
23297-037
INTEGRATOR
RESET
ADC READ
Figure 37. Four-Pulse Float Mode Operation
Table 20. Float LED Mode Settings
Group
Signal Path Setup
Float Mode
Configuration
Time Slot A
Register Address1
0x0100, Bits[13:12]
0x0100, Bits[11:10]
0x0101, Bits[8:0]
0x0102, Bits[15:0]
0x0103, Bits[14:12]
Bit Field Name
SAMPLE_TYPE_x
INPUT_R_SELECT_x
AFE_PATH_CFG_x
INPxx_x
PRECON_x
0x0103, Bits[7:6], Bits[1:0]
0x0104, Bits[5:0]
0x0104, Bits[9:8]
0x0107, Bits[15:8]
0x0107, Bits[7:0]
VCx_SEL_x
TIA_GAIN_CHx_x
AFE_TRIM_VREF_x
NUM_INT_x
NUM_REPEAT_x
0x0108, Bits[13:12]
0x0108, Bits[9:0]
MOD_TYPE_x
MIN_PERIOD_x
0x010A, Bits[4:0]
0x010A, Bits[10:8],
Bits[14:12]
0x010B, Bits[12:0]
INTEG_WIDTH_x
CHx_AMP_DISABLE_x
INTEG_OFFSET_x
0x010C, Bits[15:8]
MOD_WIDTH_x
0x010C, Bits[7:0]
0x010D, Bits[7:4]
MOD_OFFSET_x
SUBTRACT_x
Description
Leave at the default setting (0) for default sampling mode.
Set to 0x0 for 500 Ω series input resistor.
Set to 0x0E6 for TIA, integrator, and ADC. Bypass BPF.
Enable desired inputs.
Set to 0x4 to precondition anode of photodiode to the input of
the TIA.
Set to 0x2 to set ~215 mV reverse bias across photodiode.
Select TIA gain (100 kΩ or 200 kΩ for float mode).
Set to 0x2 to set TIA_VREF = 0.9 V.
Set to 1 for a single integration per group of ADC conversions.
Number of sequence repeats. Must be set to a multiple of 2 for
float mode.
Set to 0x1 for float mode operation.
Set the period to accommodate float time plus connect time, in
1 μs increments.
Integration time in µs. Set to MOD_WIDTH_x + 1.
Set 0x010A, Bit 9 to 1 to power down BPF for Channel 1, Bit 13
to 1 to power down BPF for Channel 2 if Channel 2 is enabled.
Integration sequence start time. Set to (MOD_OFFSET_x −
INTEG_WIDTH_x – 250 ns).
Sets width of connect pulse in 1 μs increments. Typical values
of 2 μs or 3 μs.
Sets start time of first connect pulse in 1 μs increments.
In any given sequence of four pulses, negate the math
operation in the selected position. Selections are active high
(that is, subtract if 1) and the LSB of this register maps to the
first pulse. For a float mode sequence, add pulses when the LED
flashes and subtract pulses when the LED is disabled, according
to LED_DISABLE_x.
Rev. 0 | Page 33 of 101
ADPD4100/ADPD4101
Group
LED Settings
1
Time Slot A
Register Address1
0x0105, Bit 15 and Bit 7;
0x0106, Bit 15 and Bit 7
0x0105, Bits[14:8], Bits[6:0];
0x0106, Bits[14:8], Bits[6:0]
0x0109, Bits[7:0]
0x0109, Bits[15:8]
0x010D, Bits[15:12]
Data Sheet
Bit Field Name
LED_DRIVESIDEx_x
Description
Select LED for time slot used.
LED_CURRENTx_x
Set LED current for selected LED.
LED_OFFSET_x
LED_WIDTH_x
LED_DISABLE_x
Sets start time of first LED pulse in 1 μs increments.
Sets width of LED pulse in 1 μs increments.
In any given sequence of four pulses, disable the LED pulse in
the selected position. Selections are active high (that is, disable
LED if 1) and the LSB of this register maps to the first pulse. For
a sequence of four pulses, it is recommended to turn on the
LED in the second and third pulses by writing 0x9 to this
register.
This is the Time Slot A register address. Add 0x020 for the identical register address for each subsequent time slot. For example, Register 0x0100 is the location for
SAMPLE_TYPE_A. For Time Slot B, this register is at Address 0x0120. For Time Slot C, this register is at Address 0x0140. For Time Slot D, this register is at
Address 0x0160, and so on.
The maximum amount of charge that can be stored on the
photodiode capacitance and remain in the linear operating
region of the sensor is estimated by
Q = CPDV
where:
Q is the integrated charge.
CPD is the capacitance of the photodiode.
V is the amount of voltage change across the photodiode before
the photodiode becomes nonlinear.
For a typical discrete optical design using a 7 mm2 photodiode
with 70 pF capacitance and 450 mV of headroom, the maximum
amount of charge that can store on the photodiode capacitance
is 31.5 pC.
PD BEGINS TO
FORWARD BIAS
RECOMMENDED
FLOAT MODE
OPERATING REGION
FLOAT TIME (µs)
23297-038
When using float mode, the limitations of the mode must be
well understood. For example, a finite amount of charge can
accumulate on the capacitance of the photodiode, and there is a
maximum amount of charge that can be integrated by the
integrator. Based on an initial reverse bias of 215 mV on the
photodiode and assuming that the photodiode begins to
become nonlinear at ~200 mV of forward bias, there is ~450 mV
of headroom for the anode voltage to increase from its starting
point at the beginning of the float time before the charge ceases
to accumulate in a linear fashion. It is desirable to operate only
in the linear region of the photodiode (see Figure 38). To verify
that float mode is operating in the linear region of the
photodiode, the user can perform a simple check. Record data
at a desired float time and then record data at half the float
time. The recommended ratio of the two received signals is 2:1.
If this ratio does not hold true, the photodiode is likely
beginning to forward bias at the longer float time and becomes
nonlinear.
INTEGRATED CHARGE ON PD (pC)
Float Mode Limitations
Figure 38. Integrated Charge on the Photodiode (PD) vs. Float Time
In addition, consider the maximum amount of charge the
integrator of the ADPD4100/ADPD4101 can integrate. The
integrator can integrate up to 7.6 pC. When this charge is referred
back to the input, consider the TIA gain. When the TIA gain is
at 200 kΩ, the input referred charge is at a 1:1 ratio to the
integrated charge on the integrator. For 100 kΩ gain, it is 2:1.
For 50 kΩ gain, it is 4:1. For 25 kΩ gain, it is 8:1. For the previous
example using a photodiode with 70 pF capacitance, use a 50 kΩ
TIA gain and set the float timing such that, for a single pulse, the
output of the ADC is at 70% of full scale, which is a typical
operating condition. Under these operating conditions, the
integrator integrates 5.3 pC per pulse for 21.2 pC of charge
accumulated on the photodiode capacitance. The amount of
time to accumulate charge on CPD is inversely proportional to
CTR. TIA gain settings of 100 kΩ or 200 kΩ may be required
based on the CTR of the measurement and how much charge
can be accumulated in a given amount of time. Ultimately, the
type of measurement being made (ambient or pulsed LED), the
photodiode capacitance, and the CTR of the system determine
the float times.
Rev. 0 | Page 34 of 101
Data Sheet
ADPD4100/ADPD4101
Pulse Connect Modulation
The BPF is bypassed for this measurement. When a stimulus
pulse is provided on the VCx pin, the capacitor response is a
positive spike on the rising edge that then settles back toward
TIA_VREF, followed by a negative spike on the falling edge of
the stimulus pulse. The integration sequence is centered such
that the positive and negative integration sequences completely
integrate the charge from the positive and negative TIA
responses, respectively (see Figure 41).
Pulse connect modulation is useful for ambient light measurements or any other sensor measurements that do not require a
synchronous stimulus. This mode works by preconditioning the
sensor to some level selected by the PRECON_x bits and then
only connecting the sensor to the input of the TIA during the
modulation pulse. When not connected to the TIA, the sensor
is connected to a low input impedance node at the TIA_VREF
voltage. Any sensor current during this time is directed into the
AFE. Therefore, no charge accumulates on the sensor. This lack of
charge accumulation is in contrast to float mode, which fully
disconnects the sensor between modulation pulses. The
MOD_TYPE_x bits must be set to 0x2 for pulse connect mode.
The advantage of using this mode for nonsynchronous sensor
measurements is that it allows the user to take advantage of the
noise performance benefits of the full signal path using the BPF
and integrator. Figure 40 shows a timing diagram for pulse
connect modulation type measurements.
Pulsing of the VC1 and VC2 pins is controlled by the
VCx_PULSE_x, VCx_ALT_x, and VCx_SEL_x bits while
timing of the modulation is controlled by the MOD_OFFSET_x
and MOD_WIDTH_x bits. Table 21 shows the relevant registers
for modulating the stimulus to the sensor.
Mutual Capacitance-Based Proximity Measurement
One of the applications of the ADPD4100/ADPD4101 based on
capacitance measurement is the proximity measurement. A
mutual capacitance-based proximity measurement application,
for example, is based on modulation of the stimulus source in
principle, and is shown in Figure 39. However, this application
requires two electrodes along with the circuit shown in Figure 39,
one of which is connected to an input of the ADPD4100/
ADPD4101 and the other connected to VC1 or VC2. The
capacitor between INx and VCx, in this case, is the representation
of the capacitance formed between two electrodes, instead of a
physical capacitor.
Modulation of Stimulus Source
The ADPD4100/ADPD4101 have operating modes that
modulate the VC1 and VC2 signals. These modes are useful for
providing a pulsed stimulus to the sensor being measured. For
example, a bioimpedance measurement can be made where one
electrode to the human is being pulsed by the VC1 or VC2
output and the response is measured on a second electrode
connected to the TIA input. This mode is also useful for a
capacitance measurement, as shown in Figure 39, where one of
the VCx pins is connected to one side of the capacitor and the
other side is connected to the TIA input.
A proximity event represents the proximity of tissue to the two
electrodes mentioned. At the proximity event, a capacitance of
ΔC is formed between the electrodes and human tissue. ΔC varies
due to the varying proximity of tissue to the electrodes. Therefore,
total capacitance, which is the sum of the capacitance of the
capacitance between two electrodes represented as C and the
capacitance ΔC formed between human tissue and the electrode,
changes.
RF
RINT
INx
TIA_VREF
C
INT
TIA
VCx
23297-040
RINT
RF
Figure 39. Modulate Stimulus for Capacitance Measurement
START OF TIME SLOT
PRECONDITION
PRE_WIDTH_x
SENSOR
(DEFAULT 8µs)
MOD_OFFSET_x
PERIOD
(AUTOMATICALLY CALCULATED)
CONNECT TIA
TO SENSOR
MOD_WIDTH_x
TIA OUTPUT
BPF OUTPUT
INTEGRATOR
SEQUENCE
INTEG_WIDTH_x
INTEG_OFFSET_x
+
–
+
–
INTEGRATOR
OUTPUT
CONVERSION(S)
ADC CHANNEL 2
(IF ENABLED)
REPEAT NUM_REPEAT_x TIMES
Figure 40. Timing Diagram for Pulse Connect Modulation
Rev. 0 | Page 35 of 101
23297-039
ADC CHANNEL 1
ADPD4100/ADPD4101
Data Sheet
One can determine the changing proximity by reading the
change in ADC output when ΔC is induced through the change
in the proximity of the human tissue. To be able to determine
proximity, baseline measurement without tissue in proximity
must be taken either at the same input or at another input with
an electrode attached and configured the same way.
from the positive and negative TIA responses, which is essential
to integrate the maximum ac charge.
Then, ΔC is proportionate to the change in ADC output, which
is a function of the charge integrated, read at the proximity
event. For example, when VC2 is pulsed by 215 mV by setting
VC2_PULSE_x to 2, VC2_ALT_x to 2, and VC2_SEL_x to 2,
ΔC is calculated as follows:
Integrator timing width must be long enough to allow the
positive TIA response to fully settle before the negative edge of
the TIA response occurs. Also, as shown in Figure 41, the
integration timing must be centered so that the positive and
negative integration sequences completely integrate the charge
ΔC = (−Δ(ADC Output in LSB) × 0.92 fC/LSB ×
(RINT/2RF)/Number of Pulses)/(2 × 0.215 V)
Table 21 shows the relevant registers for this measurement.
START OF TIME SLOT
PRECONDITION
SENSOR
PRE_WIDTH_x
(DEFAULT 8µs)
MOD_WIDTH_x
PERIOD
(AUTOMATICALLY CALCULATED)
MOD_OFFSET_x
MODULATE
STIMULUS
TIA OUTPUT
INTEG_OFFSET_x
INTEG_WIDTH_x
INTEGRATION
SEQUENCE
+
–
+
–
23297-041
INTEGRATOR
OUTPUT
ADC CHANNEL 1
Figure 41. Timing Diagram for Modulate Stimulus Operation
Table 21. Modulate Stimulus Settings
Group
Modulate Stimulus
Setup
Modulate Stimulus
Timing
1
Time Slot A
Register Address1
0x0100, Bits[13:12]
0x0101, Bits[8:0]
0x0102, Bits[15:0]
0x0103, Bits[14:12]
0x0103, Bits[11:10], Bits[5:4]
Bit Field Name
SAMPLE_TYPE_x
AFE_PATH_CFG_x
INPxx_x
PRECON_x
VCx_PULSE_x
0x0103, Bits[9:8], Bits[3:2]
0x0103, Bits[7:6], Bits[1:0]
0x0104, Bits[5:0]
0x0104, Bits[9:8]
0x010C, Bits[7:0]
0x010C, Bits[15:8]
VCx_ALT_x
VCx_SEL_x
TIA_GAIN_CHx_x
AFE_TRIM_VREF_x
MOD_OFFSET_x
MOD_WIDTH_x
0x010A, Bits[4:0]
0x010A, Bits[10:8], Bits[14:12]
INTEG_WIDTH_x
CHx_AMP_DISABLE_x
0x010B, Bits[12:0]
INTEG_OFFSET_x
0x0107, Bits[15:8]
0x0107, Bits[7:0]
NUM_INT_x
NUM_REPEAT_x
0x0108, Bits[13:12]
MOD_TYPE_x
Description
Leave at the default setting (0) for default sampling mode.
Set to 0x0E6 for TIA, integrator, and ADC. Bypass BPF.
Enable desired inputs.
Set to 0x5 to precondition sensor to TIA_VREF.
VCx pulse control. Set to 0x2 to pulse to the alternate voltage during a
modulation pulse.
Select the alternate state for VCx during the modulation pulse.
Set to 0x1 to set VCx to TIA_VREF as primary state.
Select TIA gain.
Set to 0x2 to set TIA_VREF = 0.9 V.
Sets start time of first modulation pulse in 1 μs increments.
Sets width of modulation pulse in 1 μs increments. Typical values of 6 μs to
12 μs.
Integration time in μs. Set to MOD_WIDTH_x + 1 or MOD_WIDTH_x + 2.
Set 0x010A, Bit 9 to 1 to power down BPF for Channel 1, Bit 13 to 1 to power
down BPF for Channel 2 if Channel 2 is enabled.
Integration sequence start time. Set to MOD_OFFSET_x − 1 (if INTEG_WIDTH =
MOD_WIDTH − 1) or MOD_OFFSET_x – 2 (if INTEG_WIDTH = MOD_WIDTH − 2)
and then sweep INTEG_OFFSET_x, Bits[4:0] in 31.25 ns steps to find optimal
operating point.
Set to 1 for a single integration per ADC conversion.
Number of sequence repeats. SNR increases as √n, where n =
NUM_REPEAT_x × NUM_INT_x.
Set to 0x0 for continuous TIA connection.
This is the Time Slot A register address. Add 0x020 for the identical register address for each subsequent time slot. For example, Register 0x0100 is the location for
SAMPLE_TYPE_A. For Time Slot B, this register is at Address 0x0120. For Time Slot C, this register is at Address 0x0140. For Time Slot D, this register is at
Address 0x0160, and so on.
Rev. 0 | Page 36 of 101
Data Sheet
ADPD4100/ADPD4101
capacitance-based measurement. The integration sequence
must be centered in such a way that all the dc shift is canceled
and remaining small ac charge due to the change in proximity is
integrated. Figure 43 shows integration sequence timing with
respect to the TIA_VREF pulse to cancel dc shift and integrate
ac charge. The constant part in the TIA output represents the dc
charge, and it must be canceled by the integration sequence so
that only the surge charge accumulation at the positive and the
negative edges of the TIA_VREF pulse are integrated.
Self Capacitance-Based Proximity Measurement
Capacitive proximity measurements can be performed by
measuring self capacitance. As in mutual capacitance-based
proximity measurement, the BPF is bypassed by setting
AFE_PATH_CFG_x to 0E6.
Self capacitance based proximity measurement, however,
requires only one electrode connected to one of the inputs of
ADPD4100/ADPD4101. Capacitance measurement in this case
is performed by creating the voltage difference. To create the
voltage difference, pulse TIA_VREF while the input used is
preconditioned to TIA_VREF, and read the change in the ADC
output when ΔC is induced through the change in the
proximity of the human tissue.
However, the baseline measurement without tissue in proximity
is needed to determine true ΔC, which is proportionate to the
change in ADC output read at the proximity event.
Calculate ΔC as follows. For example, when TIA_VREF is
pulsed from 0.9 V to 1.14 V by setting VREF_PULSE_VAL_x to
0, AFE_TRIM_VREF_x to 2, and VREF_PULSE_x to 1, ΔC
then becomes
This measurement modality makes use of the capacitance of the
human body to the earth, and ΔC formed due to tissue proximity.
The human body capacitance allows the use of TIA_VREF
pulsing at the input as a voltage difference needed to measure
ΔC. Figure 42 shows a representation of this measurement.
ΔC = (Δ(ADC Output in LSB) × 0.92 fC/LSB ×
(RINT/2RF)/Number of Pulses)/(2 × (1.14 V − 0.9 V))
Table 22 summarizes the relevant registers for this measurement.
Integrator chop mode can be enabled for this measurement.
Because TIA_VREF is pulsed at the input, all the extra voltage
at pulsing shows up the same way at the TIA output. Therefore,
TIA has only a positive response compared to the mutual
CINT
RF
ELECTRODE
C
RINT
INx
TIA
TIA_VREF
INT
RF
23297-042
RINT
CINT
Figure 42. Self Capacitance Measurement
START OF TIME SLOT
PRECONDITION
SENSOR
PRE_WIDTH_x
(DEFAULT 8µs)
MOD_WIDTH_x
PERIOD
(AUTOMATICALLY CALCULATED)
MOD_OFFSET_x
PULSE TIA_VREF
INTEG_OFFSET_x
INTEG_WIDTH_x
INTEGRATION
SEQUENCE
+
–
+
–
23297-043
TIA OUTPUT
Figure 43. Timing Diagram for Self Capacitance-Based Proximity Measurement
Table 22. Relevant Registers for Self Capacitance Based Proximity Measurement
Group
Self Capacitance-Based
Proximity Setup
Time Slot A Register Address1
0x0100, Bits[13:12]
Bit Field Name
SAMPLE_TYPE_x
0x0101, Bits[8:0]
AFE_PATH_CFG_x
0x0102, Bits[15:0]
0x0103, Bits[14:12]
0x0104, Bits[5:0]
0x0104, Bits[7:6]
0x0104, Bits[9:8]
0x0104, Bits[10]
INPxx_x
PRECON_x
TIA_GAIN_CHx_x
VREF_PULSE_VAL_x
AFE_TRIM_VREF_x
VREF_PULSE_x
Rev. 0 | Page 37 of 101
Description
Leave at the default setting (0) for default
sampling mode.
Set to 0x0E6 for TIA, integrator, and ADC.
Bypass BPF.
Enable desired inputs.
Set to 0x5 to precondition sensor to TIA_VREF.
Select TIA gain.
Select 0x0 to pulse TIA_VREF to 1.14 V.
Set to 0x2 to set TIA_VREF = 0.9 V.
Set to 0x1 to pulse TIA_VREF.
ADPD4100/ADPD4101
Group
Self Capacitance-Based
Proximity Timing
1
Data Sheet
Time Slot A Register Address1
0x010C, Bits[7:0]
Bit Field Name
MOD_OFFSET_x
0x010C, Bits[15:8]
MOD_WIDTH_x
0x010A, Bits[4:0]
0x010A, Bits[10:8], Bits[14:12]
INTEG_WIDTH_x
CHx_AMP_DISABLE_x
0x010B, Bits[12:0]
INTEG_OFFSET_x
0x0107, Bits[15:8]
NUM_INT_x
0x0107, Bits[7:0]
NUM_REPEAT_x
0x0108, Bits[13:12]
MOD_TYPE_x
Description
Sets start time of first modulation pulse in 1 μs
increments. Typical value of 16 μs.
Sets width of modulation pulse in 1 μs
increments. Typical value of 6 μs.
Integration time in µs. Typical value of 10 μs .
Set 0x010A, Bit 9 to 1 to power down BPF for
Channel 1, Bit 13 to 1 to power down BPF for
Channel 2 if Channel 2 is enabled.
Integration sequence start time. Set to typical
value of 9 μs and then sweep INTEG_OFFSET_x,
Bits[4:0] in 31.25 ns steps to find optimal
operating point.
Set to 1 for a single integration per ADC
conversion
Number of sequence repeats. SNR increases as
√n, where n = NUM_REPEAT_x × NUM_INT_x.
Set to 0x0 for continuous TIA connection.
This is the Time Slot A register address. Add 0x020 for the identical register address for each subsequent time slot. For example, Register 0x0100 is the location for
SAMPLE_TYPE_A. For Time Slot B, this register is at Address 0x0120. For Time Slot C, this register is at Address 0x0140. For Time Slot D, this register is at
Address 0x0160, and so on.
Multiple Integration Mode
Multiple integration mode provides multiple analog
integrations of incoming charge per ADC conversion. This
mode is most useful when there is a small response that uses a
small amount of the available dynamic range per stimuli event.
Multiple integration mode allows multiple integrations of
charge prior to an ADC conversion so that a larger amount of
the available dynamic range of the integrator is utilized.
Figure 44 shows multiple integration mode using the LED as
the stimulus. The number of LED pulses and subsequent
integrations of charge from the photodiode response is
determined by the setting of the NUM_INT_x bits. Following
the final integration, there is a single ADC conversion. This
process is repeated NUM_REPEAT_x times.
Prior to setting the number of integrations using the NUM_INT_x
bits, set the TIA gain to 200 kΩ and determine the optimal LED
current setting, which is close to the maximum current. When
the TIA gain and LED current are set, measure how much of the
integrator dynamic range is used to integrate the charge created
by a single LED pulse. If the amount of integrator dynamic range
used for a single pulse is less than half the available dynamic
range, it may be desirable to use multiple integrations prior to
an ADC conversion. For example, if the amount of integrator
dynamic range used for a single pulse is 1/8 of the available
dynamic range, set NUM_INT_x to 0x6 to use six pulses and
integrations, using most of the available dynamic range (75%)
per ADC conversion while leaving 25% of headroom for margin
so that the integrator does not saturate as the input level varies.
As each pulse is applied to the LED, the charge from the
response is integrated and held. The charge from the response
to each subsequent pulse is added to the previous total
integrated charge, as shown in Figure 44, until NUM_INT_x
integrations is reached.
In multiple integration mode, the minimum period is
automatically calculated. In the example shown, the minimum
period is calculated at 2 × INTEG_WIDTH_x so that
subsequent pulses occur immediately following the completion
of the previous integration. Extra time is automatically added to
accommodate the ADC conversions at the end of NUM_INT_x
integrations.
Use NUM_REPEAT_x to increase the iterations to improve the
overall SNR. The entire multiple integration per ADC conversion
process repeats NUM_REPEAT_x number of times. Increasing
NUM_REPEAT_x serves the same purpose as multiple pulses
in continuous connect mode, where n pulses improve the SNR
by √n. In multiple integration mode, the SNR increases by √n,
where n = NUM_REPEAT_x. The total number of LED pulses
in this mode is equal to NUM_INT_x × NUM_REPEAT_x.
Integrator chop mode is recommended for multiple integration
mode for optimal SNR performance.
Rev. 0 | Page 38 of 101
Data Sheet
ADPD4100/ADPD4101
START OF TIME SLOT
PRECONDITION
PRE_WIDTH_x
(DEFAULT 8µs) LED_OFFSET_x
CALCULATED
PERIOD
LED_WIDTH_x
LED
TIA OUTPUT
BPF OUTPUT
INTEG_OFFSET_x
INTEGRATOR
SEQUENCE
+
–
+
–
+
–
+
–
INTEG_WIDTH_x
INTEGRATOR
OUTPUT
23297-044
ADC CONVERT
NUM_INT_x
NUM_REPEAT_x TIMES
Figure 44. Multiple Integration Mode with LED as Stimulus
Table 23. Relevant Settings for Multiple Integration Mode
Group
Multiple Integration
Mode Using LED as
Stimulus
Timing
LED Settings
Integrator Chop Mode
1
Time Slot A
Register Address1
0x0100, Bits[13:12]
0x0101, Bits[8:0]
0x0102, Bits[15:0]
0x0103, Bits[14:12]
Bit Field Name
SAMPLE_TYPE_x
AFE_PATH_CFG_x
INPxx_x
PRECON_x
0x0103, Bits[7:6], Bits[1:0]
0x0104, Bits[5:0]
0x0104, Bits[9:8]
VCx_SEL_x
TIA_GAIN_CHx_x
AFE_TRIM_VREF_x
0x0108, Bits[13:12]
MOD_TYPE_x
0x0107, Bits[15:8]
NUM_INT_x
0x0107, Bits[7:0]
NUM_REPEAT_x
0x010A, Bits[4:0]
0x010B, Bits[12:0]
INTEG_WIDTH_x
INTEG_OFFSET_x
0x0105, Bit 15 and Bit 7;
0x0106, Bit 15 and Bit 7
0x0105, Bits[14:8], Bits[6:0];
0x0106, Bits[14:8], Bits[6:0]
0x010D, Bits[7:4]
LED_DRIVESIDEx_x
Description
Leave at the default setting (0) for default sampling mode.
Set to 0x0DA for TIA, BPF, integrator, and ADC.
Enable desired inputs.
Set to 0x5 to precondition anode of the photodiode to
TIA_VREF.
Set to 0x2 to set ~215 mV reverse bias across photodiode.
Set the TIA gain to 200 kΩ.
Set to 0x3 to set TIA_VREF = 1.27 V for maximum dynamic
range.
Set to 0 for continuous TIA connection to inputs following
preconditioning.
Set to a number that utilizes most of the dynamic range of
integrator available, leaving some margin for fluctuations in
input level.
Set NUM_REPEAT_x to the number of times to repeat the
multiple integration sequence. SNR increases by a factor of
√(NUM_REPEAT_x). Total number of pulses is equal to
NUM_REPEAT_x × NUM_INT_x.
Integration time in µs. Set to LED_WIDTH_x + 1.
Integration sequence start time = INTEG_OFFSET_x. Optimize as
described in the Optimizing Position of Integration Sequence
section.
Select LED for time slot used.
LED_CURRENTx_x
Set LED current for selected LED.
SUBTRACT_x
0x010D, Bits[3:0]
REVERSE_INTEG_x
Four-pulse subtract pattern. Set to 1 to negate the math
operation in the matching position in a group of four pulses.
The LSB maps to the first pulse.
Four-pulse integration reverse pattern. Set to 1 to reverse the
integrator positive and negative pulse order in the matching
position in a group of four pulses. The LSB maps to the first
pulse.
This is the Time Slot A register address. Add 0x020 for the identical register address for each subsequent time slot. For example, Register 0x0100 is the location for
SAMPLE_TYPE_A. For Time Slot B, this register is at Address 0x0120, For Time Slot C, this register is at Address 0x0140. For Time Slot D, this register is at
Address 0x0160, and so on.
Rev. 0 | Page 39 of 101
ADPD4100/ADPD4101
Data Sheet
DIGITAL INTEGRATION MODE
The ADPD4100/ADPD4101 support a digital integration mode
to accommodate sensors that require longer pulses than can be
supported in the typical analog integration modes. Digital
integration mode allows the system to use a larger LED duty
cycle than the analog integration modes, which may result in
the highest achievable levels of SNR, at the expense of lower
ambient light rejection.
RF
INx
BUF
TIA
ADC
23297-045
TIA_VREF
RF
VCx
Figure 45. Signal Path for Digital Integration Mode
In digital integration mode, the BPF is bypassed and the
integrator is configured as a buffer, resulting in the signal path
shown in Figure 45. Digital integration regions are configured
by the user and separated into lit and dark regions. The LED is
pulsed in the lit region, and the LED is off in the dark region.
ADC samples are taken at 1 μs intervals within the lit and dark
regions and are then digitally integrated. The integration of the
ADC samples from the dark region is subtracted from the
integration of the ADC samples from the lit region and the
result is written into the relevant signal output data registers.
The sum of the samples from just the dark region are available
in the dark output data registers. Both signal and dark values
can be written to the FIFO.
The ADPD4100/ADPD4101 support one-region and tworegion digital integration modes. In one-region digital
integration mode, an equal number of dark and lit samples are
taken where all of the dark samples are taken in the dark region
just prior to the lit region. One-region digital integration mode
is illustrated in the timing diagram in Figure 46. In two-region
digital integration mode, an equal number of dark and lit
samples are taken. However, the dark region is split such that
half of the samples are taken in the dark region prior to the lit
region, and the other half is taken in the dark region following
the lit region. The two-region digital integration mode results in
higher ambient light rejection than the one-region digital
integration mode in situations with a varying ambient light
level. A timing diagram for two-region digital integration mode
is shown in Figure 47.
Table 24 shows the relevant register settings for the digital
integration modes of operation. Note that only a single channel
can be used in digital integration mode. Two channels are not
supported for digital integration mode of operation. The MIN_
PERIOD_x bits must also be manually set with the correct
period because the minimum period is not automatically
calculated in digital integration mode.
START OF TIME SLOT
PRECONDITION
LED
PRECONDITION
PRE_WIDTH_x
MIN_PERIOD_x (MUST BE SET,
NOT AUTOMATICALLY CALCULATED)
LED_WIDTH_x
LED_OFFSET_x
NUM_INT_x
DARK1_OFFSET_x
LIT_OFFSET_x
NUM_INT_x
NUM_REPEAT_x
23297-046
ADC
CONVERSIONS
Figure 46. One-Region Digital Integration Mode Timing Diagram
START OF TIME SLOT
PRECONDITION
LED
PRECONDITION
PRE_WIDTH_x
LED_OFFSET_x
MIN_PERIOD_x (MUST BE SET,
NOT AUTOMATICALLY CALCULATED)
LED_WIDTH_x
ADC CONVERSIONS
NUM_INT_x
NUM_REPEAT_x
Figure 47. Two-Region Digital Integration Mode Timing Diagram
Rev. 0 | Page 40 of 101
2 × NUM_INT_x
23297-047
DARK1_OFFSET_x
LIT_OFFSET_x
DARK2_OFFSET_x
Data Sheet
ADPD4100/ADPD4101
Table 24. Relevant Settings for Digital Integration Modes
Group
Signal Path
Setup
Timing
LED Settings
1
Time Slot A
Register Address1
0x0100, Bits[13:12]
Bit Field Name
SAMPLE_TYPE_x
0x0101, Bits[8:0]
AFE_PATH_CFG_x
0x0102, Bits[15:0]
0x0103, Bits[14:12]
0x0103, Bits[7:6], Bits[1:0]
0x0104, Bits[5:0]
0x0104, Bits[9:8]
0x0104, Bits[12:11]
0x010A, Bit 11
0x010A, Bits[10:8]
0x0107, Bits[15:8]
INPxx_x
PRECON_x
VCx_SELECT_x
TIA_GAIN_CHx_x
AFE_TRIM_VREF_x
CH1_TRIM_INT_x
AFE_INT_C_BUF_x
CH1_AMP_DISABLE_x
NUM_INT_x
0x0107, Bits[7:0]
0x0108, Bits[9:0]
NUM_REPEAT_x
MIN_PERIOD_x
0x0113, Bits[8:0]
0x0114, Bits[6:0]
0x0114, Bits[15:7]
LIT_OFFSET_x
DARK1_OFFSET_x
DARK2_OFFSET_x
0x0105, Bit 15 and Bit 7;
0x0106, Bit 15 and Bit 7
0x0105, Bits[14:8], Bits[6:0];
0x0106, Bits[14:8], Bits[6:0]
0x0109, Bits[7:0]
0x0109, Bits[15:8]
LED_DRIVESIDEx_x
Description
Set to 0x1 for one-region digital integration mode. Set to 0x2 for
two-region digital integration mode.
Set to 0x0E6 for TIA, integrator, and ADC. Bypass BPF. Integrator
is automatically configured as a buffer when one-region or tworegion digital integration mode is selected.
Enable desired inputs.
Set to 0x5 to precondition anode of photodiode to TIA_VREF.
Set to 0x2 to set ~215 mV reverse bias across photodiode.
Select TIA gain.
Set to 0x3 to set TIA_VREF = 1.265 V.
Set to 0x0 or 0x1 to set buffer gain = 1.
Set to 1 to convert integrator to buffer.
Set 0x010A, Bit 9 to 1 to power down BPF.
Set to the number of desired ADC conversions in the dark and lit
regions.
Number of sequence repeats.
Set the period. Automatic period calculation is not supported in
digital integration mode.
Set to the time of the first ADC conversion in the lit region.
Set to the time of the first ADC conversion in the Dark 1 region.
Set to the time of the first ADC conversion in the Dark 2 region.
Only used in two-region digital integration mode.
Select LED for time slot used.
LED_CURRENTx_x
Set LED current for selected LED.
LED_OFFSET_x
LED_WIDTH_x
Sets start time of first LED pulse in 1 μs increments.
Sets width of LED pulse in 1 μs increments.
This is the Time Slot A register address. Add 0x020 for the identical register address for each subsequent time slot. For example, Register 0x0100 is the location for
SAMPLE_TYPE_A. For Time Slot B, this register is at Address 0x0120. For Time Slot C, this register is at Address 0x0140. For Time Slot D, this register is at
Address 0x0160, and so on.
Timing Recommendations for Digital Integration Modes
DARK2_OFFSET_x = (LED_OFFSET_x + LED_WIDTH_x + tD)
When setting the timing for digital integration mode, it is
important to place the ADC samples such that the signal being
sampled is given time to settle prior to the sample being taken.
Settling time of the input signal is affected by photodiode
capacitance and TIA settling time. Figure 48 shows an example
of proper placement of the ADC sampling edges. Calculations
for the offset values are as follows:
This setting only applies to two-region digital integration mode.
LED_OFFSET_x
LED
OUTPUT
TIA
OUTPUT
tD
DARK1_OFFSET_x
LIT_OFFSET_x
DARK2_OFFSET_x
tD
23297-048
ADC
SAMPLES
DARK1_OFFSET_x = (LED_OFFSET_x – (NUM_INT_x + 2))
Add a value of 2 to the number of ADC conversions such that
there is 2 μs of margin added to placement of the Dark 1 region
samples with respect to the beginning of the LED pulse.
LED_WIDTH_x
Figure 48. Proper Placement of ADC Sampling Edges in Digital Integration Mode
LIT_OFFSET_x = (LED_OFFSET_x + tD)
where tD is the delay built into the offset setting to allow settling
time of the signal. This value must be characterized in the final
application. A value in the range of 3 µs to 5 µs is typically
recommended as the tD value.
Rev. 0 | Page 41 of 101
ADPD4100/ADPD4101
Data Sheet
TIA ADC MODE
Figure 49 shows TIA ADC mode, which bypasses the BPF and
routes the TIA output through a buffer, directly into the ADC.
TIA ADC mode is useful in applications, such as ambient light
sensing, and measuring other dc signals, such as leakage
resistance. In photodiode measurement applications using the
BPF, all background light is blocked from the signal chain and,
therefore, cannot be measured. TIA ADC mode can measure
the amount of background and ambient light. This mode can also
measure currents from other dc sources, such as leakage
resistance.
RF
BUF
ADC
RF
23297-049
TIA
Equation 3 is an approximation and does not account for
internal offsets and gain errors. The calculation also assumes
that the ADC offset registers are set to 0.
Configuring one time slot in TIA ADC mode is useful for
monitoring ambient and pulsed signals at the same time. The
ambient signal is monitored during the time slot configured for
TIA ADC mode, while the pulsed signal, with the ambient
signal rejected, is monitored in the time slot configured for
measuring the desired LED pulsed signal.
PROTECTING AGAINST TIA SATURATION IN
NORMAL OPERATION
INx
TIA_VREF
Buffer Gain is either 0.7 or 1 based on the setting of
CHx_TRIM_INT_x.
Figure 49. TIA ADC Mode Block Diagram
When the devices are in TIA ADC mode, the BPF is bypassed
and the integrator stage is reconfigured as a buffer. If both
Channel 1 and Channel 2 are enabled in a single time slot, the
ADC samples Channel 1 and then Channel 2 in sequential
order in 1 µs intervals.
The recommended TIA ADC mode is one in which the BPF is
bypassed and the integrator is configured as an inverting buffer.
This mode is enabled by writing 0x0E6 to AFE_PATH_CFG_x
(Register 0x0101, Bits[8:0] for Time Slot A) to enable a signal
path that includes the TIA, integrator, and ADC. Additionally,
to configure the integrator as a buffer, set INTEG_SETUP_x
(Register 0x010A, Bit 11 for Time Slot A). With the ADC offset
bits, ADC_OFF1_x and ADC_OFF2_x, set to 0 and TIA_VREF
set to 1.265 V, the output of the ADC is at ~3000 codes for a
single pulse and a zero input current condition. As the input
current from the photodiode increases, the ADC output
increases toward 16,384 LSBs.
When configuring the integrator as a buffer, there is the option
of either using a gain of 1 or a gain of 0.7. Using the gain of 0.7
increases the usable dynamic range at the input to the TIA.
However, it is possible to overrange the ADC in this configuration
and care must be taken to not saturate the ADC. To set the buffer
gain, use the CHx_TRIM_INT_x bits. Setting CHx_TRIM_
INT_x to 0x0 or 0x1 sets a gain of 1. Setting CHx_TRIM_INT_x to
0x2 or 0x3 configures the buffer with a gain of 0.7.
Calculate the ADC output (ADCOUT) as follows:
ADCOUT = 8192 − (((2 × TIA_VREF − 2 × IINPUT_TIA × RF −
1.8 V)/146 µV/LSB) × Buffer Gain)
(3)
where:
TIA_VREF is the internal voltage reference signal for the TIA
(the default value is 1.265 V).
IINPUT_TIA is the input current to the TIA.
RF is the TIA feedback resistor.
One concern when operating in high light conditions, especially
with larger photodiodes, is that the TIA stage may become
saturated while the ADPD4100/ADPD4101 continue to
communicate data. The resulting saturation is not typical. The TIA,
based on its settings, can only handle a certain level of photodiode
current. Based on the way the ADPD4100/ADPD4101 are configured, if there is a current level from the photodiode that is larger
than the TIA can handle, the TIA output during the LED pulse
effectively extends the current pulse, making it wider. The AFE
timing is then violated because the positive portion of the BPF
output extends into the negative section of the integration window.
Thus, the photosignal is subtracted from itself, causing the output
signal to decrease when the effective light signal increases.
Protecting Against TIA Saturation in Normal Operation
with TIA ADC Mode
TIA ADC mode monitoring is one of the ways to protect against
environments that may cause saturation. To measure the response
from the TIA and verify that this stage is not saturating, place the
device in TIA ADC mode and slightly modify the timing.
Specifically, sweep INTEG_OFFSET_x until a maximum is
achieved. This procedure aligns the ADC sampling time with
the LED pulse to measure the total amount of light falling on the
photodetector (for example, background light and LED pulse).
If this minimum value is below 16,384 LSBs, the TIA is not
saturated. However, take care, because even if the result is not
16,384 LSBs, operating the device near saturation can quickly
result in saturation if light conditions change. A safe operating
region is typically at ¾ full scale and lower. The ADC resolution
when operating in TIA ADC mode with a buffer gain = 1 is
shown in Table 25. These codes are not the same as in modes
with the BPF and integrator enabled because the BPF and
integrator are not unity-gain elements.
Table 25. ADC Resolution in TIA ADC Mode
TIA Gain (kΩ)
12.5
25
50
100
200
Rev. 0 | Page 42 of 101
ADC Resolution (nA/LSB)
5.84
2.92
1.46
0.73
0.37
Data Sheet
ADPD4100/ADPD4101
While the TIA ADC mode monitoring helps to avoid
saturation, there may be cases where the voltage at the output
terminals of the TIA may exceed the typical operation levels
that ensure no current saturation for some amount of time
while the actual measurement is in the process. If the current
fed into the inputs of the TIA is high enough, it could result in
exceeding the typical operating points of TIA depending on the
TIA gain and the TIA reference voltage settings. In this case,
measurements can be distorted or may not be done. High levels
of photodiode current or high levels of ambient current may
cause the output voltages of the TIA to go above a limit that is
close to saturation.
The ADPD4100/ADPD4101 have a TIA ceiling detection
feature that uses voltage comparators at the outputs of the TIA
stage to detect whether the TIA output voltage exceeds a certain
range. This range ensures the TIA output to be far enough from
the ceiling of the total TIA range by some margin. Therefore, if
the TIA output voltage exceeds the range even for a small amount
of time, the user is informed about the status of voltage at the
TIA outputs and can take action to avoid a possible saturation.
Voltage comparators compare the positive and negative output
terminals to a certain threshold voltage, which sets the effective
TIA output voltage range, and send an output bit indicating
whether the TIA output voltage is beyond the range.
To enable this feature, TIA_CEIL_DETECT_EN_x must be set
to 1. Each time slot has its own TIA_CEIL_DETECT_EN_x bit
that can be controlled individually. The feature is turned on for
Channel 1, and Channel 2 if Channel 2 is also enabled within
the time slot. When the comparators are enabled, the TIA ceiling
detection information is latched onto the INT_TCLN1_x bits in
Register 0x0004 for Channel 1 and INT_TCLN2_x bits in
Register 0x0005 for Channel 2 separately for each time slot. The
interrupt output turns to 1 if either output exceeds the threshold
voltage.
Figure 50 illustrates the internal circuitry for TIA ceiling
detection. VTIAO+ and VTIAO− represent the positive and negative
outputs of the TIA, respectively, and VTH is the threshold voltage
that the TIA output voltages are being compared to.
TIA_CEIL_DETECT_EN_x
VTH
VTIAO+
INT_TCLN1_x
(INT_TCLN2_x FOR CHANNEL 2)
VTH
23297-050
Protecting Against TIA Saturation with TIA Ceiling
Detection
VTIAO–
Figure 50. Schematic of TIA Ceiling Detection Circuit
Due to different TIA reference voltage settings and different
TIA gains, different amounts of input current can result in
exceeding the threshold. Higher TIA reference voltage
(TIA_VREF) and lower TIA gain increase the input current
level at which the TIA output voltage exceeds the threshold
voltage and, therefore, increase the range in terms of current.
Table 26 shows the typical input current needed to trigger TIA
ceiling detection for different TIA gain and different TIA_VREF
while using 2 µs LED pulses in continuous connect mode.
Table 26. Typical Input Currents to Trigger TIA Ceiling
Detection
TIA Gain
(kΩ)
25
Input Current (µA) at
TIA_VREF = 0.9 V
21.9
Input Current (µA) at
TIA_VREF = 1.3 V
33.6
50
10.6
16.7
100
5.2
8.4
200
2.6
4.2
Figure 51 illustrates the trigger points for TIA ceiling detection
with respect to different TIA_VREF values. Trigger points for
different TIA gains can be found in Table 26.
TIA OUTPUT VOLTAGE (V)
0,0
TIA _VREF = 0.9V
TIA _VREF = 1.3V
23297-052
INPUT CURRENT (µA)
Figure 51. Illustration of Trigger Points for TIA Ceiling Detection for TIA_VREF = 0.9 V and TIA_VREF = 1.3 V, Points Marked by Black Crosses
Rev. 0 | Page 43 of 101
ADPD4100/ADPD4101
Data Sheet
ECG MEASUREMENT WITH THE
ADPD4100/ADPD4101
measurement regardless of whether low impedance wet
electrodes or high impedance dry electrodes are used.
The ADPD4100/ADPD4101 can be used for ECG applications
with the simple addition of an external RC network consisting
of two 500 kΩ resistors in series with the inputs and a 470 pF
capacitor across the inputs, as shown in Figure 52. The electrical
equivalent model for an electrode is shown together with the
RC circuit, external to the ADPD4100/ADPD4101.
In sleep float mode, the sensing capacitor floats all the time
except the charge transfer, accumulating charge from the ECG
signal. The accumulated charge is then transferred into the
ADPD4100/ADPD4101 during a specified time slot for charge
measurement. The device must be configured to float the inputs
for the ECG during the preconditioning period and during
sleep. The inputs are connected to the external capacitor only
during the charge transfer. At all other times, the inputs for the
ECG are floating, resulting in a float time of 1/tP, where tP is the
sampling rate of the ADPD4100/ADPD4101. For example, the
float time in sleep float mode is ~3.3 ms for the sampling rate of
300 Hz.
The 500 kΩ resistors limit the current that can be injected into
or pulled from the body in the case of shorted input pins. The
470 pF capacitor serves as the sensing capacitor for the ECG
signal. The ECG signal is integrated onto the sensing capacitor.
The value of this capacitor is chosen such that an acceptable
SNR is achieved and the time constant of the RC network and
the electrode skin contact allows sufficient charge accumulation
on the sensing capacitor during the sampling period.
The RC network of the 500 kΩ resistors and the 470 pF
capacitor also acts as a low-pass filter, which helps reduce the
high frequency noise due to electrode skin contact.
For multilead ECG measurement, each lead requires a separate
pair of inputs and the RC network of two 500 kΩ resistors and
the 470 pF capacitor, as shown in Figure 52.
RA
SKIN/ELECTRODE
INTERFACE
RP
VDC
RS
ADPD4100/
ADPD4101
500kΩ
CP
INx
RIN
INx
RIN
470pF
RP
500kΩ
LA
TIA
RF
VDC
RS
RF
23297-051
CP
NOTES
1. RA is right arm. LA is left arm.
Figure 52. Circuit for Measuring Single-Lead ECG with the
ADPD4100/ADPD4101
Sleep Float Mode
The ADPD4100/ADPD4101 ECG measurement operates in
sleep float mode. Sleep float mode allows a robust ECG
An advantage of using sleep float in ECG measurements is the
longer charging time for the sensing capacitor. In sleep float
mode, charge accumulation on the sensing capacitor happens
during the sleep and during all other enabled time slots. The
time slot associated with the sleep float mode is only used to
transfer the charge from the sensing capacitor to the ADPD4100/
ADPD4101 amplifier. Sleep float mode also allows the use of
other time slots for different sensor-based applications while
ECG is being measured because the sensing capacitor floats
regardless of the types of applications that the other time slots
enable.
Another advantage of using sleep float mode in ECG measurements is the reduced power consumption and noise. In sleep
float mode, while the sensing capacitor is floating, it is disconnected from the amplifier and the amplifier is not powered.
Therefore, sleep float mode reduces the power consumption by
using the passive charging time to transfer the ECG signal from
the body onto the sensing capacitor while the amplifier and all
the later stages are powered down. The passive charging process
of the sampling capacitor associated with sleep float mode also
reduces the noise as the charging process is noise free.
A timing diagram for sleep float mode is shown in Figure 53.
The relevant register settings for sleep float mode are shown in
Table 27.
START OF TIME SLOT
SEQUENCE TIMING WAKE
TIME SLOT A (TS A)
TS B
TS X
SLEEP
WAKE
MOD_WIDTH_x
CONNECT/FLOAT
MOD_OFFSET_x
ACCUMULATED
CHARGE ON CAPACITOR
INTEGRATOR
OUTPUT
INTEG_OFFSET_x
INTEG_WIDTH_x
23297-053
INTEGRATOR
SEQUENCE
ADC READ
Figure 53. Sleep Float Mode Timing Diagram
Rev. 0 | Page 44 of 101
Data Sheet
ADPD4100/ADPD4101
Table 27. Relevant Configuration Registers for ECG Measurement Using Sleep Float Mode
Group
Signal Path Setup
Float Mode
Configuration
1
Time Slot A
Register Address1
0x0100, Bits[13:12]
0x0100, Bits[11:10]
0x0101, Bits[8:0]
0x0101, Bits[15:12]
0x0102, Bits[15:0]
Bit Field Name
SAMPLE_TYPE_x
INPUT_R_SELECT_x
AFE_PATH_CFG_x
PRE_WIDTH_x
INPxx_x
0x0103, Bits[4:12]
0x0020, Bits[15:0]
0x0021, Bits[3:0]
0x0104, Bits[5:0]
0x0104, Bits[9:8]
0x0107, Bits[15:8]
0x0107, Bits[7:0]
0x0108, Bits[13:12]
0x0108, Bits[9:0]
PRECON_x
INP_SLEEP_xx
PAIRxx
TIA_GAIN_CHx_x
AFE_TRIM_VREF_x
NUM_INT_x
NUM_REPEAT_x
MOD_TYPE_x
MIN_PERIOD_x
0x010A, Bits[4:0]
0x010A, Bits[10:8],
Bits[14:12]
0x010B, Bits[12:0]
INTEG_WIDTH_x
CHx_AMP_DISABLE_x
INTEG_OFFSET_x
0x010C, Bits[15:8]
MOD_WIDTH_x
0x010C, Bits[7:0]
MOD_OFFSET_x
Description
Leave at the default setting (0) for default sampling mode.
Set to 0x0 for 500 Ω series input resistor.
Set to 0x0E6 for TIA, integrator, and ADC. Bypass the BPF.
Set to 0 to skip preconditioning period.
Set to 0x7 to enable desired inputs connected to Channel 1 as defined
in PAIRxx.
Set to 0x0 to float the inputs during preconditioning.
Set to 0x0 to float inputs during sleep.
Set to 1 to configure selected inputs as a differential pair.
Select TIA gain.
Set to 0x2 to set TIA_VREF = 0.9 V.
Set to 1 for a single integration per group of ADC conversions.
Number of sequence repeats.
Set to 0x1 for float type operation.
Set to 0. Minimum period is not applicable to sleep float mode with a
single integration.
Integration time in µs. Set to MOD_WIDTH_x + 1.
Set 0x010A, Bit 9 to 1 to power down BPF for Channel 1, Bit 13 to 1 to
power down BPF for Channel 2 if Channel 2 is enabled.
Integration sequence start time. Set to (MOD_OFFSET_x −
INTEG_WIDTH_x – 250 ns).
Sets width of connect pulse in 1 μs increments. MOD_WIDTH_x ×
NUM_REPEAT_x determines the time to transfer the charge from the
external capacitor. Set MOD_WIDTH_x × NUM_REPEAT_x to
approximately three time constants based on the time constant created
between the external capacitor and the series input resistor (500 Ω or
6500 Ω based on setting of INPUT_R_SELECT_x).
Sets start time of first connect pulse in 1 μs increments. Set to
INTEG_WIDTH_x + 3.
This is the Time Slot A register address. Add 0x020 for the identical register address for each subsequent time slot. For example, Register 0x0100 is the location for
SAMPLE_TYPE_A. For Time Slot B, this register is at Address 0x0120. For Time Slot C, this register is at Address 0x0140. For Time Slot D, this register is at
Address 0x0160, and so on.
Sleep Float Mode with Multiple Charge Transfers
In ECG measurement, there can be a dc offset voltage on the
order of tens or hundreds of millivolts or even greater when the
electrode skin contact impedance is high and/or the electrodes
are made of different materials with large half cell potential
mismatch. The dc offset voltage uses a significant amount of the
dynamic range available for the ECG measurement. The
maximum amount of charge that the ADPD4100/ADPD4101
can accommodate for a single sample is ~7.5 pC with the
200 kΩ TIA gain setting. The maximum allowable charge per
sample scales inversely with the gain of the TIA. The presence
of a large dc offset voltage creates excess charge on the sensing
capacitor, which can saturate the input to the ADC. For
example, 100 mV of dc offset voltage adds an additional 47 pC
of charge to the 470 pF capacitor.
To accommodate the dc offset voltage without reducing the size
of the sensing capacitor, the recommendation is to reduce the
TIA gain to 50 kΩ or 100 kΩ, and to transfer the accumulated
charge in multiple short pulses. For example, to transfer 47 pC
of charge from the sensing capacitor to the integrator, the TIA
gain of 50 kΩ can accommodate 30 pC of charge per sample.
Setting RIN = 6.5 kΩ limits the rate of charge transfer into the
TIA with an RC time constant of 2 × 6.5 kΩ × 470 pF = 6.1 μs.
Using multiple short modulation pulses, which can be as short
as 1 µs, allows a smaller percentage of the overall charge to be
transferred and integrated per pulse to avoid saturating the TIA.
Multiple transfer cycles are then used to fully discharge the
sensing capacitor. The ADPD4100/ADPD4101 automatically
sum the results of the transfer cycles and report the total charge.
The timing for this mode is the same as shown in Figure 53
except the device is set up for multiple modulation pulses.
Rev. 0 | Page 45 of 101
ADPD4100/ADPD4101
Data Sheet
Recommended Configurations for ECG Measurement
The following is one of the recommended configurations for
ECG measurement if the dc offset voltage (VDC, see Figure 52) is
negligible or low, less than ±30 mV.
#ADPD4100 ECG Measurement with high DC
offset
0009 0080
# 32MHz oscillator trim
000B 02B2
# 1MHz oscillator trim
#ADPD4100 ECG Measurement with small DC
offset
000D 0D05
# Sampling rate 300 Hz
000F 0006
# 1MHz low frequency oscillator
0009 0080
# 32MHz oscillator trim
0010 0000
# Timeslot A enabled
000B 02B2
# 1MHz oscillator trim
0020 2220
# Float inputs 1&2 during sleep
000D 0D05
# Sampling rate 300 Hz
000F 0006
# 1MHz low frequency oscillator
0021 0001 # IN1/IN2 configured as a
differential pair
0010 0000
# Timeslot A enabled
0020 2220
# Float input 1&2 during sleep
# Timeslot configuration #
### Timeslot A - Sleep float mode ECG with
multiple charge transfers
0021 0001 # IN1/IN2 configured as a
differential pair
0100 0400
# Timeslot configuration #
### Timeslot A - Sleep float mode ECG with
multiple charge transfers
0100 0000
# Input resistor 500 Ω
0101 00E6 # skip preconditioning,
bandpass filter bypassed
# Input resistor 6500 Ω
0101 00E6 # skip preconditioning,
bandpass filter bypassed
0102 0007
channel 1
# IN1&IN2 differential pair to
0103 0000
# float during preconditioning
0104 02C3
# TIA gain 25k, Vref = 0.88V
0105 0000
# LEDs off
0106 0000
# LEDs off
0102 0007
channel 1
# IN1&IN2 differential pair to
0103 0000
# float during preconditioning
0107 010C
# 12 pulses
0104 02C1
# TIA gain 100k, Vref = 0.88V
0108 1000
# float mode, minimum period
0105 0000
# LEDs off
0106 0000
# LEDs off
010A 0203 # Integrator pulse width,
bandpass filter powered down
0107 0102
# 2 pulses
0108 1000
# float mode, minimum period
010A 0203 # Integrator pulse width,
bandpass filter powered down
010B 01A0
offset
# Integrator pulse timing
010C 0210
offset
# Modulation pulse width and
010D 0000
# Chopping mode disabled
010E 0000
# no ADC offset
# no ADC offset
010B 01A0
offset
# Integrator pulse timing
010C 0210
offset
# Modulation pulse width and
010F 0000
010D 0000
# Chopping mode disabled
0110 0003 # Configure number of bytes
written to the registers
010E 0000
# no ADC offset
010F 0000
# no ADC offset
0110 0003 # Configure number of bytes
written to the registers
If the dc offset voltage is large, use the following recommended
configuration, which can handle up to ±450 mV of dc offset
voltage. There are only three register setting changes, and the
rest is the same as the previous configuration. The input resistor
is changed to 6500 Ω by setting INPUT_R_SELECT_x to 1, TIA
gain is reduced to 25 kΩ by setting TIA_GAIN_CH1_x to 3,
and the number of modulation pulses is increased to 12 by
setting NUM_REPEAT_x to 12.
To account for the cases where dc offset voltage is moderate,
different configurations can be utilized. In general, higher dc
offset voltage cases require low TIA gain and 6500 Ω input
resistor selection, whereas lower dc offset voltage cases can use
higher TIA gain and 500 Ω input resistor selection to achieve
the lowest noise performance. In addition, NUM_REPEAT_x
can be increased to allow the full discharge of the sampling
capacitor. Table 28 summarizes the relevant registers for
handling different dc offset voltage levels.
Rev. 0 | Page 46 of 101
Data Sheet
ADPD4100/ADPD4101
Improving SNR with Integrator Chopping in ECG
Measurements
ECG and three-electrode lead off detection are measured as
follows:
Integrator chopping can also improve SNR in ECG measurements
with the sleep float mode by eliminating low frequency noise
content. The procedure to enable integrator chop mode is the
same as explained previously in the Improving SNR Using
Integrator Chopping section. However, ECG measurements
with integrator chopping require additional considerations. The
sign of the dc offset voltages in Figure 52 can be positive or
negative. When the sign of the net dc offset voltage is negative,
integrator chop mode can result in clipping of the ECG signal.
To prevent clipping of the ECG signal, lit data must be used.
Figure 23 shows the datapath. In Figure 23, lit and dark values
can be optionally written to FIFO. This option allows the use of
negative signal values by writing both lit and dark values to the
FIFO, and the user can perform a signed subtract in external
processing of the data to calculate the signal value. Therefore,
integrator chopping can be used regardless of the sign of net dc
offset voltage.
1.
Lead Off Detection
To perform a lead off detection measurement, the ADPD4100/
ADPD4101 measure the impedance of the electrode skin
contacts to determine whether one or more of the electrodes are
not making contact with the skin. Lead off measurement can be
performed in two different ways based on the number of
electrodes used.
Three-Electrode Lead Off Measurement
The three-electrode configuration requires a third electrode
connected to an unused VCx pin to provide a stimulus to the
body. The RC network of the ECG measurement is bypassed by
wiring the electrodes directly to a separate set of inputs through
25 kΩ resistors. The response from the stimulus is measured
from this separate set of inputs. Three-electrode lead off
measurement is capable of determining which electrode is loose
or has lost the contact with the skin. Figure 54 shows the circuit
for the three-electrode lead off detection measurement. RBODY is
the resistance of the body.
ADPD4100/
ADPD4101
25kΩ
E1
47pF
500kΩ
IN3
IN1
CH1
RBODY
RBODY
CHANNEL 1
CHANNEL 2
470pF
500kΩ
IN2
25kΩ
IN4
CH2
47pF
47pF 25kΩ
VC2
E3
Figure 55 illustrates a representation of ADC output changes in
different cases for leadoff condition. In Figure 55, before
Time tA, both ECG electrodes make contact with the skin. At
Time tA, E1 is disconnected from the skin. The time between tA
and tB shows the case where only E1 is disconnected from the
skin. At Time tB, E1 starts to make contact with skin and output
of the two channels go to their initial levels. At Time tC, only E2
is disconnected from the skin and it stays disconnected until
Time tD. At Time tE, E2 starts making contact with the skin
again. At Time tE, both E1 and E2 are disconnected from the
skin, and they stay disconnected until Time tF. At Time tF, both
E1 and E2 start making contact with the skin. Therefore, lead
off condition is detected in all electrode connection cases, and
three-electrode lead off measurement detects and distinguishes
all the different cases. The level of actual ADC outputs
associated with Channel 1 and Channel 2 may differ because
the type and placement of the electrodes may be different in
each case, and RBODY differs from person to person, which
affects the amount of current that each channel receives.
ADC OUTPUT
E2
When both ECG electrodes, E1 and E2, are making contact
with the skin during the measurement, an ECG signal is visible.
The impedance measurements of the E1 and E2 electrodes have
some readout indicating that contact is being made with the
skin and current is flowing into the ADPD4100/ADPD4101
through the body of low impedance when the stimulus is
applied. When either ECG electrode stops making contact with
the skin or is loose, there is no ECG signal in the acquired trace.
When contact between both electrodes and the skin is restored,
the ECG signal appears immediately. Because two inputs and
two channels are allocated to detect leadoff condition for two
electrodes, this measurement method can determine if one
electrode loses contact with skin or both electrodes lose contact.
This measurement can also detect which one of the electrodes
loses contact with skin if only one electrode loses contact.
VC2
23297-054
RBODY
2.
ECG is measured in Time Slot A as defined in the ECG
Measurement with the ADPD4100/ADPD4101 section.
Lead off detection of the ECG electrodes is taken in
Time Slot B by making simultaneous single-ended
impedance measurements of ECG Electrode 1 (E1) and
Electrode 2 (E2) into Channel 1 and Channel 2, respectively.
tA
tB
tC
tD
TIME
tE
tF
23297-055
Figure 54. Circuit Used for Three-Electrode Lead Off Detection Measurement
Figure 55. Graph of Three-Electrode Lead Off Measurement
Rev. 0 | Page 47 of 101
ADPD4100/ADPD4101
Data Sheet
Table 28. Relevant Register Settings to Handle Different DC Offset Voltage Levels in ECG Measurements
Time Slot A Register Address1
0x0100, Bits[11:10]
Bit Field Name
INPUT_R_SELECT_x
0x0104, Bits[5:0]
0x0107, Bits[7:0]
TIA_GAIN_CHx_x
NUM_REPEAT_x
1
Description
Set to 0x0 for 500 Ω series input resistor. Set to 0x1 for 6500 Ω series input
resistor.
Select TIA gain.
Number of sequence repeats.
This is the Time Slot A register address. Add 0x020 for the identical register address for each subsequent time slot. For example, Register 0x0100 is the location for
SAMPLE_TYPE_A. For Time Slot B, this register is at Address 0x0120. For Time Slot C, this register is at Address 0x0140. For Time Slot D, this register is at
Address 0x0160, and so on.
The following configuration enables low dc offset ECG
measurement in Time Slot A and three-electrode lead off
detection in Time Slot B:
0110 0003 # Configure number of bytes
written to the registers
# ADPD4100 ECG Measurement with small DC
offset in Timeslot A and Three-Electrode
Lead-Off Measurement in Timeslot B
# Timeslot B – Three-Electrode Lead-Off
Detection on IN3/4
0120 4000
# CH2 active
0009 0080
# 32MHz oscillator trim
# 1MHz oscillator trim
0121 40DA
BPF-INT-ADC
# 8 µs preconditioning, TIA-
000B 02B2
000D 0D05
# Sampling rate 300 Hz
0122 0050
# IN3 to CH1, IN4 to CH2
000F 0006
# 1MHz low frequency oscillator
0010 0100
# Timeslot A and B enabled
0123 5A45
# Precondition to TIA_VREF,
pulse VC2_VREF by 215 mV
0020 2200 # Float input 1&2 and 3&4
during sleep
0124 E212
# 50k TIA GAIN both channels,
TIA_VREF=0.88V
0021 0001 # IN1/IN2 configured as a
differential pair
0125 0000
# LEDs off
0126 0000
# LEDs off
# 16 pulses, single
# Timeslot configuration #
0127 0110
integration
# ADPD4100 ECG Measurement with small DC
offset
0128 0000
# continuous TIA connection
012A 0003
# Integrator pulse width
0100 0000
012B 0216
offset
# Integrator pulse timing
# Modulation pulse width and
# Input resistor 500 Ω
0101 00E6 # skip preconditioning,
bandpass filter bypassed
0102 0007
channel 1
# IN1&IN2 differential pair to
012C 0210
offset
012D 0000
# Integrator chopping off
0103 0000
# float during preconditioning
012E 0000
# No ADC Offset
0104 02C1
0.88V
# TIA gain 100k, TIA_VREF =
012F 0000
# No ADC Offset
0105 0000
# LEDs off
0130 0003
# Configure number of bytes
written to the registers
0106 0000
# LEDs off
Two-Electrode Lead Off Measurement
0107 0102
# 2 pulses
0108 1000
# float mode, minimum period
This measurement method can detect the lead off condition
without requiring a third electrode at the expense of not being
able to differentiate if one electrode or both electrodes have lost
contact with skin. Two-electrode lead off measurement is useful
in cases where either a separate electrode is not available, a
smaller form factor with less components is desired, or the
power requirement is tighter because power consumption of
two-electrode lead off measurement is lower. In two-electrode
lead off measurement, the stimulus from an unused VCx pin to
the body can be provided through one of the ECG electrodes.
Only one separate input is used to detect the lead off condition
through the impedance measurement.
010A 0203 # Integrator pulse width,
bandpass filter powered down
010B 01A0
offset
# Integrator pulse timing
010C 0210
offset
# Modulation pulse width and
010D 0000
# Chopping mode disabled
010E 0000
# no ADC offset
010F 0000
# no ADC offset
Rev. 0 | Page 48 of 101
Data Sheet
ADPD4100/ADPD4101
ADPD4100/
ADPD4101
25kΩ
E1
RBODY
47pF
500kΩ
IN3
tC
tD
tE
tF
Figure 57. Graph of Two-Electrode Lead Off Measurement
IN2
The following configuration enables low dc offset ECG
measurement in Time Slot A and two-electrode lead off
detection in Time Slot B:
VC2
VC2
23297-056
E2
47pF 25kΩ
tB
TIME
CH1
470pF
500kΩ
tA
IN1
23297-057
ADC OUTPUT
Figure 56 shows a circuit that can be used for the two-electrode
lead off detection measurement. RBODY is the resistance of the
body.
Figure 56. Circuit Used for Two-Electrode Lead Off Detection Measurement
# ADPD4100 ECG Measurement with small DC
offset in Timeslot A and Two-Electrode
Lead-Off Measurement in Timeslot B
ECG and two-electrode lead off detection are measured as
follows:
0009 0080
# 32MHz oscillator trim
000B 02B2
# 1MHz oscillator trim
1.
000D 0D05
# Sampling rate 300 Hz
000F 0006
# 1MHz low frequency oscillator
0010 0100
# Timeslot A and B enabled
2.
ECG is measured in Time Slot A as defined in the ECG
Measurement with the ADPD4100/ADPD4101 section.
Lead off detection of the ECG electrodes is taken in
Time Slot B by making a single-ended measurement for
impedance between the E1 and E2 ECG electrodes into
Channel 1, as shown in Figure 56.
When the ECG electrodes are making contact with the skin
during the measurement, an ECG signal and a value for the
impedance measurement indicating that some current is
flowing through RBODY are visible. When either electrode stops
making contact with the skin, there is no ECG signal, and a
much smaller value at the ADC output is observed for the
impedance measurement indicating that there is no current
flowing through the low impedance RBODY. When both electrode
skin contacts are restored, the ECG signal appears immediately.
Because only one input and one channel are allocated to detect
lead off condition for two electrodes, the impedance measurement
shows a much smaller value when either electrode loses contact
with skin and, thus, it is a common indicator for both electrodes.
Figure 57 illustrates a representation of ADC output changes in
different cases. Before Time tA, both ECG electrodes make
contact with the skin. At Time tA, only E1 is disconnected from
the skin. At Time tB, it starts to make contact with the skin again
and both electrodes make contact until tC. At tC, only E2 is
disconnected from the skin and it stays disconnected until tD. At
tD, E2 starts making contact with the skin again, and they stay
connected until tE. At tE, both electrodes are disconnected. At
tF, both electrodes start making contact again. Therefore, lead
off detection measurement can be achieved for all cases, and
lead off condition is represented by lower ADC output for the
impedance measurement.
0020 2200 # Float input 1&2 and 3&4
during sleep
0021 0001 # IN1/IN2 configured as a
differential pair
# Timeslot configuration #
# ADPD4100 ECG Measurement with small DC
offset
0100 0000
# Input resistor 500 Ω
0101 00E6 # skip preconditioning,
bandpass filter bypassed
0102 0007
channel 1
# IN1&IN2 differential pair to
0103 0000
# float during preconditioning
0104 02C1
0.88V
# TIA gain 100kΩ, TIA_VREF =
0105 0000
# LEDs off
0106 0000
# LEDs off
0107 0102
# 2 pulses
0108 1000
# float mode, minimum period
010A 0203 # Integrator pulse width,
bandpass filter powered down
010B 01A0
offset
# Integrator pulse timing
010C 0210
offset
# Modulation pulse width and
010D 0000
# Chopping mode disabled
010E 0000
# no ADC offset
010F 0000
# no ADC offset
Rev. 0 | Page 49 of 101
ADPD4100/ADPD4101
Data Sheet
0110 0003 # Configure number of bytes
written to the registers
0126 0000
# LEDs off
0127 0110
integration
# 16 pulses, single
# Timeslot B – Two-Electrode Lead-Off
Detection on IN3
0128 0000
# continuous TIA connection
012A 0003
# Integrator pulse width
0120 0000
# 1 channel enabled
# 8us precondition, TIA-BPF-
012B 0216
offset
# Integrator pulse timing
0121 40DA
INT-ADC
012C 0210
offset
# Modulation pulse width and
012D 0000
# Integrator chopping off
012E 0000
# No ADC Offset
012F 0000
# No ADC Offset
0122 0010
# IN3 to CH1, IN4
disconnected
0123 5A45
# Precondition to TIA_VREF,
pulse VC2_VREF by 215 mV
0124 E212
# 50 kΩ TIA GAIN both
channels, TIA_VREF=0.88V
0125 0000
0130 0003
# Configure number of bytes
written to the registers
# LEDs off
Rev. 0 | Page 50 of 101
Data Sheet
ADPD4100/ADPD4101
REGISTER MAP
Table 29. ADPD4100 Register Map Summary
Reg
0x0000
Name
FIFO_
STATUS
0x0001
INT_
STATUS_
DATA
0x0002
0x0003
0x0004
0x0005
INT_
STATUS_
LEV0
INT_
STATUS_
LEV1
[15:8]
Bit 13
Bit 12
Bit 11
Bit 5
Bit 4
Bit 3
INT_FIFO_
Reserved
OFLOW
FIFO_BYTE_COUNT[7:0]
INT_FIFO_TH
Reserved
INT_
DATA_L
INT_DATA_H INT_DATA_G INT_
INT_
INT_
DATA_F
DATA_E
DATA_D
Reserved
INT_LEV0_L
[7:0]
INT_LEV0_H
Bits
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
INT_
[15:8]
STATUS_TC1
[7:0]
INT_
[15:8]
STATUS_TC2
[7:0]
0x0006
FIFO_TH
0x0007
INT_ACLEAR
[15:8]
[7:0]
[15:8]
[7:0]
0x0008
CHIP_ID
0x0009
OSC32M
0x000A
OSC32M_
CAL
0x000B
OSC1M
[7:0]
[15:8]
0x000C
OSC32K
[7:0]
[15:8]
0x000D
TS_FREQ
0x000E
TS_FREQH
0x000F
SYS_CTL
0x0010
OPMODE
0x0011
STAMP_L
Bit 15
Bit 7
CLEAR_FIFO
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
INT_LEV1_H
INT_
TCLN1_H
INT_
TCLN2_H
Bit 14
Bit 6
INT_FIFO_
UFLOW
INT_LEV0_G INT_
LEV0_F
Reserved
INT_LEV0_E INT_LEV0_D
INT_LEV1_G INT_
LEV1_F
Reserved
INT_LEV1_E INT_LEV1_D
INT_
INT_
TCLN1_F
TCLN1_G
Reserved
INT_
TCLN1_E
INT_
TCLN2_G
INT_ACLEAR_
FIFO
INT_ACLEAR_ INT_
DATA_H
ACLEAR_
DATA_G
OSC_32M_
CAL_START
INT_LEV1_L
INT_TCLN1_L
INT_
TCLN1_D
INT_TCLN2_L
Bit 10
Bit 9
Bit 8
Bit 2
Bit 1
Bit 0
FIFO_BYTE_COUNT[10:8]
INT_
DATA_K
INT_
DATA_C
INT_
LEV0_K
INT_
LEV0_C
INT_
LEV1_K
INT_
LEV1_C
INT_
TCLN1_K
INT_
TCLN1_C
INT_
TCLN2_K
INT_
TCLN2_C
INT_
INT_
INT_
TCLN2_D
TCLN2_F
TCLN2_E
Reserved
FIFO_TH[7:0]
Reserved
INT_
INT_
ACLEAR_
ACLEAR_
DATA_L
DATA_K
INT_
INT_
INT_
INT_
ACLEAR_ ACLEAR_
ACLEAR_
ACLEAR_
DATA_F
DATA_E
DATA_D
DATA_C
Version
CHIP_ID
Reserved
OSC_32M_FREQ_ADJ[7:0]
OSC_32M_CAL_COUNT[14:8]
OSC_32M_CAL_COUNT[7:0]
Reserved
CLK_CAL_
ENA
INT_
INT_
DATA_J
DATA_I
INT_
INT_
DATA_B DATA_A
INT_
INT_
LEV0_J
LEV0_I
INT_
INT_
LEV0_B
LEV0_A
INT_
INT_
LEV1_J
LEV1_I
INT_
INT_
LEV1_B
LEV1_A
INT_
INT_
TCLN1_J TCLN1_I
INT_
INT_
TCLN1_B TCLN1_A
INT_
INT_
TCLN2_J TCLN2_I
INT_
INT_
TCLN2_B TCLN2_A
FIFO_TH[9:8]
INT_
ACLEAR_
DATA_J
INT_
ACLEAR_
DATA_B
INT_
ACLEAR_
DATA_I
INT_
ACLEAR_
DATA_A
OSC_1M_FREQ_
ADJ[9:8]
OSC_1M_FREQ_ADJ[7:0]
Reserved
CAPTURE_
TIMESTAMP
Reserved
Reserved
SW_RESET
ALT_CLK_GPIO[1:0]
Reserved
OSC_32K_ADJUST[5:0]
TIMESLOT_PERIOD_L[15:8]
TIMESLOT_PERIOD_L[7:0]
Reserved
TIMESLOT_PERIOD_H[6:0]
Reserved
ALT_CLOCKS[1:0]
Reserved
LFOSC_
OSC_
OSC_
SEL
1M_EN
32K_EN
TIMESLOT_EN[3:0]
Reserved
OP_MODE
TIMESTAMP_COUNT_L[15:8]
TIMESTAMP_COUNT_L[7:0]
Rev. 0 | Page 51 of 101
Reset
0x0000
R/W
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x8FFF
R/W
0x02C2
R
0x0080
R/W
0x0000
R/W
0x02B2
R/W
0x0012
R/W
0x2710
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R
ADPD4100/ADPD4101
Reg
0x0012
0x0013
0x0014
Name
STAMP_H
Bits
[15:8]
[7:0]
STAMPDELTA [15:8]
[7:0]
INT_ENABLE_ [15:8]
XD
[7:0]
0x0015
INT_ENABLE_ [15:8]
YD
[7:0]
0x0016
0x0017
0x0018
0x0019
0x001A
0x001B
0x001C
0x001D
0x001E
0x0020
INT_ENABLE_ [15:8]
XL0
[7:0]
INT_ENABLE_ [15:8]
XL1
[7:0]
INT_ENABLE_ [15:8]
XT1
[7:0]
INT_ENABLE_ [15:8]
XT2
[7:0]
INT_ENABLE_ [15:8]
YL0
[7:0]
INT_ENABLE_ [15:8]
YL1
[7:0]
INT_ENABLE_ [15:8]
YT1
[7:0]
INT_ENABLE_ [15:8]
YT2
[7:0]
FIFO_
STATUS_
BYTES
Bit 15
Bit 7
INTX_EN_
FIFO_TH
INTX_EN_
DATA_H
INTY_EN_
FIFO_TH
INTY_EN_
DATA_H
INTX_EN_
LEV0_H
INTX_EN_
LEV1_H
INTX_EN_
TCLN1_H
INTX_EN_
TCLN2_H
INTY_EN_
LEV0_H
INTY_EN_
LEV1_H
INTY _EN_
TCLN1_H
INTY_EN_
TCLN2_H
[15:8]
[7:0]
0x0022
INPUT_SLEEP [15:8]
[7:0]
INPUT_CFG [15:8]
[7:0]
GPIO_CFG
[15:8]
0x0023
GPIO01
0x0021
Data Sheet
[7:0]
[15:8]
[7:0]
ENA_
STAT_TC2
Bit 14
Bit 6
Bit 12
Bit 11
Bit 4
Bit 3
TIMESTAMP_COUNT_H[15:8]
TIMESTAMP_COUNT_H[7:0]
TIMESTAMP_SLOT_DELTA[15:8]
TIMESTAMP_SLOT_DELTA[7:0]
INTX_EN_
INTX_EN_ Reserved
INTX_EN_
DATA_L
FIFO_
FIFO_
UFLOW
OFLOW
INTX_EN_
INTX_EN_ INTX_EN_ INTX_EN_
DATA_G
DATA_F
DATA_E
DATA_D
INTY_EN_
INTY_EN_ Reserved
INTY_EN_
FIFO_
DATA_L
FIFO_
UFLOW
OFLOW
INTY_EN_
INTY_EN_ INTY_EN_
INTY_EN_
DATA_G
DATA_F
DATA_E
DATA_D
Reserved
INTX_EN_
LEV0_L
INTX_EN_
INTX_EN_ INTX_EN_ INTX_EN_
LEV0_G
LEV0_F
LEV0_E
LEV0_D
Reserved
INTX_EN_
LEV1_L
INTX_EN_
INTX_EN_ INTX_EN_ INTX_EN_
LEV1_G
LEV1_F
LEV1_E
LEV1_D
Reserved
INTX_EN_
TCLN1_L
INTX_EN_
INTX_EN_ INTX_EN_ INTX_EN_
TCLN1_G
TCLN1_F
TCLN1_E
TCLN1_D
Reserved
INTX_EN_
TCLN2_L
INTX_EN_
INTX_EN_ INTX_EN_ INTX_EN_
TCLN2_G
TCLN2_F
TCLN2_E
TCLN2_D
Reserved
INTY_EN_
LEV0_L
INTY_EN_
INTY_EN_ INTY_EN_
INTY_EN_
LEV0_G
LEV0_F
LEV0_E
LEV0_D
Reserved
INTY_EN_
LEV1_L
INTY_EN_
INTY_EN_ INTY_EN_
INTY_EN_
LEV1_G
LEV1_F
LEV1_E
LEV1_D
Reserved
INTY_EN_
TCLN1_L
INTY _EN_ INTY_EN_ INTY_EN_
INTY_EN_
TCLN1_G
TCLN1_F
TCLN1_E
TCLN1_D
Reserved
INTY_EN_
TCLN2_L
INTY_EN_
INTY_EN_ INTY_EN_
INTY_EN_
TCLN2_G
TCLN2_F
TCLN2_E
TCLN2_D
Reserved
ENA_
STAT_TC1
Bit 13
Bit 5
ENA_
STAT_LX
ENA_
STAT_L1
ENA_
STAT_L0
INP_SLEEP_78[3:0]
INP_SLEEP_34[3:0]
VC2_SLEEP[1:0]
GPIO_SLEW[1:0]
GPIO_PIN_CFG2[1:0]
Reserved
Reserved
Bit 10
Bit 2
Bit 9
Bit 1
INTX_EN_ INTX_EN_ INTX_EN_
DATA_K
DATA_J
DATA_I
R/W
R
0x0000
R
0x0000
R/W
INTX_EN_
DATA_B
INTY_EN_
DATA_J
INTX_EN_
DATA_A
INTY_ EN_ 0x0000
DATA_I
INTY_EN_
DATA_C
INTX_EN_
LEV0_K
INTX_EN_
LEV0_C
INTX_EN_
LEV1_K
INTX_EN_
LEV1_C
INTX_EN_
TCLN1_K
INTX_EN_
TCLN1_C
INTX_EN_
TCLN2_K
INTX_EN_
TCLN2_C
INTY_EN_
LEV0_K
INTY_EN_
LEV0_C
INTY_EN_
LEV1_K
INTY_EN_
LEV1_C
INTY _EN_
TCLN1_K
INTY_EN_
TCLN1_C
INTY_EN_
TCLN2_K
INTY_EN_
TCLN2_C
INTY_EN_
DATA_B
INTX_EN_
LEV0_J
INTX_EN_
LEV0_B
INTX_EN_
LEV1_J
INTX_EN_
LEV1_B
INTX_EN_
TCLN1_J
INTX_EN_
TCLN1_B
INTX_EN_
TCLN2_J
INTX_EN_
TCLN2_B
INTY_EN_
LEV0_J
INTY_EN_
LEV0_B
INTY_EN_
LEV1_J
INTY_EN_
LEV1_B
INTY _EN_
TCLN1_J
INTY_EN_
TCLN1_B
INTY_EN_
TCLN2_J
INTY_EN_
TCLN2_B
INTY_EN_
DATA_A
INTX_EN_
LEV0_I
INTX_EN_
LEV0_A
INTX_EN_
LEV1_I
INTX_EN_
LEV1_A
INTX_EN_
TCLN1_I
INTX_EN_
TCLN1_A
INTX_EN_
TCLN2_I
INTX_EN_
TCLN2_A
INTY_EN_
LEV0_I
INTY_EN_
LEV0_A
INTY_EN_
LEV1_I
INTY_EN_
LEV1_A
INTY _EN_
TCLN1_I
INTY_EN_
TCLN1_A
INTY_EN_
TCLN2_I
INTY_EN_
TCLN2_A
ENA_
STAT_TCX
ENA_
STAT_
SUM
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
PAIR12
GPIO_PIN_ 0x0000
CFG2[2]
GPIO_PIN_CFG0[2:0]
0x0000
R/W
ENA_
STAT_D2
ENA_
STAT_D1
Reserved
VC1_SLEEP[1:0]
PAIR78
PAIR56
PAIR34
GPIO_DRV[1:0]
GPIO_PIN_CFG3[2:0]
Rev. 0 | Page 52 of 101
Reset
0x0000
INTX_EN_
DATA_C
INTY_EN_
DATA_K
INP_SLEEP_56[3:0]
INP_SLEEP_12[3:0]
GPIO_PIN_CFG1[2:0]
GPIOOUT1[6:0]
GPIOOUT0[6:0]
Bit 8
Bit 0
R/W
R/W
Data Sheet
Reg
0x0024
Name
GPIO23
0x0025
GPIO_IN
0x0026
GPIO_EXT
ADPD4100/ADPD4101
Bits
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
0x002E
DATA_
HOLD_FLAG
[15:8]
[7:0]
0x002F
FIFO_DATA
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
0x0030
SIGNAL1_L_A
0x0031
SIGNAL1_H_A
0x0032
SIGNAL2_L_A
0x0033
SIGNAL2_H_A
0x0034
DARK1_L_A
0x0035
DARK1_H_A
0x0036
DARK2_L_A
0x0037
DARK2_H_A
0x0038
SIGNAL1_L_B
0x0039
SIGNAL1_H_B
0x003A
SIGNAL2_L_B
0x003B
SIGNAL2_H_B
0x003C
DARK1_L_B
0x003D
DARK1_H_B
0x003E
DARK2_L_B
0x003F
DARK2_H_B
0x0040
SIGNAL1_L_C
0x0041
SIGNAL1_H_C
0x0042
SIGNAL2_L_C
0x0043
[7:0]
SIGNAL2_H_C [15:8]
[7:0]
Bit 15
Bit 7
Reserved
Reserved
Bit 14
Bit 6
Bit 13
Bit 5
Reserved
Bit 12
Bit 4
Bit 11
Bit 10
Bit 9
Bit 3
Bit 2
Bit 1
GPIOOUT3[6:0]
GPIOOUT2[6:0]
Reserved
GPIO_INPUT[3:0]
Reserved
TIMESTAMP_ TIMESTAMP TIMESTAMP_GPIO[1:0] Reserved
INV
_ALWAYS_
EN
Reserved
HOLD_
REGS_L
HOLD_
HOLD_
HOLD_
HOLD_
HOLD_
REGS_H
REGS_G
REGS_F
REGS_E
REGS_D
FIFO_DATA[15:8]
FIFO_DATA[7:0]
SIGNAL1_L_A[15:8]
SIGNAL1_L_A[7:0]
SIGNAL1_H_A[15:8]
SIGNAL1_H_A[7:0]
SIGNAL2_L_A[15:8]
SIGNAL2_L_A[7:0]
SIGNAL2_H_A[15:8]
SIGNAL2_H_A[7:0]
DARK1_L_A[15:8]
DARK1_L_A[7:0]
DARK1_H_A[15:8]
DARK1_H_A[7:0]
DARK2_L_A[15:8]
DARK2_L_A[7:0]
DARK2_H_A[15:8]
DARK2_H_A[7:0]
SIGNAL1_L_B[15:8]
SIGNAL1_L_B[7:0]
SIGNAL1_H_B[15:8]
SIGNAL1_H_B[7:0]
SIGNAL2_L_B[15:8]
SIGNAL2_L_B[7:0]
SIGNAL2_H_B[15:8]
SIGNAL2_H_B[7:0]
DARK1_L_B[15:8]
DARK1_L_B[7:0]
DARK1_H_B[15:8]
DARK1_H_B[7:0]
DARK2_L_B[15:8]
DARK2_L_B[7:0]
DARK2_H_B[15:8]
DARK2_H_B[7:0]
SIGNAL1_L_C[15:8]
SIGNAL1_L_C[7:0]
SIGNAL1_H_C[15:8]
SIGNAL1_H_C[7:0]
SIGNAL2_L_C[15:8]
SIGNAL2_L_C[7:0]
SIGNAL2_H_C[15:8]
SIGNAL2_H_C[7:0]
Rev. 0 | Page 53 of 101
EXT_
SYNC_EN
HOLD_
REGS_K
HOLD_
REGS_C
Bit 8
Bit 0
Reset
0x0000
R/W
R/W
0x0000
R
TS_GPIO_ 0x0000
SLEEP
EXT_SYNC_GPIO[1:0]
HOLD_
REGS_J
HOLD_
REGS_B
HOLD_
REGS_I
HOLD_
REGS_A
R/W
0x0000
R/W
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
ADPD4100/ADPD4101
Reg
0x0044
Name
DARK1_L_C
0x0045
DARK1_H_C
0x0046
DARK2_L_C
0x0047
DARK2_H_C
0x0048
SIGNAL1_L_D
0x0049
SIGNAL1_H_D
0x004A
SIGNAL2_L_D
0x004B
SIGNAL2_H_D
0x004C
DARK1_L_D
0x004D
DARK1_H_D
0x004E
DARK2_L_D
0x004F
DARK2_H_D
0x0050
SIGNAL1_L_E
0x0051
SIGNAL1_H_E
0x0052
SIGNAL2_L_E
0x0053
SIGNAL2_H_E
0x0054
DARK1_L_E
0x0055
DARK1_H_E
0x0056
DARK2_L_E
0x0057
DARK2_H_E
0x0058
SIGNAL1_L_F
0x0059
SIGNAL1_H_F
0x005A
SIGNAL2_L_F
0x005B
SIGNAL2_H_F
0x005C
DARK1_L_F
0x005D
DARK1_H_F
0x005E
DARK2_L_F
Bits
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
Bit 15
Bit 7
Data Sheet
Bit 14
Bit 6
Bit 13
Bit 5
Bit 12
Bit 11
Bit 4
Bit 3
DARK1_L_C[15:8]
DARK1_L_C[7:0]
DARK1_H_C[15:8]
DARK1_H_C[7:0]
DARK2_L_C[15:8]
DARK2_L_C[7:0]
DARK2_H_C[15:8]
DARK2_H_C[7:0]
SIGNAL1_L_D[15:8]
SIGNAL1_L_D[7:0]
SIGNAL1_H_D[15:8]
SIGNAL1_H_D[7:0]
SIGNAL2_L_D[15:8]
SIGNAL2_L_D[7:0]
SIGNAL2_H_D[15:8]
SIGNAL2_H_D[7:0]
DARK1_L_D[15:8]
DARK1_L_D[7:0]
DARK1_H_D[15:8]
DARK1_H_D[7:0]
DARK2_L_D[15:8]
DARK2_L_D[7:0]
DARK2_H_D[15:8]
DARK2_H_D[7:0]
SIGNAL1_L_E[15:8]
SIGNAL1_L_E[7:0]
SIGNAL1_H_E[15:8]
SIGNAL1_H_E[7:0]
SIGNAL2_L_E[15:8]
SIGNAL2_L_E[7:0]
SIGNAL2_H_E[15:8]
SIGNAL2_H_E[7:0]
DARK1_L_E[15:8]
DARK1_L_E[7:0]
DARK1_H_E[15:8]
DARK1_H_E[7:0]
DARK2_L_E[15:8]
DARK2_L_E[7:0]
DARK2_H_E[15:8]
DARK2_H_E[7:0]
SIGNAL1_L_F[15:8]
SIGNAL1_L_F[7:0]
SIGNAL1_H_F[15:8]
SIGNAL1_H_F[7:0]
SIGNAL2_L_F[15:8]
SIGNAL2_L_F[7:0]
SIGNAL2_H_F[15:8]
SIGNAL2_H_F[7:0]
DARK1_L_F[15:8]
DARK1_L_F[7:0]
DARK1_H_F[15:8]
DARK1_H_F[7:0]
DARK2_L_F[15:8]
DARK2_L_F[7:0]
Rev. 0 | Page 54 of 101
Bit 10
Bit 2
Bit 9
Bit 1
Bit 8
Bit 0
Reset
0x0000
R/W
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
Data Sheet
Reg
0x005F
Name
DARK2_H_F
0x0060
SIGNAL1_L_G
0x0061
SIGNAL1_H_G
0x0062
SIGNAL2_L_G
0x0063
SIGNAL2_H_G
0x0064
DARK1_L_G
0x0065
DARK1_H_G
0x0066
DARK2_L_G
0x0067
DARK2_H_G
0x0068
SIGNAL1_L_H
0x0069
SIGNAL1_H_H
0x006A
SIGNAL2_L_H
0x006B
SIGNAL2_H_H
0x006C
DARK1_L_H
0x006D
DARK1_H_H
0x006E
DARK2_L_H
0x006F
DARK2_H_H
0x0070
SIGNAL1_L_I
0x0071
SIGNAL1_H_I
0x0072
SIGNAL2_L_I
0x0073
SIGNAL2_H_I
0x0074
DARK1_L_I
0x0075
DARK1_H_I
0x0076
DARK2_L_I
0x0077
DARK2_H_I
0x0078
SIGNAL1_L_J
0x0079
SIGNAL1_H_J
ADPD4100/ADPD4101
Bits
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
Bit 15
Bit 7
Bit 14
Bit 6
Bit 13
Bit 5
Bit 12
Bit 11
Bit 4
Bit 3
DARK2_H_F[15:8]
DARK2_H_F[7:0]
SIGNAL1_L_G[15:8]
SIGNAL1_L_G[7:0]
SIGNAL1_H_G[15:8]
SIGNAL1_H_G[7:0]
SIGNAL2_L_G[15:8]
SIGNAL2_L_G[7:0]
SIGNAL2_H_G[15:8]
SIGNAL2_H_G[7:0]
DARK1_L_G[15:8]
DARK1_L_G[7:0]
DARK1_H_G[15:8]
DARK1_H_G[7:0]
DARK2_L_G[15:8]
DARK2_L_G[7:0]
DARK2_H_G[15:8]
DARK2_H_G[7:0]
SIGNAL1_L_H[15:8]
SIGNAL1_L_H[7:0]
SIGNAL1_H_H[15:8]
SIGNAL1_H_H[7:0]
SIGNAL2_L_H[15:8]
SIGNAL2_L_H[7:0]
SIGNAL2_H_H[15:8]
SIGNAL2_H_H[7:0]
DARK1_L_H[15:8]
DARK1_L_H[7:0]
DARK1_H_H[15:8]
DARK1_H_H[7:0]
DARK2_L_H[15:8]
DARK2_L_H[7:0]
DARK2_H_H[15:8]
DARK2_H_H[7:0]
SIGNAL1_L_I[15:8]
SIGNAL1_L_I[7:0]
SIGNAL1_H_I[15:8]
SIGNAL1_H_I[7:0]
SIGNAL2_L_I[15:8]
SIGNAL2_L_I[7:0]
SIGNAL2_H_I[15:8]
SIGNAL2_H_I[7:0]
DARK1_L_I[15:8]
DARK1_L_I[7:0]
DARK1_H_I[15:8]
DARK1_H_I[7:0]
DARK2_L_I[15:8]
DARK2_L_I[7:0]
DARK2_H_I[15:8]
DARK2_H_I[7:0]
SIGNAL1_L_J[15:8]
SIGNAL1_L_J[7:0]
SIGNAL1_H_J[15:8]
SIGNAL1_H_J[7:0]
Rev. 0 | Page 55 of 101
Bit 10
Bit 2
Bit 9
Bit 1
Bit 8
Bit 0
Reset
0x0000
R/W
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
ADPD4100/ADPD4101
Reg
0x007A
0x007B
0x007C
0x007D
0x007E
0x007F
0x0080
0x0081
0x0082
0x0083
0x0084
0x0085
0x0086
0x0087
0x0088
0x0089
0x008A
0x008B
0x008C
0x008D
0x008E
0x008F
0x00B4
Name
Bits
SIGNAL2_L_J [15:8]
[7:0]
SIGNAL2_H_J [15:8]
[7:0]
DARK1_L_J
[15:8]
[7:0]
DARK1_H_J [15:8]
[7:0]
DARK2_L_J
[15:8]
[7:0]
DARK2_H_J [15:8]
[7:0]
SIGNAL1_L_K [15:8]
[7:0]
SIGNAL1_H_K [15:8]
[7:0]
SIGNAL2_L_K [15:8]
[7:0]
SIGNAL2_H_K [15:8]
[7:0]
DARK1_L_K [15:8]
[7:0]
DARK1_H_K [15:8]
[7:0]
DARK2_L_K [15:8]
[7:0]
DARK2_H_K [15:8]
[7:0]
SIGNAL1_L_L [15:8]
[7:0]
SIGNAL1_H_L [15:8]
[7:0]
SIGNAL2_L_L [15:8]
[7:0]
SIGNAL2_H_L [15:8]
[7:0]
DARK1_L_L [15:8]
[7:0]
DARK1_H_L [15:8]
[7:0]
DARK2_L_L [15:8]
[7:0]
DARK2_H_L [15:8]
[7:0]
IO_ADJUST
[15:8]
[7:0]
0x00B6
I2C_KEY
0x00B7
I2C_ADDR
0x0100
TS_CTRL_A
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
Bit 15
Bit 7
Data Sheet
Bit 14
Bit 6
Bit 13
Bit 5
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
SIGNAL2_L_J[15:8]
SIGNAL2_L_J[7:0]
SIGNAL2_H_J[15:8]
SIGNAL2_H_J[7:0]
DARK1_L_J[15:8]
DARK1_L_J[7:0]
DARK1_H_J[15:8]
DARK1_H_J[7:0]
DARK2_L_J[15:8]
DARK2_L_J[7:0]
DARK2_H_J[15:8]
DARK2_H_J[7:0]
SIGNAL1_L_K[15:8]
SIGNAL1_L_K[7:0]
SIGNAL1_H_K[15:8]
SIGNAL1_H_K[7:0]
SIGNAL2_L_K[15:8]
SIGNAL2_L_K[7:0]
SIGNAL2_H_K[15:8]
SIGNAL2_H_K[7:0]
DARK1_L_K[15:8]
DARK1_L_K[7:0]
DARK1_H_K[15:8]
DARK1_H_K[7:0]
DARK2_L_K[15:8]
DARK2_L_K[7:0]
DARK2_H_K[15:8]
DARK2_H_K[7:0]
SIGNAL1_L_L[15:8]
SIGNAL1_L_L[7:0]
SIGNAL1_H_L[15:8]
SIGNAL1_H_L[7:0]
SIGNAL2_L_L[15:8]
SIGNAL2_L_L[7:0]
SIGNAL2_H_L[15:8]
SIGNAL2_H_L[7:0]
DARK1_L_L[15:8]
DARK1_L_L[7:0]
DARK1_H_L[15:8]
DARK1_H_L[7:0]
DARK2_L_L[15:8]
DARK2_L_L[7:0]
DARK2_H_L[15:8]
DARK2_H_L[7:0]
Reserved
Reserved (set LOW_
Reserved Reserved
SPI_SLEW[1:0]
SPI_DRV[1:0]
to 0x0)
IOVDD_EN (set to 0x0) (set to 0x1)
I2C_KEY_MATCH[3:0]
I2C_KEY[11:8]
I2C_KEY[7:0]
I2C_SLAVE_KEY2[7:0]
I2C_SLAVE_ADDR[6:0]
Reserved
SUBSAMPLE_A CH2_EN_A
SAMPLE_TYPE_A[1:0] INPUT_R_SELECT_A[1:0] TIMESLOT_OFFSET_
A[9:8]
TIMESLOT_OFFSET_A[7:0]
Rev. 0 | Page 56 of 101
Reset
0x0000
R/W
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0000
R
0x0050
R/W
0x0000
R/W
0x0048
R/W
0x0000
R/W
Data Sheet
Reg
0x0101
Name
TS_PATH_A
0x0102
INPUTS_A
0x0103
0x0104
0x0105
ADPD4100/ADPD4101
Bits
[15:8]
[7:0]
[15:8]
[7:0]
CATHODE_A [15:8]
[7:0]
AFE_TRIM_A [15:8]
LED_
POW12_A
[7:0]
[15:8]
[7:0]
0x0106
LED_
POW34_A
[15:8]
[7:0]
0x0107
COUNTS_A
0x0108
PERIOD_A
0x0109
LED_
PULSE_A
0x010A
INTEG_
SETUP_A
0x010B
0x010C
0x010D
0x010E
0x010F
0x0110
0x0111
0x0112
0x0113
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
INTEG_OS_A [15:8]
[7:0]
MOD_
[15:8]
PULSE_A
[7:0]
PATTERN_A [15:8]
[7:0]
ADC_OFF1_A [15:8]
[7:0]
ADC_OFF2_A [15:8]
[7:0]
[15:8]
[7:0]
LIT_DATA_
[15:8]
FORMAT_A [7:0]
DECIMATE_A [15:8]
[7:0]
DIGINT_
[15:8]
LIT_A
DATA_
FORMAT_A
0x0114
DIGINT_
DARK_A
[7:0]
[15:8]
[7:0]
0x0115
THRESH_
CFG_A
[15:8]
[7:0]
0x0116
THRESH0_A
[15:8]
[7:0]
Bit 15
Bit 7
Bit 14
Bit 13
Bit 6
Bit 5
PRE_WIDTH_A[3:0]
Bit 12
Bit 4
Bit 11
Bit 3
Bit 10
Bit 2
Reserved
Bit 9
Bit 1
TS_
GPIO_A
Bit 8
Bit 0
AFE_
PATH_
CFG_A[8]
AFE_PATH_CFG_A[7:0]
INP78_A[3:0]
INP56_A[3:0]
INP34_A[3:0]
INP12_A[3:0]
Reserved
PRECON_A[2:0]
VC2_PULSE_A[1:0]
VC2_ALT_A[1:0]
VC2_SEL_A[1:0]
VC1_PULSE_A[1:0]
VC1_ALT_A[1:0]
VC1_SEL_A[1:0]
TIA_CEIL_
CH2_TRIM_INT_A[1:0]
CH1_TRIM_INT_A[1:0] VREF_
AFE_TRIM_VREF_
DETECT_EN_A
PULSE_A
A[1:0]
VREF_PULSE_VAL_A[1:0]
TIA_GAIN_CH2_A[2:0]
TIA_GAIN_CH1_A[2:0]
LED_
LED_CURRENT2_A[6:0]
DRIVESIDE2_A
LED_
LED_CURRENT1_A[6:0]
DRIVESIDE1_A
LED_
LED_CURRENT4_A[6:0]
DRIVESIDE4_A
LED_
LED_CURRENT3_A[6:0]
DRIVESIDE3_A
NUM_INT_A[7:0]
NUM_REPEAT_A[7:0]
Reserved
MOD_TYPE_A[1:0]
Reserved
MIN_PERIOD_A[9:8]
MIN_PERIOD_A[7:0]
LED_WIDTH_A[7:0]
LED_OFFSET_A[7:0]
SINGLE_
CH2_AMP_DISABLE_A[2:0]
AFE_INT_
CH1_AMP_DISABLE_A[2:0]
INTEG_A
C_BUF_A
ADC_COUNT_A[1:0]
Reserved
INTEG_WIDTH_A[4:0]
Reserved
INTEG_OFFSET_A[12:8]
INTEG_OFFSET_A[7:0]
MOD_WIDTH_A[7:0]
MOD_OFFSET_A[7:0]
LED_DISABLE_A[3:0]
MOD_DISABLE_A[3:0]
SUBTRACT_A[3:0]
REVERSE_INTEG_A[3:0]
Reserved
CH1_ADC_ADJUST_A[13:8]
CH1_ADC_ADJUST_A[7:0]
ZERO_
Reserved
CH2_ADC_ADJUST_A[13:8]
ADJUST_A
CH2_ADC_ADJUST_A[7:0]
DARK_SHIFT_A[4:0]
DARK_SIZE_A[2:0]
SIGNAL_SHIFT_A[4:0]
SIGNAL_SIZE_A[2:0]
Reserved
LIT_SHIFT_A[4:0]
LIT_SIZE_A[2:0]
Reserved
DECIMATE_FACTOR_A[6:4]
DECIMATE_FACTOR_A[3:0]
DECIMATE_TYPE_A[3:0]
Reserved
LIT_
OFFSET_
A[8]
LIT_OFFSET_A[7:0]
DARK2_OFFSET_A[8:1]
DARK2_
DARK1_OFFSET_A[6:0]
OFFSET_A[0]
Reserved
THRESH1_
THRESH1_
THRESH1_TYPE_A[1:0] THRESH0_ THRESH0_ THRESH0_TYPE_A[1:0]
CHAN_A
DIR_A
CHAN_A
DIR_A
Reserved
THRESH0_SHIFT_A[4:0]
THRESH0_VALUE_A[7:0]
Rev. 0 | Page 57 of 101
Reset
0x40DA
R/W
R/W
0x0000
R/W
0x0000
R/W
0x03C0
R/W
0x0000
R/W
0x0000
R/W
0x0101
R/W
0x0000
R/W
0x0210
R/W
0x0003
R/W
0x0214
R/W
0x0001
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0003
R/W
0x0000
R/W
0x0000
R/W
0x0026
R/W
0x2306
R/W
0x0000
R/W
0x0000
R/W
ADPD4100/ADPD4101
Reg
0x0117
Name
THRESH1_A
0x0120
TS_CTRL_B
Bits
[15:8]
[7:0]
[15:8]
0x0121
TS_PATH_B
[7:0]
[15:8]
0x0122
INPUTS_B
0x0123
0x0124
0x0125
[7:0]
[15:8]
[7:0]
CATHODE_B [15:8]
[7:0]
AFE_TRIM_B [15:8]
LED_
POW12_B
[7:0]
[15:8]
[7:0]
0x0126
LED_
POW34_B
[15:8]
[7:0]
0x0127
COUNTS_B
0x0128
PERIOD_B
0x0129
LED_
PULSE_B
0x012A
INTEG_
SETUP_B
0x012B
0x012C
0x012D
0x012E
0x012F
0x0130
0x0131
0x0132
0x0133
0x0134
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
INTEG_OS_B [15:8]
[7:0]
MOD_
[15:8]
PULSE_B
[7:0]
PATTERN_B [15:8]
[7:0]
ADC_OFF1_B [15:8]
[7:0]
ADC_OFF2_B [15:8]
[7:0]
[15:8]
[7:0]
LIT_DATA_
[15:8]
FORMAT_B
[7:0]
DECIMATE_B [15:8]
[7:0]
DIGINT_LIT_B [15:8]
DATA_
FORMAT_B
DIGINT_
DARK_B
[7:0]
[15:8]
[7:0]
Bit 15
Bit 7
Data Sheet
Bit 14
Bit 6
Reserved
Bit 13
Bit 5
Bit 12
Bit 4
Bit 10
Bit 9
Bit 8
Bit 2
Bit 1
Bit 0
THRESH1_SHIFT_A[4:0]
THRESH1_VALUE_A[7:0]
SUBSAMPLE_B CH2_EN_B
SAMPLE_TYPE_B[1:0] INPUT_R_SELECT_B[1:0]
TIMESLOT_
OFFSET_B[9:8]
TIMESLOT_OFFSET_B[7:0]
PRE_WIDTH_B[3:0]
Reserved
TS_GPIO_B AFE_
PATH_
CFG_B[8]
AFE_PATH_CFG_B[7:0]
INP78_B[3:0]
INP56_B[3:0]
INP34_B[3:0]
INP12_B[3:0]
Reserved
PRECON_B[2:0]
VC2_PULSE_B[1:0]
VC2_ALT_B[1:0]
VC2_SEL_B[1:0]
VC1_PULSE_B[1:0]
VC1_ALT_B[1:0]
VC1_SEL_B[1:0]
TIA_CEIL_
CH2_TRIM_INT_B[1:0]
CH2_TRIM_INT_B[1:0] VREF_
AFE_TRIM_
DETECT_EN_B
PULSE_B
VREF_B[1:0]
VREF_PULSE_VAL_B[1:0]
TIA_GAIN_CH2_B[2:0]
TIA_GAIN_CH1_B[2:0]
LED_
LED_CURRENT2_B[6:0]
DRIVESIDE2_B
LED_
LED_CURRENT1_B[6:0]
DRIVESIDE1_B
LED_
LED_CURRENT4_B[6:0]
DRIVESIDE4_B
LED_
LED_CURRENT3_B[6:0]
DRIVESIDE3_B
NUM_INT_B[7:0]
NUM_REPEAT_B[7:0]
Reserved
MOD_TYPE_B[1:0]
Reserved
MIN_PERIOD_B[9:8]
MIN_PERIOD_B[7:0]
LED_WIDTH_B[7:0]
LED_OFFSET_B[7:0]
SINGLE_
CH2_AMP_DISABLE_B[2:0]
AFE_INT_C_
CH1_AMP_DISABLE_B[2:0]
INTEG_B
BUF_B
ADC_COUNT_B[1:0]
Reserved
INTEG_WIDTH_B[4:0]
Reserved
INTEG_ OFFSET_B[12:8]
INTEG_OFFSET_B[7:0]
MOD_WIDTH_B[7:0]
MOD_OFFSET_B[7:0]
LED_DISABLE_B[3:0]
MOD_DISABLE_B[3:0]
SUBTRACT_B[3:0]
REVERSE_INTEG_B[3:0]
Reserved
CH1_ADC_ADJUST_B[13:8]
CH1_ADC_ADJUST_B[7:0]
ZERO_
Reserved
CH2_ADC_ADJUST_B[13:8]
ADJUST_B
CH2_ADC_ADJUST_B[7:0]
DARK_SHIFT_B[4:0]
DARK_SIZE_B[2:0]
SIGNAL_SHIFT_B[4:0]
SIGNAL_SIZE_B[2:0]
Reserved
LIT_SHIFT_B[4:0]
LIT_SIZE_B[2:0]
Reserved
DECIMATE_FACTOR_B[6:4]
DECIMATE_FACTOR_B[3:0]
DECIMATE_TYPE_B[3:0]
Reserved
LIT_
OFFSET_
B[8]
LIT_OFFSET_B[7:0]
DARK2_OFFSET_B[8:1]
DARK2_
DARK1_OFFSET_B[6:0]
OFFSET_B[0]
Rev. 0 | Page 58 of 101
Bit 11
Bit 3
Reset
0x0000
R/W
R/W
0x0000
R/W
0x40DA
R/W
0x0000
R/W
0x0000
R/W
0x03C0
R/W
0x0000
R/W
0x0000
R/W
0x0101
R/W
0x0000
R/W
0x0210
R/W
0x0003
R/W
0x0214
R/W
0x0001
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0003
R/W
0x0000
R/W
0x0000
R/W
0x0026
R/W
0x2306
R/W
Data Sheet
Reg
0x0135
Name
THRESH_
CFG_B
ADPD4100/ADPD4101
Bits
[15:8]
[7:0]
0x0136
THRESH0_B
0x0137
THRESH1_B
0x0140
TS_CTRL_C
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
0x0141
TS_PATH_C
[7:0]
[15:8]
0x0142
INPUTS_C
0x0143
0x0144
0x0145
[7:0]
[15:8]
[7:0]
CATHODE_C [15:8]
[7:0]
AFE_TRIM_C [15:8]
LED_
POW12_C
[7:0]
[15:8]
[7:0]
0x0146
LED_
POW34_C
[15:8]
[7:0]
0x0147
COUNTS_C
0x0148
PERIOD_C
0x0149
LED_
PULSE_C
0x014A
INTEG_
SETUP_C
0x014B
0x014C
0x014D
0x014E
0x014F
0x0150
0x0151
0x0152
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
INTEG_OS_C [15:8]
[7:0]
MOD_
[15:8]
PULSE_C
[7:0]
PATTERN_C [15:8]
[7:0]
ADC_OFF1_C [15:8]
[7:0]
ADC_OFF2_C [15:8]
[7:0]
[15:8]
[7:0]
LIT_DATA_
[15:8]
FORMAT_C
[7:0]
DECIMATE_C [15:8]
[7:0]
DATA_
FORMAT_C
Bit 15
Bit 7
Bit 14
Bit 6
THRESH1_
CHAN_B
THRESH1_
DIR_B
Reserved
Bit 13
Bit 5
Bit 12
Bit 4
Bit 11
Bit 3
Reserved
Bit 10
Bit 2
Bit 9
Bit 1
Bit 8
Bit 0
THRESH0_ THRESH0_ THRESH0_TYPE_ B[1:0]
CHAN_B
DIR_B
THRESH0_SHIFT_B[4:0]
THRESH0_VALUE_B[7:0]
Reserved
THRESH1_SHIFT_B[4:0]
THRESH1_VALUE_B[7:0]
SUBSAMPLE_C CH2_EN_C
SAMPLE_TYPE_C[1:0] INPUT_R_SELECT_C[1:0] TIMESLOT_OFFSET_
C[9:8]
TIMESLOT_OFFSET_C[7:0]
PRE_WIDTH_C[3:0]
Reserved
TS_
AFE_PATH
GPIO_C
_CFG_C[8]
AFE_PATH_CFG_C[7:0]
INP78_C[3:0]
INP56_C[3:0]
INP34_C[3:0]
INP12_C[3:0]
Reserved
PRECON_C[2:0]
VC2_PULSE_C[1:0]
VC2_ALT_C[1:0]
VC2_SEL_C[1:0]
VC1_PULSE_C[1:0]
VC1_ALT_C[1:0]
VC1_SEL_C[1:0]
TIA_CEIL_
CH2_TRIM_INT_C[1:0]
CH1_TRIM_INT_C[1:0] VREF_
AFE_TRIM_
DETECT_EN_C
PULSE_C
VREF_C[1:0]
VREF_PULSE_VAL_C[1:0]
TIA_GAIN_CH2_C[2:0]
TIA_GAIN_CH1_C[2:0]
LED_
LED_CURRENT2_C[6:0]
DRIVESIDE2_C
LED_
LED_CURRENT1_C[6:0]
DRIVESIDE1_C
LED_
LED_CURRENT4_C[6:0]
DRIVESIDE4_C
LED_
LED_CURRENT3_C[6:0]
DRIVESIDE3_C
NUM_INT_C[7:0]
NUM_REPEAT_C[7:0]
Reserved
MOD_TYPE_C[1:0]
Reserved
MIN_PERIOD_C[9:8]
MIN_PERIOD_C[7:0]
LED_WIDTH_C[7:0]
LED_OFFSET_C[7:0]
SINGLE_
CH2_AMP_DISABLE_C[2:0]
AFE_INT_C_
CH1_AMP_DISABLE_C[2:0]
INTEG_C
BUF_C
ADC_COUNT_C[1:0]
Reserved
INTEG_WIDTH_C[4:0]
Reserved
INTEG_OFFSET_C[12:8]
INTEG_OFFSET_C[7:0]
MOD_WIDTH_C[7:0]
MOD_OFFSET_C[7:0]
LED_DISABLE_C[3:0]
MOD_DISABLE_C[3:0]
SUBTRACT_C[3:0]
REVERSE_INTEG_C[3:0]
Reserved
CH1_ADC_ADJUST_C[13:8]
CH1_ADC_ADJUST_C[7:0]
ZERO_
Reserved
CH2_ADC_ADJUST_C[13:8]
ADJUST_C
CH2_ADC_ADJUST_C[7:0]
DARK_SHIFT_C[4:0]
DARK_SIZE_C[2:0]
SIGNAL_SHIFT_C[4:0]
SIGNAL_SIZE_C[2:0]
Reserved
LIT_SHIFT_C[4:0]
LIT_SIZE_C[2:0]
Reserved
DECIMATE_FACTOR_C[6:4]
DECIMATE_FACTOR_C[3:0]
DECIMATE_TYPE_C[3:0]
Reset
0x0000
R/W
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x40DA
R/W
0x0000
R/W
0x0000
R/W
0x03C0
R/W
0x0000
R/W
0x0000
R/W
0x0101
R/W
0x0000
R/W
0x0210
R/W
0x0003
R/W
0x0214
R/W
0x0001
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0003
R/W
0x0000
R/W
0x0000
R/W
THRESH1_TYPE_B[1:0]
Rev. 0 | Page 59 of 101
ADPD4100/ADPD4101
Reg
0x0153
Name
Bits
DIGINT_LIT_C [15:8]
0x0154
DIGINT_
DARK_C
Bit 15
Bit 7
Data Sheet
Bit 14
Bit 6
[7:0]
[15:8]
Bit 13
Bit 5
Bit 12
Bit 4
Reserved
Bit 11
Bit 3
Bit 10
Bit 2
Bit 9
Bit 1
Bit 8
Bit 0
LIT_
OFFSET_
C[8]
LIT_OFFSET_C[7:0]
DARK2_OFFSET_C[8:1]
[7:0]
DARK2_
OFFSET_C[0]
THRESH_
CFG_C
[15:8]
[7:0]
0x0156
THRESH0_C
0x0157
THRESH1_C
0x0160
TS_CTRL_D
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
0x0161
TS_PATH_D
[7:0]
[15:8]
0x0162
INPUTS_D
Reserved
THRESH1_TYPE_C[1:0] THRESH0_ THRESH0_ THRESH0_TYPE_ C[1:0]
CHAN_C
DIR_C
THRESH0_SHIFT_C[4:0]
THRESH0_VALUE_C[7:0]
Reserved
THRESH1_SHIFT_C[4:0]
THRESH1_VALUE_C[7:0]
SUBSAMPLE_ CH2_EN_D
SAMPLE_TYPE_D[1:0] INPUT_R_SELECT_D[1:0] TIMESLOT_OFFSET_
D
D[9:8]
TIMESLOT_OFFSET_D[7:0]
PRE_WIDTH_D[3:0]
Reserved
TS_
AFE_
GPIO_D
PATH_
CFG_D[8]
AFE_PATH_CFG_D[7:0]
INP78_D[3:0]
INP56_D[3:0]
INP34_D[3:0]
INP12_D[3:0]
Reserved
PRECON_D[2:0]
VC2_PULSE_D[1:0]
VC2_ALT_D[1:0]
VC2_SEL_D[1:0]
VC1_PULSE_D[1:0]
VC1_ALT_D[1:0]
VC1_SEL_D[1:0]
TIA_CEIL_
CH2_TRIM_INT_D[1:0]
CH1_TRIM_INT_D[1:0] VREF_
AFE_TRIM_VREF_
DETECT_EN_D
PULSE_D
D[1:0]
VREF_PULSE_VAL_D[1:0]
TIA_GAIN_CH2_D[2:0]
TIA_GAIN_CH1_D[2:0]
LED_
LED_CURRENT2_D[6:0]
DRIVESIDE2_D
LED_
LED_CURRENT1_D[6:0]
DRIVESIDE1_D
LED_
LED_CURRENT4_D[6:0]
DRIVESIDE4_D
LED_
LED_CURRENT3_D[6:0]
DRIVESIDE3_D
NUM_INT_D[7:0]
NUM_REPEAT_D[7:0]
Reserved
MOD_TYPE_D[1:0]
Reserved
MIN_PERIOD_D[9:8]
MIN_PERIOD_D[7:0]
LED_WIDTH_D[7:0]
LED_OFFSET_D[7:0]
SINGLE_
CH2_AMP_DISABLE_D[2:0]
AFE_INT_C_
CH1_AMP_DISABLE_D[2:0]
INTEG_D
BUF_D
ADC_COUNT_D[1:0]
Reserved
INTEG_WIDTH_D[4:0]
Reserved
INTEG_OFFSET_D[12:8]
INTEG_OFFSET_D[7:0]
MOD_WIDTH_D[7:0]
MOD_OFFSET_D[7:0]
LED_DISABLE_D[3:0]
MOD_DISABLE_D[3:0]
SUBTRACT_D[3:0]
REVERSE_INTEG_D[3:0]
Reserved
CH1_ADC_ADJUST_D[13:8]
CH1_ADC_ADJUST_D[7:0]
ZERO_
Reserved
CH2_ADC_ADJUST_D[13:8]
ADJUST_D
CH2_ADC_ADJUST_D[7:0]
DARK_SHIFT_D[4:0]
DARK_SIZE_D[2:0]
SIGNAL_SHIFT_D[4:0]
SIGNAL_SIZE_D[2:0]
0x0155
0x0163
0x0164
0x0165
[7:0]
[15:8]
[7:0]
CATHODE_D [15:8]
[7:0]
AFE_TRIM_D [15:8]
LED_
POW12_D
[7:0]
[15:8]
[7:0]
0x0166
LED_
POW34_D
[15:8]
[7:0]
0x0167
COUNTS_D
0x0168
PERIOD_D
0x0169
LED_
PULSE_D
0x016A
INTEG_
SETUP_D
0x016B
0x016C
0x016D
0x016E
0x016F
0x0170
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
INTEG_OS_D [15:8]
[7:0]
MOD_
[15:8]
PULSE_D
[7:0]
PATTERN_D [15:8]
[7:0]
ADC_OFF1_D [15:8]
[7:0]
ADC_OFF2_D [15:8]
DATA_
FORMAT_D
[7:0]
[15:8]
[7:0]
THRESH1_
CHAN_C
Reset
0x0026
R/W
R/W
0x2306
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x40DA
R/W
0x0000
R/W
0x0000
R/W
0x03C0
R/W
0x0000
R/W
0x0000
R/W
0x0101
R/W
0x0000
R/W
0x0210
R/W
0x0003
R/W
0x0214
R/W
0x0001
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0003
R/W
DARK1_OFFSET_C[6:0]
THRESH1_
DIR_C
Reserved
Rev. 0 | Page 60 of 101
Data Sheet
Reg
0x0171
0x0172
0x0173
ADPD4100/ADPD4101
Name
LIT_DATA_
FORMAT_D
Bits
[15:8]
[7:0]
DECIMATE_D [15:8]
[7:0]
DIGINT_LIT_D [15:8]
DIGINT_
DARK_D
[7:0]
[15:8]
[7:0]
THRESH_
CFG_D
[15:8]
[7:0]
0x0176
THRESH0_D
0x0177
THRESH1_D
0x0180
TS_CTRL_E
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
0x0181
TS_PATH_E
[7:0]
[15:8]
0x0182
INPUTS_E
0x0183
CATHODE_E
0x0184
AFE_TRIM_E
0x0185
LED_
POW12_E
0x0174
0x0175
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
0x0186
LED_
POW34_E
[15:8]
[7:0]
0x0187
0x0188
0x0189
0x018A
0x018B
0x018C
0x018D
0x018E
COUNTS_E
[15:8]
[7:0]
PERIOD_E
[15:8]
[7:0]
LED_PULSE_E [15:8]
[7:0]
INTEG_
[15:8]
SETUP_E
[7:0]
INTEG_OS_E [15:8]
[7:0]
MOD_
[15:8]
PULSE_E
[7:0]
PATTERN_E [15:8]
[7:0]
ADC_OFF1_E [15:8]
[7:0]
Bit 15
Bit 7
Bit 14
Bit 6
Bit 13
Bit 5
Bit 12
Bit 4
Bit 11
Bit 3
Reserved
LIT_SHIFT_D[4:0]
Reserved
DECIMATE_FACTOR_D[3:0]
Reserved
Bit 10
Bit 2
Bit 9
Bit 1
Bit 8
Bit 0
LIT_SIZE_D[2:0]
DECIMATE_FACTOR_D[6:4]
DECIMATE_TYPE_D[3:0]
LIT_
OFFSET_
D[8]
LIT_OFFSET_D[7:0]
DARK2_OFFSET_D[8:1]
DARK1_OFFSET_D[6:0]
DARK2_
OFFSET_D[0]
Reserved
THRESH1_TYPE_D[1:0] THRESH0_ THRESH0_ THRESH0_TYPE_D[1:0]
CHAN_D
DIR_D
THRESH0_SHIFT_D[4:0]
THRESH0_VALUE_D[7:0]
Reserved
THRESH1_SHIFT_D[4:0]
THRESH1_VALUE_D[7:0]
SUBSAMPLE_E CH2_EN_E
SAMPLE_TYPE_E[1:0]
INPUT_R_SELECT_E[1:0] TIMESLOT_OFFSET_
E[9:8]
TIMESLOT_OFFSET_E[7:0]
PRE_WIDTH_E[3:0]
Reserved
TS_GPIO_E AFE_PATH
_CFG_E[8]
AFE_PATH_CFG_E[7:0]
INP78_E[3:0]
INP56_E[3:0]
INP34_E[3:0]
INP12_E[3:0]
Reserved
PRECON_E[2:0]
VC2_PULSE_E[1:0]
VC2_ALT_E[1:0]
VC2_SEL_E[1:0]
VC1_PULSE_E[1:0]
VC1_ALT_E[1:0]
VC1_SEL_E[1:0]
TIA_CEIL_
CH2_TRIM_INT_E[1:0]
CH1_TRIM_INT_E[1:0] VREF_
AFE_TRIM_
DETECT_EN_E
PULSE_E
VREF_E[1:0]
VREF_PULSE_VAL_E[1:0]
TIA_GAIN_CH2_E[2:0]
TIA_GAIN_CH1_E[2:0]
LED_
LED_CURRENT2_E[6:0]
DRIVESIDE2_E
LED_
LED_CURRENT1_E[6:0]
DRIVESIDE1_E
LED_
LED_CURRENT4_E[6:0]
DRIVESIDE4_E
LED_
LED_CURRENT3_E[6:0]
DRIVESIDE3_E
NUM_INT_E[7:0]
NUM_REPEAT_E[7:0]
Reserved
MOD_TYPE_E[1:0]
Reserved
MIN_PERIOD_E[9:8]
MIN_PERIOD_E[7:0]
LED_WIDTH_E[7:0]
LED_OFFSET_E[7:0]
SINGLE_
CH2_AMP_DISABLE_E[2:0]
AFE_INT_
CH1_AMP_DISABLE_E[2:0]
INTEG_E
C_BUF_E
ADC_COUNT_E[1:0]
Reserved
INTEG_WIDTH_E[4:0]
Reserved
INTEG_OFFSET_E[12:8]
INTEG_OFFSET_E[7:0]
MOD_WIDTH_E[7:0]
MOD_OFFSET_E[7:0]
LED_DISABLE_E[3:0]
MOD_DISABLE_E[3:0]
SUBTRACT_E[3:0]
REVERSE_INTEG_E[3:0]
Reserved
CH1_ADC_ADJUST_E[13:8]
CH1_ADC_ADJUST_E[7:0]
THRESH1_
CHAN_D
THRESH1_
DIR_D
Reserved
Rev. 0 | Page 61 of 101
Reset
0x0000
R/W
R/W
0x0000
R/W
0x0026
R/W
0x2306
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x40DA
R/W
0x0000
R/W
0x0000
R/W
0x03C0
R/W
0x0000
R/W
0x0000
R/W
0x0101
R/W
0x0000
R/W
0x0210
R/W
0x0003
R/W
0x0214
R/W
0x0001
R/W
0x0000
R/W
0x0000
R/W
ADPD4100/ADPD4101
Reg
0x018F
Name
Bits
ADC_OFF2_E [15:8]
0x0190
DATA_
FORMAT_E
0x0191
0x0192
0x0193
[7:0]
[15:8]
[7:0]
LIT_DATA_
[15:8]
FORMAT_E
[7:0]
DECIMATE_E [15:8]
[7:0]
DIGINT_LIT_E [15:8]
DIGINT_
DARK_E
[7:0]
[15:8]
[7:0]
THRESH_
CFG_E
[15:8]
[7:0]
0x0196
THRESH0_E
0x0197
THRESH1_E
0x01A0
TS_CTRL_F
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
0x01A1
TS_PATH_F
[7:0]
[15:8]
0x01A2
INPUTS_F
0x01A3
CATHODE_F
0x01A4
AFE_TRIM_F
0x01A5
LED_
POW12_F
0x0194
0x0195
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
0x01A6
LED_
POW34_F
[15:8]
[7:0]
0x01A7
0x01A8
0x01A9
0x01AA
0x01AB
0x01AC
Bit 15
Bit 7
ZERO_
ADJUST_E
COUNTS_F
[15:8]
[7:0]
PERIOD_F
[15:8]
[7:0]
LED_PULSE_F [15:8]
[7:0]
INTEG_
[15:8]
SETUP_F
[7:0]
INTEG_OS_F [15:8]
[7:0]
MOD_
[15:8]
PULSE_F
[7:0]
Data Sheet
Bit 14
Bit 6
Reserved
Bit 13
Bit 5
Bit 12
Bit 4
Bit 11
Bit 10
Bit 9
Bit 3
Bit 2
Bit 1
CH2_ADC_ADJUST_E[13:8]
CH2_ADC_ADJUST_E[7:0]
DARK_SHIFT_E[4:0]
SIGNAL_SHIFT_E[4:0]
Reserved
LIT_SHIFT_E[4:0]
Reserved
DECIMATE_FACTOR_E[3:0]
Reserved
Bit 8
Bit 0
DARK_SIZE_E[2:0]
SIGNAL_SIZE_E[2:0]
LIT_SIZE_E[2:0]
DECIMATE_FACTOR_E[6:4]
DECIMATE_TYPE_E[3:0]
LIT_
OFFSET_
E[8]
LIT_OFFSET_E[7:0]
DARK2_OFFSET_E[8:1]
DARK1_OFFSET_E[6:0]
DARK2_
OFFSET_E[0]
Reserved
THRESH1_TYPE_E[1:0] THRESH0_ THRESH0_ THRESH0_TYPE_E[1:0]
CHAN_E
DIR_E
THRESH0_SHIFT_E[4:0]
THRESH0_VALUE_E[7:0]
Reserved
THRESH1_SHIFT_E[4:0]
THRESH1_VALUE_E[7:0]
SUBSAMPLE_F CH2_EN_F
SAMPLE_TYPE_F[1:0]
INPUT_R_SELECT_F[1:0] TIMESLOT_OFFSET_
F[9:8]
TIMESLOT_OFFSET_F[7:0]
PRE_WIDTH_F[3:0]
Reserved
TS_GPIO_F AFE_PATH
_CFG_F[8]
AFE_PATH_CFG_F[7:0]
INP78_F[3:0]
INP56_F[3:0]
INP34_F[3:0]
INP12_F[3:0]
Reserved
PRECON_F[2:0]
VC2_PULSE_F[1:0]
VC2_ALT_F[1:0]
VC2_SEL_F[1:0]
VC1_PULSE_F[1:0]
VC1_ALT_F[1:0]
VC1_SEL_F[1:0]
TIA_CEIL_
CH2_TRIM_INT_F[1:0]
CH1_TRIM_INT_F[1:0] VREF_
AFE_TRIM_VREF_
DETECT_EN_F
PULSE_F
F[1:0]
VREF_PULSE_VAL_F[1:0]
TIA_GAIN_CH2_F[2:0]
TIA_GAIN_CH1_F[2:0]
LED_
LED_CURRENT2_F[6:0]
DRIVESIDE2_F
LED_
LED_CURRENT1_F[6:0]
DRIVESIDE1_F
LED_
LED_CURRENT4_F[6:0]
DRIVESIDE4_F
LED_
LED_CURRENT3_F[6:0]
DRIVESIDE3_F
NUM_INT_F[7:0]
NUM_REPEAT_F[7:0]
Reserved
MOD_TYPE_F[1:0]
Reserved
MIN_PERIOD_F[9:8]
MIN_PERIOD_F[7:0]
LED_WIDTH_F[7:0]
LED_OFFSET_F[7:0]
SINGLE_
CH2_AMP_DISABLE_F[2:0]
AFE_INT_C_
CH1_AMP_DISABLE_F[2:0]
INTEG_F
BUF_F
ADC_COUNT_F[1:0]
Reserved
INTEG_WIDTH_F[4:0]
Reserved
INTEG_OFFSET_F[12:8]
INTEG_OFFSET_F[7:0]
MOD_WIDTH_F[7:0]
MOD_OFFSET_F[7:0]
THRESH1_
CHAN_E
THRESH1_
DIR_E
Reserved
Rev. 0 | Page 62 of 101
Reset
0x0000
R/W
R/W
0x0003
R/W
0x0000
R/W
0x0000
R/W
0x0026
R/W
0x2306
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x40DA
R/W
0x0000
R/W
0x0000
R/W
0x03C0
R/W
0x0000
R/W
0x0000
R/W
0x0101
R/W
0x0000
R/W
0x0210
R/W
0x0003
R/W
0x0214
R/W
0x0001
R/W
Data Sheet
Reg
0x01AD
0x01AE
0x01AF
0x01B0
0x01B1
0x01B2
0x01B3
ADPD4100/ADPD4101
Name
PATTERN_F
Bits
[15:8]
[7:0]
ADC_OFF1_F [15:8]
[7:0]
ADC_OFF2_F [15:8]
THRESH_
CFG_F
[15:8]
[7:0]
0x01B6
THRESH0_F
0x01B7
THRESH1_F
0x01C0
TS_CTRL_G
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
0x01C1
TS_PATH_G
[7:0]
[15:8]
0x01C2
INPUTS_G
0x01C3
0x01C4
0x01C5
[7:0]
[15:8]
[7:0]
CATHODE_G [15:8]
[7:0]
AFE_TRIM_G [15:8]
LED_
POW12_G
[7:0]
[15:8]
[7:0]
0x01C6
LED_
POW34_G
[15:8]
[7:0]
0x01C7
0x01C8
0x01C9
0x01CA
ZERO_
ADJUST_F
[7:0]
[15:8]
[7:0]
LIT_DATA_
[15:8]
FORMAT_F
[7:0]
DECIMATE_F [15:8]
[7:0]
DIGINT_LIT_F [15:8]
[7:0]
[15:8]
[7:0]
0x01B5
Bit 14
Bit 13
Bit 6
Bit 5
LED_DISABLE_F[3:0]
SUBTRACT_F[3:0]
Reserved
COUNTS_G
[15:8]
[7:0]
PERIOD_G
[15:8]
[7:0]
LED_PULSE_G [15:8]
[7:0]
INTEG_
[15:8]
SETUP_G
[7:0]
Reserved
Bit 12
Bit 4
Bit 11
Bit 3
Bit 10
Bit 9
Bit 8
Bit 2
Bit 1
Bit 0
MOD_DISABLE_F[3:0]
REVERSE_INTEG_F[3:0]
CH1_ADC_ADJUST_F[13:8]
CH1_ADC_ADJUST_F[7:0]
CH2_ADC_ADJUST_F[13:8]
CH2_ADC_ADJUST_F[7:0]
DARK_SHIFT_F[4:0]
SIGNAL_SHIFT_F[4:0]
Reserved
LIT_SHIFT_F[4:0]
Reserved
DECIMATE_FACTOR_F[3:0]
Reserved
DATA_
FORMAT_F
DIGINT_
DARK_F
0x01B4
Bit 15
Bit 7
DARK_SIZE_F[2:0]
SIGNAL_SIZE_F[2:0]
LIT_SIZE_F[2:0]
DECIMATE_FACTOR_F[6:4]
DECIMATE_TYPE_F[3:0]
LIT_
OFFSET_
F[8]
LIT_OFFSET_F[7:0]
DARK2_OFFSET_F[8:1]
DARK1_OFFSET_F[6:0]
DARK2_
OFFSET_F[0]
Reserved
THRESH1_TYPE_F[1:0] THRESH0_ THRESH0_ THRESH0_TYPE_F[1:0]
CHAN_F
DIR_F
THRESH0_SHIFT_F[4:0]
THRESH0_VALUE_F[7:0]
Reserved
THRESH1_SHIFT_F[4:0]
THRESH1_VALUE_F[7:0]
SUBSAMPLE_ CH2_EN_G
SAMPLE_TYPE_G[1:0] INPUT_R_SELECT_G[1:0] TIMESLOT_OFFSET_
G
G[9:8]
TIMESLOT_OFFSET_G[7:0]
PRE_WIDTH_G[3:0]
Reserved
TS_
AFE_PATH_
GPIO_G
CFG_G[8]
AFE_PATH_CFG_G[7:0]
INP78_G[3:0]
INP56_G[3:0]
INP34_G[3:0]
INP12_G[3:0]
Reserved
PRECON_G[2:0]
VC2_PULSE_G[1:0]
VC2_ALT_G[1:0]
VC2_SEL_G[1:0]
VC1_PULSE_G[1:0]
VC1_ALT_G[1:0]
VC1_SEL_G[1:0]
TIA_CEIL_
CH2_TRIM_INT_G[1:0]
CH1_TRIM_INT_G[1:0] VREF_
AFE_TRIM_VREF_G[1:0]
DETECT_EN_G
PULSE_G
VREF_PULSE_VAL_G[1:0]
TIA_GAIN_CH2_G[2:0]
TIA_GAIN_CH1_G[2:0]
LED_
LED_CURRENT2_G[6:0]
DRIVESIDE2_G
LED_
LED_CURRENT1_G[6:0]
DRIVESIDE1_G
LED_
LED_CURRENT4_G[6:0]
DRIVESIDE4_G
LED_
LED_CURRENT3_G[6:0]
DRIVESIDE3_G
NUM_INT_G[7:0]
NUM_REPEAT_G[7:0]
Reserved
MOD_TYPE_G[1:0]
Reserved
MIN_PERIOD_G[9:8]
MIN_PERIOD_G[7:0]
LED_WIDTH_G[7:0]
LED_OFFSET_G[7:0]
SINGLE_
CH2_AMP_DISABLE_G[2:0]
AFE_INT_C_
CH1_AMP_DISABLE_G[2:0]
INTEG_G
BUF_G
ADC_COUNT_G[1:0]
Reserved
INTEG_WIDTH_G[4:0]
THRESH1_
CHAN_F
THRESH1_
DIR_F
Reserved
Rev. 0 | Page 63 of 101
Reset
0x0000
R/W
R/W
0x0000
R/W
0x0000
R/W
0x0003
R/W
0x0000
R/W
0x0000
R/W
0x0026
R/W
0x2306
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x40DA
R/W
0x0000
R/W
0x0000
R/W
0x03C0
R/W
0x0000
R/W
0x0000
R/W
0x0101
R/W
0x0000
R/W
0x0210
R/W
0x0003
R/W
ADPD4100/ADPD4101
Reg
0x01CB
0x01CC
0x01CD
0x01CE
0x01CF
0x01D0
0x01D1
0x01D2
0x01D3
Name
Bits
INTEG_OS_G [15:8]
[7:0]
MOD_
[15:8]
PULSE_G
[7:0]
PATTERN_G [15:8]
[7:0]
ADC_OFF1_G [15:8]
[7:0]
ADC_OFF2_G [15:8]
[7:0]
[15:8]
[7:0]
LIT_DATA_
[15:8]
FORMAT_G [7:0]
DECIMATE_G [15:8]
[7:0]
DIGINT_LIT_G [15:8]
DATA_
FORMAT_G
0x01D4
DIGINT_
DARK_G
[7:0]
[15:8]
[7:0]
0x01D5
THRESH_
CFG_G
[15:8]
[7:0]
0x01D6
THRESH0_G
0x01D7
THRESH1_G
0x01E0
TS_CTRL_H
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
0x01E1
TS_PATH_H
[7:0]
[15:8]
0x01E2
INPUTS_H
0x01E3
0x01E4
0x01E5
[7:0]
[15:8]
[7:0]
CATHODE_H [15:8]
[7:0]
AFE_TRIM_H [15:8]
LED_
POW12_H
[7:0]
[15:8]
[7:0]
0x01E6
LED_
POW34_H
[15:8]
[7:0]
0x01E7
0x01E8
0x01E9
COUNTS_H
[15:8]
[7:0]
PERIOD_H
[15:8]
[7:0]
LED_PULSE_H [15:8]
[7:0]
Bit 15
Bit 7
Data Sheet
Bit 14
Bit 6
Reserved
Bit 13
Bit 5
Bit 12
Bit 4
Bit 10
Bit 9
Bit 8
Bit 2
Bit 1
Bit 0
INTEG_OFFSET_G[12:8]
INTEG_OFFSET_G[7:0]
MOD_WIDTH_G[7:0]
MOD_OFFSET_G[7:0]
LED_DISABLE_G[3:0]
MOD_DISABLE_G[3:0]
SUBTRACT_G[3:0]
REVERSE_INTEG_G[3:0]
Reserved
CH1_ADC_ADJUST_G[13:8]
CH1_ADC_ADJUST_G[7:0]
ZERO_
Reserved
CH2_ADC_ADJUST_G[13:8]
ADJUST_G
CH2_ADC_ADJUST_G[7:0]
DARK_SHIFT_G[4:0]
DARK_SIZE_G[2:0]
SIGNAL_SHIFT_G[4:0]
SIGNAL_SIZE_G[2:0]
Reserved
LIT_SHIFT_G[4:0]
LIT_SIZE_G[2:0]
Reserved
DECIMATE_FACTOR_G[6:4]
DECIMATE_FACTOR_G[3:0]
DECIMATE_TYPE_G[3:0]
Reserved
LIT_
OFFSET_
G[8]
LIT_OFFSET_G[7:0]
DARK2_OFFSET_G[8:1]
DARK2_
DARK1_OFFSET_G[6:0]
OFFSET_G[0]
Reserved
THRESH1_
THRESH1_
THRESH1_TYPE_G[1:0] THRESH0_ THRESH0_
THRESH0_TYPE_
CHAN_G
DIR_G
CHAN_G
DIR_G
G[1:0]
Reserved
THRESH0_SHIFT_G[4:0]
THRESH0_VALUE_G[7:0]
Reserved
THRESH1_SHIFT_G[4:0]
THRESH1_VALUE_G[7:0]
SUBSAMPLE_ CH2_EN_H
SAMPLE_TYPE_H[1:0] INPUT_R_SELECT_H[1:0] TIMESLOT_OFFSET_
H
H[9:8]
TIMESLOT_OFFSET_H[7:0]
PRE_WIDTH_H[3:0]
Reserved
TS_GPIO_ AFE_PATH_
H
CFG_H[8]
AFE_PATH_CFG_H[7:0]
INP78_H[3:0]
INP56_H[3:0]
INP34_H[3:0]
INP12_H[3:0]
Reserved
PRECON_H[2:0]
VC2_PULSE_H[1:0]
VC2_ALT_H[1:0]
VC2_SEL_H[1:0]
VC1_PULSE_H[1:0]
VC1_ALT_H[1:0]
VC1_SEL_H[1:0]
TIA_CEIL_
CH2_TRIM_INT_H[1:0]
CH1_TRIM_INT_H[1:0] VREF_
AFE_TRIM_
DETECT_EN_H
PULSE_H
VREF_H[1:0]
VREF_PULSE_VAL_H[1:0]
TIA_GAIN_CH2_H[2:0]
TIA_GAIN_CH1_H[2:0]
LED_
LED_CURRENT2_H[6:0]
DRIVESIDE2_H
LED_
LED_CURRENT1_H[6:0]
DRIVESIDE1_H
LED_
LED_CURRENT4_H[6:0]
DRIVESIDE4_H
LED_
LED_CURRENT3_H[6:0]
DRIVESIDE3_H
NUM_INT_H[7:0]
NUM_REPEAT_H[7:0]
Reserved
MOD_TYPE_H[1:0]
Reserved
MIN_PERIOD_H[9:8]
MIN_PERIOD_H[7:0]
LED_WIDTH_H[7:0]
LED_OFFSET_H[7:0]
Rev. 0 | Page 64 of 101
Bit 11
Bit 3
Reset
0x0214
R/W
R/W
0x0001
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0003
R/W
0x0000
R/W
0x0000
R/W
0x0026
R/W
0x2306
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x40DA
R/W
0x0000
R/W
0x0000
R/W
0x03C0
R/W
0x0000
R/W
0x0000
R/W
0x0101
R/W
0x0000
R/W
0x0210
R/W
Data Sheet
Reg
0x01EA
0x01EB
0x01EC
0x01ED
0x01EE
0x01EF
0x01F0
0x01F1
0x01F2
0x01F3
Name
INTEG_
SETUP_H
ADPD4100/ADPD4101
Bits
[15:8]
[7:0]
INTEG_OS_H [15:8]
[7:0]
MOD_
[15:8]
PULSE_H
[7:0]
PATTERN_H [15:8]
[7:0]
ADC_OFF1_H [15:8]
[7:0]
ADC_OFF2_H [15:8]
[7:0]
[15:8]
[7:0]
LIT_DATA_
[15:8]
FORMAT_H [7:0]
DECIMATE_H [15:8]
[7:0]
DIGINT_LIT_H [15:8]
DATA_
FORMAT_H
0x01F4
DIGINT_
DARK_H
[7:0]
[15:8]
[7:0]
0x01F5
THRESH_
CFG_H
[15:8]
[7:0]
0x01F6
THRESH0_H
0x01F7
THRESH1_H
0x0200
TS_CTRL_I
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
0x0201
TS_PATH_I
[7:0]
[15:8]
0x0202
INPUTS_I
0x0203
CATHODE_I
0x0204
AFE_TRIM_I
0x0205
LED_
POW12_I
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
0x0206
LED_
POW34_I
[15:8]
[7:0]
0x0207
COUNTS_I
[15:8]
[7:0]
Bit 15
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
SINGLE_
CH2_AMP_DISABLE_H[2:0]
AFE_INT_C_
CH1_AMP_DISABLE_H[2:0]
INTEG_H
BUF_H
ADC_COUNT_H[1:0]
Reserved
INTEG_WIDTH_H[4:0]
Reserved
INTEG_ OFFSET_H[12:8]
INTEG_OFFSET_H[7:0]
MOD_WIDTH_H[7:0]
MOD_OFFSET_H[7:0]
LED_DISABLE_H[3:0]
MOD_DISABLE_H[3:0]
SUBTRACT_H[3:0]
REVERSE_INTEG_H[3:0]
Reserved
CH1_ADC_ADJUST_H[13:8]
CH1_ADC_ADJUST_H[7:0]
ZERO_
Reserved
CH2_ADC_ADJUST_H[13:8]
ADJUST_H
CH2_ADC_ADJUST_H[7:0]
DARK_SHIFT_H[4:0]
DARK_SIZE_H[2:0]
SIGNAL_SHIFT_H[4:0]
SIGNAL_SIZE_H[2:0]
Reserved
LIT_SHIFT_H[4:0]
LIT_SIZE_H[2:0]
Reserved
DECIMATE_FACTOR_H[6:4]
DECIMATE_FACTOR_H[3:0]
DECIMATE_TYPE_H[3:0]
Reserved
LIT_
OFFSET_
H[8]
LIT_OFFSET_H[7:0]
DARK2_OFFSET_H[8:1]
DARK2_
DARK1_OFFSET_H[6:0]
OFFSET_H[0]
Reserved
THRESH1_
THRESH1_
THRESH1_TYPE_H[1:0] THRESH0_ THRESH0_ THRESH0_TYPE_H[1:0]
CHAN_H
DIR_H
CHAN_H
DIR_H
Reserved
THRESH0_SHIFT_H[4:0]
THRESH0_VALUE_H[7:0]
Reserved
THRESH1_SHIFT_H[4:0]
THRESH1_VALUE_H[7:0]
SUBSAMPLE_I CH2_EN_I
SAMPLE_TYPE_I[1:0]
INPUT_R_SELECT_I[1:0]
TIMESLOT_
OFFSET_I[9:8]
TIMESLOT_OFFSET_I[7:0]
PRE_WIDTH_I[3:0]
Reserved
TS_GPIO_I AFE_PATH
_CFG_I[8]
AFE_PATH_CFG_I[7:0]
INP78_I[3:0]
INP56_I[3:0]
INP34_I[3:0]
INP12_I[3:0]
Reserved
PRECON_I[2:0]
VC2_PULSE_I[1:0]
VC2_ALT_I[1:0]
VC2_SEL_I[1:0]
VC1_PULSE_I[1:0]
VC1_ALT_I[1:0]
VC1_SEL_I[1:0]
TIA_CEIL_
CH2_TRIM_INT_I[1:0]
CH1_TRIM_INT_I[1:0]
VREF_
AFE_TRIM_ VREF_I[1:0]
DETECT_EN_I
PULSE_I
VREF_PULSE_VAL_I[1:0]
TIA_GAIN_CH2_I[2:0]
TIA_GAIN_CH1_I[2:0]
LED_
LED_CURRENT2_I[6:0]
DRIVESIDE2_I
LED_
LED_CURRENT1_I[6:0]
DRIVESIDE1_I
LED_
LED_CURRENT4_I[6:0]
DRIVESIDE4_I
LED_
LED_CURRENT3_I[6:0]
DRIVESIDE3_I
NUM_INT_I[7:0]
NUM_REPEAT_I[7:0]
Rev. 0 | Page 65 of 101
Reset
0x0003
R/W
R/W
0x0214
R/W
0x0001
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0003
R/W
0x0000
R/W
0x0000
R/W
0x0026
R/W
0x2306
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x40DA
R/W
0x0000
R/W
0x0000
R/W
0x03C0
R/W
0x0000
R/W
0x0000
R/W
0x0101
R/W
ADPD4100/ADPD4101
Reg
0x0208
0x0209
0x020A
0x020B
0x020C
0x020D
0x020E
0x020F
0x0210
0x0211
0x0212
0x0213
Name
PERIOD_I
Bits
[15:8]
[7:0]
LED_PULSE_I [15:8]
[7:0]
INTEG_
[15:8]
SETUP_I
[7:0]
INTEG_OS_I [15:8]
[7:0]
MOD_
[15:8]
PULSE_I
[7:0]
PATTERN_I
[15:8]
[7:0]
ADC_OFF1_I [15:8]
[7:0]
ADC_OFF2_I [15:8]
[7:0]
[15:8]
[7:0]
LIT_DATA_
[15:8]
FORMAT_I
[7:0]
DECIMATE_I [15:8]
[7:0]
DIGINT_LIT_I [15:8]
DATA_
FORMAT_I
0x0214
DIGINT_
DARK_I
[7:0]
[15:8]
[7:0]
0x0215
THRESH_
CFG_I
[15:8]
[7:0]
0x0216
THRESH0_I
0x0217
THRESH1_I
0x0220
TS_CTRL_J
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
0x0221
TS_PATH_J
[7:0]
[15:8]
0x0222
INPUTS_J
0x0223
CATHODE_J
0x0224
AFE_TRIM_J
0x0225
LED_
POW12_J
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
Bit 15
Bit 7
Data Sheet
Bit 14
Bit 6
Reserved
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
MOD_TYPE_I[1:0]
Reserved
MIN_PERIOD_I[9:8]
MIN_PERIOD_I[7:0]
LED_WIDTH_I[7:0]
LED_OFFSET_I[7:0]
SINGLE_
CH2_AMP_DISABLE_I[2:0]
AFE_INT_
CH1_AMP_DISABLE_I[2:0]
INTEG_I
C_BUF_I
ADC_COUNT_I[1:0]
Reserved
INTEG_WIDTH_I[4:0]
Reserved
INTEG_OFFSET_I[12:8]
INTEG_OFFSET_I[7:0]
MOD_WIDTH_I[7:0]
MOD_OFFSET_I[7:0]
LED_DISABLE_I[3:0]
MOD_DISABLE_I[3:0]
SUBTRACT_I[3:0]
REVERSE_INTEG_I[3:0]
Reserved
CH1_ADC_ADJUST_I[13:8]
CH1_ADC_ADJUST_I[7:0]
ZERO_
Reserved
CH2_ADC_ADJUST_I[13:8]
ADJUST_I
CH2_ADC_ADJUST_I[7:0]
DARK_SHIFT_I[4:0]
DARK_SIZE_I[2:0]
SIGNAL_SHIFT_I[4:0]
SIGNAL_SIZE_I[2:0]
Reserved
LIT_SHIFT_I[4:0]
LIT_SIZE_I[2:0]
Reserved
DECIMATE_FACTOR_I[6:4]
DECIMATE_FACTOR_I[3:0]
DECIMATE_TYPE_I[3:0]
Reserved
LIT_
OFFSET_
I[8]
LIT_OFFSET_I[7:0]
DARK2_OFFSET_I[8:1]
DARK2_
DARK1_OFFSET_I[6:0]
OFFSET_I[0]
Reserved
THRESH1_
THRESH1_
THRESH1_TYPE_I[1:0] THRESH0_ THRESH0_ THRESH0_TYPE_I[1:0]
CHAN_I
DIR_I
CHAN_I
DIR_I
Reserved
THRESH0_SHIFT_I[4:0]
THRESH0_VALUE_I[7:0]
Reserved
THRESH1_SHIFT_I[4:0]
THRESH1_VALUE_I[7:0]
SUBSAMPLE_J CH2_EN_J
SAMPLE_TYPE_J[1:0]
INPUT_R_SELECT_J[1:0]
TIMESLOT_
OFFSET_J[9:8]
TIMESLOT_OFFSET_J[7:0]
PRE_WIDTH_J[3:0]
Reserved
TS_GPIO_J AFE_PATH
_CFG_J[8]
AFE_PATH_CFG_J[7:0]
INP78_J[3:0]
INP56_J[3:0]
INP34_J[3:0]
INP12_J[3:0]
Reserved
PRECON_J[2:0]
VC2_PULSE_J[1:0]
VC2_ALT_J[1:0]
VC2_SEL_J[1:0]
VC1_PULSE_J[1:0]
VC1_ALT_J[1:0]
VC1_SEL_J[1:0]
TIA_CEIL_
CH2_TRIM_INT_J[1:0]
CH1_TRIM_INT_J[1:0]
VREF_
AFE_TRIM_
DETECT_EN_J
PULSE_J
VREF_J[1:0]
VREF_PULSE_VAL_J[1:0]
TIA_GAIN_CH2_J[2:0]
TIA_GAIN_CH1_J[2:0]
LED_
LED_CURRENT2_J[6:0]
DRIVESIDE2_J
LED_
LED_CURRENT1_J[6:0]
DRIVESIDE1_J
Rev. 0 | Page 66 of 101
Reset
0x0000
R/W
R/W
0x0210
R/W
0x0003
R/W
0x0214
R/W
0x0001
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0003
R/W
0x0000
R/W
0x0000
R/W
0x0026
R/W
0x2306
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x40DA
R/W
0x0000
R/W
0x0000
R/W
0x03C0
R/W
0x0000
R/W
Data Sheet
Reg
0x0226
Name
LED_
POW34_J
ADPD4100/ADPD4101
Bits
[15:8]
[7:0]
0x0227
0x0228
0x0229
0x022A
0x022B
0x022C
0x022D
0x022E
0x022F
0x0230
0x0231
0x0232
0x0233
COUNTS_J
[15:8]
[7:0]
PERIOD_J
[15:8]
[7:0]
LED_PULSE_J [15:8]
[7:0]
INTEG_
[15:8]
SETUP_J
[7:0]
INTEG_OS_J [15:8]
[7:0]
MOD_
[15:8]
PULSE_J
[7:0]
PATTERN_J
[15:8]
[7:0]
ADC_OFF1_J [15:8]
[7:0]
ADC_OFF2_J [15:8]
[7:0]
[15:8]
[7:0]
LIT_DATA_
[15:8]
FORMAT_J
[7:0]
DECIMATE_J [15:8]
[7:0]
DIGINT_LIT_J [15:8]
DATA_
FORMAT_J
0x0234
DIGINT_
DARK_J
[7:0]
[15:8]
[7:0]
0x0235
THRESH_
CFG_J
[15:8]
[7:0]
0x0236
THRESH0_J
0x0237
THRESH1_J
0x0240
TS_CTRL_K
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
0x0241
TS_PATH_K
[7:0]
[15:8]
0x0242
INPUTS_K
0x0243
0x0244
[7:0]
[15:8]
[7:0]
CATHODE_K [15:8]
[7:0]
AFE_TRIM_K [15:8]
[7:0]
Bit 15
Bit 14
Bit 7
Bit 6
LED_
DRIVESIDE4_J
LED_
DRIVESIDE3_J
Bit 13
Bit 5
Bit 12
Bit 4
Bit 11
Bit 10
Bit 3
Bit 2
LED_CURRENT4_J[6:0]
Bit 9
Bit 1
Bit 8
Bit 0
Reset
0x0000
R/W
R/W
0x0101
R/W
0x0000
R/W
0x0210
R/W
0x0003
R/W
0x0214
R/W
0x0001
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0003
R/W
0x0000
R/W
0x0000
R/W
0x0026
R/W
0x2306
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x40DA
R/W
0x0000
R/W
0x0000
R/W
0x03C0
R/W
LED_CURRENT3_J[6:0]
NUM_INT_J[7:0]
NUM_REPEAT_J[7:0]
Reserved
MOD_TYPE_J[1:0]
Reserved
MIN_PERIOD_J[9:8]
MIN_PERIOD_J[7:0]
LED_WIDTH_J[7:0]
LED_OFFSET_J[7:0]
SINGLE_
CH2_AMP_DISABLE_J[2:0]
AFE_INT_
CH1_AMP_DISABLE_J[2:0]
INTEG_J
C_BUF_J
ADC_COUNT_J[1:0]
Reserved
INTEG_WIDTH_J[4:0]
Reserved
INTEG_ OFFSET_J[12:8]
INTEG_OFFSET_J[7:0]
MOD_WIDTH_J[7:0]
MOD_OFFSET_J[7:0]
LED_DISABLE_J[3:0]
MOD_DISABLE_J[3:0]
SUBTRACT_J[3:0]
REVERSE_INTEG_J[3:0]
Reserved
CH1_ADC_ADJUST_J[13:8]
CH1_ADC_ADJUST_J[7:0]
ZERO_
Reserved
CH2_ADC_ADJUST_J[13:8]
ADJUST_J
CH2_ADC_ADJUST_J[7:0]
DARK_SHIFT_J[4:0]
DARK_SIZE_J[2:0]
SIGNAL_SHIFT_J[4:0]
SIGNAL_SIZE_J[2:0]
Reserved
LIT_SHIFT_J[4:0]
LIT_SIZE_J[2:0]
Reserved
DECIMATE_FACTOR_J[6:4]
DECIMATE_FACTOR_J[3:0]
DECIMATE_TYPE_J[3:0]
Reserved
LIT_
OFFSET_
J[8]
LIT_OFFSET_J[7:0]
DARK2_OFFSET_J[8:1]
DARK2_
DARK1_OFFSET_J[6:0]
OFFSET_J[0]
Reserved
THRESH1_
THRESH1_
THRESH1_TYPE_J[1:0] THRESH0_ THRESH0_ THRESH0_TYPE_J[1:0]
CHAN_J
DIR_J
CHAN_J
DIR_J
Reserved
THRESH0_SHIFT_J[4:0]
THRESH0_VALUE_J[7:0]
Reserved
THRESH1_SHIFT_J[4:0]
THRESH1_VALUE_J[7:0]
SUBSAMPLE_K CH2_EN_K
SAMPLE_TYPE_K[1:0] INPUT_R_SELECT_K[1:0]
TIMESLOT_
OFFSET_K[9:8]
TIMESLOT_OFFSET_K[7:0]
PRE_WIDTH_K[3:0]
Reserved
TS_GPIO_K AFE_PATH
_CFG_K[8]
AFE_PATH_CFG_K[7:0]
INP78_K[3:0]
INP56_K[3:0]
INP34_K[3:0]
INP12_K[3:0]
Reserved
PRECON_K[2:0]
VC2_PULSE_K[1:0]
VC2_ALT_K[1:0]
VC2_SEL_K[1:0]
VC1_PULSE_K[1:0]
VC1_ALT_K[1:0]
VC1_SEL_K[1:0]
TIA_CEIL_
CH2_TRIM_INT_K[1:0]
CH1_TRIM_INT_K[1:0] VREF_
AFE_TRIM_
DETECT_EN_K
PULSE_K
VREF_K[1:0]
VREF_PULSE_VAL_K[1:0]
TIA_GAIN_CH2_K[2:0]
TIA_GAIN_CH1_K[2:0]
Rev. 0 | Page 67 of 101
ADPD4100/ADPD4101
Reg
0x0245
Name
LED_
POW12_K
Bits
[15:8]
[7:0]
0x0246
LED_
POW34_K
[15:8]
[7:0]
0x0247
0x0248
0x0249
0x024A
0x024B
0x024C
0x024D
0x024E
0x024F
0x0250
0x0251
0x0252
0x0253
COUNTS_K
[15:8]
[7:0]
PERIOD_K
[15:8]
[7:0]
LED_PULSE_K [15:8]
[7:0]
INTEG_
[15:8]
SETUP_K
[7:0]
INTEG_OS_K [15:8]
[7:0]
MOD_
[15:8]
PULSE_K
[7:0]
PATTERN_K [15:8]
[7:0]
ADC_OFF1_K [15:8]
[7:0]
ADC_OFF2_K [15:8]
[7:0]
[15:8]
[7:0]
LIT_DATA_
[15:8]
FORMAT_K
[7:0]
DECIMATE_K [15:8]
[7:0]
DIGINT_LIT_K [15:8]
DATA_
FORMAT_K
0x0254
DIGINT_
DARK_K
[7:0]
[15:8]
[7:0]
0x0255
THRESH_
CFG_K
[15:8]
[7:0]
0x0256
THRESH0_K
0x0257
THRESH1_K
0x0260
TS_CTRL_L
[15:8]
[7:0]
[15:8]
[7:0]
[15:8]
0x0261
TS_PATH_L
[7:0]
[15:8]
0x0262
INPUTS_L
0x0263
CATHODE_L
[7:0]
[15:8]
[7:0]
[15:8]
[7:0]
Bit 15
Bit 14
Bit 7
Bit 6
LED_
DRIVESIDE2_K
LED_
DRIVESIDE1_K
LED_
DRIVESIDE4_K
LED_
DRIVESIDE3_K
Data Sheet
Bit 13
Bit 5
Bit 12
Bit 4
Bit 11
Bit 10
Bit 3
Bit 2
LED_CURRENT2_K[6:0]
Bit 9
Bit 1
Bit 8
Bit 0
Reset
0x0000
R/W
R/W
0x0000
R/W
0x0101
R/W
0x0000
R/W
0x0210
R/W
0x0003
R/W
0x0214
R/W
0x0001
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0003
R/W
0x0000
R/W
0x0000
R/W
0x0026
R/W
0x2306
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x40DA
R/W
0x0000
R/W
0x0000
R/W
LED_CURRENT1_K[6:0]
LED_CURRENT4_K[6:0]
LED_CURRENT3_K[6:0]
NUM_INT_K[7:0]
NUM_REPEAT_K[7:0]
Reserved
MOD_TYPE_K[1:0]
Reserved
MIN_PERIOD_K[9:8]
MIN_PERIOD_K[7:0]
LED_WIDTH_K[7:0]
LED_OFFSET_K[7:0]
SINGLE_
CH2_AMP_DISABLE_K[2:0]
AFE_INT_C_
CH1_AMP_DISABLE_K[2:0]
INTEG_K
BUF_K
ADC_COUNT_K[1:0]
Reserved
INTEG_WIDTH_K[4:0]
Reserved
INTEG_ OFFSET_K[12:8]
INTEG_OFFSET_K[7:0]
MOD_WIDTH_K[7:0]
MOD_OFFSET_K[7:0]
LED_DISABLE_K[3:0]
MOD_DISABLE_K[3:0]
SUBTRACT_K[3:0]
REVERSE_INTEG_K[3:0]
Reserved
CH1_ADC_ADJUST_K[13:8]
CH1_ADC_ADJUST_K[7:0]
ZERO_
Reserved
CH2_ADC_ADJUST_K[13:8]
ADJUST_K
CH2_ADC_ADJUST_K[7:0]
DARK_SHIFT_K[4:0]
DARK_SIZE_K[2:0]
SIGNAL_SHIFT_K[4:0]
SIGNAL_SIZE_K[2:0]
Reserved
LIT_SHIFT_K[4:0]
LIT_SIZE_K[2:0]
Reserved
DECIMATE_FACTOR_K[6:4]
DECIMATE_FACTOR_K[3:0]
DECIMATE_TYPE_K[3:0]
Reserved
LIT_
OFFSET_
K[8]
LIT_OFFSET_K[7:0]
DARK2_OFFSET_K[8:1]
DARK2_
DARK1_OFFSET_K[6:0]
OFFSET_K[0]
Reserved
THRESH1_
THRESH1_
THRESH1_TYPE_K[1:0] THRESH0_ THRESH0_ THRESH0_TYPE_ K[1:0]
CHAN_K
DIR_K
CHAN_K
DIR_K
Reserved
THRESH0_SHIFT_K[4:0]
THRESH0_VALUE_K[7:0]
Reserved
THRESH1_SHIFT_K[4:0]
THRESH1_VALUE_K[7:0]
SUBSAMPLE_L CH2_EN_L
SAMPLE_TYPE_L[1:0]
INPUT_R_SELECT_L[1:0]
TIMESLOT_
OFFSET_L[9:8]
TIMESLOT_OFFSET_L[7:0]
PRE_WIDTH_L[3:0]
Reserved
TS_GPIO_L AFE_PATH
_CFG_L[8]
AFE_PATH_CFG_L[7:0]
INP78_L[3:0]
INP56_L[3:0]
INP34_L[3:0]
INP12_L[3:0]
Reserved
PRECON_L[2:0]
VC2_PULSE_L[1:0]
VC2_ALT_L[1:0]
VC2_SEL_L[1:0]
VC1_PULSE_L[1:0]
VC1_ALT_L[1:0]
VC1_SEL_L[1:0]
Rev. 0 | Page 68 of 101
Data Sheet
Reg
0x0264
Name
AFE_TRIM_L
0x0265
LED_
POW12_L
ADPD4100/ADPD4101
Bits
[15:8]
[7:0]
[15:8]
[7:0]
0x0266
LED_
POW34_L
[15:8]
[7:0]
0x0267
0x0268
0x0269
0x026A
0x026B
0x026C
0x026D
0x026E
0x026F
0x0270
0x0271
0x0272
0x0273
COUNTS_L
[15:8]
[7:0]
PERIOD_L
[15:8]
[7:0]
LED_PULSE_L [15:8]
[7:0]
INTEG_
[15:8]
SETUP_L
[7:0]
INTEG_OS_L [15:8]
[7:0]
MOD_
[15:8]
PULSE_L
[7:0]
PATTERN_L [15:8]
[7:0]
ADC_OFF1_L [15:8]
[7:0]
ADC_OFF2_L [15:8]
[7:0]
[15:8]
[7:0]
LIT_DATA_
[15:8]
FORMAT_L
[7:0]
DECIMATE_L [15:8]
[7:0]
DIGINT_LIT_L [15:8]
DATA_
FORMAT_L
0x0274
DIGINT_
DARK_L
[7:0]
[15:8]
[7:0]
0x0275
THRESH_
CFG_L
[15:8]
[7:0]
0x0276
THRESH0_L
0x0277
THRESH1_L
[15:8]
[7:0]
[15:8]
[7:0]
Bit 15
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
TIA_CEIL_
CH2_TRIM_INT_L[1:0]
CH1_TRIM_INT_L[1:0] VREF_
AFE_TRIM_
DETECT_EN_L
PULSE_L
VREF_L[1:0]
VREF_PULSE_VAL_L[1:0]
TIA_GAIN_CH2_L[2:0]
TIA_GAIN_CH1_L[2:0]
LED_
LED_CURRENT2_L[6:0]
DRIVESIDE2_L
LED_
LED_CURRENT1_L[6:0]
DRIVESIDE1_L
LED_
LED_CURRENT4_L[6:0]
DRIVESIDE4_L
LED_
LED_CURRENT3_L[6:0]
DRIVESIDE3_L
NUM_INT_L[7:0]
NUM_REPEAT_L[7:0]
Reserved
MOD_TYPE_L[1:0]
Reserved
MIN_PERIOD_L[9:8]
MIN_PERIOD_L[7:0]
LED_WIDTH_L[7:0]
LED_OFFSET_L[7:0]
SINGLE_
CH2_AMP_DISABLE_L[2:0]
AFE_INT_C_
CH1_AMP_DISABLE_L[2:0]
INTEG_L
BUF_L
ADC_COUNT_L[1:0]
Reserved
INTEG_WIDTH_L[4:0]
Reserved
INTEG_ OFFSET_L[12:8]
INTEG_OFFSET_L[7:0]
MOD_WIDTH_L[7:0]
MOD_OFFSET_L[7:0]
LED_DISABLE_L[3:0]
MOD_DISABLE_L[3:0]
SUBTRACT_L[3:0]
REVERSE_INTEG_L[3:0]
Reserved
CH1_ADC_ADJUST_L[13:8]
CH1_ADC_ADJUST_L[7:0]
ZERO_
Reserved
CH2_ADC_ADJUST_L[13:8]
ADJUST_L
CH2_ADC_ADJUST_L[7:0]
DARK_SHIFT_L[4:0]
DARK_SIZE_L[2:0]
SIGNAL_SHIFT_L[4:0]
SIGNAL_SIZE_L[2:0]
Reserved
LIT_SHIFT_L[4:0]
LIT_SIZE_L[2:0]
Reserved
DECIMATE_FACTOR_L[6:4]
DECIMATE_FACTOR_L[3:0]
DECIMATE_TYPE_L[3:0]
Reserved
LIT_
OFFSET_
L[8]
LIT_OFFSET_L[7:0]
DARK2_OFFSET_L[8:1]
DARK2_
DARK1_OFFSET_L[6:0]
OFFSET_L[0]
Reserved
THRESH1_
THRESH1_
THRESH1_TYPE_L[1:0] THRESH0_ THRESH0_ THRESH0_TYPE_L[1:0]
CHAN_L
DIR_L
CHAN_L
DIR_L
Reserved
THRESH0_SHIFT_L[4:0]
THRESH0_VALUE_L[7:0]
Reserved
THRESH1_SHIFT_L[4:0]
THRESH1_VALUE_L[7:0]
Rev. 0 | Page 69 of 101
Reset
0x03C0
R/W
R/W
0x0000
R/W
0x0000
R/W
0x0101
R/W
0x0000
R/W
0x0210
R/W
0x0003
R/W
0x0214
R/W
0x0001
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
0x0003
R/W
0x0000
R/W
0x0000
R/W
0x0026
R/W
0x2306
R/W
0x0000
R/W
0x0000
R/W
0x0000
R/W
ADPD4100/ADPD4101
Data Sheet
REGISTER DETAILS
GLOBAL CONFIGURATION REGISTERS
Table 30. Global Configuration Register Details
Addr
Name
0x000D TS_FREQ
0x000E TS_FREQH
0x000F SYS_CTL
0x0010 OPMODE
Bits
[15:0]
Bit Name
Description
TIMESLOT_PERIOD_L Lower 16 bits of time slot period in low frequency oscillator cycles.
The time slot rate is (low frequency oscillator frequency) ÷
(TIMESLOT_PERIOD_x). The default value operates at 100 Hz when
using the 1 MHz low frequency oscillator.
[15:7] Reserved
Reserved.
[6:0]
TIMESLOT_PERIOD_H Upper seven bits of time slot period in low frequency oscillator
cycles. The time slot rate is (low frequency oscillator frequency) ÷
(TIMESLOT_PERIOD_x). The default value operates at 100 Hz when
using the 1 MHz low frequency oscillator.
Software reset. Write 1 to this bit to assert a software reset, which
15
SW_RESET
stops all AFE operations and resets the device to its default values.
Software reset does not reset the SPI or I2C port.
[14:10] Reserved
Reserved.
[9:8]
ALT_CLOCKS
External clock select.
00: use internal low frequency oscillator and high frequency
oscillator.
01: use external low frequency oscillator.
02: use external high frequency oscillator and internal low
frequency oscillator.
03: use external high frequency oscillator and generate low
frequency oscillator from high frequency oscillator.
[7:6]
ALT_CLK_GPIO
Alternate clock GPIO select.
00: use GPIO0 for alternate clock.
01: use GPIO1 for alternate clock.
10: use GPIO2 for alternate clock.
11: use GPIO3 for alternate clock.
[5:3]
Reserved
Write 0x0.
Selects low frequency oscillator. This bit selects between the
2
LFOSC_SEL
32 kHz and 1 MHz low speed oscillator.
0: use the 32 kHz oscillator as the low frequency clock.
1: use the 1 MHz oscillator as the low frequency clock.
Enable 1 MHz low frequency oscillator. This bit turns on the 1 MHz
1
OSC_1M_EN
low frequency oscillator, which must be left running during all
operations while using this oscillator.
Enable 32 kHz low frequency oscillator. This bit turns on the 32 kHz
0
OSC_32K_EN
low frequency oscillator, which must be left running during all
operations while using this oscillator.
[15:12] Reserved
Reserved.
[11:8] TIMESLOT_EN
Time slot enable control.
0000: Time Slot Sequence A only.
0001: Time Slot Sequence AB.
0010: Time Slot Sequence ABC.
0011: Time Slot Sequence ABCD.
0100: Time Slot Sequence ABCDE.
0101: Time Slot Sequence ABCDEF.
0110: Time Slot Sequence ABCDEFG.
0111: Time Slot Sequence ABCDEFGH.
1000: Time Slot Sequence ABCDEFGHI.
1001: Time Slot Sequence ABCDEFGHIJ.
1010: Time Slot Sequence ABCDEFGHIJK.
1011: Time Slot Sequence ABCDEFGHIJKL.
Rev. 0 | Page 70 of 101
Reset Access
0x2710 R/W
0x0
0x0
R
R/W
0x0
R/W
0x0
0x0
R
R/W
0x0
R/W
0x0
0x0
R/W
R/W
0x0
R/W
0x0
R/W
0x0
0x0
R
R/W
Data Sheet
Addr
Name
ADPD4100/ADPD4101
Bits
[7:1]
0
Bit Name
Reserved
OP_MODE
0x0020 INPUT_SLEEP [15:12] INP_SLEEP_78
[11:8]
INP_SLEEP_56
[7:4]
INP_SLEEP_34
[3:0]
INP_SLEEP_12
Description
Reserved.
Operating mode selection.
0: standby.
1: go mode. Operate selected time slots.
Input pair sleep state for IN7 and IN8 inputs.
0x0: both inputs float.
0x1: floating short of IN7 to IN8. Only if PAIR78 is set to 1.
0x2: IN7 and IN8 connected to VC1. Also shorted together if PAIR78
is set to 1.
0x3: IN7 and IN8 connected to VC2. Also shorted together if PAIR78
is set to 1.
0x4: IN7 connected to VC1. IN8 floating.
0x5: IN7 connected to VC1. IN8 connected to VC2.
0x6: IN7 connected to VC2. IN8 floating.
0x7: IN7 connected to VC2. IN8 connected to VC1.
0x8: IN7 floating. IN8 connected to VC1.
0x9: IN7 floating. IN8 connected to VC2.
Input pair sleep state for IN5 and IN6 inputs.
0x0: both inputs float.
0x1: floating short of IN5 to IN6. Only if PAIR56 is set to 1.
0x2: IN5 and IN6 connected to VC1. Also shorted together if PAIR56
is set to 1.
0x3: IN5 and IN6 connected to VC2. Also shorted together if PAIR56
is set to 1.
0x4: IN5 connected to VC1. IN6 floating.
0x5: IN5 connected to VC1. IN6 connected to VC2.
0x6: IN5 connected to VC2. IN6 floating.
0x7: IN5 connected to VC2. IN6 connected to VC1.
0x8: IN5 floating. IN6 connected to VC1.
0x9: IN5 floating. IN6 connected to VC2.
Input pair sleep state for IN3 and IN4 inputs.
0x0: both inputs float.
0x1: floating short of IN3 to IN4. Only if PAIR34 is set to 1.
0x2: IN3 and IN4 connected to VC1. Also shorted together if PAIR34
is set to 1.
0x3: IN3 and IN4 connected to VC2. Also shorted together if PAIR34
is set to 1.
0x4: IN3 connected to VC1. IN4 floating.
0x5: IN3 connected to VC1. IN4 connected to VC2.
0x6: IN3 connected to VC2. IN4 floating.
0x7: IN3 connected to VC2. IN4 connected to VC1.
0x8: IN3 floating. IN4 connected to VC1.
0x9: IN3 floating. IN4 connected to VC2.
Input pair sleep state for IN1 and IN2 inputs.
0x0: both inputs float.
0x1: floating short of IN1 to IN2. Only if PAIR12 is set to 1.
0x2: IN1 and IN2 connected to VC1. Also shorted together if PAIR12
is set to 1.
0x3: IN1 and IN2 connected to VC2. Also shorted together if PAIR12
is set to 1.
0x4: IN1 connected to VC1. IN2 floating.
0x5: IN1 connected to VC1. IN2 connected to VC2.
0x6: IN1 connected to VC2. IN2 floating.
Rev. 0 | Page 71 of 101
Reset
0x0
0x0
Access
R
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
ADPD4100/ADPD4101
Addr
Name
0x0021 INPUT_CFG
Data Sheet
Bits
Bit Name
[15:8]
[7:6]
Reserved
VC2_SLEEP
[5:4]
VC1_SLEEP
3
PAIR78
2
PAIR56
1
PAIR34
0
PAIR12
Description
0x7: IN1 connected to VC2. IN2 connected to VC1.
0x8: IN1 floating. IN2 connected to VC1.
0x9: IN1 floating. IN2 connected to VC2.
Reserved.
VC2 sleep state.
0: VC2 set to AVDD during sleep.
1: VC2 set to ground during sleep.
10: VC2 floating during sleep.
VC1 sleep state.
0: VC1 set to AVDD during sleep.
1: VC1 set to ground during sleep.
10: VC1 floating during sleep.
Input pair configuration.
0: IN7 and IN8 configured as two single-ended inputs.
1: IN7 and IN8 configured as a differential pair.
Input pair configuration.
0: IN5 and IN6 configured as two single-ended inputs.
1: IN5 and IN6 configured as a differential pair.
Input pair configuration.
0: IN3 and IN4 configured as two single-ended inputs.
1: IN3 and IN4 configured as a differential pair.
Input pair configuration.
0: IN1 and IN2 configured as two single-ended inputs.
1: IN1 and IN2 configured as a differential pair.
Reset
Access
0x0
0x0
R
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
INTERRUPT STATUS AND CONTROL REGISTERS
Table 31. Interrupt Status and Control Register Details
Addr
Name
0x0000 FIFO_STATUS
0x0001 INT_STATUS_DATA
Bits
15
Bit Name
CLEAR_FIFO
14
INT_FIFO_UFLOW
13
INT_FIFO_OFLOW
[12:11] Reserved
[10:0] FIFO_BYTE_COUNT
15
INT_FIFO_TH
[14:12] Reserved
11
INT_DATA_L
Description
Clear FIFO. Write a 1 to empty the FIFO while the FIFO is
not being accessed. This resets FIFO_BYTE_COUNT and
clears the INT_FIFO_OFLOW, INT_FIFO_UFLOW, and
INT_FIFO_TH status bits.
FIFO underflow error. This bit is set when the FIFO is read
while empty. Write 1 to this bit to clear the interrupt. This
bit is also cleared if the FIFO is cleared using the
CLEAR_FIFO bit.
FIFO overflow error. This bit is set when data was not
written to the FIFO due to lack of space. Write 1 to this bit
to clear the interrupt. This bit is also cleared if the FIFO is
cleared with the CLEAR_FIFO bit.
Reserved.
This field indicates the number of bytes in the FIFO.
FIFO_TH interrupt status. This bit is set during a FIFO
write when the number of bytes in the FIFO exceeds the
FIFO_TH register value. Write 1 to this bit to clear this
interrupt. This bit can also be automatically cleared when
the FIFO_DATA register is read if the INT_ACLEAR_FIFO
bit is set.
Reserved.
Time Slot L data register interrupt status. This bit is set
every time the Time Slot L data registers are updated.
Write 1 to this bit to clear the interrupt. The interrupt is
cleared automatically when the Time Slot L data registers
are read if the INT_ACLEAR_DATA_L bit is set.
Rev. 0 | Page 72 of 101
Reset Access1
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
0x0
0x0
R
R
R/W1C
0x0
0x0
R
R/W1C
Data Sheet
Addr
Name
ADPD4100/ADPD4101
Bits
10
Bit Name
INT_DATA_K
9
INT_DATA_J
8
INT_DATA_I
7
INT_DATA_H
6
INT_DATA_G
5
INT_DATA_F
4
INT_DATA_E
3
INT_DATA_D
2
INT_DATA_C
1
INT_DATA_B
0
INT_DATA_A
Description
Time Slot K data register interrupt status. This bit is set
every time the Time Slot K data registers get updated.
Write 1 to this bit to clear the interrupt. The interrupt is
cleared automatically when the Time Slot K data registers
are read if the INT_ACLEAR_DATA_K bit is set.
Time Slot J data register interrupt status. This bit is set
every time the Time Slot J data registers are updated.
Write 1 to this bit to clear the interrupt. The interrupt is
cleared automatically when the Time Slot J data registers
are read if the INT_ACLEAR_DATA_J bit is set.
Time Slot I data register interrupt status. This bit is set
every time the Time Slot I data registers are updated.
Write 1 to this bit to clear the interrupt. The interrupt is
cleared automatically when the Time Slot I data registers
are read if the INT_ACLEAR_DATA_I bit is set.
Time Slot H data register interrupt status. This bit is set
every time the Time Slot H data registers are updated.
Write 1 to this bit to clear the interrupt. The interrupt is
cleared automatically when the Time Slot H data registers
are read if the INT_ACLEAR_DATA_H bit is set.
Time Slot G data register interrupt status. This bit is set
every time the Time Slot G data registers are updated.
Write 1 to this bit to clear the interrupt. The interrupt is
cleared automatically when the Time Slot G data registers
are read if the INT_ACLEAR_DATA_G bit is set.
Time Slot F data register interrupt status. This bit is set
every time the Time Slot F data registers are updated.
Write 1 to this bit to clear the interrupt. The interrupt is
cleared automatically when the Time Slot F data registers
are read if the INT_ACLEAR_DATA_F bit is set.
Time Slot E data register interrupt status. This bit is set
every time the Time Slot E data registers are updated.
Write 1 to this bit to clear the interrupt. The interrupt is
cleared automatically when the Time Slot E data registers
are read if the INT_ACLEAR_DATA_E bit is set.
Time Slot D data register interrupt status. This bit is set
every time the Time Slot D data registers are updated.
Write 1 to this bit to clear the interrupt. The interrupt is
cleared automatically when the Time Slot D data registers
are read if the INT_ACLEAR_DATA_D bit is set.
Time Slot C data register interrupt status. This bit is set
every time the Time Slot C data registers are updated.
Write 1 to this bit to clear the interrupt. The interrupt is
cleared automatically when the Time Slot C data registers
are read if the INT_ACLEAR_DATA_C bit is set.
Time Slot B data register interrupt status. This bit is set
every time the Time Slot B data registers are updated.
Write 1 to this bit to clear the interrupt. The interrupt is
cleared automatically when the Time Slot B data registers
are read if the INT_ACLEAR_DATA_B bit is set.
Time Slot A data register interrupt status. This bit is set
every time the Time Slot A data registers are updated.
Write 1 to this bit to clear the interrupt. The interrupt is
cleared automatically when the Time Slot A data registers
are read if the INT_ACLEAR_DATA_A bit is set.
Rev. 0 | Page 73 of 101
Reset Access1
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
ADPD4100/ADPD4101
Addr
Name
0x0002 INT_STATUS_LEV0
0x0003 INT_STATUS_LEV1
0x0004 INT_STATUS_TC1
Data Sheet
Bits
Bit Name
[15:12] Reserved
11
INT_LEV0_L
10
INT_LEV0_K
9
INT_LEV0_J
8
INT_LEV0_I
7
INT_LEV0_H
6
INT_LEV0_G
5
INT_LEV0_F
4
INT_LEV0_E
3
INT_LEV0_D
2
INT_LEV0_C
1
INT_LEV0_B
0
INT_LEV0_A
[15:12] Reserved
11
INT_LEV1_L
10
INT_LEV1_K
9
INT_LEV1_J
8
INT_LEV1_I
7
INT_LEV1_H
6
INT_LEV1_G
5
INT_LEV1_F
4
INT_LEV1_E
3
INT_LEV1_D
2
INT_LEV1_C
1
INT_LEV1_B
0
INT_LEV1_A
[15:12] Reserved
11
INT_TCLN1_L
10
INT_TCLN1_K
Description
Reserved.
Time Slot L Level 0 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot K Level 0 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot J Level 0 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot I Level 0 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot H Level 0 interrupt status. This bit is set during
a data register update when the configured criteria is met.
Time Slot G Level 0 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot F Level 0 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot E Level 0 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot D Level 0 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot C Level 0 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot B Level 0 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot A Level 0 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Reserved.
Time Slot L Level 1 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot K Level 1 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot J Level 1 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot I Level 1 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot H Level 1 interrupt status. This bit is set during
a data register update when the configured criteria is met.
Time Slot G Level 1 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot F Level 1 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot E Level 1 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot D Level 1 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot C Level 1 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot B Level 1 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Time Slot A Level 1 interrupt status. This bit is set during a
data register update when the configured criteria is met.
Reserved.
Time Slot L Channel 1 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 1 exceeds the threshold level during Time Slot L.
Time Slot K Channel 1 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 1 exceeds the threshold level during Time Slot K.
Rev. 0 | Page 74 of 101
Reset Access1
0x0
R
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
0x0
R
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
0x0
R
R/W1C
0x0
R/W1C
Data Sheet
Addr
Name
0x0005 INT_STATUS_TC2
ADPD4100/ADPD4101
Bits
9
Bit Name
INT_TCLN1_J
8
INT_TCLN1_I
7
INT_TCLN1_H
6
INT_TCLN1_G
5
INT_TCLN1_F
4
INT_TCLN1_E
3
INT_TCLN1_D
2
INT_TCLN1_C
1
INT_TCLN1_B
0
INT_TCLN1_A
[15:12] Reserved
11
INT_TCLN2_L
10
INT_TCLN2_K
9
INT_TCLN2_J
8
INT_TCLN2_I
7
INT_TCLN2_H
6
INT_TCLN2_G
5
INT_TCLN2_F
4
INT_TCLN2_E
3
INT_TCLN2_D
Description
Time Slot J Channel 1 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 1 exceeds the threshold level during Time Slot J.
Time Slot I Channel 1 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 1 exceeds the threshold level during Time Slot I.
Time Slot H Channel 1 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 1 exceeds the threshold level during Time Slot H.
Time Slot G Channel 1 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 1 exceeds the threshold level during Time Slot G.
Time Slot F Channel 1 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 1 exceeds the threshold level during Time Slot F.
Time Slot E Channel 1 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 1 exceeds the threshold level during Time Slot E.
Time Slot D Channel 1 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 1 exceeds the threshold level during Time Slot D.
Time Slot C Channel 1 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 1 exceeds the threshold level during Time Slot C.
Time Slot B Channel 1 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 1 exceeds the threshold level during Time Slot B.
Time Slot A Channel 1 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 1 exceeds the threshold level during Time Slot A.
Reserved.
Time Slot L Channel 2 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 2 exceeds the threshold level during Time Slot L.
Time Slot K Channel 2 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 2 exceeds the threshold level during Time Slot K.
Time Slot J Channel 2 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 2 exceeds the threshold level during Time Slot J.
Time Slot I Channel 2 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 2 exceeds the threshold level during Time Slot I.
Time Slot H Channel 2 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 2 exceeds the threshold level during Time Slot H.
Time Slot G Channel 2 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 2 exceeds the threshold level during Time Slot G.
Time Slot F Channel 2 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 2 exceeds the threshold level during Time Slot F.
Time Slot E Channel 2 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 2 exceeds the threshold level during Time Slot E.
Time Slot D Channel 2 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 2 exceeds the threshold level during Time Slot D.
Rev. 0 | Page 75 of 101
Reset Access1
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
0x0
R
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
ADPD4100/ADPD4101
Addr
Name
0x0007 INT_ACLEAR
Data Sheet
Bits
2
Bit Name
INT_TCLN2_C
1
INT_TCLN2_B
0
INT_TCLN2_A
15
INT_ACLEAR_FIFO
[14:12] Reserved
11
INT_ACLEAR_DATA_L
10
INT_ACLEAR_DATA_K
9
INT_ACLEAR_DATA_J
8
INT_ACLEAR_DATA_I
7
INT_ACLEAR_DATA_H
6
INT_ACLEAR_DATA_G
5
INT_ACLEAR_DATA_F
4
INT_ACLEAR_DATA_E
3
INT_ACLEAR_DATA_D
2
INT_ACLEAR_DATA_C
1
INT_ACLEAR_DATA_B
0
INT_ACLEAR_DATA_A
Description
Time Slot C Channel 2 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 2 exceeds the threshold level during Time Slot C.
Time Slot B Channel 2 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 2 exceeds the threshold level during Time Slot B.
Time Slot A Channel 2 ceiling detection interrupt status.
This bit is set during a data register update when
Channel 2 exceeds the threshold level during Time Slot A.
FIFO threshold interrupt autoclear enable. Set this bit to
enable automatic clearing of the FIFO_TH interrupt each
time the FIFO is read.
Reserved.
Time Slot L interrupt autoclear enable. Set this bit to
enable automatic clearing of the INT_DATA_L interrupt
each time the Time Slot L data registers are read.
Time Slot K interrupt autoclear enable. Set this bit to
enable automatic clearing of the INT_DATA_K interrupt
each time the Time Slot K data registers are read.
Time Slot J interrupt autoclear enable. Set this bit to
enable automatic clearing of the INT_DATA_J interrupt
each time the Time Slot J data registers are read.
Time Slot I interrupt autoclear enable. Set this bit to
enable automatic clearing of the INT_DATA_I interrupt
each time the Time Slot I data registers are read.
Time Slot H interrupt autoclear enable. Set this bit to
enable automatic clearing of the INT_DATA_H interrupt
each time the Time Slot H data registers are read.
Time Slot G interrupt autoclear enable. Set this bit to
enable automatic clearing of the INT_DATA_G interrupt
each time the Time Slot G data registers are read.
Time Slot F interrupt autoclear enable. Set this bit to
enable automatic clearing of the INT_DATA_F interrupt
each time the Time Slot F data registers are read.
Time Slot E interrupt autoclear enable. Set this bit to
enable automatic clearing of the INT_DATA_E interrupt
each time the Time Slot E data register is read.
Time Slot D interrupt autoclear enable. Set this bit to
enable automatic clearing of the INT_DATA_D interrupt
each time the Time Slot D data registers are read.
Time Slot C interrupt autoclear enable. Set this bit to
enable automatic clearing of the INT_DATA_C interrupt
each time the Time Slot C data registers are read.
Time Slot B interrupt autoclear enable. Set this bit to
enable automatic clearing of the INT_DATA_B interrupt
each time the Time Slot B data registers are read.
Time Slot A interrupt autoclear enable. Set this bit to
enable automatic clearing of the INT_DATA_A interrupt
each time the Time Slot A data registers are read.
Rev. 0 | Page 76 of 101
Reset Access1
0x0
R/W1C
0x0
R/W1C
0x0
R/W1C
0x1
R/W
0x0
0x1
R
R/W
0x1
R/W
0x1
R/W
0x1
R/W
0x1
R/W
0x1
R/W
0x1
R/W
0x1
R/W
0x1
R/W
0x1
R/W
0x1
R/W
0x1
R/W
Data Sheet
Addr
Name
0x0014 INT_ENABLE_XD
0x0015 INT_ENABLE_YD
ADPD4100/ADPD4101
Bits
15
Bit Name
INTX_EN_FIFO_TH
14
INTX_EN_FIFO_UFLOW
13
INTX_EN_FIFO_OFLOW
12
11
Reserved
INTX_EN_DATA_L
10
INTX_EN_DATA_K
9
INTX_EN_DATA_J
8
INTX_EN_DATA_I
7
INTX_EN_DATA_H
6
INTX_EN_DATA_G
5
INTX_EN_DATA_F
4
INTX_EN_DATA_E
3
INTX_EN_DATA_D
2
INTX_EN_DATA_C
1
INTX_EN_DATA_B
0
INTX_EN_DATA_A
15
INTY_EN_FIFO_TH
14
INTY_EN_FIFO_UFLOW
13
INTY_EN_FIFO_OFLOW
12
11
Reserved
INTY_EN_DATA_L
10
INTY_EN_DATA_K
9
INTY_EN_DATA_J
8
INTY_EN_DATA_I
7
INTY_EN_DATA_H
6
INTY_EN_DATA_G
5
INTY_EN_DATA_F
4
INTY_EN_DATA_E
Description
INT_FIFO_TH interrupt enable. Write a 1 to this bit to
enable drive of the FIFO threshold status on Interrupt X.
INT_FIFO_UFLOW interrupt enable for Interrupt X. Write a
1 to this bit to enable drive of the FIFO underflow status
on Interrupt X.
INT_FIFO_OFLOW interrupt enable for Interrupt X. Write a
1 to this bit to enable drive of the FIFO overflow status on
Interrupt X.
Reserved.
INT_DATA_L interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_L status on Interrupt X.
INT_DATA_K interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_K status on Interrupt X.
INT_DATA_J interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_J status on Interrupt X.
INT_DATA_I interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_I status on Interrupt X.
INT_DATA_H interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_H status on Interrupt X.
INT_DATA_G interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_G status on Interrupt X.
INT_DATA_F interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_F status on Interrupt X.
INT_DATA_E interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_E status on Interrupt X.
INT_DATA_D interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_D status on Interrupt X.
INT_DATA_C interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_C status on Interrupt X.
INT_DATA_B interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_B status on Interrupt X.
INT_DATA_A interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_A status on Interrupt X.
INT_FIFO_TH interrupt enable. Write a 1 to this bit to
enable drive of the FIFO threshold status on Interrupt Y.
INT_FIFO_UFLOW interrupt enable for Interrupt Y. Write a
1 to this bit to enable drive of the FIFO underflow status
on Interrupt Y.
INT_FIFO_OFLOW interrupt enable for Interrupt Y. Write a
1 to this bit to enable drive of the FIFO overflow status on
Interrupt Y.
Reserved.
INT_DATA_L interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_L status on Interrupt Y.
INT_DATA_K interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_K status on Interrupt Y.
INT_DATA_J interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_J status on Interrupt Y.
INT_DATA_I interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_I status on Interrupt Y.
INT_DATA_H interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_H status on Interrupt Y.
INT_DATA_G interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_G status on Interrupt Y.
INT_DATA_F interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_F status on Interrupt Y.
INT_DATA_E interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_E status on Interrupt Y.
Rev. 0 | Page 77 of 101
Reset Access1
0x0
R/W
0x0
R/W
0x0
R/W
0x0
0x0
R
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
0x0
R
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
ADPD4100/ADPD4101
Addr
Name
0x0016 INT_ENABLE_XL0
0x0017 INT_ENABLE_XL1
Data Sheet
Bits
3
Bit Name
INTY_EN_DATA_D
2
INTY_EN_DATA_C
1
INTY_EN_DATA_B
0
INTY_EN_DATA_A
[15:12] Reserved
11
INTX_EN_LEV0_L
10
INTX_EN_LEV0_K
9
INTX_EN_LEV0_J
8
INTX_EN_LEV0_I
7
INTX_EN_LEV0_H
6
INTX_EN_LEV0_G
5
INTX_EN_LEV0_F
4
INTX_EN_LEV0_E
3
INTX_EN_LEV0_D
2
INTX_EN_LEV0_C
1
INTX_EN_LEV0_B
0
INTX_EN_LEV0_A
[15:12] Reserved
11
INTX_EN_LEV1_L
10
INTX_EN_LEV1_K
9
INTX_EN_LEV1_J
8
INTX_EN_LEV1_I
7
INTX_EN_LEV1_H
6
INTX_EN_LEV1_G
5
INTX_EN_LEV1_F
4
INTX_EN_LEV1_E
3
INTX_EN_LEV1_D
2
INTX_EN_LEV1_C
Description
INT_DATA_D interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_D status on Interrupt Y.
INT_DATA_C interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_C status on Interrupt Y.
INT_DATA_B interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_B status on Interrupt Y.
INT_DATA_A interrupt enable. Write a 1 to this bit to
enable drive of INT_DATA_A status on Interrupt Y.
Reserved.
INT_LEV0_L interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_L status on Interrupt X.
INT_LEV0_K interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_K status on Interrupt X.
INT_LEV0_J interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_J status on Interrupt X.
INT_LEV0_I interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_I status on Interrupt X.
INT_LEV0_H interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_H status on Interrupt X.
INT_LEV0_G interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_G status on Interrupt X.
INT_LEV0_F interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_F status on Interrupt X.
INT_LEV0_E interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_E status on Interrupt X.
INT_LEV0_D interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_D status on Interrupt X.
INT_LEV0_C interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_C status on Interrupt X.
INT_LEV0_B interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_B status on Interrupt X.
INT_LEV0_A interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_A status on Interrupt X.
Reserved.
INT_LEV1_L interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_L status on Interrupt X.
INT_LEV1_K interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_K status on Interrupt X.
INT_LEV1_J interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_J status on Interrupt X.
INT_LEV1_I interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_I status on Interrupt X.
INT_LEV1_H interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_H status on Interrupt X.
INT_LEV1_G interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_G status on Interrupt X.
INT_LEV1_F interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_F status on Interrupt X.
INT_LEV1_E interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_E status on Interrupt X.
INT_LEV1_D interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_D status on Interrupt X.
INT_LEV1_C interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_C status on Interrupt X.
Rev. 0 | Page 78 of 101
Reset Access1
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
0x0
R
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
0x0
R
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
Data Sheet
Addr
Name
0x0018 INT_ENABLE_XT1
0x0019 INT_ENABLE_XT2
ADPD4100/ADPD4101
Bits
1
Bit Name
INTX_EN_LEV1_B
0
INTX_EN_LEV1_A
[15:12] Reserved
11
INTX_EN_TCLN1_L
10
INTX_EN_TCLN1_K
9
INTX_EN_TCLN1_J
8
INTX_EN_TCLN1_I
7
INTX_EN_TCLN1_H
6
INTX_EN_TCLN1_G
5
INTX_EN_TCLN1_F
4
INTX_EN_TCLN1_E
3
INTX_EN_TCLN1_D
2
INTX_EN_TCLN1_C
1
INTX_EN_TCLN1_B
0
INTX_EN_TCLN1_A
[15:12] Reserved
11
INTX_EN_TCLN2_L
10
INTX_EN_TCLN2_K
9
INTX_EN_TCLN2_J
8
INTX_EN_TCLN2_I
7
INTX_EN_TCLN2_H
6
INTX_EN_TCLN2_G
5
INTX_EN_TCLN2_F
4
INTX_EN_TCLN2_E
3
INTX_EN_TCLN2_D
2
INTX_EN_TCLN2_C
1
INTX_EN_TCLN2_B
0
INTX_EN_TCLN2_A
Description
INT_LEV1_B interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_B status on Interrupt X.
INT_LEV1_A interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_A status on Interrupt X.
Reserved.
INT_TCLN1_L interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_L status on Interrupt X.
INT_TCLN1_K interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_K status on Interrupt X.
INT_TCLN1_J interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_J status on Interrupt X.
INT_TCLN1_I interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_I status on Interrupt X.
INT_TCLN1_H interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_H status on Interrupt X.
INT_TCLN1_G interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_G status on Interrupt X.
INT_TCLN1_F interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_F status on Interrupt X.
INT_TCLN1_E interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_E status on Interrupt X.
INT_TCLN1_D interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_D status on Interrupt X.
INT_TCLN1_C interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_C status on Interrupt X.
INT_TCLN1_B interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_B status on Interrupt X.
INT_TCLN1_A interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_A status on Interrupt X.
Reserved.
INT_TCLN2_L interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_L status on Interrupt X.
INT_TCLN2_K interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_K status on Interrupt X.
INT_TCLN2_J interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_J status on Interrupt X.
INT_TCLN2_I interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_I status on Interrupt X.
INT_TCLN2_H interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_H status on Interrupt X.
INT_TCLN2_G interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_G status on Interrupt X.
INT_TCLN2_F interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_F status on Interrupt X.
INT_TCLN2_E interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_E status on Interrupt X.
INT_TCLN2_D interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_D status on Interrupt X.
INT_TCLN2_C interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_C status on Interrupt X.
INT_TCLN2_B interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_B status on Interrupt X.
INT_TCLN2_A interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_A status on Interrupt X.
Rev. 0 | Page 79 of 101
Reset Access1
0x0
R/W
0x0
R/W
0x0
0x0
R
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
0x0
R
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
ADPD4100/ADPD4101
Addr
Name
0x001A INT_ENABLE_YL0
0x001B INT_ENABLE_YL1
Data Sheet
Bits
Bit Name
[15:12] Reserved
11
INTY_EN_LEV0_L
10
INTY_EN_LEV0_K
9
INTY_EN_LEV0_J
8
INTY_EN_LEV0_I
7
INTY_EN_LEV0_H
6
INTY_EN_LEV0_G
5
INTY_EN_LEV0_F
4
INTY_EN_LEV0_E
3
INTY_EN_LEV0_D
2
INTY_EN_LEV0_C
1
INTY_EN_LEV0_B
0
INTY_EN_LEV0_A
[15:12] Reserved
11
INTY_EN_LEV1_L
10
INTY_EN_LEV1_K
9
INTY_EN_LEV1_J
8
INTY_EN_LEV1_I
7
INTY_EN_LEV1_H
6
INTY_EN_LEV1_G
5
INTY_EN_LEV1_F
4
INTY_EN_LEV1_E
3
INTY_EN_LEV1_D
2
INTY_EN_LEV1_C
1
INTY_EN_LEV1_B
0
INTY_EN_LEV1_A
Description
Reserved.
INT_LEV0_L interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_L status on Interrupt Y.
INT_LEV0_K interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_K status on Interrupt Y.
INT_LEV0_J interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_J status on Interrupt Y.
INT_LEV0_I interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_I status on Interrupt Y.
INT_LEV0_H interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_H status on Interrupt Y.
INT_LEV0_G interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_G status on Interrupt Y.
INT_LEV0_F interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_F status on Interrupt Y.
INT_LEV0_E interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_E status on Interrupt Y.
INT_LEV0_D interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_D status on Interrupt Y.
INT_LEV0_C interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_C status on Interrupt Y.
INT_LEV0_B interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_B status on Interrupt Y.
INT_LEV0_A interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV0_A status on Interrupt Y.
Reserved.
INT_LEV1_L interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_L status on Interrupt Y.
INT_LEV1_K interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_K status on Interrupt Y.
INT_LEV1_J interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_J status on Interrupt Y.
INT_LEV1_I interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_I status on Interrupt Y.
INT_LEV1_H interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_H status on Interrupt Y.
INT_LEV1_G interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_G status on Interrupt Y.
INT_LEV1_F interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_F status on Interrupt Y.
INT_LEV1_E interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_E status on Interrupt Y.
INT_LEV1_D interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_D status on Interrupt Y.
INT_LEV1_C interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_C status on Interrupt Y.
INT_LEV1_B interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_B status on Interrupt Y.
INT_LEV1_A interrupt enable. Write a 1 to this bit to
enable drive of INT_LEV1_A status on Interrupt Y.
Rev. 0 | Page 80 of 101
Reset Access1
0x0
R
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
0x0
R
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
Data Sheet
Addr
Name
0x001C INT_ENABLE_YT1
0x001D INT_ENABLE_YT2
ADPD4100/ADPD4101
Bits
Bit Name
[15:12] Reserved
11
INTY_EN_TCLN1_L
10
INTY_EN_TCLN1_K
9
INTY_EN_TCLN1_J
8
INTY_EN_TCLN1_I
7
INTY_EN_TCLN1_H
6
INTY_EN_TCLN1_G
5
INTY_EN_TCLN1_F
4
INTY_EN_TCLN1_E
3
INTY_EN_TCLN1_D
2
INTY_EN_TCLN1_C
1
INTY_EN_TCLN1_B
0
INTY_EN_TCLN1_A
[15:12] Reserved
11
INTY_EN_TCLN2_L
10
INTY_EN_TCLN2_K
9
INTY_EN_TCLN2_J
8
INTY_EN_TCLN2_I
7
INTY_EN_TCLN2_H
6
INTY_EN_TCLN2_G
5
INTY_EN_TCLN2_F
4
INTY_EN_TCLN2_E
3
INTY_EN_TCLN2_D
2
INTY_EN_TCLN2_C
1
INTY_EN_TCLN2_B
0
INTY_EN_TCLN2_A
Description
Reserved.
INT_TCLN1_L interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_L status on Interrupt Y.
INT_TCLN1_K interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_K status on Interrupt Y.
INT_TCLN1_J interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_J status on Interrupt Y.
INT_TCLN1_I interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_I status on Interrupt Y.
INT_TCLN1_H interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_H status on Interrupt Y.
INT_TCLN1_G interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_G status on Interrupt Y.
INT_TCLN1_F interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_F status on Interrupt Y.
INT_TCLN1_E interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_E status on Interrupt Y.
INT_TCLN1_D interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_D status on Interrupt Y.
INT_TCLN1_C interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_C status on Interrupt Y.
INT_TCLN1_B interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_B status on Interrupt Y.
INT_TCLN1_A interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN1_A status on Interrupt Y.
Reserved.
INT_TCLN2_L interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_L status on Interrupt Y.
INT_TCLN2_K interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_K status on Interrupt Y.
INT_TCLN2_J interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_J status on Interrupt Y.
INT_TCLN2_I interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_I status on Interrupt Y.
INT_TCLN2_H interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_H status on Interrupt Y.
INT_TCLN2_G interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_G status on Interrupt Y.
INT_TCLN2_F interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_F status on Interrupt Y.
INT_TCLN2_E interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_E status on Interrupt Y.
INT_TCLN2_D interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_D status on Interrupt Y.
INT_TCLN2_C interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_C status on Interrupt Y.
INT_TCLN2_B interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_B status on Interrupt Y.
INT_TCLN2_A interrupt enable. Write a 1 to this bit to
enable drive of INT_TCLN2_A status on Interrupt .
Rev. 0 | Page 81 of 101
Reset Access1
0x0
R
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
0x0
R
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
ADPD4100/ADPD4101
Data Sheet
Addr
Name
Bits
0x001E FIFO_STATUS_BYTES [15:9]
8
1
Bit Name
Reserved
ENA_STAT_TCX
7
ENA_STAT_TC2
6
ENA_STAT_TC1
5
ENA_STAT_LX
4
ENA_STAT_L1
3
ENA_STAT_L0
2
ENA_STAT_D2
1
ENA_STAT_D1
0
ENA_STAT_SUM
Description
Reserved.
Enable Channel 1 and Channel 2 TIA ceiling detection
interrupt status byte for Time Slot I through Time Slot L.
This byte contains the interrupt status for the Channel 1
and Channel 2 interrupts for Time Slot I through Time Slot L.
Enable Channel 2 TIA ceiling detection interrupt status
byte for Time Slot A through Time Slot H. This byte
contains the interrupt status for the Channel 2 and
Channel 2 interrupts for Time Slot A through Time Slot H.
Enable Channel 1 TIA ceiling detection interrupt status
byte for Time Slot A through Time Slot H. This byte
contains the interrupt status for the Channel 1 and
Channel 2 interrupts for Time Slot A through Time Slot H.
Enable Level 0 and Level 1 interrupt status byte for
Time Slot I through Time Slot L. This byte contains the
interrupt status for the Level 0 and Level 1 interrupts for
Time Slot I through Time Slot L.
Enable Level 1 interrupt status byte for Time Slot A
through Time Slot H. This byte contains the interrupt
status for the Level 1 interrupts for Time Slot A through
Time Slot H.
Enable Level 0 interrupt status byte for Time Slot A
through Time Slot H. This byte contains the interrupt
status for Level Interrupt 0 for Time Slot A through Time
Slot H.
Enable data interrupt status byte for Time Slot I through
Time Slot L. This byte contains the data interrupt status
for Time Slot I through Time Slot L.
Enable data interrupt status byte for Time Slot A through
Time Slot H. This byte is the data interrupt status for Time
Slot A through Time Slot H.
Enable status summary byte. When enabled, write a
status byte containing the summary pattern to the FIFO
following the last enabled time slot data.
Reset Access1
0x0
R
0x0
R
0x0
R
0x0
R
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
R/W1C means write 1 to clear.
THRESHOLD SETUP AND CONTROL REGISTERS
Table 32. Threshold Setup and Control Register Details
Addr
Name
0x0006 FIFO_TH
Bits
Bit Name
[15:10] Reserved
[9:0]
FIFO_TH
Reset Access
0x00 R
0x000 R/W
0x0115
0x0135
0x0155
0x0175
0x0195
0x01B5
0x01D5
0x01F5
0x0215
0x0235
0x0255
0x0275
[15:8]
7
0x0
0x0
R
R/W
0x0
R/W
0x0
R/W
THRESH_CFG_A
THRESH_CFG_B
THRESH_CFG_C
THRESH_CFG_D
THRESH_CFG_E
THRESH_CFG_F
THRESH_CFG_G
THRESH_CFG_H
THRESH_CFG_I
THRESH_CFG_J
THRESH_CFG_K
THRESH_CFG_L
6
[5:4]
Description
Reserved.
FIFO interrupt generation threshold. Generate FIFO interrupt
during a FIFO write when the number of bytes in the FIFO exceeds
this value. The FIFO is 512 bytes. Therefore, the maximum value for
FIFO_TH is 0x1FF.
Reserved
Reserved.
THRESH1_CHAN_x Select channel for Level 1 interrupt.
0: use Channel 1.
1: use Channel 2.
THRESH1_DIR_x
Direction of comparison for Level 1 interrupt.
0: set when below Level 1 interrupt threshold.
1: set when above Level 1 interrupt threshold.
THRESH1_TYPE_x Type of comparison for Level 1 interrupt.
0: off (no comparison).
1: compare to signal.
10: compare to dark.
11: reserved.
Rev. 0 | Page 82 of 101
Data Sheet
Addr
0x0116
0x0136
0x0156
0x0176
0x0196
0x01B6
0x01D6
0x01F6
0x0216
0x0236
0x0256
0x0276
0x0117
0x0137
0x0157
0x0177
0x0197
0x01B7
0x01D7
0x01F7
0x0217
0x0237
0x0257
0x0277
Name
THRESH0_A
THRESH0_B
THRESH0_C
THRESH0_D
THRESH0_E
THRESH0_F
THRESH0_G
THRESH0_H
THRESH0_I
THRESH0_J
THRESH0_K
THRESH0_L
THRESH1_A
THRESH1_B
THRESH1_C
THRESH1_D
THRESH1_E
THRESH1_F
THRESH1_G
THRESH1_H
THRESH1_I
THRESH1_J
THRESH1_K
THRESH1_L
ADPD4100/ADPD4101
Bits
3
Bit Name
Description
THRESH0_CHAN_x Select channel for Level 0 interrupt.
0: use Channel 1.
1: use Channel 2.
2
THRESH0_DIR_x
Direction of comparison for Level 0 interrupt.
0: set when below Level 0 interrupt threshold.
1: set when above Level 0 interrupt threshold.
[1:0]
THRESH0_TYPE_x Type of comparison for Level 0 interrupt.
0: off (no comparison).
1: compare to signal.
10: compare to dark.
11: reserved.
[15:13] Reserved
Reserved.
[12:8] THRESH0_SHIFT_x Shift for Level 0 interrupt comparison threshold. Shift
THRESH0_VALUE_x by this amount before comparing.
[7:0]
THRESH0_VALUE_x Value for Level 0 interrupt comparison threshold.
[15:13] Reserved
[12:8] THRESH1_SHIFT_x
[7:0]
Reserved.
Shift for Level 1 interrupt comparison threshold. Shift
THRESH1_VALUE_x by this amount before comparing.
THRESH1_VALUE_x Value for Level 1 interrupt comparison threshold.
Rev. 0 | Page 83 of 101
Reset Access
0x0
R/W
0x0
R/W
0x0
R/W
0x0
0x0
R
R/W
0x0
R/W
0x0
0x0
R
R/W
0x0
R/W
ADPD4100/ADPD4101
Data Sheet
CLOCK AND TIMESTAMP SETUP AND CONTROL REGISTERS
Table 33. Clock and Timestamp Setup and Control Register Details
Addr
Name
0x0009 OSC32M
Bits
[15:8]
[7:0]
Bit Name
Reserved
OSC_32M_FREQ_ADJ
Description
Reserved.
High frequency oscillator frequency control. 0x00 is the lowest
frequency, and 0xFF is maximum frequency.
Start high frequency oscillator calibration cycle. Writing a 1 to
0x000A OSC32M_CAL 15
OSC_32M_CAL_START
this bit causes the high frequency oscillator calibration cycle to
occur. 32 MHz oscillator cycles are counted during 128 low
frequency oscillator cycles if using the 1 MHz low frequency
oscillator, or 32 low frequency oscillator cycles if using the
32 kHz low frequency oscillator. The OSC_32M_CAL_COUNT
bits are updated with the count. The calibration circuit clears
the OSC_32M_CAL_START bit when the calibration cycle is
completed.
[14:0] OSC_32M_CAL_COUNT High frequency oscillator calibration count. These bits contain
the total number of 32 MHz cycles that occurred during the
last high frequency oscillator calibration cycle.
0x000B OSC1M
[15:11] Reserved
Reserved.
Enables clock for oscillator calibration. When set to 0 (default),
10
CLK_CAL_ENA
the oscillator calibration circuitry is disabled. Set this bit to 1 to
turn on the oscillator calibration circuitry.
Low frequency oscillator frequency control. 0x000 is the lowest
[9:0]
OSC_1M_FREQ_ADJ
frequency, and 0x3FF is maximum frequency.
Enable time stamp capture. This bit is used to activate the time
0x000C OSC32K
15
CAPTURE_TIMESTAMP
stamp capture function. When set, the next rising edge on the
time stamp input (defaults to GPIO0) causes a time stamp
capture. This bit is cleared when the time stamp occurs.
[14:6] Reserved
Reserved.
[5:0]
OSC_32K_ADJUST
32 kHz oscillator trim.
00 0000: maximum frequency.
01 0010: default frequency.
11 1111: minimum frequency.
0x0011 STAMP_L
[15:0] TIMESTAMP_COUNT_L
Count at last time stamp. Lower 16 bits.
0x0012 STAMP_H
[15:0] TIMESTAMP_COUNT_H
Count at last time stamp. Upper 16 bits.
0x0013 STAMPDELTA [15:0] TIMESTAMP_SLOT_DELTA Count remaining until next time slot start.
Reset Access
0x0
R
0x80 R/W
0x0
R/W
0x0
R
0x0
0x0
R
R/W
0x2B2 R/W
0x0
R/W
0x0
0x12
R
R/W
0x0
0x0
0x0
R
R
R
Reset
0x2
0xC2
0x0
0x0
Access
R
R
R
R/W
0x0
R/W
0x0
R/W
0x0
R/W
SYSTEM REGISTERS
Table 34. System Register Details
Addr
Name
0x0008 CHIP_ID
Bits
[15:8]
[7:0]
0x002E DATA_HOLD_FLAG [15:12]
11
Bit Name
Version
CHIP_ID
Reserved
HOLD_REGS_L
10
HOLD_REGS_K
9
HOLD_REGS_J
8
HOLD_REGS_I
Description
Mask version.
Chip ID.
Reserved.
Prevent update of Time Slot L data registers.
0: allow data register update.
1: hold current contents of data register.
Prevent update of time Slot K data registers.
0: allow data register update.
1: hold current contents of data register.
Prevent update of Time Slot J data registers.
0: allow data register update.
1: hold current contents of data register.
Prevent update of Time Slot I data registers.
0: allow data register update.
1: hold current contents of data register.
Rev. 0 | Page 84 of 101
Data Sheet
Addr
Name
0x00B6 I2C_KEY
0x00B7 I2C_ADDR
ADPD4100/ADPD4101
Bits
7
Bit Name
HOLD_REGS_H
Description
Prevent Update of Time Slot H data registers.
0: allow data register update.
1: hold current contents of data register.
6
HOLD_REGS_G
Prevent update of Time Slot G data registers.
0: allow data register update.
1: hold current contents of data register.
5
HOLD_REGS_F
Prevent update of Time Slot F data registers.
0: allow data register update.
1: hold current contents of data register.
4
HOLD_REGS_E
Prevent update of Time Slot E data registers.
0: allow data register update.
1: hold current contents of data register.
3
HOLD_REGS_D
Prevent update of Time Slot D data registers.
0: allow data register update.
1: hold current contents of data register.
2
HOLD_REGS_C
Prevent update of Time Slot C data registers.
0: allow data register update.
1: hold current contents of data register.
1
HOLD_REGS_B
Prevent update of Time Slot B data registers.
0: allow data register update.
1: hold current contents of data register.
0
HOLD_REGS_A
Prevent update of Time Slot A data registers.
0: allow data register update.
1: hold current contents of data register.
[15:12] I2C_KEY_MATCH Write the I2C_KEY_MATCH bits to specify which GPIOx pins must
be high to change the slave address. A 0 ignores that specific
GPIO input. A 1 selects which GPIOx must be high to change the
address. Any combination is allowed. Use Bit 12 for GPIO0, Bit 13
for GPIO1, Bit 14 for GPIO2, and Bit 15 for GPIO3.
I2C address change key. Must write these bits to 0x4AD to change
[11:0] I2C_KEY
address. Write these bits at the same time that the I2C_KEY_MATCH
bits are written.
[15:8] I2C_SLAVE_KEY2 I2C key, Part 2. Must be written to 0xAD immediately following the
write of the I2C_KEY bits. The GPIOx pins as selected in the
I2C_KEY_MATCH bits must also be set high at this time.
[7:1]
I2C_SLAVE_ADDR I2C slave address update field. Write the desired 7-bit slave
address along with proper keys to change the I2C slave address.
0
Reserved
Reserved.
Rev. 0 | Page 85 of 101
Reset Access
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R0/W
0x0
R/W
0x24
R/W
0x0
R
ADPD4100/ADPD4101
Data Sheet
I/O SETUP AND CONTROL REGISTERS
Table 35. I/O Setup and Control Register Details
Addr
Name
0x0022 GPIO_CFG
Bits
Bit Name
[15:14] GPIO_SLEW
[13:12] GPIO_DRV
[11:9]
GPIO_PIN_CFG3
[8:6]
GPIO_PIN_CFG2
[5:3]
GPIO_PIN_CFG1
[2:0]
GPIO_PIN_CFG0
Description
Slew control for GPIOx pins.
0: slowest.
1: slow.
10: fastest.
11: fast.
Drive control for GPIOx pins.
0: medium.
1: weak.
10: strong.
11: strong.
GPIO3 pin configuration.
000: disabled (tristate, input buffer off ).
001: enabled input.
010: output—normal.
011: output—inverted.
100: pull-down only—normal.
101: pull-down only—inverted.
110: pull-up only—normal.
111: pull-up only—inverted.
GPIO2 pin configuration.
000: disabled (tristate, input buffer off ).
001: enabled input.
010: output—normal.
011: output—inverted.
100: pulldown only—normal.
101: pull-down only—inverted.
110: pull-up only—normal.
111: pull-up only—inverted.
GPIO1 pin configuration.
000: disabled (tristate, input buffer off ).
001: enabled input.
010: output—normal.
011: output—inverted.
100: pull-down only—normal.
101: pull-down only—inverted.
110: pull-up only—normal.
111: pull-up only—inverted.
GPIO0 pin configuration.
000: disabled (tristate, input buffer off ).
001: enabled input.
010: output—normal.
011: output—inverted.
100: pull-down only—normal.
101: pull-down only—inverted.
110: pull-up only—normal.
111: pull-up only—inverted.
Rev. 0 | Page 86 of 101
Reset Access
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
Data Sheet
Addr
Name
0x0023 GPIO01
ADPD4100/ADPD4101
Bits
15
[14:8]
Bit Name
Reserved
GPIOOUT1
Description
Reset Access
Reserved.
0x0
R
GPIO1 output signal select.
0x0
R/W
0x00: Output Logic 0.
0x01: Output Logic 1.
0x02: Interrupt X.
0x03: Interrupt Y.
0x08: LED1x amplifier enable
0x09: LED2x amplifier enable
0x0A: LED3x amplifier enable
0x0B: LED4x amplifier enable
0x0C: Any LED amplifier enable
0x0F: 32 MHz oscillator output divided by 64 (500 kHz).
0x10: time slot specific output pattern defined by TS_GPIO_x and
TS_GPIO_SLEEP bits.
0x11: in sleep state.
0x16: low frequency oscillator output.
0x17: 32 MHz oscillator output.
0x18: 32 MHz oscillator output divided by 32 (1 MHz).
0x20: Time Slot A active.
0x21: Time Slot B active.
0x22: Time Slot C active.
0x23: Time Slot D active.
0x24: Time Slot E active.
0x25: Time Slot F active.
0x26: Time Slot G active.
0x27: Time Slot H active.
0x28: Time Slot I active.
0x29: Time Slot J active.
0x2A: Time Slot K active.
0x2B: Time Slot L active.
0x30: Time Slot A LED pulse.
0x31: Time Slot B LED pulse.
0x32: Time Slot C LED pulse.
0x33: Time Slot D LED pulse.
0x34: Time Slot E LED pulse.
0x35: Time Slot F LED pulse.
0x36: Time Slot G LED pulse.
0x37: Time Slot H LED pulse.
0x38: Time Slot I LED pulse.
0x39: Time Slot J LED pulse.
0x3A: Time Slot K LED pulse.
0x3B: Time Slot L LED pulse.
0x3F: any time slot LED pulse.
0x40: Time Slot A modulation pulse.
0x41: Time Slot B modulation pulse.
0x42: Time Slot C modulation pulse.
0x43: Time Slot D modulation pulse.
0x44: Time Slot E modulation pulse.
0x45: Time Slot F modulation pulse.
0x46: Time Slot G modulation pulse.
0x47: Time Slot H modulation pulse.
0x48: Time Slot I modulation pulse.
0x49: Time Slot J modulation pulse.
Rev. 0 | Page 87 of 101
ADPD4100/ADPD4101
Addr
Name
Bits
7
[6:0]
0x0024 GPIO23
15
[14:8]
7
[6:0]
0x0025 GPIO_IN
[15:4]
[3:0]
0x0026 GPIO_EXT
[15:9]
8
7
6
[5:4]
3
2
[1:0]
Data Sheet
Bit Name
Description
0x4A: Time Slot K modulation pulse.
0x4B: Time Slot L modulation pulse.
0x4F: any time slot modulation pulse.
0x50: output data cycle occurred in Time Slot A, which is useful
when synchronizing an external device to a decimated data rate
from the ADPD4100/ADPD4101.
0x51: output data cycle occurred in Time Slot B.
0x52: output data cycle occurred in Time Slot C.
0x53: output data cycle occurred in Time Slot D.
0x54: output data cycle occurred in Time Slot E.
0x55: output data cycle occurred in Time Slot F.
0x56: output data cycle occurred in Time Slot G.
0x57: output data cycle occurred in Time Slot H.
0x58: output data cycle occurred in Time Slot I.
0x59: output data cycle occurred in Time Slot J.
0x5A: output data cycle occurred in Time Slot K.
0x5B: output data cycle occurred in Time Slot L.
0x5F: output data cycle occurred in any time slot.
Reserved
Reserved.
GPIO0 output signal select. Options are identical to those
GPIOOUT0
described in GPIOOUT1.
Reserved
Reserved.
GPIO3 output signal select. Options are identical to those
GPIOOUT3
described in GPIOOUT1.
Reserved
Reserved.
GPIO2 output signal select. Options are identical to those
GPIOOUT2
described in GPIOOUT1.
Reserved
Reserved.
GPIO input value (if enabled). Read back the value present on any
GPIO_INPUT
GPIO enabled as an input. Bit 0 is GPIO1, Bit 1 is GPIO1, Bit 2 is
GPIO2, and Bit 3 is GPIO3.
Reserved
Reserved.
When GPIOOUTx is set to 0x10, the GPIO returns to the
TS_GPIO_SLEEP
TS_GPIO_SLEEP value at the end of the time slot and during sleep.
TIMESTAMP_INV
Time stamp trigger invert.
0: time stamp trigger is rising edge.
1: time stamp trigger is falling edge.
TIMESTAMP_ALWAYS_EN Enable time stamp always on. When set, do not automatically
clear CAPTURE_TIMESTAMP. This bit provides an always activated
time stamp.
TIMESTAMP_GPIO
Time stamp GPIO select.
0x0: use GPIO0 for time stamp (default).
0x1: use GPIO1 for time stamp.
0x2: use GPIO2 for time stamp.
0x3: use GPIO3 for time stamp
Reserved
Reserved.
External sync enable. When enabled, use the GPIO selected by
EXT_SYNC_EN
EXT_SYNC_GPIO to trigger samples rather than the period
counter.
EXT_SYNC_GPIO
External synchronization GPIO select.
00: use GPIO0 for external synchronization
01: use GPIO1 for external synchronization.
10: use GPIO2 for external synchronization.
11: use GPIO3 for external synchronization.
Rev. 0 | Page 88 of 101
Reset Access
0x0
0x0
R
R/W
0x0
0x0
R
R/W
0x0
0x0
R
R/W
0x0
0x0
R
R
0x0
0x0
R
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
0x0
R/W
R/W
0x0
R/W
Data Sheet
ADPD4100/ADPD4101
Addr
Name
Bits
0x00B4 IO_ADJUST [15:7]
6
Bit Name
Reserved
LOW_IOVDD_EN
[5:4]
[3:2]
Reserved
SPI_SLEW
[1:0]
SPI_DRV
Description
Reserved.
Set to 0x0 if IOVDD of 3 V or higher is used. Default value of 0x1
used for IOVDD is lower than 3 V, because the typical value of
IOVDD is 1.8 V.
Set to 0x01.
Slew control for SPI pins.
0: slowest.
1: slow.
10: fastest.
11: fast.
Drive control for SPI pins.
0: medium.
1: weak.
10: strong.
11: strong.
Reset Access
0x000 R
0x1
R/W
Description
Subsample using DECIMATE_FACTOR_x. When this bit is
set, operate the selected time slot only once per
(DECIMATE_FACTOR_x + 1) time slot sequences.
Reset Access
0x0
R/W
0x01
0x0
R/W
R/W
0x0
R/W
TIME SLOT CONFIGURATION REGISTERS
Table 36. Time Slot Configuration Register Details
Addr
0x0100
0x0120
0x0140
0x0160
0x0180
0x01A0
0x01C0
0x01E0
0x0200
0x0220
0x0240
0x0260
0x0101
0x0121
0x0141
0x0161
0x0181
0x01A1
0x01C1
0x01E1
0x0201
Name
TS_CTRL_A
TS_CTRL_B
TS_CTRL_C
TS_CTRL_D
TS_CTRL_E
TS_CTRL_F
TS_CTRL_G
TS_CTRL_H
TS_CTRL_I
TS_CTRL_J
TS_CTRL_K
TS_CTRL_L
TS_PATH_A
TS_PATH_B
TS_PATH_C
TS_PATH_D
TS_PATH_E
TS_PATH_F
TS_PATH_G
TS_PATH_H
TS_PATH_I
Bits
15
Bit Name
SUBSAMPLE_x
14
CH2_EN_x
Channel 2 enable.
0: Channel 2 disabled.
1: Channel 2 enabled.
[13:12] SAMPLE_TYPE_x
Time Slot x sampling type.
00: standard sampling modes.
01: one-region digital integration mode.
10: two-region digital integration mode.
11: impulse response mode.
[11:10] INPUT_R_SELECT_x
Input resistor (RIN) select.
00: 500 Ω.
01: 6.5 kΩ.
10: reserved.
11: reserved.
[9:0]
TIMESLOT_OFFSET_x Time Slot x offset in 64 × the number of 1 MHz low
frequency oscillator cycles or 2 × the number of 32 kHz
low frequency oscillator cycles.
Preconditioning duration for Time Slot x. This value is in
[15:12] PRE_WIDTH_x
2 μs increments. A value of 0 skips the preconditioning
state. Default is 8 μs.
[11:10] Reserved
9
TS_GPIO_x
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x4
R/W
Write 0x0.
0x0
Time slot specific value for Time Slot x. When GPIOOUTx is 0x0
set to 0x10 and TS_GPIO_x is set to 1, the GPIO selected
by GPIOOUTx outputs a 1 while the time slot selected by
TS_GPIO_x is active. The GPIO returns to the
TS_GPIO_SLEEP value at the end of the time slot.
R
R/W
Rev. 0 | Page 89 of 101
ADPD4100/ADPD4101
Data Sheet
Addr
0x0221
0x0241
0x0261
Name
TS_PATH_J
TS_PATH_K
TS_PATH_L
Bits
[8:0]
Bit Name
AFE_PATH_CFG_x
0x0102
0x0122
0x0142
0x0162
0x0182
0x01A2
0x01C2
0x01E2
0x0202
0x0222
0x0242
0x0262
INPUTS_A
INPUTS_B
INPUTS_C
INPUTS_D
INPUTS_E
INPUTS_F
INPUTS_G
INPUTS_H
INPUTS_I
INPUTS_J
INPUTS_K
INPUTS_L
[15:12] INP78_x
[11:8]
INP56_x
[7:4]
INP34_x
Description
Signal path selection.
0x0DA: TIA, BPF, integrator, and ADC.
0x0E6: TIA, integrator, and ADC.
0x106: TIA and ADC.
0x101: ADC.
0x0E1: buffer and ADC.
0x0E6: TIA, integrator, and ADC.
IN7 and IN8 input pair enable.
0000: input pair disabled. IN7 and IN8 disconnected.
0001: IN7 connected to Channel 1. IN8 disconnected.
0010: IN7 connected to Channel 2. IN8 disconnected.
0011: IN7 disconnected. IN8 connected to Channel 1.
0100: IN7 disconnected. IN8 connected to Channel 2.
0101: IN7 connected to Channel 1. IN8 connected to
Channel 2.
0110: IN7 connected to Channel 2. IN8 connected to
Channel 1.
0111: IN7 and IN8 connected to Channel 1. Singleended or differential, based on PAIR78.
1000: IN7 and IN8 connected to Channel 2. Single-ended
or differential, based on PAIR78.
IN5 and IN6 input pair enable.
0000: input pair disabled. IN5 and IN6 disconnected.
0001: IN5 connected to Channel 1. IN6 disconnected.
0010: IN5 connected to Channel 2. IN6 disconnected.
0011: IN5 disconnected. IN6 connected to Channel 1.
0100: IN5 disconnected. IN6 connected to Channel 2.
0101: IN5 connected to Channel 1. IN6 connected to
Channel 2.
0110: IN5 connected to Channel 2. IN6 connected to
Channel 1.
0111: IN5 and IN6 connected to Channel 1. Single-ended
or differential, based on PAIR56.
1000: IN5 and IN6 connected to Channel 2. Single-ended
or differential, based on PAIR56.
IN3 and IN4 input pair enable.
0000: input pair disabled. IN3 and IN4 disconnected.
0001: IN3 connected to Channel 1. IN4 disconnected.
0010: IN3 connected to Channel 2. IN4 disconnected.
0011: IN3 disconnected. IN4 connected to Channel 1.
0100: IN3 disconnected. IN4 connected to Channel 2.
0101: IN3 connected to Channel 1. IN4 connected to
Channel 2.
0110: IN3 connected to Channel 2. IN4 connected to
Channel 1.
0111: IN3 and IN4 connected to Channel 1. Single-ended
or differential, based on PAIR34.
1000: IN3 and IN4 connected to Channel. Single-ended or
differential, based on PAIR34.
Rev. 0 | Page 90 of 101
Reset Access
0x0DA R/W
0x0
R/W
0x0
R/W
0x0
R/W
Data Sheet
ADPD4100/ADPD4101
Addr
Name
Bits
[3:0]
Bit Name
INP12_x
0x0103
0x0123
0x0143
0x0163
0x0183
0x01A3
0x01C3
0x01E3
0x0203
0x0223
0x0243
0x0263
CATHODE_A
CATHODE_B
CATHODE_C
CATHODE_D
CATHODE_E
CATHODE_F
CATHODE_G
CATHODE_H
CATHODE_I
CATHODE_J
CATHODE_K
CATHODE_L
15
Reserved
[14:12] PRECON_x
[11:10] VC2_PULSE_x
[9:8]
VC2_ALT_x
[7:6]
VC2_SEL_x
[5:4]
VC1_PULSE_x
[3:2]
VC1_ALT_x
[1:0]
VC1_SEL_x
Description
IN1 and IN2 input pair enable.
0000: input pair disabled. IN1 and IN2 disconnected.
0001: IN1 connected to Channel 1. IN2 disconnected.
0010: IN1 connected to Channel 2. IN2 disconnected.
0011: IN1 disconnected. IN2 connected to Channel 1.
0100: IN1 disconnected. IN2 connected to Channel 2.
0101: IN1 connected to Channel 1. IN2 connected to
Channel 2.
0110: IN1 connected to Channel 2. IN2 connected to
Channel 1.
0111: IN1 and IN2 connected to Channel 1. Single-ended
or differential, based on PAIR12.
1000: IN1 and IN2 connected to Channel 2. Single-ended
or differential, based on PAIR12.
Reserved.
Precondition value for enabled inputs during Time Slot x.
000: float input(s).
001: precondition to VC1.
010: precondition to VC2.
011: precondition to VICM. Used when inputs are
configured differentially.
100: precondition with TIA input.
101: precondition with TIA_VREF.
110: precondition by shorting differential pair.
VC2 pulse control for Time Slot x.
00: no pulsing.
01: alternate VC2 on each subsequent Time Slot x.
10: pulse to alternate value specified in VC2_ALT_x using
modulation pulse.
VC2 alternate pulsed state for Time Slot x.
00: VDD.
01: TIA_VREF.
10: TIA_VREF + 215 mV.
11: GND.
VC2 active state for Time Slot x.
00: VDD.
01: TIA_VREF.
10: TIA_VREF + 215 mV.
11: GND.
VC1 pulse control for Time Slot x.
00: no pulsing.
01: alternate VC1 on each subsequent Time Slot x.
10: pulse to alternate value specified in VC1_ALT_x using
modulation pulse.
VC1 alternate pulsed state for Time Slot x.
00: VDD.
01: TIA_VREF.
10: TIA_VREF + 215 mV.
11: GND.
VC1 active state for Time Slot x.
00: VDD.
01: TIA_VREF.
10: TIA_VREF + 215 mV.
11: GND.
Rev. 0 | Page 91 of 101
Reset Access
0x0
R/W
0x0
0x0
R
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
ADPD4100/ADPD4101
Addr
0x0104
0x0124
0x0144
0x0164
0x0184
0x01A4
0x01C4
0x01E4
0x0204
0x0224
0x0244
0x0264
0x010D
0x012D
0x014D
0x016D
0x018D
0x01AD
0x01CD
0x01ED
0x020D
Name
AFE_TRIM_A
AFE_TRIM_B
AFE_TRIM_C
AFE_TRIM_D
AFE_TRIM_E
AFE_TRIM_F
AFE_TRIM_G
AFE_TRIM_H
AFE_TRIM_I
AFE_TRIM_J
AFE_TRIM_K
AFE_TRIM_L
PATTERN_A
PATTERN_B
PATTERN_C
PATTERN_D
PATTERN_E
PATTERN_F
PATTERN_G
PATTERN_H
PATTERN_I
Bits
15
Data Sheet
Bit Name
TIA_CEIL_DETECT_
EN_x
Description
Reset Access
Set to 1 to enable TIA ceiling detection circuitry. Enables
0x0
R/W
Channel 1 TIA ceiling detection circuitry and Channel 2
TIA ceiling detection circuitry if Channel 2 is also enabled.
[14:13] CH2_TRIM_INT_x
[12:11] CH1_TRIM_INT_x
10
VREF_PULSE_x
[9:8]
AFE_TRIM_VREF_x
[7:6]
VREF_PULSE_VAL_x
[5:3]
TIA_GAIN_CH2_x
[2:0]
TIA_GAIN_CH1_x
[15:12] LED_DISABLE_x
Set the integrator input resistor when AFE_INT_C_BUF_x = 0.
Set the buffer gain when AFE_INT_C_BUF_x = 1
AFE_INT_C_BUF_x = 0
AFE_INT_C_BUF_x = 1
00: 400 kΩ.
00: gain = 1.
01: 200 kΩ.
01: gain = 1.
10: 100 kΩ.
10: gain = 0.7.
11: 100 kΩ.
11: gain = 0.7.
Set the integrator input resistor when AFE_INT_C_BUF_x = 0.
Set the buffer gain when AFE_INT_C_BUF_x = 1 or in
digital integration mode.
AFE_INT_C_BUF_x = 0
AFE_INT_C_BUF_x = 1
00: 400 kΩ.
00: gain = 1.
01: 200 kΩ.
01: gain = 1.
10: 100 kΩ.
10: gain = 0.7.
11: 100 kΩ.
11: gain = 0.7.
TIA_VREF pulse control.
0: no pulsing.
1: pulse TIA_VREF based on modulation pulse.
Voltage select for TIA_VREF.
00: TIA_VREF = 1.1385 V.
01: TIA_VREF = 1.012 V.
10: TIA_VREF = 0.8855 V.
11: TIA_VREF = 1.265 V.
TIA_VREF pulse alternate value.
00: modulate TIA_VREF = 1.1385 V.
01: modulate TIA_VREF = 1.012 V.
10: modulate TIA_VREF = 0.8855 V.
11: modulate TIA_VREF = 1.265 V.
TIA resistor gain setting for Channel 2.
000: 200 kΩ.
001: 100 kΩ.
010: 50 kΩ.
011: 25 kΩ.
100: 12.5 kΩ.
TIA resistor gain setting for Channel 1.
000: 200 kΩ.
001: 100 kΩ.
010: 50 kΩ.
011: 25 kΩ.
100: 12.5 kΩ.
Four-pulse LED disable pattern. Set to 1 to disable the LED
pulse in the matching position in a group of four pulses.
The LSB maps to the first pulse.
0x0
R/W
0x0
R/W
0x0
R/W
0x3
R/W
0x3
R/W
0x0
R/W
0x0
R/W
0x0
R/W
[11:8]
MOD_DISABLE_x
Four-pulse modulation disable pattern. Set to 1 to disable 0x0
the modulation pulse in the matching position in a group
of four pulses. The LSB maps to the first pulse.
R/W
[7:4]
SUBTRACT_x
Four-pulse subtract pattern. Set to 1 to negate the math
operation in the matching position in a group of four
pulses. The LSB maps to the first pulse.
R/W
Rev. 0 | Page 92 of 101
0x0
Data Sheet
ADPD4100/ADPD4101
Addr
0x022D
0x024D
0x026D
Name
PATTERN_J
PATTERN_K
PATTERN_L
Bits
[3:0]
Bit Name
REVERSE_INTEG_x
0x0110
0x0130
0x0150
0x0170
0x0190
0x01B0
0x01D0
0x01F0
0x0210
0x0230
0x0250
0x0270
0x0111
0x0131
0x0151
0x0171
0x0191
0x01B1
0x01D1
0x01F1
0x0211
0x0231
0x0251
0x0271
0x0112
0x0132
0x0152
0x0172
0x0192
0x01B2
0x01D2
0x01F2
0x0212
0x0232
0x0252
0x0272
DATA_FORMAT_A
DATA_FORMAT_B
DATA_FORMAT_C
DATA_FORMAT_D
DATA_FORMAT_E
DATA_FORMAT_F
DATA_FORMAT_G
DATA_FORMAT_H
DATA_FORMAT_I
DATA_FORMAT_J
DATA_FORMAT_K
DATA_FORMAT_L
LIT_DATA_FORMAT_A
LIT_DATA_FORMAT_B
LIT_DATA_FORMAT_C
LIT_DATA_FORMAT_D
LIT_DATA_FORMAT_E
LIT_DATA_FORMAT_F
LIT_DATA_FORMAT_G
LIT_DATA_FORMAT_H
LIT_DATA_FORMAT_I
LIT_DATA_FORMAT_J
LIT_DATA_FORMAT_K
LIT_DATA_FORMAT_L
DECIMATE_A
DECIMATE_B
DECIMATE_C
DECIMATE_D
DECIMATE_E
DECIMATE_F
DECIMATE_G
DECIMATE_H
DECIMATE_I
DECIMATE_J
DECIMATE_K
DECIMATE_L
[15:11] DARK_SHIFT_x
Description
Reset Access
Four-pulse integration reverse pattern. Set to 1 to reverse 0x0
R/W
the integrator positive/negative pulse order in the
matching position in a group of four pulses. The LSB maps
to the first pulse.
Number of bits to shift the dark data to the right before
0x0
R/W
writing to the FIFO for Time Slot x. Selectable between
0 bits and 32 bits.
[10:8]
DARK_SIZE_x
Number of bytes of dark data to be written to the FIFO for 0x0
Time Slot x. Selectable between 0 bytes and 4 bytes.
R/W
[7:3]
SIGNAL_SHIFT_x
Number of bits to shift the signal data to the right before
writing to the FIFO for Time Slot x. Selectable between
0 bits and 32 bits.
0x0
R/W
[2:0]
SIGNAL_SIZE_x
Number of bytes of signal data to be written to the FIFO
for Time Slot x. Selectable between 0 bytes and 4 bytes.
0x3
R/W
[15:8]
[7:3]
Reserved
LIT_SHIFT_x
Reserved
Number of bits to shift the lit data to the right before
writing to the FIFO for Time Slot x. Selectable between
0 bits and 32 bits.
0x0
0x0
R/W
R/W
[2:0]
LIT_SIZE_x
Number of bytes of lit data to be written to the FIFO for
Time Slot x. Selectable between 0 bytes and 4 bytes.
0x3
R/W
[15:11] Reserved
Write 0x0.
[10:4] DECIMATE_FACTOR_x Decimate sample divider. Output data rate is sample
rate ÷ (DECIMATE_FACTOR_x + 1). Decimate by 1 to 128.
0x0
0x0
R
R/W
[3:0]
0x0
R/W
DECIMATE_TYPE_x
Decimation type select.
0: block sum, CIC first order.
1: signal uses CIC second order.
10: signal uses CIC third order.
11: signal uses CIC fourth order.
100: reserved.
Rev. 0 | Page 93 of 101
ADPD4100/ADPD4101
Data Sheet
AFE TIMING SETUP REGISTERS
Table 37. AFE Timing Setup Register Details
Addr
0x0107
0x0127
0x0147
0x0167
0x0187
0x01A7
0x01C7
0x01E7
0x0207
0x0227
0x0247
0x0267
0x0108
0x0128
0x0148
0x0168
0x0188
0x01A8
0x01C8
0x01E8
0x0208
0x0228
0x0248
0x0268
Name
COUNTS_A
COUNTS_B
COUNTS_C
COUNTS_D
COUNTS_E
COUNTS_F
COUNTS_G
COUNTS_H
COUNTS_I
COUNTS_J
COUNTS_K
COUNTS_L
PERIOD_A
PERIOD_B
PERIOD_C
PERIOD_D
PERIOD_E
PERIOD_F
PERIOD_G
PERIOD_H
PERIOD_I
PERIOD_J
PERIOD_K
PERIOD_L
Bits
[15:8]
Bit Name
NUM_INT_x
Description
Number of ADC cycles or acquisition width. Number of analog
integration cycles per ADC conversion or the acquisition width
for digital integration and impulse mode. A setting of 0 is not
allowed.
Reset Access
0x1
R/W
[7:0]
NUM_REPEAT_x
Number of sequence repeats. Total number of pulses =
NUM_INT_x × NUM_REPEAT_x. A setting of 0 is not allowed.
0x1
R/W
Reserved.
Modulation connection type.
00: TIA is continuously connected to input after precondition.
No connection modulation.
0x0
0x0
R
R/W
0x0
0x0
R
R/W
0x0
R/W
0x0
R/W
0x0
0x0
R/W
R/W
0x0
R/W
0x0
0x3
R
R/W
[15:14] Reserved
[13:12] MOD_TYPE_x
01: float type operation. Pulse connection from input to TIA
with modulation pulse, floating between pulses.
10: nonfloat type connection modulation. Pulse connection
from input to TIA. Connect to precondition value between
pulses.
[11:10] Reserved
[9:0]
MIN_PERIOD_x
Reserved.
Minimum period for pulse repetition in μs. Override for the
automatically calculated period. Used in float type operations
to set the float time of second and subsequent floats using the
formula: Float Time = MIN_PERIOD_x − MOD_WIDTH_x.
0x010A INTEG_SETUP_A 15
SINGLE_INTEG_x
Use single integrator pulse.
0x012A INTEG_SETUP_B
0: use both generated integrator clocks.
0x014A INTEG_SETUP_C
1: skip the second integrator clock.
0x016A INTEG_SETUP_D [14:12] CH2_AMP_DISABLE_x Amplifier disables for power control. Set the appropriate bit to
0x018A INTEG_SETUP_E
disable the Channel 2 amplifier in Time Slot x.
0x01AA INTEG_SETUP_F
0: TIA.
0x01CA INTEG_SETUP_G
1: BPF.
0x01EA INTEG_SETUP_H
2: integrator.
0x020A INTEG_SETUP_I 11
AFE_INT_C_BUF_x
Set to 1 to configure the integrator as a buffer in Time Slot x.
0x022A INTEG_SETUP_J [10:8] CH1_AMP_DISABLE_x Amplifier disables for power control. Set the appropriate bit to
disable the Channel 1 amplifier in Time Slot x.
0x024A INTEG_SETUP_K
0x026A INTEG_SETUP_L
0: TIA.
1: BPF.
2: integrator.
ADC conversions per pulse. Number of conversions =
[7:6]
ADC_COUNT_x
ADC_COUNT + 1.
5
Reserved
Reserved.
[4:0]
INTEG_WIDTH_A
Integrator clock width in μs. Must be >0.
Rev. 0 | Page 94 of 101
Data Sheet
Addr
0x010B
0x012B
0x014B
0x016B
0x018B
0x01AB
0x01CB
0x01EB
0x020B
0x022B
0x024B
0x026B
0x010C
0x012C
0x014C
0x016C
0x018C
0x01AC
0x01CC
0x01EC
0x020C
0x022C
0x024C
0x026C
0x0113
0x0133
0x0153
0x0173
0x0193
0x01B3
0x01D3
0x01F3
0x0213
0x0233
0x0253
0x0273
0x0114
0x0134
0x0154
0x0174
0x0194
0x01B4
0x01D4
0x01F4
0x0214
0x0234
0x0254
0x0274
Name
INTEG_OS_A
INTEG_OS_B
INTEG_OS_C
INTEG_OS_D
INTEG_OS_E
INTEG_OS_F
INTEG_OS_G
INTEG_OS_H
INTEG_OS_I
INTEG_OS_J
INTEG_OS_K
INTEG_OS_L
MOD_PULSE_A
MOD_PULSE_B
MOD_PULSE_C
MOD_PULSE_D
MOD_PULSE_E
MOD_PULSE_F
MOD_PULSE_G
MOD_PULSE_H
MOD_PULSE_I
MOD_PULSE_J
MOD_PULSE_K
MOD_PULSE_L
DIGINT_LIT_A
DIGINT_LIT_B
DIGINT_LIT_C
DIGINT_LIT_D
DIGINT_LIT_E
DIGINT_LIT_F
DIGINT_LIT_G
DIGINT_LIT_H
DIGINT_LIT_I
DIGINT_LIT_J
DIGINT_LIT_K
DIGINT_LIT_L
DIGINT_DARK_A
DIGINT_DARK_B
DIGINT_DARK_C
DIGINT_DARK_D
DIGINT_DARK_E
DIGINT_DARK_F
DIGINT_DARK_G
DIGINT_DARK_H
DIGINT_DARK_I
DIGINT_DARK_J
DIGINT_DARK_K
DIGINT_DARK_L
ADPD4100/ADPD4101
Bits
Bit Name
[15:13] Reserved
[12:5] INTEG_OFFSET_x
Description
Reserved.
Integrator clock offset for Time Slot x in 1 µs increments per LSB.
Must be >0.
Integrator clock offset for Time Slot x in 31.25 ns increments
per LSB.
Reset Access
0x0
R
0x10
R/W
0x14
R/W
[4:0]
INTEG_OFFSET_x
[15:8]
[7:0]
MOD_WIDTH_x
MOD_OFFSET_x
Modulation pulse width for Time Slot x in μs. 0 = disable.
Modulation pulse offset for Time Slot x in μs. Must be >0.
0x0
0x1
R/W
R/W
[15:9]
[8:0]
Reserved
LIT_OFFSET_x
Reserved.
Digital integration mode, acquisition window lit offset in μs for
Time Slot x. Also, impulse response mode offset. Must be >0.
0x0
0x26
R
R/W
[15:7]
DARK2_OFFSET_x
Digital integration mode, acquisition window Dark Offset 2 for
Time Slot x in μs. Must be >0.
0x046 R/W
[6:0]
DARK1_OFFSET_x
Digital integration mode, acquisition window Dark Offset 1 for
Time Slot x in μs. Must be >0.
0x6
Rev. 0 | Page 95 of 101
R/W
ADPD4100/ADPD4101
Data Sheet
LED CONTROL AND TIMING REGISTERS
Table 38. LED Control and Timing Register Details
Addr
0x0105
0x0125
0x0145
0x0165
0x0185
0x01A5
0x01C5
0x01E5
0x0205
0x0225
0x0245
0x0265
0x0106
0x0126
0x0146
0x0166
0x0186
0x01A6
0x01C6
0x01E6
0x0206
0x0226
0x0246
0x0266
0x0109
0x0129
0x0149
0x0169
0x0189
0x01A9
0x01C9
0x01E9
0x0209
0x0229
0x0249
0x0269
Name
LED_POW12_A
LED_POW12_B
LED_POW12_C
LED_POW12_D
LED_POW12_E
LED_POW12_F
LED_POW12_G
LED_POW12_H
LED_POW12_I
LED_POW12_J
LED_POW12_K
LED_POW12_L
LED_POW34_A
LED_POW34_B
LED_POW34_C
LED_POW34_D
LED_POW34_E
LED_POW34_F
LED_POW34_G
LED_POW34_H
LED_POW34_I
LED_POW34_J
LED_POW34_K
LED_POW34_L
LED_PULSE_A
LED_PULSE_B
LED_PULSE_C
LED_PULSE_D
LED_PULSE_E
LED_PULSE_F
LED_PULSE_G
LED_PULSE_H
LED_PULSE_I
LED_PULSE_J
LED_PULSE_K
LED_PULSE_L
Bits
15
Bit Name
Description
LED_DRIVESIDE2_x LED output select for LED2x.
0: drive LED on Output LED2A.
1: drive LED on Output LED2B.
[14:8] LED_CURRENT2_x LED current setting for LED2A or LED2B output. Set to 0 to disable.
Output current varies monotonically from 1.5 mA to 200 mA for
values between 0x01 and 0x7F.
7
[6:0]
LED_DRIVESIDE1_x LED output select for LED1x.
0: drive LED on Output LED1A.
1: drive LED on Output LED1B.
LED_CURRENT1_x LED current setting for LED1A or LED1B output. Set to 0 to disable.
Output current varies monotonically from 1.5 mA to 200 mA for
values between 0x01 and 0x7F.
15
LED_DRIVESIDE4_x LED output select for LED4x.
0: drive LED on Output LED4A.
1: drive LED on Output LED4B.
[14:8] LED_CURRENT4_x LED current setting for LED4A or LED4B output. Set to 0 to disable.
Output current varies monotonically from 1.5 mA to 200 mA for
values between 0x01 and 0x7F.
7
[6:0]
LED_DRIVESIDE3_x LED output select for LED3x.
0: drive LED on Output LED3A.
1: drive LED on Output LED3B.
LED_CURRENT3_x LED current setting for LED3A or LED3B output. Set to 0 to disable.
Output current varies monotonically from 1.5 mA to 200 mA for
values between 0x01 and 0x7F.
[15:8] LED_WIDTH_x
[7:0] LED_OFFSET_x
LED pulse width in μs. 0 = disable.
LED pulse offset in μs. Set to a minimum of 16 μs (0x10). Must be >0.
Rev. 0 | Page 96 of 101
Reset Access
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x0
R/W
0x2
0x10
R/W
R/W
Data Sheet
ADPD4100/ADPD4101
ADC OFFSET REGISTERS
Table 39. ADC Offset Register Details
Addr
0x010E
0x012E
0x014E
0x016E
0x018E
0x01AE
0x01CE
0x01EE
0x020E
0x022E
0x024E
0x026E
0x010F
0x012F
0x014F
0x016F
0x018F
0x01AF
0x01CF
0x01EF
0x020F
0x022F
0x024F
0x026F
Name
ADC_OFF1_A
ADC_OFF1_B
ADC_OFF1_C
ADC_OFF1_D
ADC_OFF1_E
ADC_OFF1_F
ADC_OFF1_G
ADC_OFF1_H
ADC_OFF1_I
ADC_OFF1_J
ADC_OFF1_K
ADC_OFF1_L
ADC_OFF2_A
ADC_OFF2_B
ADC_OFF2_C
ADC_OFF2_D
ADC_OFF2_E
ADC_OFF2_F
ADC_OFF2_G
ADC_OFF2_H
ADC_OFF2_I
ADC_OFF2_J
ADC_OFF2_K
ADC_OFF2_L
Bits
Bit Name
Description
[15:14] Reserved
Reserved.
[13:0] CH1_ADC_ADJUST_x Adjustment to ADC value. This value is subtracted from the ADC
value for Channel 1 in Time Slot x. Set to 0 for chop and float modes.
Reset Access
0x0
R
0x0
R/W
15
14
[13:0]
0x0
R/W
0x0
R/W
ZERO_ADJUST_x
Reserved
Reserved.
CH2_ADC_ADJUST_x Adjustment to ADC value. This value is subtracted from the ADC
value for Channel 2 in Time Slot x. Set to 0 for chop and float modes.
OUTPUT DATA REGISTERS
Table 40. Output Data Register Details
Addr
0x002F
0x0030
0x0031
0x0032
0x0033
0x0034
0x0035
0x0036
0x0037
0x0038
0x0039
0x003A
0x003B
0x003C
0x003D
0x003E
0x003F
0x0040
0x0041
0x0042
0x0043
Name
FIFO_DATA
SIGNAL1_L_A
SIGNAL1_H_A
SIGNAL2_L_A
SIGNAL2_H_A
DARK1_L_A
DARK1_H_A
DARK2_L_A
DARK2_H_A
SIGNAL1_L_B
SIGNAL1_H_B
SIGNAL2_L_B
SIGNAL2_H_B
DARK1_L_B
DARK1_H_B
DARK2_L_B
DARK2_H_B
SIGNAL1_L_C
SIGNAL1_H_C
SIGNAL2_L_C
SIGNAL2_H_C
Bits
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
Bit Name
FIFO_DATA
SIGNAL1_L_A
SIGNAL1_H_A
SIGNAL2_L_A
SIGNAL2_H_A
DARK1_L_A
DARK1_H_A
DARK2_L_A
DARK2_H_A
SIGNAL1_L_B
SIGNAL1_H_B
SIGNAL2_L_B
SIGNAL2_H_B
DARK1_L_B
DARK1_H_B
DARK2_L_B
DARK2_H_B
SIGNAL1_L_C
SIGNAL1_H_C
SIGNAL2_L_C
SIGNAL2_H_C
Description
FIFO data port
Signal Channel 1 lower half, Time Slot A
Signal Channel 1 upper half, Time Slot A
Signal Channel 2 lower half, Time Slot A
Signal Channel 2 upper half, Time Slot A
Dark Channel 1 value lower half, Time Slot A
Dark Channel 1 value upper half, Time Slot A
Dark Channel 2 value lower half, Time Slot A
Dark Channel 2 value upper half, Time Slot A
Signal Channel 1 lower half, Time Slot B
Signal Channel 1 upper half, Time Slot B
Signal Channel 2 lower half, Time Slot B
Signal Channel 2 upper half, Time Slot B
Dark Channel 1 value lower half, Time Slot B
Dark Channel 1 value upper half, Time Slot B
Dark Channel 2 value lower half, Time Slot B
Dark Channel 2 value upper half, Time Slot B
Signal Channel 1 lower half, Time Slot C
Signal Channel 1 upper half, Time Slot C
Signal Channel 2 lower half, Time Slot C
Signal Channel 2 upper half, Time Slot C
Rev. 0 | Page 97 of 101
Reset
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
Access
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
ADPD4100/ADPD4101
Addr
0x0044
0x0045
0x0046
0x0047
0x0048
0x0049
0x004A
0x004B
0x004C
0x004D
0x004E
0x004F
0x0050
0x0051
0x0052
0x0053
0x0054
0x0055
0x0056
0x0057
0x0058
0x0059
0x005A
0x005B
0x005C
0x005D
0x005E
0x005F
0x0060
0x0061
0x0062
0x0063
0x0064
0x0065
0x0066
0x0067
0x0068
0x0069
0x006A
0x006B
0x006C
0x006D
0x006E
0x006F
0x0070
0x0071
0x0072
0x0073
0x0074
0x0075
0x0076
0x0077
0x0078
Name
DARK1_L_C
DARK1_H_C
DARK2_L_C
DARK2_H_C
SIGNAL1_L_D
SIGNAL1_H_D
SIGNAL2_L_D
SIGNAL2_H_D
DARK1_L_D
DARK1_H_D
DARK2_L_D
DARK2_H_D
SIGNAL1_L_E
SIGNAL1_H_E
SIGNAL2_L_E
SIGNAL2_H_E
DARK1_L_E
DARK1_H_E
DARK2_L_E
DARK2_H_E
SIGNAL1_L_F
SIGNAL1_H_F
SIGNAL2_L_F
SIGNAL2_H_F
DARK1_L_F
DARK1_H_F
DARK2_L_F
DARK2_H_F
SIGNAL1_L_G
SIGNAL1_H_G
SIGNAL2_L_G
SIGNAL2_H_G
DARK1_L_G
DARK1_H_G
DARK2_L_G
DARK2_H_G
SIGNAL1_L_H
SIGNAL1_H_H
SIGNAL2_L_H
SIGNAL2_H_H
DARK1_L_H
DARK1_H_H
DARK2_L_H
DARK2_H_H
SIGNAL1_L_I
SIGNAL1_H_I
SIGNAL2_L_I
SIGNAL2_H_I
DARK1_L_I
DARK1_H_I
DARK2_L_I
DARK2_H_I
SIGNAL1_L_J
Bits
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
Data Sheet
Bit Name
DARK1_L_C
DARK1_H_C
DARK2_L_C
DARK2_H_C
SIGNAL1_L_D
SIGNAL1_H_D
SIGNAL2_L_D
SIGNAL2_H_D
DARK1_L_D
DARK1_H_D
DARK2_L_D
DARK2_H_D
SIGNAL1_L_E
SIGNAL1_H_E
SIGNAL2_L_E
SIGNAL2_H_E
DARK1_L_E
DARK1_H_E
DARK2_L_E
DARK2_H_E
SIGNAL1_L_F
SIGNAL1_H_F
SIGNAL2_L_F
SIGNAL2_H_F
DARK1_L_F
DARK1_H_F
DARK2_L_F
DARK2_H_F
SIGNAL1_L_G
SIGNAL1_H_G
SIGNAL2_L_G
SIGNAL2_H_G
DARK1_L_G
DARK1_H_G
DARK2_L_G
DARK2_H_G
SIGNAL1_L_H
SIGNAL1_H_H
SIGNAL2_L_H
SIGNAL2_H_H
DARK1_L_H
DARK1_H_H
DARK2_L_H
DARK2_H_H
SIGNAL1_L_I
SIGNAL1_H_I
SIGNAL2_L_I
SIGNAL2_H_I
DARK1_L_I
DARK1_H_I
DARK2_L_I
DARK2_H_I
SIGNAL1_L_J
Description
Dark Channel 1 value lower half, Time Slot C
Dark Channel 1 value upper half, Time Slot C
Dark Channel 2 value lower half, Time Slot C
Dark Channel 2 value upper half, Time Slot C
Signal Channel 1 lower half, Time Slot D
Signal Channel 1 upper half, Time Slot D
Signal Channel 2 lower half, Time Slot D
Signal Channel 2 upper half, Time Slot D
Dark Channel 1 value lower half, Time Slot D
Dark Channel 1 value upper half, Time Slot D
Dark Channel 2 value lower half, Time Slot D
Dark Channel 2 value upper half, Time Slot D
Signal Channel 1 lower half, Time Slot E
Signal Channel 1 upper half, Time Slot E
Signal Channel 2 lower half, Time Slot E
Signal Channel 2 upper half, Time Slot E
Dark Channel 1 value lower half, Time Slot E
Dark Channel 1 value upper half, Time Slot E
Dark Channel 2 value lower half, Time Slot E
Dark Channel 2 value upper half, Time Slot E
Signal Channel 1 lower half, Time Slot F
Signal Channel 1 upper half, Time Slot F
Signal Channel 2 lower half, Time Slot F
Signal Channel 2 upper half, Time Slot F
Dark Channel 1 value lower half, Time Slot F
Dark Channel 1 value upper half, Time Slot F
Dark Channel 2 value lower half, Time Slot F
Dark Channel 2 value upper half, Time Slot F
Signal Channel 1 lower half, Time Slot G
Signal Channel 1 upper half, Time Slot G
Signal Channel 2 lower half, Time Slot G
Signal Channel 2 upper half, Time Slot G
Dark Channel 1 value lower half, Time Slot G
Dark Channel 1 value upper half, Time Slot G
Dark Channel 2 value lower half, Time Slot G
Dark Channel 2 value upper half, Time Slot G
Signal Channel 1 lower half, Time Slot H
Signal Channel 1 upper half, Time Slot H
Signal Channel 2 lower half, Time Slot H
Signal Channel 2 upper half, Time Slot H
Dark Channel 1 value lower half, Time Slot H
Dark Channel 1 value upper half, Time Slot H
Dark Channel 2 value lower half, Time Slot H
Dark Channel 2 value upper half, Time Slot H
Signal Channel 1 lower half, Time Slot I
Signal Channel 1 upper half, Time Slot I
Signal Channel 2 lower half, Time Slot I
Signal Channel 2 upper half, Time Slot I
Dark Channel 1 value lower half, Time Slot I
Dark Channel 1 value upper half, Time Slot I
Dark Channel 2 value lower half, Time Slot I
Dark Channel 2 value upper half, Time Slot I
Signal Channel 1 lower half, Time Slot J
Rev. 0 | Page 98 of 101
Reset
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
Access
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Data Sheet
Addr
0x0079
0x007A
0x007B
0x007C
0x007D
0x007E
0x007F
0x0080
0x0081
0x0082
0x0083
0x0084
0x0085
0x0086
0x0087
0x0088
0x0089
0x008A
0x008B
0x008C
0x008D
0x008E
0x008F
Name
SIGNAL1_H_J
SIGNAL2_L_J
SIGNAL2_H_J
DARK1_L_J
DARK1_H_J
DARK2_L_J
DARK2_H_J
SIGNAL1_L_K
SIGNAL1_H_K
SIGNAL2_L_K
SIGNAL2_H_K
DARK1_L_K
DARK1_H_K
DARK2_L_K
DARK2_H_K
SIGNAL1_L_L
SIGNAL1_H_L
SIGNAL2_L_L
SIGNAL2_H_L
DARK1_L_L
DARK1_H_L
DARK2_L_L
DARK2_H_L
ADPD4100/ADPD4101
Bits
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
[15:0]
Bit Name
SIGNAL1_H_J
SIGNAL2_L_J
SIGNAL2_H_J
DARK1_L_J
DARK1_H_J
DARK2_L_J
DARK2_H_J
SIGNAL1_L_K
SIGNAL1_H_K
SIGNAL2_L_K
SIGNAL2_H_K
DARK1_L_K
DARK1_H_K
DARK2_L_K
DARK2_H_K
SIGNAL1_L_L
SIGNAL1_H_L
SIGNAL2_L_L
SIGNAL2_H_L
DARK1_L_L
DARK1_H_L
DARK2_L_L
DARK2_H_L
Description
Signal Channel 1 upper half, Time Slot J
Signal Channel 2 lower half, Time Slot J
Signal Channel 2 upper half, Time Slot J
Dark Channel 1 value lower half, Time Slot J
Dark Channel 1 value upper half, Time Slot J
Dark Channel 2 value lower half, Time Slot J
Dark Channel 2 value upper half, Time Slot J
Signal Channel 1 lower half, Time Slot K
Signal Channel 1 upper half, Time Slot K
Signal Channel 2 lower half, Time Slot K
Signal Channel 2 upper half, Time Slot K
Dark Channel 1 value lower half, Time Slot K
Dark Channel 1 value upper half, Time Slot K
Dark Channel 2 value lower half, Time Slot K
Dark Channel 2 value upper half, Time Slot K
Signal Channel 1 lower half, Time Slot L
Signal Channel 1 upper half, Time Slot L
Signal Channel 2 lower half, Time Slot L
Signal Channel 2 upper half, Time Slot L
Dark Channel 1 value lower half, Time Slot L
Dark Channel 1 value upper half, Time Slot L
Dark Channel 2 value lower half, Time Slot L
Dark Channel 2 value upper half, Time Slot L
Rev. 0 | Page 99 of 101
Reset
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
0x0
Access
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
ADPD4100/ADPD4101
Data Sheet
OUTLINE DIMENSIONS
2.180
2.140
2.100
0.225
BSC
5
4
3
2
1
A
BALL A1
IDENTIFIER
B
3.150
3.110
3.070
C
2.40
REF
D
E
0.40
BSC
F
G
TOP VIEW
SIDE VIEW
0.330
0.300
0.270
0.315
BSC
(BALL SIDE UP)
COPLANARITY
0.05
SEATING
PLANE
0.230
0.200
0.170
PKG-005711
0.300
0.260
0.220
06-03-2019-B
0.560
0.500
0.440
BOTTOM VIEW
0.225
BSC
1.60
REF
(BALL SIDE DOWN)
0.485
BSC
Figure 58. 35-Ball Wafer Level Chip Scale Package [WLCSP]
(CB-35-2)
Dimensions shown in millimeters
2.180
2.140
2.100
0.225
BSC
5
4
3
2
1
A
BALL A1
IDENTIFIER
B
3.150
3.110
3.070
C
2.40
REF
D
E
0.40
BSC
F
G
TOP VIEW
0.225
BSC
1.60
REF
(BALL SIDE DOWN)
PKG-005914
SEATING
PLANE
SIDE VIEW
0.330
0.300
0.270
(BALL SIDE UP)
0.315
BSC
COPLANARITY
0.05
0.300
0.260
0.220
0.230
0.200
0.170
Figure 59. 33-Ball Wafer Level Chip Scale Package [WLCSP]
(CB-33-1)
Dimensions shown in millimeters
Rev. 0 | Page 100 of 101
06-03-2019-B
0.560
0.500
0.440
BOTTOM VIEW
0.485
BSC
Data Sheet
ADPD4100/ADPD4101
ORDERING GUIDE
Model1, 2
ADPD4100BCBZR7
ADPD4101BCBZR7
EVAL-ADPD4100Z-PPG
1
2
Temperature Range
−40°C to +85°C
−40°C to +85°C
Package Description
35-Ball Wafer Level Chip Scale Package [WLCSP]
33-Ball Wafer Level Chip Scale Package [WLCSP]
Evaluation Board
Package Option
CB-35-2
CB-33-1
Z = RoHS Compliant Part.
EVAL-ADPDUCZ is the microcontroller board, ordered separately, which is required to interface with the EVAL-ADPD4100Z-PPG evaluation board.
I2C refers to a communications protocol originally developed by Philips Semiconductors (now NXP Semiconductors).
©2020 Analog Devices, Inc. All rights reserved. Trademarks and
registered trademarks are the property of their respective owners.
D23297-6/20(0)
Rev. 0 | Page 101 of 101