General Description
The MAX30105 is an integrated particle-sensing module.
It includes internal LEDs, photodetectors, optical elements,
and low-noise electronics with ambient light rejection. The
MAX30105 provides a complete system solution to ease
the design-in process of smoke detection applications
including fire alarms. Due to its extremely small size, the
MAX30105 can also be used as a smoke detection sensor
for mobile and wearable devices.
The MAX30105 operates on a single 1.8V power supply
and a separate 5.0V power supply for the internal LEDs.
It communicates through a standard I2C-compatible interface.
The module can be shut down through software with
zero standby current, allowing the power rails to remain
powered at all times.
Applications
●● Fire Alarms
●● Smoke Detectors for Building Automation
●● Smoke Detectors for Mobile Devices
●● Smoke Detectors for Wearable Devices
Benefits and Features
●● High Sensitivity Optical Reflective Solution for
Detection of Wide Variety of Particle Sizes
●● Tiny 5.6mm x 3.3mm x 1.55mm 14-Pin Optical
Module
• Integrated Cover Glass for Optimal, Robust
Performance
●● Ultra-Low Power Operation
• Programmable Sample Rate and LED Current for
Power Savings
• Ultra-Low Shutdown Current (0.7μA, typ)
●● Robust Motion Artifact Resilience
• High SNR
●● -40°C to +85°C Operating Temperature Range
●● Capable of Operating at High Ambient Levels
●● Excellent Ambient Rejection Capability
Ordering Information appears at end of data sheet.
19-8531; Rev 1; 7/16
PHOTO
DIODE
LED DRIVERS RED/IR/GREEN
LED
PACKAGING
SMOKE/STEAM
PARTICLES
ELECTRICAL OPTICAL
AMBIENT
LIGHT
18-BIT
CURRENT ADC
AMBIENT LIGHT
CANCELLATION
DIGITAL NOISE
CANCELLATION
DATA
FIFO
HOST (AP)
DRIVER I2C
HARDWARE FRAMEWORK
APPLICATIONS
ACRYLIC
(COVER
GLASS)
MAX30105
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
System Diagram
VDD to GND..........................................................-0.3V to +2.2V
GND to PGND.......................................................-0.3V to +0.3V
X_DRV, VLED+ to PGND.......................................-0.3V to +6.0V
All Other Pins to GND...........................................-0.3V to +6.0V
Output Short-Circuit Current Duration........................Continuous
Continuous Input Current into Any Terminal.....................±20mA
Continuous Power Dissipation (TA = +70°C)
OESIP (derate 5.5mW/°C above +70°C).....................440mW
Operating Temperature Range........................... -40°C to +85°C
Junction Temperature.........................................................+90°C
Soldering Temperature (reflow) .......................................+260°C
Storage Temperature Range............................. -40°C to +105°C
OESIP
Junction-to-Ambient Thermal Resistance (θJA).........180°C/W Junction-to-Case Thermal Resistance (θJC)..................150°C/W
(Note 1)
(VDD = 1.8V, VLED+ = 5.0V, TA = -40°C to +85°C, unless otherwise noted. Typical values are at TA = 25°C.) (Note 2)
PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS
POWER SUPPLY
Power-Supply Voltage VDD
Guaranteed by RED and IR count
tolerance 1.7 1.8 2.0 V
LED Supply Voltage VLED+
Guaranteed by PSRR of LED driver
(R_LED+ and IR_LED+ only) 3.1 3.3 5.25 V
Supply Current IDD
Particle-sensing mode, PW = 215μs,
50sps 600 1100
μA
IR only mode, PW = 215μS, 50sps 600 1100
Supply Current in Shutdown ISHDN TA = +25°C, MODE = 0x80 0.7 2.5 μA
OPTICAL SENSOR CHARACTERISTICS
ADC Resolution 18 bits
Red ADC Count
(Note 3) REDC
RED_PA = 0x0C, LED_PW = 0x01,
SPO2_SR = 0x05,
ADC_RGE = 0x00, TA = +25°C
65536 Counts
IR ADC Count
(Note 3) IRC
IR_PA = 0x0C, LED_PW = 0x01,
SPO2_SR = 0x05
ADC_RGE = 0x00, TA = +25°C
65536 Counts
Green ADC Count
(Note 3) GRNC
GRN_PA = 0x24, LED_PW = 0x11,
SPO2_SR = 0x05
ADC_RGE = 0x00, TA = +25°C
65536 Counts
SNR IR LED SNRIR
White card loop-back, LED_PW =
0x11, ADC_RGE = 0x10, TA = 25°C 89 300 dB
SNR Red LED SNRRED
White card loop-back, LED_PW =
0x11, ADC_RGE = 0x10, TA = 25°C 88.9 300 dB
SNR Green LED SNRGREEN
White card loop-back, LED_PW =
0x11, ADC_RGE = 0x01, TA = 25°C 80.4 dB
[url]www.maximintegrated.com[/url] Maxim Integrated │ 2
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Note 1: Package thermal resistances were obtained using the method described in JEDEC specification JESD51-7, using a four-layer
board. For detailed information on package thermal considerations, refer to [url]www.maximintegrated.com/thermal-tutorial.[/url]
Absolute Maximum Ratings
Package Thermal Characteristics
Electrical Characteristics
(VDD = 1.8V, VLED+ = 5.0V, TA = -40°C to +85°C, unless otherwise noted. Typical values are at TA = 25°C.) (Note 2)
PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS
Dark Current Count LED_DCC
RED_PA = IR_PA = 0x00,
LED_PW = 0x03, SPO2_SR = 0x01
ADC_RGE = 0x02
30 128 Counts
0.01 0.05 % of
FS
DC Ambient Light Rejection
(Note 4) ALR
ADC counts with finger on
sensor under direct sunlight
(100K lux), ADC_RGE
= 0x3, LED_PW = 0x03,
SPO2_SR = 0x01
Red
LED 2 Counts
IR
LED 2 Counts
ADC Count—PSRR (VDD) PSRRVDD
1.7V < VDD < 2.0V,
LED_PW = 0x00, SPO2_SR = 0x05
TA = +25°C
0.25 1 % of
FS
Frequency = DC to 100kHz, 100mVP-P 10 LSB
ADC Count—PSRR
(LED Driver Outputs) PSRRLED
3.6V < VLED+, < 5.0V, TA = +25°C 0.05 1 % of
FS
Frequency = DC to 100kHz,
100mVP-P
10 LSB
ADC Clock Frequency CLK 10.2 10.48 10.8 MHz
ADC Integration Time
(Note 4) INT
LED_PW = 0x00 69
μs
LED_PW = 0x01 118
LED_PW = 0x02 215
LED_PW = 0x03 411
Slot Timing (Timing Between
Sequential Channel Samples;
e.g., Red Pulse Rising Edge To
IR Pulse Rising Edge)
INT
LED_PW = 0x00 427
μs
LED_PW = 0x01 525
LED_PW = 0x02 720
LED_PW = 0x03 1107
COVER GLASS CHARACTERISTICS (Note 4)
Hydrolytic Resistance Class Per DIN ISO 719 HGB 1
IR LED CHARACTERISTICS (Note 4)
LED Peak Wavelength λP ILED = 20mA, TA = +25°C 870 880 900 nm
Full Width at Half Max Δλ ILED = 20mA, TA = +25°C 30 nm
Forward Voltage VF ILED = 20mA, TA = +25°C 1.4 V
Radiant Power PO ILED = 20mA, TA = +25°C 6.5 mW
RED LED CHARACTERISTICS (Note 4)
LED Peak Wavelength λP ILED = 20mA, TA = +25°C 650 660 670 nm
Full Width at Half Max Δλ ILED = 20mA, TA = +25°C 20 nm
Forward Voltage VF ILED = 20mA, TA = +25°C 2.1 V
[url]www.maximintegrated.com[/url] Maxim Integrated │ 3
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Electrical Characteristics (continued)
(VDD = 1.8V, VLED+ = 5.0V, TA = -40°C to +85°C, unless otherwise noted. Typical values are at TA = 25°C.) (Note 2)
Radiant Power PO ILED = 20mA, TA = +25°C 9.8 mW
PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS
GREEN LED CHARACTERISTICS (Note 4)
LED Peak Wavelength λP ILED = 50mA, TA = +25°C 530 537 545 nm
Full Width at Half Max Δλ ILED = 50mA, TA = +25°C 35 nm
Forward Voltage VF ILED = 50mA, TA = +25°C 33 V
Radiant Power PO ILED = 50mA, TA = +25°C 17.2 mW
PHOTODETECTOR CHARACTERISTICS (Note 4)
Spectral Range of Sensitivity Λ > 30% QE QE: Quantum Efficiency 640 980 nm
Radiant Sensitive Area A 1.36 mm2
Dimensions of Radiant Sensitive
Area L x W 1.38 x
0.98
mm x
mm
INTERNAL DIE TEMPERATURE SENSOR
Temperature ADC Acquisition
Time TT TA = +25°C 29 ms
Temperature Sensor Accuracy TA TA = +25°C ±1 °C
Temperature Sensor Minimum
Range TMIN -40 °C
Temperature Sensor Maximum
Range TMAX 85 °C
DIGITAL INPUTS (SCL, SDA)
Input Logic-Low Voltage VIL
0.3 x
VDD
V
Input Logic-High Voltage VIH
0.7 x
VDD
V
Input Hysteresis VHYS
0.5 x
VDD
V
Input Leakage Current IIN ±0.1 ±1 μA
Input Capacitance CIN 10 pF
DIGITAL OUTPUTS (SDA, INT)
Output Low Voltage VOL ISINK = 3mA 0.4 V
I2C TIMING CHARACTERISTICS
I2C Write Address AE Hex
I2C Read Address AF Hex
SCL Clock Frequency fSCL Lower limit not tested 0 400 kHz
Bus Free Time Between STOP
and START Condition tBUF 1.3 μs
[url]www.maximintegrated.com[/url] Maxim Integrated │ 4
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Electrical Characteristics (continued)
(VDD = 1.8V, VLED+ = 5.0V, TA = -40°C to +85°C, unless otherwise noted. Typical values are at TA = 25°C.) (Note 2)
Note 2: All devices are 100% production tested at TA = +25°C. Specifications over temperature limits are guaranteed by Maxim
Integrated’s bench or proprietary automated test equipment (ATE) characterization.
Note 3: Specifications are guaranteed by Maxim Integrated’s bench characterization and by 100% production test using proprietary
ATE setup and conditions.
Note 4: For design guidance only. Not production tested.
Note 5: These specifications are guaranteed by design, characterization, or I2C protocol.
Figure 1. I2C-Compatible Interface Timing Diagram
PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS
Hold Time (Repeated) START
Condition tHD,STA 0.6 μs
SCL Pulse-Width Low tLOW 1.3 μs
SCL Pulse-Width High tHIGH 0.6 μs
Setup Time for a Repeated
START Condition tSU,STA 0.6 μs
Data Hold Time tHD;DAT 0 0.9 μs
Data Setup Time tSU;DAT 100 ns
Setup Time for STOP Condition tSU;STO 0.6 μs
Pulse Width of Suppressed
Spike tSP 50 ns
Bus Capacitance Cb 400 pF
SDA and SCL Receiving Rise
Time Tr (Note 5) 20 300 ns
SDA and SCL Receiving Fall
Time tRf (Note 5) 20 x VDD/5.5 300 ns
SDA Transmitting Fall Time tof 20 x VDD/5.5 250 ns
SDA
SCL
tHD,STA
START CONDITION
tR tF
tLOW
tSU,DAT
tHD,DAT
tSU,STA tHD,STA
REPEATED START CONDITION
tSP tSU,STO
tBUF
STOP
CONDITION
START
CONDITION
tHIGH
[url]www.maximintegrated.com[/url] Maxim Integrated │ 5
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Electrical Characteristics (continued)
(VDD = 1.8V, VLED+ = 5.0V, TA = +25°C, unless otherwise noted.)
0
10
20
30
40
50
60
0 1 2 3 4 5
IR LED CURRENT (mA)
VLED VOLTAGE (V)
IR LED SUPPLY HEADROOM
toc02
ILED = 50mA
ILED = 20mA
0
10
20
30
40
50
60
0 1 2 3 4 5
GREEN LED CURRENT (mA)
VLED VOLTAGE (V)
GREEN LED SUPPLY HEADROOM
toc03
ILED = 50mA
ILED = 20mA
VLED= VX_DRV
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
0 0.5 1 1.5 2 2.5
SUPPLY CURRENT (mA)
SUPPLY VOLTAGE (V)
VDD SUPPLY CURRENT vs.
SUPPLY VOLTAGE toc04
SHUTDOWN
MODE
0
5000
10000
15000
20000
25000
30000
35000
40000
45000
50000
0 5 10 15 20
COUNTS (SUM)
DISTANCE (mm)
DC COUNTS vs. DISTANCE FOR
WHITE HIGH IMPACT STYRENE CARD
toc05
GREEN
IR
MODE = SPO2 and HR
ADC RES = 18 BITs
ADC SR = 100 SPS
ADC FULL SCALE = 16384nA
RED
LED
0.0
1.0
2.0
3.0
4.0
5.0
6.0
7.0
-50 0 50 100 150
VDD SHUTDOWN CURRENT (μA)
TEMPERATURE (°C)
VDD SHUTDOWN CURRENT
vs. TEMPERATURE toc06
VDD
2.2V
2.0V
1.8V
1.7V
0
10
20
30
40
50
60
0 1 2 3 4 5
RED LED CURRENT (mA)
VLED VOLTAGE (V)
RED LED SUPPLY HEADROOM
toc01
ILED = 50mA
ILED = 20mA
-20
0
20
40
60
80
100
120
500 600 700 800
NORMALIZED POWER (%)
WAVELENGTH (nm)
RED LED SPECTRA AT TA = +30°C
toc08
0.06
0.07
0.08
0.09
0.10
0.11
0.12
0.13
0.14
-50 0 50 100 150
VLED SHUTDOWN CURRENT (μA)
TEMPERATURE (°C)
VLED SHUTDOWN CURRENT
vs. TEMPERATURE
VLED = 4.75V
toc07
VLED = 5.25V
0
20
40
60
80
100
120
700 800 900 1000
NORMALIZED POWER (%)
WAVELENGTH (nm)
IR LED SPECTRA AT TA = +30°C
toc09
[url]www.maximintegrated.com[/url] Maxim Integrated │ 6
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Typical Operating Characteristics
(VDD = 1.8V, VLED+ = 5.0V, TA = +25°C, unless otherwise noted.)
645
650
655
660
665
670
675
-50 0 50 100 150
PEAK WAVELENGTH (nm)
TEMPERATURE (°C)
RED LED PEAK WAVELENGTH
vs. TEMPERATURE
toc11
LED CURRENT:
10mA
20mA
30mA
50mA
MODE = FLEX LED
ADC RES = 18 BITS
ADC SR = 400 SPS
ADC FULL SCALE = 2048nA
860
870
880
890
900
910
-50 0 50 100 150
PEAK WAVELENGTH (nm)
TEMPERATURE (°C)
IR LED PEAK WAVELENGTH
vs. TEMPERATURE
toc12
LED CURRENT
10mA
20mA
30mA
50mA
0
10
20
30
40
50
60
1.80 1.90 2.00 2.10 2.20 2.30
FORWARD CURRENT (mA)
FORWARD VOLTAGE (V)
RED LED FORWARD VOLTAGE vs.
FORWARD CURRENT AT TA = +25°C
toc13
MODE = FLEX LED
ADC RES = 18 BITS
ADC SR = 100 SPS
ADC FULL SCALE = 2048nA
0
10
20
30
40
50
60
70
1.25 1.30 1.35 1.40 1.45
FORWARD CURRENT (mA)
FORWARD VOLTAGE (V)
IR LED FORWARD VOLTAGE vs.
FORWARD CURRENT AT TA = +25°Ctoc14
MODE = FLEX LED
ADC RES = 18 BITS
ADC SR = 100 SPS
ADC FULL SCALE = 2048nA
0
10
20
30
40
50
60
2.7 2.8 2.9 3 3.1
FORWARD CURRENT (mA)
FORWARD VOLTAGE (V)
GREEN LED FORWARD VOLTAGE vs.
FORWARD CURRENT at 25°C
toc15
MODE = FLEX LED
ADC RES = 18 BITs
ADC SR = 200 SPS
ADC FULL SCALE = 2048nA
0
25
50
75
100
125
150
0 25 50 75 100 125 150 175 200 225
RELATIVE INTENSITY (%)
IF (mA)
RELATIVE INTENSITY
vs. GREEN LED FORWARD CURRENTt
oc16
-8
-4
0
4
8
12
16
0 50 100 150 200
DOMINANT WAVELENGTH SHIFT (nm)
IF (mA)
DOMINANT WAVELENGTH SHIFT
vs. GREEN LED FORWARD CURRENTt
oc17
-70
-60
-50
-40
-30
-20
-10
0
10 100 1000 10000 100000
MAGNITUDE (dB)
FREQUENCY (Hz)
PW = 69μs
PW = 118μs
PW = 215μs
PW = 411μs
AMBIENT REJECTION vs.
AMBIENT FREQUENCY
toc18
-20
0
20
40
60
80
100
120
400 450 500 550 600 650 700
NORMALIZED POWER (%)
WAVELENGTH (nm)
GREEN LED SPECTRA AT 30°C toc10
[url]www.maximintegrated.com[/url] Maxim Integrated │ 7
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Typical Operating Characteristics (continued)
(VDD = 1.8V, VLED+ = 5.0V, TA = +25°C, unless otherwise noted.)
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
400 500 600 700 800 900 1000 1100
QUANTUM EFFICIENCY
WAVELENGTH (nm)
PHOTODIODE QUANTUM EFFICIENCY
vs. WAVELENGTH toc19
[url]www.maximintegrated.com[/url] Maxim Integrated │ 8
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Typical Operating Characteristics (continued)
PIN
NAME
FUNCTION
1, 8, 14
N.C.
No Connection. Connect to PCB pad for mechanical stability.
2
SCL
I2C Clock Input
3
SDA
I2C Clock Data, Bidirectional (Open-Drain)
4
PGND
Power Ground of the LED Driver Blocks
5
R_DRV
Red LED Driver
6
IR_DRV
IR LED Driver
7
G_DRV
Green LED Driver
9
VLED+
LED Power Supply (anode connection). Use a bypass capacitor to PGND for best performance.
10
VLED+
11
VDD
Analog Power Supply Input. Use a bypass capacitor to GND for best performance.
12
GND
Analog Ground
13
INT
Active-Low Interrupt (Open-Drain). Connect to an external voltage with a pullup resistor.
N.C.1SCL2SDA3PGND4R_DRV5IR_DRV6G_DRV714N.C.13INT12GND11VDD10VLED+9VLED+8N.C.SENSORLEDsMAX30105
Pin Description
Pin Configuration
[url]www.maximintegrated.com[/url] Maxim Integrated │ 9
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Detailed Description
The MAX30105 is a complete particle detection sensor
system solution module. The MAX30105 maintains a very
small solution size without sacrificing optical/electrical
performance. Minimal external hardware components are
required for integration into a smoke detection system.
The MAX30105 is fully adjustable through software registers,
and the digital output data can be stored in a 32-deep
FIFO within the IC. The FIFO allows the MAX30105 to be
connected to a microcontroller or processor on a shared
bus, where the data is not being read continuously from
the MAX30105’s registers.
Particle-Sensing Subsystem
The particle-sensing subsystem contains ambient light
cancellation (ALC), a continuous-time sigma-delta ADC,
and proprietary discrete time filter. The ALC has an internal
Track/Hold circuit to cancel ambient light and increase the
effective dynamic range. The particle-sensing ADC has
a programmable full-scale range from 2μA to 16μA. The
ALC can cancel up to 200μA of ambient current.
The internal ADC is a continuous time oversampling
sigma-delta converter with 18-bit resolution. The ADC
sampling rate is 10.24MHz. The ADC output data rate
can be programmed from 50sps (samples per second) to
3200sps.
Temperature Sensor
The MAX30105 has an on-chip temperature sensor for
calibrating the temperature dependence of the particlesensing
subsystem. The temperature sensor has an
inherent resolution 0.0625°C.
LED Driver
The MAX30105 integrates red, green, and IR LED drivers
to modulate LED pulses for particle-sensing measurements.
The LED current can be programmed from 0 to 50mA
with proper supply voltage. The LED pulse width can be
programmed from 69μs to 411μs to allow the algorithm to
optimize particle-sensing accuracy and power consumption
based on use cases.
Proximity Function
When the particle-sensing function is initiated (by writing
the MODE register), the IR LED is activated in proximity
mode with a drive current set by the PILOT_PA register.
When an object is detected by exceeding the IR ADC
count threshold (set in the PROX_INT_THRESH register),
the part transitions automatically to the normal particle-
sensing Mode. To reenter proximity mode, the MODE
register must be rewritten (even if the value is the same).
The proximity function can be disabled by resetting
PROX_INT_EN to 0. In this case, the particle-sensing
mode begins immediately.
660nm 880nm
ADC
AMBIENT LIGHT
CANCELLATION ANALOG
DIE TEMP ADC
OSCILLATOR
DIGITAL
FILTER
DIGITAL
DATA
REGISTER
LED DRIVERS
I2C
COMMUNICATION INT
SDA
SCL
VLED+ VDD
R_DRV IR_DRV GND PGND
RED IR
VISIBLE+IR
MAX30105
GREEN
527nm
G_DRV
[url]www.maximintegrated.com[/url] Maxim Integrated │ 10
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Functional Diagram
Register Maps and Descriptions
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
REG
ADDR
POR
STATE
R/W
STATUS
Interrupt
Status 1
A_FULL
DATA_
RDY
ALC_
OVF
PROX_
INT
PWR_
RDY
0x00
0X00
R
Interrupt
Status 2
DIE_TEMP
_RDY
0x01
0x00
R
Interrupt
Enable 1
A_FULL_
EN
DATA_
RDY_EN
ALC_OVF_EN
PROX_
INT_EN
0x02
0X00
R/W
Interrupt
Enable 2
DIE_TEMP
_RDY_EN
0x03
0x00
R/W
FIFO
FIFO Write Pointer
FIFO_WR_PTR[4:0]
0x04
0x00
R/W
Overflow Counter
OVF_COUNTER[4:0]
0x05
0x00
R/W
FIFO Read Pointer
FIFO_RD_PTR[4:0]
0x06
0x00
R/W
FIFO Data Register
FIFO_DATA[7:0]
0x07
0x00
R/W
CONFIGURATION
FIFO Configuration
SMP_AVE[2:0]
FIFO_
ROLL
OVER_EN
FIFO_A_FULL[3:0]
0x08
0x00
R/W
Mode Configuration
SHDN
RESET
MODE[2:0]
0x09
0x00
R/W
SpO2 Configuration
0 (Reserved)
ADC_RGE
[1:0]
SR[2:0]
LED_PW[1:0]
0x0A
0x00
R/W
RESERVED
0x0B
0x00
R/W
LED Pulse Amplitude
LED1_PA[7:0]
0x0C
0x00
R/W
LED2_PA[7:0]
0x0D
0x00
R/W
LED3_PA[7:0]
0x0E
0x00
R/W
RESERVED
0x0F
0x00
R/W
Proximity Mode LED Pulse Amplitude
PILOT_PA[7:0]
0x10
0x00
R/W
Multi-LED Mode Control Registers
SLOT2[2:0]
SLOT1[2:0]
0x11
0x00
R/W
SLOT4[2:0]
SLOT3[2:0]
0x12
0x00
R/W
[url]www.maximintegrated.com[/url] Maxim Integrated │ 11
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
*XX denotes a 2-digit hexadecimal number (00 to FF) for part revision identification. Contact Maxim Integrated for the revision ID number assigned for your product.
Register Maps and Descriptions (continued)
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
REG
ADDR
POR
STATE
R/W
RESERVED
0x13–0x17
0xFF
R/W
RESERVED
0x18-0x1E
0x00
R
DIE TEMPERATURE
Die Temp Integer
TINT[7:0]
0x1F
0x00
R
Die Temp Fraction
TFRAC[3:0]
0x20
0x00
R
Die Temperature Config
TEMP
_EN
0x21
0x00
R
RESERVED
0x22–0x2F
0x00
R/W
PROXIMITY FUNCTION
Proximity Interrupt Threshold
PROX_INT_THRESH[7:0]
0x30
0x00
R/W
PART ID
Revision ID
REV_ID[7:0]
0xFE
0xXX*
R
Part ID
PART_ID[7]
0xFF
0x15
Rwww.maximintegrated.com Maxim Integrated │ 12
MAX30105High-Sensitivity Optical Sensor
for Smoke Detection Applications
Whenever an interrupt is triggered, the MAX30105 pulls the active-low interrupt pin into its low state until the interrupt is cleared.
A_FULL: FIFO Almost Full Flag
In particle-sensing mode, this interrupt triggers when the FIFO write pointer has a certain number of free spaces remaining. The trigger number can be set by the FIFO_A_FULL[3:0] register. The interrupt is cleared by reading the Interrupt Status 1 register (0x00).
DATA_RDY: New FIFO Data Ready
In particle-sensing mode, this interrupt triggers when there is a new sample in the data FIFO. The interrupt is cleared by reading the Interrupt Status 1 register (0x00), or by reading the FIFO_DATA register.
ALC_OVF: Ambient Light Cancellation Overflow
This interrupt triggers when the ambient light cancellation function of the particle-sensing photodiode has reached its maximum limit, and therefore, ambient light is affecting the output of the ADC. The interrupt is cleared by reading the Interrupt Status 1 register (0x00).
PROX_INT: Proximity Threshold Triggered
The proximity interrupt is triggered when the proximity threshold is reached, and particle-sensing mode has begun. This lets the host processor know to begin running the particle-sensing algorithm and collect data. The interrupt is cleared by reading the Interrupt Status 1 register (0x00).
PWR_RDY: Power Ready Flag
On power-up or after a brownout condition, when the supply voltage VDD transitions from below the undervoltage-lockout (UVLO) voltage to above the UVLO voltage, a power-ready interrupt is triggered to signal that the module is powered-up and ready to collect data.
DIE_TEMP_RDY: Internal Temperature Ready Flag
When an internal die temperature conversion is finished, this interrupt is triggered so the processor can read the
temperature data registers. The interrupt is cleared by reading either the Interrupt Status 2 register (0x01) or the TFRAC register (0x20).
Interrupt Status (0x00–0x01)
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
REG
ADDR
POR
STATE
R/W
Interrupt
Status 1
A_FULL
DATA_
RDY
ALC_OVF
PROX_
INT
PWR_
RDY
0x00
0X00
R
Interrupt
Status 2
DIE_
TEMP_RDY
0x01
0x00
R
[url]www.maximintegrated.com[/url] Maxim Integrated │ 13
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
The interrupts are cleared whenever the interrupt status register is read, or when the register that triggered the interrupt is read. For example, if the particle-sensing sensor triggers an interrupt due to finishing a conversion, reading either the FIFO data register or the interrupt register clears the interrupt pin (which returns to its normal HIGH state). This also clears all the bits in the interrupt status register to zero.
Interrupt Enable (0x02–0x03)
Each source of hardware interrupt, with the exception of power ready, can be disabled in a software register within the MAX30105 IC. The power-ready interrupt cannot be disabled because the digital state of the module is reset upon a brownout condition (low power supply voltage), and the default condition is that all the interrupts are disabled. Also, it is important for the system to know that a brownout condition has occurred, and the data within the module is reset as a result.
The unused bits should always be set to zero for normal operation.
FIFO (0x04–0x07)
FIFO Write Pointer
The FIFO Write Pointer points to the location where the MAX30105 writes the next sample. This pointer advances for each sample pushed on to the FIFO. It can also be changed through the I2C interface when MODE[2:0] is 010, 011, or 111.
FIFO Overflow Counter
When the FIFO is full, samples are not pushed on to the FIFO, samples are lost. OVF_COUNTER counts the number of samples lost. It saturates at 0xF. When a complete sample is “popped” (i.e., removal of old FIFO data and shifting the samples down) from the FIFO (when the read pointer advances), OVF_COUNTER is reset to zero.
FIFO Read Pointer
The FIFO Read Pointer points to the location from where the processor gets the next sample from the FIFO through the I2C interface. This advances each time a sample is popped from the FIFO. The processor can also write to this pointer after reading the samples to allow rereading samples from the FIFO if there is a data communication error.
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
REG
ADDR
POR
STATE
R/W
Interrupt
Enable 1
A_FULL_EN
DATA_
RDY_EN
ALC_OVF_EN
PROX_
INT_EN
0x02
0X00
R/W
Interrupt
Enable 2
DIE_TEMP_RDY_EN
0x03
0x00
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
REG
ADDR
POR
STATE
R/W
FIFO Write Pointer
FIFO_WR_PTR[4:0]
0x04
0x00
R/W
Over Flow Counter
OVF_COUNTER[4:0]
0x05
0x00
R/W
FIFO Read Pointer
FIFO_RD_PTR[4:0]
0x06
0x00
R/W
FIFO Data Register
FIFO_DATA[7:0]
0x07
0x00
R/Wwww.maximintegrated.com Maxim Integrated │ 14
MAX30105High-Sensitivity Optical Sensor
for Smoke Detection Applications
FIFO Data Register
The circular FIFO depth is 32 and can hold up to 32 samples of data. The sample size depends on the number of LED channels configured as active. As each channel signal is stored as a 3-byte data signal, the FIFO width can be 3 bytes, 6 bytes, 9 bytes, or 12 bytes in size.
The FIFO_DATA register in the I2C register map points to the next sample to be read from the FIFO. FIFO_RD_PTR points to this sample. Reading the FIFO_DATA register does not automatically increment the I2C register address. Burst reading this register reads the same address over and over. Each sample is 3 bytes of data per channel (i.e., 3 bytes for RED, 3 bytes for IR, etc.).
The FIFO registers (0x04–0x07) can all be written and read, but in practice only the FIFO_RD_PTR register should be written to in operation. The others are automatically incremented or filled with data by the MAX30105. When starting a new particle-sensing conversion, it is recommended to first clear the FIFO_WR_PTR, OVF_COUNTER, and FIFO_RD_PTR registers to all zeroes (0x00) to ensure the FIFO is empty and in a known state. When reading the MAX30105 registers in one burst-read I2C transaction, the register address pointer typically increments so that the next byte of data sent is from the next register, etc. The exception to this is the FIFO data register, register 0x07. When reading this register, the address pointer does not increment, but the FIFO_RD_PTR does. So the next byte of data sent represents the next byte of data available in the FIFO.
Entering and exiting the proximity mode (when PROX_INT_EN = 1) clears the FIFO by setting the write and read pointers equal to each other.
Reading from the FIFO
Normally, reading registers from the I2C interface autoincrements the register address pointer, so that all the registers can be read in a burst read without an I2C start event. In the MAX30105, this holds true for all registers except for the FIFO_DATA register (register 0x07).
Reading the FIFO_DATA register does not automatically increment the register address. Burst reading this register reads data from the same address over and over. Each sample comprises multiple bytes of data, so multiple bytes should be read from this register (in the same transaction) to get one full sample.
The other exception is 0xFF. Reading more bytes after the 0xFF register does not advance the address pointer back to 0x00, and the data read is not meaningful.
FIFO Data Structure
The data FIFO consists of a 32-sample memory bank that can store GREEN, IR, and RED ADC data. Since each sample consists of three channels of data, there are 9 bytes of data for each sample, and therefore 288 total bytes of data can be stored in the FIFO.
The FIFO data is left-justified as shown in Table 1; in other words, the MSB bit is always in the bit 17 data position regardless of ADC resolution setting. See Table 2 for a visual presentation of the FIFO data structure.
Table 1. FIFO Data is Left-Justified
ADC Resolution
FIFO_DATA[17]
FIFO_DATA[16]
…
FIFO_DATA[12]
FIFO_DATA[11]
FIFO_DATA[10]
FIFO_DATA[9]
FIFO_DATA[8]
FIFO_DATA[7]
FIFO_DATA[6]
FIFO_DATA[5]
FIFO_DATA[4]
FIFO_DATA[3]
FIFO_DATA[2]
FIFO_DATA[1]
FIFO_DATA[0]
18-bit
17-bit
16-bit
15-bit
[url]www.maximintegrated.com[/url] Maxim Integrated │ 15
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
FIFO Data Contains 3 Bytes per Channel
The FIFO data is left-justified, meaning that the MSB is always in the same location regardless of the ADC resolution setting. FIFO DATA[18] – [23] are not used. Table 2 shows the structure of each triplet of bytes (containing the 18-bit ADC data output of each channel).
Each data sample in particle-sensing mode comprises two data triplets (3 bytes each), To read one sample, requires an I2C read command for each byte. Thus, to read one sample in particle-sensing mode requires 6 I2C byte reads. To read one sample with three LED channels requires 9 I2C byte reads. The FIFO read pointer is automatically incremented after the first byte of each sample is read.
Write/Read Pointers
Write/Read pointers are used to control the flow of data in the FIFO. The write pointer increments every time a new sample is added to the FIFO. The read pointer is incremented every time a sample is read from the FIFO. To reread a sample from the FIFO, decrement its value by one and read the data register again.
The FIFO write/read pointers should be cleared (back to 0x00) upon entering particle-sensing mode, so that there is no old data represented in the FIFO. The pointers are automatically cleared if VDD is power-cycled or VDD drops below its UVLO voltage.
Table 2. FIFO Data (3 Bytes per Channel)
Figure 2a and 2b. Graphical Representation of the FIFO Data Register. The left shows three LEDs in multi-LED mode, and the right shows IR and Red only in particle-sensing Mode.
BYTE 1
FIFO_
DATA[17]
FIFO_
DATA[16]
BYTE 2
FIFO_
DATA[15]
FIFO_
DATA[14]
FIFO_
DATA[13]
FIFO_
DATA[12]
FIFO_
DATA[11]
FIFO_
DATA[10]
FIFO_
DATA[9]
FIFO_
DATA[8]
BYTE 3
FIFO_
DATA[7]
FIFO_
DATA[6]
FIFO_
DATA[5]
FIFO_
DATA[4]
FIFO_
DATA[3]
FIFO_
DATA[2]
FIFO_
DATA[1]
FIFO_
DATA[0]
Sample 2: LED Channel 1 (Byte 1-3)Sample 2: LED Channel 2 (Byte 1-3)NEWER SAMPLES2(a)Sample 2: LED Channel 3 (Byte 1-3)Sample 1: LED Channel 3 (Byte 1-3)Sample 1: LED Channel 1 (Byte 1-3)Sample 1: LED Channel 2 (Byte 1-3)2(b)OLDER SAMPLESSample 2: RED Channel (Byte 1-3)Sample 2: IR Channel (Byte 1-3)NEWER SAMPLES2(a)Sample 1: IR Channel (Byte 1-3)Sample 1: RED Channel (Byte 1-3)OLDER SAMPLESwww.maximintegrated.com Maxim Integrated │ 16
MAX30105High-Sensitivity Optical Sensor
for Smoke Detection Applications
Pseudo-Code Example of Reading Data from FIFO
First transaction: Get the FIFO_WR_PTR:
START;
Send device address + write mode
Send address of FIFO_WR_PTR;
REPEATED_START;
Send device address + read mode
Read FIFO_WR_PTR;
STOP;
The central processor evaluates the number of samples to be read from the FIFO:
NUM_AVAILABLE_SAMPLES = FIFO_WR_PTR – FIFO_RD_PTR
(Note: pointer wrap around should be taken into account)
NUM_SAMPLES_TO_READ = < less than or equal to NUM_AVAILABLE_SAMPLES >
Second transaction: Read NUM_SAMPLES_TO_READ samples from the FIFO:
START;
Send device address + write mode
Send address of FIFO_DATA;
REPEATED_START;
Send device address + read mode
for (i = 0; i < NUM_SAMPLES_TO_READ; i++) {
Read FIFO_DATA;
Save LED1[23:16];
Read FIFO_DATA;
Save LED1[15:8];
Read FIFO_DATA;
Save LED1[7:0];
Read FIFO_DATA;
Save LED2[23:16];
Read FIFO_DATA;
Save LED2[15:8];
Read FIFO_DATA;
Save LED2[7:0];
Read FIFO_DATA;
Save LED3[23:16];
Read FIFO_DATA;
Save LED3[15:8];
Read FIFO_DATA;
Save LED3[7:0];
Read FIFO_DATA;
}
STOP;
[url]www.maximintegrated.com[/url] Maxim Integrated │ 17
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
START;
Send device address + write mode
Send address of FIFO_RD_PTR;
Write FIFO_RD_PTR;
STOP;
Third transaction: Write to FIFO_RD_PTR register. If the second transaction was successful, FIFO_RD_PTR points to the next sample in the FIFO, and this third transaction is not necessary. Otherwise, the processor updates the FIFO_RD_PTR appropriately, so that the samples are reread.
FIFO Configuration (0x08)
Bits 7:5: Sample Averaging (SMP_AVE)
To reduce the amount of data throughput, adjacent samples (in each individual channel) can be averaged and decimated on the chip by setting this register.
Bit 4: FIFO Rolls on Full (FIFO_ROLLOVER_EN)
This bit controls the behavior of the FIFO when the FIFO becomes completely filled with data. If FIFO_ROLLOVER_EN is set (1), the FIFO Address rolls over to zero and the FIFO continues to fill with new data. If the bit is not set (0), then the FIFO is not updated until FIFO_DATA is read or the WRITE/READ pointer positions are changed.
Bits 3:0: FIFO Almost Full Value (FIFO_A_FULL)
This register sets the trigger for the FIFO_A_FULL interrupt. For example, if set to 0x0F, the interrupt triggers when there are 15 empty space left (17 data samples), and so on.
Table 3. Sample Averaging
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
REG
ADDR
POR
STATE
R/W
FIFO Configuration
SMP_AVE[2:0]
FIFO_ROL
LOVER_EN
FIFO_A_FULL[3:0]
0x08
0x00
R/W
SMP_AVE[2:0]
NO. OF SAMPLES AVERAGED PER FIFO SAMPLE
000
1 (no averaging)
001
2
010
4
011
8
100
16
101
32
110
32
111
32
FIFO_A_FULL[3:0]
NO. OF SAMPLES IN THE FIFO
0x0h
32
0x1h
31
0x2h
30
0x3h
29
…
…
0xFh
17www.maximintegrated.com Maxim Integrated │ 18
MAX30105High-Sensitivity Optical Sensor
for Smoke Detection Applications
Mode Configuration (0x09)
Bits 6:5: Particle-Sensing ADC Range Control
This register sets the particle-sensing sensor ADC’s full-scale range as shown in Table 5.
Bit 7: Shutdown Control (SHDN)
The part can be put into a power-save mode by setting this bit to one. While in power-save mode, all registers retain their values, and write/read operations function as normal. All interrupts are cleared to zero in this mode.
Bit 6: Reset Control (RESET)
When the RESET bit is set to one, all configuration, threshold, and data registers are reset to their power-on-state through a power-on reset. The RESET bit is cleared automatically back to zero after the reset sequence is completed.
Note: Setting the RESET bit does not trigger a PWR_RDY interrupt event.
Bits 2:0: Mode Control
These bits set the operating state of the MAX30105. Changing modes does not change any other setting, nor does it erase any previously stored data inside the data registers.
Particle-Sensing Configuration (0x0A)
Table 4. Mode Control
Table 5. Particle-Sensing ADC Range Control (18-Bit Resolution)
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
REG
ADDR
POR
STATE
R/W
Mode Configuration
SHDN
RESET
MODE[2:0]
0x09
0x00
R/W
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
REG
ADDR
POR
STATE
R/W
SpO2 Configuration
ADC_RGE<1:0>
SR[2:0]
LED_PW[2:0]
0x0A
0x00
R/W
MODE[2:0]
MODE
ACTIVE LED CHANNELS
000
Do not use
001
Do not use
010
Particle-sensing mode using 1 LED
Red only
011
Particle-sensing mode using 2 LEDs
Red and IR
100–110
Do not use
111
Multi-LED mode
Green, Red, and/or IR
ADC_RGE[1:0]
LSB SIZE (pA)
FULL SCALE (nA)
00
7.81
2048
01
15.63
4096
02
31.25
8192
03
62.5
16384
[url]www.maximintegrated.com[/url] Maxim Integrated │ 19
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Bits 4:2: Particle-Sensing Sample Rate Control (Using 2 LEDs)
These bits define the effective sampling rate with one sample consisting of one IR pulse/conversion and one RED pulse/conversion.
The sample rate and pulse width are related in that the sample rate sets an upper bound on the pulse width time. If the user selects a sample rate that is too high for the selected LED_PW setting, the highest possible sample rate is
programmed instead into the register.
Bits 1:0: LED Pulse Width Control and ADC Resolution
These bits set the LED pulse width (the IR, Red, and Green have the same pulse width), and therefore, indirectly sets the integration time of the ADC in each sample. The ADC resolution is directly related to the integration time.
Table 6. Particle-Sensing Sample Rate Control
Table 7. LED Pulse Width Control
SR[2:0]
SAMPLES PER SECOND
000
50
001
100
010
200
011
400
100
800
101
1000
110
1600
111
3200
LED_PW[1:0]
PULSE WIDTH (μs)
ADC RESOLUTION (bits)
00
69 (68.95)
15
01
118 (117.78)
16
10
215 (215.44)
17
11
411 (410.75)
18
See Table 11 and Table 12 for Pulse Width vs. Sample Rate information.[url]www.maximintegrated.com[/url] Maxim Integrated │ 20
MAX30105High-Sensitivity Optical Sensor
for Smoke Detection Applications
LED Pulse Amplitude (0x0C–0x10)
These bits set the current level of each LED as shown in Table 8.
Table 8. LED Current Control
*Actual measured LED current for each part can vary significantly due to the trimming methodology.
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
REG
ADDR
POR
STATE
R/W
LED Pulse Amplitude
LED1_PA[7:0]
0x0C
0x00
R/W
LED2_PA[7:0]
0x0D
0x00
R/W
LED Pulse Amplitude
LED3_PA[7:0]
0x0E
0x00
R/W
RESERVED
0x0F
0x00
R/W
Proximity Mode LED Pulse Amplitude
PILOT_PA[7:0]
0x10
0x00
R/W
LEDx_PA [7:0]
TYPICAL LED CURRENT (mA)*
0x00h
0.0
0x01h
0.2
0x02h
0.4
…
…
0x0Fh
3.1
…
…
0x1Fh
6.4
…
…
0x3Fh
12.5
…
…
0x7Fh
25.4
…
…
0xFFh
50.0
[url]www.maximintegrated.com[/url] Maxim Integrated │ 21
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
The purpose of PILOT_PA[7:0] is to set the LED power during the proximity mode, as well as in Multi-LED mode.
Multi-LED Mode Control Registers (0x11–0x12)
In multi-LED mode, each sample is split into up to four time slots, SLOT1 through SLOT4. These control registers determine which LED is active in each time slot, making for a very flexible configuration.
Each slot generates a 3-byte output into the FIFO. One sample comprises all active slots, for example if SLOT1 and SLOT2 are non-zero, then one sample is 2 x 3 = 6 bytes. If SLOT1 through SLOT3 are all non-zero, then one sample is 3 x 3 = 9 bytes.
The slots should be enabled in order (i.e., SLOT1 should not be disabled if SLOT2 or SLOT3 are enabled).
Table 9. Multi-LED Mode Control Registers
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
REG
ADDR
POR
STATE
R/W
Multi-LED Mode Control Registers
SLOT2[2:0]
SLOT1[2:0]
0x11
0x00
R/W
SLOT4[2:0]
SLOT3[2:0]
0x12
0x00
R/W
SLOTx[2:0] Setting
WHICH LED IS ACTIVE
LED PULSE AMPLITUDE SETTING
000
None (time slot is disabled)
N/A (Off)
001
LED1 (RED)
LED1_PA[7:0]
010
LED2 (IR)
LED2_PA[7:0]
011
LED3 (GREEN)
LED3_PA[7:0]
100
None
N/A (Off)
101
LED1 (Red)
PILOT_PA[7:0]
110
LED2 (IR)
PILOT_PA[7:0]
111
LED3 (GREEN)
PILOT_PA[7:0]www.maximintegrated.com Maxim Integrated │ 22
MAX30105High-Sensitivity Optical Sensor
for Smoke Detection Applications
Temperature Data (0x1F–0x21)
Temperature Integer
The on-board temperature ADC output is split into two registers, one to store the integer temperature and one to store the fraction. Both should be read when reading the temperature data, and the equation below shows how to add the two registers together:
TMEASURED = TINTEGER + TFRACTION
This register stores the integer temperature data in 2’s complement format, where each bit corresponds to 1°C.
Temperature Fraction
This register stores the fractional temperature data in increments of 0.0625°C. If this fractional temperature is paired with a negative integer, it still adds as a positive fractional value (e.g., -128°C + 0.5°C = -127.5°C).
Temperature Enable (TEMP_EN)
This is a self-clearing bit which, when set, initiates a single temperature reading from the temperature sensor. This bit clears automatically back to zero at the conclusion of the temperature reading when the bit is set to one in particle-sensing mode.
Table 10. Temperature Integer
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
REG
ADDR
POR
STATE
R/W
Temp_Integer
TINT[7]
0x1F
0x00
R/W
Temp_Fraction
TFRAC[3:0]
0x20
0x00
R/W
Die Temperature Config
TEMP_EN
0x21
0x00
R
REGISTER VALUE (hex)
TEMPERATURE (°C)
0x00
0
0x00
+1
...
...
0x7E
+126
0x7F
+127
0x80
-128
0x81
-127
...
...
0xFE
-2
0xFF
-1
[url]www.maximintegrated.com[/url] Maxim Integrated │ 23
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Proximity Mode Interrupt Threshold (0x30)
This register sets the IR ADC count that will trigger the beginning of particle-sensing mode. The threshold is defined as the 8 MSBs of the ADC count. For example, if PROX_INT_THRESH[7:0] = 0x01, then an ADC value of 1023 (decimal) or higher triggers the PROX interrupt. If PROX_INT_THRESH[7:0] = 0xFF, then only a saturated ADC triggers the interrupt.
Applications Information
Sampling Rate and Performance
The maximum sample rate for the ADC depends on the selected pulse width, which in turn, determines the ADC resolution. For instance, if the pulse width is set to 69μs then the ADC resolution is 15 bits, and all sample rates are selectable. However, if the pulse width is set to 411μs, then the samples rates are limited. The allowed sample rates for both particle-sensing modes are summarized in Table 11 and Table 12.
Power Considerations
The LED waveforms and their implication for power supply design are discussed in this section.
The LEDs in the MAX30105 are pulsed with a low duty cycle for power savings, and the pulsed currents can cause ripples in the VLED+ power supply. To ensure these pulses do not translate into optical noise at the LED outputs, the power supply must be designed to handle these. Ensure that the resistance and inductance from the power supply (battery, DC/DC converter, or LDO) to the pin is much smaller than 1Ω, and that there is at least 1μF of power supply bypass capacitance to a good ground plane. The capacitance should be located as close as physically possible to the IC.
Table 11. Particle-Sensing Mode
Using 2 LEDs (Allowed Settings)
Table 12. Particle-Sensing Mode
Using 1 LEDs (Allowed Settings)
REGISTER
B7
B6
B5
B4
B3
B2
B1
B0
REG
ADDR
POR
STATE
R/W
Proximity Interrupt Threshold
PROX_INT_THRESH[7:0]
0x30
0x00
R/W
SAMPLES PER SECOND
PULSE WIDTH (μs)
SAMPLES PER SECOND
PULSE WIDTH (μs)
69
118
215
411
69
118
215
411
50
O
O
O
O
50
O
O
O
O
100
O
O
O
O
100
O
O
O
O
200
O
O
O
O
200
O
O
O
O
400
O
O
O
O
400
O
O
O
O
800
O
O
O
800
O
O
O
O
1000
O
O
1000
O
O
O
O
1600
O
1600
O
O
O
3200
3200
O
Resolution
(bits)
15
16
17
18
Resolution
(bits)
15
16
17
18www.maximintegrated.com Maxim Integrated │ 24
MAX30105High-Sensitivity Optical Sensor
for Smoke Detection Applications
Particle-Sensing Temperature Compensation
The MAX30105 has an accurate on-board temperature sensor that digitizes the IC’s internal temperature upon command from the I2C master.
Table 13 shows the correlation of red LED wavelength versus the temperature of the LED. Since the LED die heats up with a very short thermal time constant (tens of microseconds), the LED wavelength should be calculated according to the current level of the LED and the temperature of the IC. Use Table 13 to estimate the temperature.
Red LED Current Settings vs. LED Temperature Rise
Add estimated temperature rise to the module temperature reading to estimate the LED temperature and output wavelength. The LED temperature estimate is valid even with very short pulse widths, due to the fast thermal time constant of the LED.
Interrupt Pin Functionality
The active-low interrupt pin pulls low when an interrupt is triggered. The pin is open-drain, which means it normally requires a pullup resistor or current source to an external voltage supply (up to +5V from GND). The interrupt pin is not designed to sink large currents, so the pullup resistor value should be large, such as 4.7kΩ.
Table 13. RED LED Current Settings vs. LED Temperature Rise
RED LED CURRENT SETTING
RED LED DUTY CYCLE (% OF LED PULSE WIDTH TO SAMPLE TIME)
ESTIMATED TEMPERATURE RISE (ADD TO TEMP SENSOR MEASUREMENT) (°C)
0001 (0.2mA)
8
0.1
1111 (50mA)
8
2
0001 (0.2mA)
16
0.3
1111 (50mA)
16
4
0001 (0.2mA)
32
0.6
1111 (50mA)
32
8
[url]www.maximintegrated.com[/url] Maxim Integrated │ 25
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Timing for Measurements and Data Collection
Slot Timing in Multi-LED Modes
The MAX30105 can support up to three LED channels of sequential processing (Red, IR, and Green). In multi-LED modes, a time slot or period exists between active sequential channels. Table 14 below displays the the four possible channel slot times associated with each pulse width setting. Figure 3 shows an example of channel slot timing for a particle-sensing mode application with a 1kHz sample rate.
Table 14. Slot Timing
RED LED660nmRed On69μsRed Off931μsIR On69μsIR Off931μs358μsINFRARED LED880nm
Figure 3. Channel Slot Timing for the Multi-LED Mode with a 1kHz Sample Rate
PULSE-WIDTH SETTING (Μs)
CHANNEL SLOT TIMING (TIMING PERIOD BETWEEN PULSES) (Μs)
CHANNEL-CHANNEL TIMING (RISING EDGE-TO-RISING EDGE) (Μs)
69
358
427
118
407
525
215
505
720
411
696
1107www.maximintegrated.com Maxim Integrated │ 26
MAX30105High-Sensitivity Optical Sensor
for Smoke Detection Applications
Timing in Particle-Sensing Mode Using 2 LEDs
The internal FIFO stores up to 32 samples, so that the system processor does not need to read the data after every sample (Figure 4).
Figure 4. Timing for Data Acquisition and Communication When in Particle-Sensing Mode Using 2 LEDs
Table 15. Events Sequence for Figure 4 in Particle-Sensing Mode Using 2 LEDs
EVENT
DESCRIPTION
COMMENTS
1
Enter into Particle-Sensing Mode. Initiate a Temperature measurement.
I2C Write Command sets MODE[2:0] = 0x03. At the same time, set the TEMP_EN bit to initiate a single temperature measurement. Mask the DATA_RDY Interrupt.
2
Temperature Measurement Complete, Interrupt Generated
TEMP_RDY interrupt triggers, alerting the central processor to read the data.
3
Temp Data is Read, Interrupt Cleared
4
FIFO is Almost Full, Interrupt Generated
Interrupt is generated when the FIFO almost full threshold is reached.
5
FIFO Data is Read, Interrupt Cleared
6
Next Sample is Stored
New Sample is stored at the new read pointer location. Effectively, it is now the first sample in the FIFO.
INTI2C BUSLEDOUTPUTS~~~SAMPLE#1SAMPLE#2SAMPLE#3SAMPLE#16SAMPLE#171456TEMPSENSORTEMPERATURE SAMPLE2329ms15ms TO300msIRREDIRREDIRREDIRREDIRREDIRREDIRRED
[url]www.maximintegrated.com[/url] Maxim Integrated │ 27
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Timing in Particle-Sensing Mode Using 1 LED
The internal FIFO stores up to 32 samples, so that the system processor does not need to read the data after every sample (Figure 5).
Figure 5. Timing for Data Acquisition and Communication When in Particle-Sensing Mode Using 1 LED
Table 16. Events Sequence for Figure 5 in Particle-Sensing Mode Using 1 LED
EVENT
DESCRIPTION
COMMENTS
1
Enter Particle-Sensing Mode
I2C Write Command sets MODE[2:0] = 0x02. Mask the DATA_RDY Interrupt.
2
FIFO is Almost Full, Interrupt Generated
Interrupt is generated when the FIFO has only one empty space left.
3
FIFO Data is Read, Interrupt Cleared
4
Next Sample is Stored
New sample is stored at the new read pointer location. Effectively, it is now the first sample in the FIFO.
INTI2C BusLEDOUTPUTSIR~~~SAMPLE#1SAMPLE#2SAMPLE#3SAMPLE#30SAMPLE#31123415ms TO300msIRIRIRIRIRIRwww.maximintegrated.com Maxim Integrated │ 28
MAX30105High-Sensitivity Optical Sensor
for Smoke Detection Applications
Power Sequencing and Requirements
Power-Up Sequencing
Figure 6 shows the recommended power-up sequence for the MAX30105.
It is recommended to power the VDD supply first, before the LED power supplies (VLED+). The interrupt and I2C pins can be pulled up to an external voltage even when the power supplies are not powered up.
After the power is established, an interrupt occurs to alert the system that the MAX30105 is ready for operation. Reading the I2C interrupt register clears the interrupt, as shown in Figure 6.
Power-Down Sequencing
The MAX30105 is designed to be tolerant of any power supply sequencing on power-down.
I2C Interface
The MAX30105 features an I2C/SMBus-compatible, 2-wire serial interface consisting of a serial data line (SDA) and a serial clock line (SCL). SDA and SCL facilitate communication between the MAX30105 and the master at clock rates up to 400kHz. Figure 1 shows the 2-wire interface timing diagram. The master generates SCL and initiates data transfer on the bus. The master device writes data to the MAX30105 by transmitting the proper slave address followed by data. Each transmit sequence is framed by a START (S) or REPEATED START (Sr) condition and a STOP (P) condition. Each word transmitted to the MAX30105 is 8 bits long and is followed by an acknowledge clock pulse. A master reading data from the MAX30105 transmits the proper slave address followed by a series of nine SCL pulses.
The MAX30105 transmits data on SDA in sync with the master-generated SCL pulses. The master acknowledges receipt of each byte of data. Each read sequence is framed by a START (S) or REPEATED START (Sr) condition, a not acknowledge, and a STOP (P) condition. SDA operates as both an input and an open-drain output. A pullup resistor, typically greater than 500Ω, is required on SDA. SCL operates only as an input. A pullup resistor, typically greater than 500Ω, is required on SCL if there are multiple masters on the bus, or if the single master has an open-drain SCL output. Series resistors in line with SDA and SCL are optional. Series resistors protect the digital inputs of the MAX30105 from high voltage spikes on the bus lines and minimize crosstalk and undershoot of the bus signals.
Bit Transfer
One data bit is transferred during each SCL cycle. The data on SDA must remain stable during the high period of the SCL pulse. Changes in SDA while SCL is high are control signals. See the START and STOP Conditions section.
START and STOP Conditions
SDA and SCL idle high when the bus is not in use. A master initiates communication by issuing a START condition. A START condition is a high-to-low transition on SDA with SCL high. A STOP condition is a low-to-high transition on SDA while SCL is high (Figure 7). A START condition from the master signals the beginning of a transmission to the MAX30105. The master terminates transmission, and frees the bus, by issuing a STOP condition. The bus remains active if a REPEATED START condition is generated instead of a STOP condition.
Early STOP Conditions
The MAX30105 recognizes a STOP condition at any point during data transmission except if the STOP condition occurs in the same SCL high pulse as a START condition. For proper operation, do not send a STOP condition during the same SCL high pulse as the START condition.
Slave Address
A bus master initiates communication with a slave device by issuing a START condition followed by the 7-bit slave ID. When idle, the MAX30105 waits for a START condition followed by its slave ID. The serial interface compares each slave ID bit by bit, allowing the interface to power down and disconnect from SCL immediately if an incorrect slave ID is detected. After recognizing a START condition followed by the correct slave ID, the MAX30105 is programmed to accept or send data. The LSB of the slave ID word is the read/write (R/W) bit. R/W indicates whether the master is writing to or reading data from the MAX30105 (R/W = 0 selects a write condition, R/W = 1 selects a read condition). After receiving the proper slave
Figure 6. Power-Up Sequence of the Power Supply Rails
VLED+VDDINTSDA,SCLHIGH(I/O PULLUP)HIGH(I/O PULLUP)PWR_RDY INTERRUPTREAD TO CLEARINTERRUPT
[url]www.maximintegrated.com[/url] Maxim Integrated │ 29
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
ID, the MAX30105 issues an ACK by pulling SDA low for one clock cycle.
The MAX30105 slave ID consists of seven fixed bits, B7–B1 (set to 0b1010111). The most significant slave ID bit (B7) is transmitted first, followed by the remaining bits. Table 17 shows the possible slave IDs of the device.
Acknowledge
The acknowledge bit (ACK) is a clocked 9th bit that the MAX30105 uses to handshake receipt of each byte of data when in write mode (Figure 8). The MAX30105 pulls down SDA during the entire master-generated 9th clock pulse if the previous byte is successfully received. Monitoring ACK allows for detection of unsuccessful data transfers. An unsuccessful data transfer occurs if a receiving device is busy or if a system fault has occurred. In the event of an unsuccessful data transfer, the bus
master retries communication. The master pulls down SDA
during the 9th clock cycle to acknowledge receipt of data when the MAX30105 is in read mode. An acknowledge is sent by the master after each read byte to allow data transfer to continue. A not-acknowledge is sent when the master reads the final byte of data from the MAX30105, followed by a STOP condition.
Write Data Format
For the write operation, send the slave ID as the first byte followed by the register address byte and then one or more data bytes. Terminate the data transfer with a STOP condition. The write operation is shown in Figure 9.
The internal register address pointer increments automatically, so writing additional data bytes fill the data registers in order.
Figure 7. START, STOP, and REPEATED START Conditions
Figure 9. Writing One Data Byte to the MAX30105
Figure 8. Acknowledge
Table 17. Slave ID Description
B7
B6
B5
B4
B3
B2
B1
B0
WRITE ADDRESS
READ ADDRESS
1
0
1
0
1
1
1
RW
0xAE
0xAF
SSrPSCL1SDA1SCL1SDA1START CONDITION1289CLOCK PULSE FORACKNOWLEDGMENTNOT ACKNOWLEDGEACKNOWLEDGES1010111R/W= 0ACKA7A6A5A4A3A2SLAVE IDA1A0ACKPS = START CONDITIONP = STOP CONDITIONACK = ACKNOWLEDGE BY THE RECEIVERREGISTER ADDRESSD7D6D5D4D3D2D1D0ACKDATA BYTEINTERNAL ADDRESS POINTER AUTO-INCREMENT (FOR WRITING MULTIPLE BYTESwww.maximintegrated.com Maxim Integrated │ 30
MAX30105High-Sensitivity Optical Sensor
for Smoke Detection Applications
Read Data Format
For the read operation, two I2C operations must be performed. First, the slave ID byte is sent followed by the I2C register that you wish to read. Then a REPEAT START (Sr) condition is sent, followed by the read slave ID. The MAX30105 then begins sending data beginning with the register selected in the first operation. The read pointer increments automatically, so the MAX30105 continues sending data from additional registers in sequential order until a STOP (P) condition is received. The exception to this is the FIFO_DATA register, at which the read pointer no longer increments when reading additional bytes. To read the next register after FIFO_DATA, an I2C write command is necessary to change the location of the read pointer.
Figure 10 and Figure 11 show the process of reading one byte or multiple bytes of data.
An initial write operation is required to send the read
register address.
Data is sent from registers in sequential order, starting from the register selected in the initial I2C write operation. If the FIFO_DATA register is read, the read pointer will not automatically increment, and subsequent bytes of data will contain the contents of the FIFO.
Figure 10. Reading one byte of data from MAX30105
Figure 11. Reading multiple bytes of data from the MAX30105
S1010111R/W= 0ACKA7A6A5A4A3A2A1A0ACK1010111ACKD7D6D5D4D3D2D1D0NACKDATA BYTEPS = START CONDITIONSr = REPEATED START CONDITIONP = STOP CONDITIONACK = ACKNOWLEDGE BY THE RECEIVERNACK = NOT ACKNOWLEDGESLAVE IDREGISTER ADDRESSSrSLAVE IDR/W= 1S1010111R/W= 0ACKA7A6A5A4A3A2A1A0ACK1010111ACKD7D6D5D4D3D2D1D0AMDATA 1S = START CONDITIONSr = REPEATED START CONDITIONP = STOP CONDITIONACK = ACKNOWLEDGE BY THE RECEIVERAM = ACKNOWLEDGE BY THE MASTERNACK = NOT ACKNOWLEDGESLAVE IDREGISTER ADDRESSSrSLAVE IDR/W= 1D7D6D5D4D3D2D1AMD7D6D5D4D3D2D1D0NACKDATA nPDATA n-1D0
[url]www.maximintegrated.com[/url] Maxim Integrated │ 31
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Along with Maxim’s sensor, customers need smart algorithms
to detect the particles of interest. Maxim is partnering
with Valor Inc. to develop state-of-the-art algorithms
for smoke detection applications using the MAX30105.
Contact Valor for licensing information at www.valorfiresafety.
com/licensing/.
External Partner
+Denotes lead(Pb)-free/RoHS-compliant package.
T = Tape and reel.
PART TEMP RANGE PIN-PACKAGE
MAX30105EFD+T -40°C to +85°C 14 OESIP
(0.8mm Pin Pitch)
660nm 880nm
ADC
AMBIENT LIGHT
CANCELLATION ANALOG
DIE TEMP ADC
OSCILLATOR
DIGITAL
FILTER
DIGITAL
DATA
REGISTER
LED DRIVERS
I2C
COMMUNICATION INT
SDA
SCL
VLED+ VDD
R_DRV IR_DRV GND PGND
RED IR
VISIBLE+IR
1kΩ
VDDIO
HOST
PROCESSOR
4.7μF
+1.8V
20mA
10μF
+5.0V
200mA MAX
(NO CONNECT)
MAX30105
GREEN
527nm
G_DRV
[url]www.maximintegrated.com[/url] Maxim Integrated │ 32
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Typical Application Circuit
Ordering Information
PACKAGE TYPE PACKAGE CODE OUTLINE NO. LAND PATTERN NO.
14 OESIP F143A5MK+1 21-1048 90-0602
[url]www.maximintegrated.com[/url] Maxim Integrated │ 33
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Package Information
For the latest package outline information and land patterns (footprints), go to [url]www.maximintegrated.com/packages.[/url] Note that a “+”,
“#”, or “-” in the package code indicates RoHS status only. Package drawings may show a different suffix character, but the drawing
pertains to the package regardless of RoHS status.
maxim
integratedTM
[url]www.maximintegrated.com[/url] Maxim Integrated │ 34
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Package Information (continued)
For the latest package outline information and land patterns (footprints), go to [url]www.maximintegrated.com/packages.[/url] Note that a “+”,
“#”, or “-” in the package code indicates RoHS status only. Package drawings may show a different suffix character, but the drawing
pertains to the package regardless of RoHS status.
REVISION
NUMBER
REVISION
DATE DESCRIPTION PAGES
CHANGED
0 5/16 Initial release —
1 7/16
Updated title, General Description, Benefits and Features, Applications, System
Diagram, Electrical Characteristics global conditions, LED supply voltage
parameter, ADC count—PSRR (LED driver outputs) parameter conditions,
Typical Operating Characteristics global conditions, Pin Configuration, Detailed
Description, Temperature Sensor, Proximity Function, Register Maps and
Descriptions, Interrupt Status (0x00–0x01), Interrupt Enable (0x02–0x03),
FIFO Data Register, Bits 3:0, FIFO Almost Full Value (FIFO_A_FULL) Mode
Configuration (0x09), Table 4, Particle-Sensing Configuration (0x0A), Table 5,
Bits 4:2: Particle-Sensing Sample Rate Control (Using 2 LEDs), Table 6, Table
8, Sampling Rate and Performance, Power Considerations, Table 11, Table 12,
Particle-Sensing Temperature Compensation, Red LED Current Settings vs. LED
Temperature Rise, Figure 3 caption, Timing in Particle-Sensing Mode Using 2
LEDs, Figure 4 caption, Table 15, Timing in Particle-Sensing Mode Using 1 LED,
Figure 5 caption, Table 16, Power-Up Sequencing, Early STOP Conditions, Slave
Address, Acknowledge, Write Data Format, Read Data Format, External Partner
1–35
Maxim Integrated cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim Integrated product. No circuit patent licenses
are implied. Maxim Integrated reserves the right to change the circuitry and specifications without notice at any time. The parametric values (min and max limits)
shown in the Electrical Characteristics table are guaranteed. Other parametric values quoted in this data sheet are provided for guidance.
Maxim Integrated and the Maxim Integrated logo are trademarks of Maxim Integrated Products, Inc. © 2016 Maxim Integrated Products, Inc. │ 35
MAX30105 High-Sensitivity Optical Sensor
for Smoke Detection Applications
Revision History
For pricing, delivery, and ordering information, please contact Maxim Direct at 1-888-629-4642, or visit Maxim Integrated’s website at [url]www.maximintegrated.com.[/url]