万博网页版登陆页派论坛

QQ登录

只需一步,快速开始

查看: 21|回复: 0
发表于 4 天前 | 显示全部楼层 |阅读模式
General Description0 p% T$ K8 G3 T
The MAX30100 is an integrated pulse oximetry and heartrate
# b! ]! ~! d" u# h* P8 nmonitor sensor solution. It combines two LEDs, a
7 j- v8 i7 G, _6 Dphotodetector, optimized optics, and low-noise analog
4 F# @$ B& U6 C1 U4 h( }# [signal processing to detect pulse oximetry and heart-rate9 L4 B1 v# Z+ u  Q
signals.
+ C. Y) a' c% C% ^" c- d  }) E+ XThe MAX30100 operates from 1.8V and 3.3V power supplies
- K' g! H* V; P/ d; Uand can be powered down through software with
) @& f# i' Y2 A, T- R) ]( p1 Hnegligible standby current, permitting the power supply to
* k1 v0 x, ?: [$ A* Hremain connected at all times.
7 c$ n8 o5 U0 F0 x2 jApplications/ L! Q8 y/ y# t8 a* z
●● Wearable Devices( s8 ?2 n" O+ d/ i
●● Fitness Assistant Devices% R. \3 o" `& h2 ?0 F$ V+ t
●● Medical Monitoring Devices3 s0 U/ Z, z- @  W
Benefits and Features
# }( a' ?: b2 N" p6 V5 }" D. u●● Complete Pulse Oximeter and Heart-Rate Sensor  w9 l  v. j7 c; a  W3 ?
Solution Simplifies Design
. b, G$ y& \" h7 e: }• Integrated LEDs, Photo Sensor, and3 a5 X: u! M+ L  |9 g
High-Performance Analog Front -End
1 F4 k4 R& x6 X6 g• Tiny 5.6mm x 2.8mm x 1.2mm 14-Pin Optically6 P4 B# d; m% Y) T/ v0 H
Enhanced System-in-Package' m- U0 Q% z2 z; _3 g" c
●● Ultra-Low-Power Operation Increases Battery Life for
( D% B" }4 y% c8 X. wWearable Devices
! Z- Z- ]$ _8 u5 \, D% }0 k1 g6 h8 d• Programmable Sample Rate and LED Current for
$ M: y! }5 ~8 S/ MPower Savings
# y8 ?% f& W; C4 F6 f• Ultra-Low Shutdown Current (0.7μA, typ)& W9 L% g3 z6 p% }
●● Advanced Functionality Improves Measurement; S' ^; }, p) }3 M- V; q, X
Performance
5 ]* ?/ H! \7 |3 ~* v, b7 w9 f• High SNR Provides Robust Motion Artifact Resilience. M+ r9 z- B% L* u; m& |
• Integrated Ambient Light Cancellation
+ R, X' e: R- u: X9 v- r2 i: |• High Sample Rate Capability
! D0 `! k3 ^5 z+ ^9 W3 Y! c7 j3 a• Fast Data Output Capability
" f3 p- y$ l3 B& \# o5 JOrdering Information appears at end of data sheet.) F& J( u9 v  D0 c1 n; b3 O' o
19-7065; Rev 0; 9/14
* N8 ^7 x) @7 a- P, ]/ l5 w6 e; TADC
4 |2 p: g7 e  j# ~CONTROL SIGNAL
! X+ l/ Y8 R; ^5 lPROCESSING% v% e9 t# [- P* p
COVER GLASS6 h* V( m. a5 O( x2 \- t  I
10* |/ u: ]/ {2 J  W  M. M  X8 [
0.1
) }0 D: |4 H. ~/ ^+ P* C0 NRED IR0 b( _& x2 z" @3 a3 l: Z
HbO2- |1 t9 Z( }8 h8 J
Hb7 ~/ K+ i% R3 N: |$ h
NO INK
  F! t9 W4 s& ~MAX30100 Pulse Oximeter and Heart-Rate Sensor IC9 ^0 x  r) a* ]+ n4 O$ N4 r4 c  T
for Wearable Health
) I6 W4 U% h4 U: jSystem Block Diagram. G8 a: ^; O$ H: T
EVALUATION KIT AVAILABLE
* v! w3 U# `) h6 c* VVDD to GND..........................................................-0.3V to +2.2V
5 ^8 F5 ^4 P2 j+ Q; \( ?GND to PGND.......................................................-0.3V to +0.3V9 W% |. ]& U( z+ A! K2 m
x_DRV, x_LED+ to PGND.....................................-0.3V to +6.0V
- |+ X+ H/ t/ S+ J! @/ m# eAll Other Pins to GND...........................................-0.3V to +6.0V
2 k) \6 Y  L" BOutput Short-Circuit Current Duration........................Continuous
- r! P1 H, Z0 nContinuous Input Current into Any Terminal.....................±20mA
- }- L9 N% \2 I+ XContinuous Power Dissipation (TA = +70°C)
9 d; M  V1 v! s% i6 k/ [OESIP (derate 5.8mW/°C above +70°C).....................464mW5 }- ~5 d* c8 L6 F4 y; G' w# I
Operating Temperature Range............................ -40°C to +85°C
" J2 J! }5 A4 h) |Soldering Temperature (reflow)........................................+260°C
. Y$ m% ]* I, l$ d" A4 eStorage Temperature Range............................. -40°C to +105°C  p& Y1 P& z1 L
OESIP" F! X: E/ S5 \: ~" d# _
Junction-to-Ambient Thermal Resistance (θJA).........150°C/W
  Z6 d9 f2 X7 [$ D4 y5 dJunction-to-Case Thermal Resistance (θJC)..............170°C/W6 p, y  D+ w" s  L# k( @7 t
(Note 1)
8 c" m" \+ F/ H; m/ N6 R1 K. t& ](VDD = 1.8V, VIR_LED+ = VR_LED+ = 3.3V, TA = +25°C, min/max are from TA = -40°C to +85°C, unless otherwise noted.) (Note 2)
5 y" a, r* c! M; s$ ?! v, ePARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS% b; w) y$ G7 X; ^6 W0 B' d) E
POWER SUPPLY& X1 g' `5 i6 `
Power-Supply Voltage VDD Guaranteed by RED and IR count tolerance 1.7 1.8 2.0 V
- u% X+ c/ J7 K4 Y) WLED Supply Voltage4 R+ S4 f. a) y/ y0 V
(R_LED+ or IR_LED+ to PGND) VLED+ Guaranteed by PSRR of LED Driver 3.1 3.3 5.0 V! |3 Y( I& f1 q
Supply Current IDD) j; \1 t. y; w. {: f( o
SpO2 and heart rate modes,
( y5 y: Q# T* L1 Q8 APW = 200μs, 50sps 600 1200
9 @8 v$ l: U5 d/ U9 u% {' J  gμA
7 _! m# X0 x" ?& i# ~$ {% GHeart rate only mode,3 C9 k3 [( ^% ]7 ?: H5 S1 W/ b
PW = 200μs, 50sps 600 1200
6 L% N( q) J5 F* r1 nSupply Current in Shutdown ISHDN TA = +25°C, MODE = 0x80 0.7 10 μA9 n9 c8 Q! w$ K/ e& @! H: @
SENSOR CHARACTERISTICS6 t, v2 |' h4 R! t0 @( D; B$ F" ^: p
ADC Resolution 14 bits
$ y) N) B4 O1 C7 @Red ADC Count
0 z$ `* J) @( ?# {(Note 3) REDC' U# k$ i4 ?& O$ f  g1 Y
Propriety ATE setup
+ X$ V/ m2 ^) G( fRED_PA = 0x05, LED_PW = 0x00,
$ R. ~  ^9 |; N* qSPO2_SR = 0x07, TA = +25°C
6 S9 `' H. ]- c1 |5 L23,000 26,000 29,000 Counts
8 K( C4 {+ x; K1 R8 T4 L! W- Y& K& U5 wIR ADC Count/ l/ u3 V0 [0 l+ ^: C' ~6 L, j
(Note 3) IRC
8 B# C  u3 g1 y0 `; \Propriety ATE setup  b% S/ |9 s6 `4 S! @
IR_PA = 0x09, LED_PW = 0x00,
1 L  e' u" c8 h: D- s* BSPO2_SR = 0x07, TA = +25°C
& p7 z" H9 `: R23,000 26,000 29,000 Counts5 E0 _5 ^+ k7 f
Dark Current Count DCC
+ z4 r# ^/ j' M& K8 g+ m* ORED_PA = IR_PA = 0x00,3 |; W( n* P7 @" i
LED_PW = 0x03, SPO2_SR = 0x01 0 3 Counts" K" z, q2 |& ^/ f3 o4 j* M9 p
DC Ambient Light Rejection
* A; R( U/ Q+ X2 @( k: V(Note 4) ALR" C" Z. U6 ^6 R; o
Number of ADC counts with5 T7 Q- C* M8 B' z6 X! N
finger on sensor under direct
: X) A/ a; C5 ?$ X. e; \sunlight (100K lux)2 W1 b. r8 v, D' e6 @2 q3 D
LED_PW = 0x03,4 L1 F2 ~. l2 [% e9 G1 w; Y
SPO2_SR = 0x01; \4 [; l9 X+ w/ s+ O
RED LED 0
+ y" J) T0 H( q2 U7 W! ]9 L, ^Counts9 X0 v) p5 H$ V) Y# h1 u
IR LED 0/ W! G8 j" e& B$ E2 y  a! ^
www.maximintegrated.com Maxim Integrated │ 2) P+ Q" G2 Z7 G% e
MAX30100 Pulse Oximeter and Heart-Rate Sensor IC! Y' j. g1 r$ \. `" o5 L4 X+ y" h3 D% [
for Wearable Health' Z& d) v8 B' [4 v8 i
Note 1: Package thermal resistances were obtained using the method described in JEDEC specification JESD51-7, using a four-layer! s1 t- }# B. ^* n, }! O
board. For detailed information on package thermal considerations, refer to www.maximintegrated.com/thermal-tutorial.
& s( ]% u% s7 M: g: VAbsolute Maximum Ratings
2 d; l: @. K3 J2 NPackage Thermal Characteristics6 M7 `2 l4 X6 t8 z" ?3 @
Electrical Characteristics5 s; b: p( P; d
(VDD = 1.8V, VIR_LED+ = VR_LED+ = 3.3V, TA = +25°C, min/max are from TA = -40°C to +85°C, unless otherwise noted.) (Note 2), ~9 }" }, h( p# i0 c7 t
PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS
. ^! O9 k2 @- d4 l- A" NIR ADC Count—PSRR (VDD) PSRRVDD5 ^& O& D4 [" O& J
Propriety ATE setup4 j; _( |+ t, m9 G% c' G
1.7V < VDD < 2.0V,
& z' a, A$ N6 D6 h  TLED_PW = 0x03, SPO2_SR = 0x01,2 o2 r# f; x' J! o
IR_PA = 0x09, IR_PA = 0x05, TA = +25°C
/ _" k4 X3 a- e7 Y. E6 W0.25 2 %
# b$ D; Q$ w) vFrequency = DC to 100kHz, 100mVP-P 10 LSB4 x: p( K8 ~9 K, `1 N  `
RED/IR ADC Count—PSRR
9 K' ]4 v  S* \& \3 y6 W# {(X_LED+) PSRRLED
/ q" q, x$ {1 NPropriety ATE setup
* Z. u3 T0 S: u- H3.1V < X_LED+ < 5V,  h+ \- R* k# R
LED_PW = 0x03, SPO2_SR = 0x01,
1 }& }" Z$ s; T: N; M1 h8 v8 h5 r' bIR_PA = 0x09, IR_PA = 0x05, TA = +25°C8 b4 u7 a% T+ U7 b+ r4 ~* `! Y) T# `
0.05 2 %
2 v6 f  ?. ~/ `/ F$ [/ K' J  iFrequency = DC to 100kHz, 100mVP-P 10 LSB
0 E2 G& ~% w* KADC Integration Time INT, c5 ?1 D- V% T  p; S" D4 C
LED_PW = 0x00 200 μs. ~# R. w8 a" f6 n' n9 J. k
LED_PW = 0x03 1600 μs
% T" b0 _3 {9 R- D3 vIR LED CHARACTERISTICS (Note 4)" r: @; g' w' q
LED Peak Wavelength λP ILED = 20mA, TA = +25°C 870 880 900 nm$ M$ D% C8 v% A! |* g( m8 ^
Full Width at Half Max Δλ ILED = 20mA, TA = +25°C 30 nm2 F8 V) ]- i( m0 A6 l9 v! G
Forward Voltage VF ILED = 20mA, TA = +25°C 1.4 V
8 ~9 Z1 }9 A) `# rRadiant Power PO ILED = 20mA, TA = +25°C 6.5 mW
: c9 M/ Y" R$ Y4 X, s+ x  MRED LED CHARACTERISTICS (Note 4)( i0 J' G' Q* D# a' @  j
LED Peak Wavelength λP ILED = 20mA, TA = +25°C 650 660 670 nm# ?# S9 M2 G3 v) j
Full Width at Half Max Δλ ILED = 20mA, TA = +25°C 20 nm
9 F# h  [1 S2 }  F* w( G! EForward Voltage VF ILED = 20mA, TA = +25°C 2.1 V
' l* R3 a5 c; cRadiant Power PO ILED = 20mA, TA = +25°C 9.8 mW; }# W$ @/ H, R. K- k* e" m
TEMPERATURE SENSOR! V: b! O! t$ @# V% x7 W
Temperature ADC Acquisition
3 y7 i' E( i. |Time TT TA = +25°C 29 ms' J- N9 P+ j/ p* X- o8 Q: @( H
Temperature Sensor Accuracy TA TA = +25°C ±1 °C1 y5 w2 X) s& e' e. T% y
Temperature Sensor Minimum( r% Q6 a  y, n$ N
Range TMIN -40 °C
$ O; m- o' J% c, b" Y! Y3 ITemperature Sensor Maximum  F; I5 D1 e! B7 M
Range TMAX 85 °C
' m5 y! N2 L+ H9 d& Q! S9 Z* zwww.maximintegrated.com Maxim Integrated │ 3
  Y$ v- @. `& p, H  O& ^7 h6 ?5 OMAX30100 Pulse Oximeter and Heart-Rate Sensor IC7 n7 {2 G3 b9 ^+ P5 D$ M
for Wearable Health
0 }& n, E1 X7 a* Z2 Y- lElectrical Characteristics (continued)9 K9 H3 J! A; v) X6 }6 N
(VDD = 1.8V, VIR_LED+ = VR_LED+ = 3.3V, TA = +25°C, min/max are from TA = -40°C to +85°C, unless otherwise noted.) (Note 2)4 {3 N& ~% `6 ?1 @' F$ L. J
Note 2: All devices are 100% production tested at TA = +25°C. Specifications over temperature limits are guaranteed by Maxim+ g+ T, ^' l3 w3 }5 Q( C
Integrated’s bench or proprietary automated test equipment (ATE) characterization.3 n6 j5 q) s- s' P1 W9 ]) j
Note 3: Specifications are guaranteed by Maxim Integrated’s bench characterization and by 100% production test using proprietary# m2 B  w- X; a# i7 x8 D+ |3 i
ATE setup and conditions.
$ R2 c( g9 R) k* r6 e. d! O3 `. V. |Note 4: For design guidance only. Not production tested.
6 A$ E, j5 B) S! F$ [+ s- sPARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS
% z$ x0 q. _/ @DIGITAL CHARACTERISTICS (SDA, SDA, INT)  t2 R4 A7 h, O
Output Low Voltage SDA, INT VOL ISINK = 6mA 0.4 V
2 i& e6 w3 w/ O% _2 \  g/ \1 NI2C Input Voltage Low VIL_I2C SDA, SCL 0.4 V
+ C- g( h2 f9 j. Z0 M" F* p* T; fI2C Input Voltage High VIH_I2C SDA, SCL 1.4 V, k/ r9 i/ }  w$ n2 G) [
Input Hysteresis VHYS SDA, SCL 200 mV
7 v- o6 ^8 b+ m+ c$ ^& [$ Q) o% s' MInput Capacitance CIN SDA, SCL 10 pF
' M& B6 L0 |6 }% @1 k6 oInput Leakage Current IIN1 H- `- D! k8 ~: i  q, U1 {0 r
VIN = 0V, TA = +25°C0 a( r$ h+ f% N% ]
(SDA, SCL, INT) 0.01 1 μA
4 `0 e! R1 Q; H' D# A. J' W& BVIN = 5.5V, TA = +25°C
; }" ~7 I) [/ D' a) C2 R5 X( J(SDA, SCL, INT) 0.01 1 μA# |1 [/ [& f' Y) e; Y
I2C TIMING CHARACTERISTICS (SDA, SDA, INT)9 ~+ H; W, b5 O4 d3 k% q/ f
I2C Write Address AE Hex
$ E8 ], w5 o4 ^) ZI2C Read Address AF Hex
- B9 m; H, A3 J8 XSerial Clock Frequency fSCL 0 400 kHz1 `/ G# ?8 Y" ~5 p
Bus Free Time Between STOP4 C/ d, p  d2 z+ ~
and START Conditions tBUF 1.3 μs% c& _4 G1 ]  J2 h* j
Hold Time (Repeated) START
: t& \% H: v9 d9 V0 O- YCondition tHD,START 0.6 μs& t9 |: k2 p, m0 Q( ]7 y' D
SCL Pulse-Width Low tLOW 1.3 μs" e6 g* l: y! F/ b9 j" {3 ^
SCL Pulse-Width High tHIGH 0.6 μs3 _9 c, c( {7 o. h/ M: m$ Z9 x
Setup Time for a Repeated START
( V% B. E( A4 \: j6 w, ?! ~1 YCondition tSU,START 0.6 μs1 Y- T% G( c7 T& F2 _2 H- X1 c1 f% i
Data Hold Time tHD,DAT 0 900 ns
9 E$ `, a) w; P8 uData Setup Time tSU,DAT 100 ns7 `% H: ?4 ?% K2 s% e" l( {
Setup Time for STOP Condition tSU,STOP 0.6 μs8 Q1 h: j8 B# F' O' }8 [8 ]
Pulse Width of Suppressed Spike tSP 0 50 ns2 j) X( p# ?; D5 g3 o# e
Bus Capacitance CB 400 pF
1 J  v$ @) @2 H: _SDA and SCL Receiving Rise
" l- I5 a& O2 A3 WTime tR 20 + 0.1CB 300 ns
5 K7 x6 ~, K  D! |) ySDA and SCL Receiving Fall Time tRF 20 + 0.1CB 300 ns. J. Z) K: o# ^; a$ E3 P
SDA Transmitting Fall Time tTF 20 + 0.1CB 300 ns
* H  E/ |3 |: mwww.maximintegrated.com Maxim Integrated │ 4
$ h6 M4 n7 N, [9 xMAX30100 Pulse Oximeter and Heart-Rate Sensor IC  L7 O( J, ]$ s5 A/ |
for Wearable Health- ?/ \8 J& v7 M
Electrical Characteristics (continued)' A5 D2 [5 W, V* V; X
Figure 1. I2C-Compatible Interface Timing Diagram0 @0 |1 A( t* x, I+ `% u) j% \
SDASCLtHD,STASTART CONDITIONtRtFtLOWtSU,DATtHD,DATtSU,STAtHD,STAREPEATED START CONDITIONtSPtSU,STOtBUFSTOPCONDITIONSTARTCONDITIONtHIGH% l% ~3 s: @* O/ n5 W( Y
www.maximintegrated.com Maxim Integrated │ 5
3 h! D( q& |; ], y  {MAX30100 Pulse Oximeter and Heart-Rate Sensor IC# {- e* B8 A2 Z
for Wearable Health
  q* `. `+ _+ W(VDD = 1.8V, VIR_LED+ = VR_LED+ = 3.3V, TA = +25°C, unless otherwise noted.)- j) f# Z) R, ^$ g' h" S3 Z
0.0
* n% }& Q: l% D' i5 ]" y0.17 W' {$ q: Y* H9 F' R+ t
0.28 k, p( w6 @* W0 V* }$ c$ v
0.3
) ~: c7 s& t7 Q5 a8 H& }! K" G0.41 g4 Y- L' R$ K
0.5+ r5 C2 S0 K/ ^4 D3 i. `
0.6" _! Y4 E- l4 u( H
0.7# B2 w" x" W( U9 N. `; k8 r
0.8
, g2 g; t7 R& q0.9* v$ \% R0 o6 @/ u0 y9 @- q
1.0
. }6 E( i2 G7 @# k; O, W0.00 0.50 1.00 1.50 2.00 2.50
( l% R' ]- D( \7 `7 x/ f8 LSUPPLY CURRENT (mA)8 V& y0 k+ A* _6 W; a
SUPPLY VOLTAGE (V)
; H: ^3 h- K' A$ e4 kVDD SUPPLY CURRENT vs.
' C1 x+ z$ G+ j+ ESUPPLY VOLTAGE toc03
! f1 _3 ~6 [+ u$ Z; I2 I  lMODE 0
; y7 i- G0 k+ LMODE 2% `! e0 ~! Q9 r# {" j6 e) C/ ?
MODE 36 T7 z  k  M6 a8 ?& S' g" D$ k9 L
0.04
# |8 ]: q4 B4 L' [: t" P5 i0.056 ~# h5 k: t) w. S
0.06
# D$ G* T' [& b7 O4 t0.079 B* [' p. S$ x
0.084 y& M9 x  i# g( |: L
0.09
7 O) w2 T, p) G- H9 Y, O0 J0 10 20 30 40 50 60 70
2 r% \$ r- Q2 l0 xDRV PIN COMPLIANCE VOLTAGE (V)
% C5 ^2 X. p' _6 QLED PULSE CURRENT (mA)
* T8 ^/ [! V) @" m3 e% kIR LED SUPPLY HEADROOM; }0 r2 i! [6 P# d
(-10% CURRENT), N* k7 {0 C6 S2 _' U
toc02
7 @! ?, \( h7 m/ C& hTA = +25°C$ P7 T1 u  |5 [4 ]# L0 u( [
0
& |# R2 [( m& n$ o10000
6 R- `2 X! v% y. m0 z4 K; j/ Z, t200003 H+ o; w+ ]+ \4 F$ D
30000
2 a* _; X5 V& H5 C+ O, B400008 X6 {0 m5 ~; A* e& N8 U( k  m
50000. s+ ~  C) u. ^3 r) k
600006 g0 z1 {' U* `) R; M
70000
6 W9 b, \% F  @# u, @( I; N0 5 10 15 202 L8 ]7 t- G$ u  S. O9 A6 W8 I
COUNTS (SUM)
# S( D( ^$ {6 f, C; PDISTANCE (mm)# L6 E, y: {' L! L. D, k
DC COUNTS vs. DISTANCE FOR) b5 U  V# n2 a+ x
WHITE HIGH IMPACT STYRENE CARD toc04: N' h; \% @% s* w6 p1 }# ~6 O1 e  k
RED) O- [! U$ O8 S: ~- g% w
IR( T9 A( y& G% j0 X
MODE[2:0] = 011
* W" x+ l3 k& K0 jSPO2_HI_RES_EN = 1- D$ n& ], O2 ^; T, n
SPO2_ADC_RGE = 0" |8 F( C  v4 P3 _
SPO2_SR[2:0] = 0017 g7 ^4 J; I; T2 L- ?: w2 j
RED or IR_PA[3:0] =
/ O' x' N( D! ~' k, |( x) A4 T0101: F% C% j( Y. x  B
0
/ T3 i0 \8 M% |7 t1
3 J  G! @+ d1 o, k1 ?, ]2% u; t+ d- U1 K  ]6 U3 K" c/ o
3
. W4 f1 c0 U  T' W, w3 G4
! z% B) _" c3 N. |5
, C5 V/ o$ c, ~3 Q0 w# }61 K1 |. c8 p+ d  ?/ [' f
7% z% j- {1 A% Q7 d1 C
-50 0 50 100 150  l3 V, A3 T4 U& l9 R) ^1 E
VDD SHUTDOWN CURRENT (μA)- S1 a# Q$ G$ u" F- x/ Q2 F& [
TEMPERATURE (°C)$ c0 `$ D% ~7 V: w$ L8 h  }, L3 t) g0 t
VDD SHUTDOWN CURRENT
5 A4 C+ V( [5 z& kvs. TEMPERATURE
& B$ @. s+ e" ?% m. S( ~VDD = 1.7V5 T" @2 Y: G$ L6 }
toc05
- C7 K. T0 {! `3 F5 AVDD = 2.0V9 H/ b, r% w  i
VDD = 1.8V
. G; C$ p  \* w* }1 }$ t( t0.06
; ?( M/ n8 Z9 [' u3 B- U$ n" D* u0.077 \: Z) x; O1 A4 ?3 }3 z+ N
0.08* F* z) r  b  S; H  `$ t
0.09
9 z6 p9 G6 ~+ B* I0.10
: Y/ ?+ [% w* t) o. U- I! [0.11
2 A, A# m$ n4 \/ ]1 k/ K0 \0.12
6 R$ r' i, w3 b. v9 H( j0.13( ]. y3 Z1 E; f4 r4 D
0.14
% i! a! I! f2 G. x" q4 d' ^2 y-50 0 50 100 150
& G2 n* `! G! hLED SHUTDOWN CURRENT (μA)( M) q* ^% j; k& e
TEMPERATURE (°C)6 E2 s& t+ A2 ]1 y; C7 a+ }
LED SHUTDOWN CURRENT
4 g9 o% M. m- C  Dvs. TEMPERATURE  {4 y  G/ o( A, j/ x2 O
VDD = 3.1V5 `! \. v# F& {1 u
toc06  X9 }; \- H( u6 Z- d
VDD = 3.6V, d9 l6 P$ }7 M" x9 c, Q( S0 k( s0 H
VDD = 3.3V
& m, l4 W. `. w! b- \-4
* {  X$ K; N+ D9 D-3
- ~" U5 {! t  q8 f-2
, X8 K# U, E- Z, Y6 K-1! ~: d2 ?% m. y, S" ^
0
9 C+ m+ B( {) D" A1: n8 q  m- Z; f
2: W7 B% I" E! M+ q7 E8 f8 [% w4 K
3
4 v: E9 @, L% C' a( l' n: t+ ?# N5 A5 L-40 10 60 110
2 W5 H" u& T4 R! u: w, t1 L* gTEMPERATURE ERROR (°C)9 I+ v$ o- D- D
ACTUAL TEMPERATURE (°C)! T$ M3 v8 W2 V& M
ON-BOARD TEMPERATURE vs. ERROR) e1 K- J% M1 z" k/ ?+ f" M
toc07# t1 C7 f- V9 Q3 i6 w4 l$ y. z; N
-204 r6 `0 W% E" D' E
0. [' o; X  ?1 @$ Z  i' T( Z
20' s9 k' j2 `( w+ N5 v
40
! X8 |4 _" P, ]1 B" M6 I$ u6 {- C604 ^+ @6 L. N8 g4 i
80
  N$ u& H6 K$ }) p1 s9 d1008 r) |6 u' `% x; i, P
120
% j) M& o- ?+ p6 H0 Q: o500 600 700 800
0 h/ m5 \) |( k' bNORMALIZE POWER (%)
6 f2 u8 z( Y& S; x$ CWAVELENGTH (nm)
; }# Y+ l& l2 e' M2 l2 c, H( FRED LED SPECTRA at +30°C
8 Q* X8 a; t( _! Gtoc08
. L! ]9 {, w" P$ Z0.05. e- `: s& J; w* G; L0 S
0.06
3 Y  z; u/ H/ d' G, ~% W7 ^, w! D+ u0.07
2 D  e- k! D  k/ h$ c' }0.084 N. M* _6 @& A1 H; A9 f
0.09
# M+ P: I9 q( R9 M7 d; H1 S0.10
+ W! z- u- \; m1 G0.11
2 Z- m  d9 R, J( L' I1 R+ N0.12- }, T4 c9 t: x$ ?2 B) z8 C0 y
0.13
6 k& Z, V) c' Q( [! U& c& V: j7 l2 f6 \" S0.14+ a/ r+ |6 ]& o1 H( @3 h; [
0 10 20 30 40 50 60 70 80) p6 R- R8 k+ r- w( [$ y# o" g( Q
DRV PIN COMPLIANCE VOLTAGE (V)
7 {" X# I2 c+ {( M& w" q: GLED PULSE CURRENT (mA)
. V7 ]% Y) d$ p  h: q/ {6 S0 nRED LED SUPPLY HEADROOM
0 N( k3 c( N) V9 }9 ^, |; n(-10% CURRENT)* r+ l9 c; ^7 v1 m/ U7 W' Q6 L
toc017 I  Q7 y" p. w% P* W) I
TA = +25°C
/ y3 n; K  K5 cwww.maximintegrated.com Maxim Integrated │ 6+ K5 a$ k! l$ d4 b! y4 f+ o/ Q( j6 [
MAX30100 Pulse Oximeter and Heart-Rate Sensor IC
, ]/ T6 d* V4 S# V4 a2 }& Z2 dfor Wearable Health
+ Q+ b) l! Y- i# A2 s; I. NTypical Operating Characteristics; ~9 h+ |0 l6 ^( E
(VDD = 1.8V, VIR_LED+ = VR_LED+ = 3.3V, TA = +25°C, unless otherwise noted.)
; z: E, z1 N4 E( q/ s6 H860* \# T7 `  W. n9 n& A7 J- W+ @
865/ z1 B7 x* P6 s: H& H  X7 d
870
% @) ^8 r: {  K7 I; C6 M875! L& R) E7 ^+ B6 F
880
2 X/ L& h& S6 b3 F5 v8859 K, Y! `" W4 {2 p5 e
890+ e6 D: W/ t6 f* }( r1 N. F
895
3 J3 c6 x* m( ?3 f  h( S3 h! e900" I' l9 C( U% I+ x1 ?, R# h
-40 10 60 110' t. `8 E! x+ @4 X3 }& n- _- Q
PEAK WAVELENGTH (nm)
' b; p$ ?" J4 @& ]; ?& _1 ^' `TEMPERATURE (°C)7 ~: ]6 s9 u. E  r
IR LED WAVELENGTH vs. TEMPERATURE+ N/ i4 m( N$ A+ a4 j, f
AT LED CURRENT = 25mA
8 }' h) a0 T/ \toc11
/ |% M! ]# v' \  o  Z; ]2 s- k* g  x650
% d! N9 H1 p5 D& F4 c6550 K9 L. _; I8 k: i- b1 I4 D
660
3 ^, r6 N8 b- q" X! i6 f/ F665
. j" s8 u6 }3 ]  |' o0 Q8 {8 F670
5 B1 p% f% z) K, J0 I675) }2 x/ x# b- ?7 g) D: a2 I. N& i
-40 10 60 110* O0 M7 l9 B1 W' E8 N8 ?' \
PEAK WAVELENGTH (nm)
. B4 y* M7 k; C$ oTEMPERATURE (°C)2 G0 `7 p5 P% \! a
RED LED WAVELENGTH vs. TEMPERATURE& p) I8 t& x# p4 t$ j
AT LED CURRENT = 25mA6 J/ J$ i# g; f2 z: ?3 W
toc10
0 ?/ W$ I% I9 ?4 b6 A+ {0# f- X- T4 H: G* f: E5 E; D4 B% E
102 J$ D' w$ D' w
20. f" l- N0 Z8 v! J& h" R; O4 _  _; Y( m
308 ?4 F; l5 K; S4 P3 W! `
40
# x, j) P1 n7 P  g50! \, g  I, ~3 s( r. T
60
. }, i3 ^( @" Q70$ p$ P6 ]7 Y& h( Q! W6 ]: }  C/ {
1.30 1.35 1.40 1.45 1.50 1.55, r* G+ D" C# z. |) e) w4 M
FORWARD CURRENT (mA)- W0 T# j: n( D3 A; ]0 o$ o  A
FORWARD VOLTAGE (V)
% [, ~; T& g8 Q! `) R+ ^* u3 x2 HRED LED FORWARD VOLTAGE vs.
  W6 d4 v2 m6 C) ?. j9 j+ m! h" eFORWARD CURRENT toc12. Y9 T9 d8 O6 M) E; J% _2 P, \/ ?
0$ U. }* p, i; T
103 {% \: A9 ]1 _: P) s1 [
202 O! T% i) S* ^7 j0 }8 J7 j
30
( c% h/ Q9 z2 R+ K: n0 m* q40& v! C( r9 e$ |+ l5 C& J
50* ^( z( ^% T9 R+ ]4 V! m, h4 v4 G4 X
60( A1 v7 M1 }0 q2 T1 P- i. L0 i
709 O2 R# a6 r% k
80/ n% w! U- e2 s" X5 u
1.70 1.80 1.90 2.00 2.10 2.20 2.30 2.40
* |9 I% ?  G( ]' d% H) JFORWARD CURRENT (mA)
# w" ?% [' j9 ^. m! N- dFORWARD VOLTAGE (V)
7 F3 i3 {9 A2 lIR LED FORWARD VOLTAGE vs.: Y9 X, V( b8 r' p
FORWARD CURRENT toc13
# q1 R4 I4 f/ I9 x/ m-201 e1 h. \+ N8 X5 z
0
5 w" K4 x5 S: Z' [+ w: T& D( G, Q+ d207 Y; N7 s1 O" l' h  T; k
40
+ Q8 o2 L( j' j' T" a3 D60
' J/ G3 |+ L4 c5 Z$ i* x, C4 u8 O% K80; C1 R4 A  U7 ?" L( Z9 ?
1004 J. O5 x" A7 Q, @
120/ J6 ]& {9 I. j* F+ T: b2 ^8 t
700 800 900 1000
/ ?2 `" o; M* c9 Q+ aNORMALIZE POWER (%)
8 n- v5 }( [& Q( p! K9 EWAVELENGTH (nm)
3 Y; v  R  Q, A/ a* o, F2 ]7 G/ G4 QIR LED SPECTRA at +30°C+ P* W. N- C5 o0 w- v: E$ |% ^
toc09+ b2 O9 [; v* Y/ ]( p3 X
www.maximintegrated.com Maxim Integrated │ 7( L( T( }% L' h. L7 {
MAX30100 Pulse Oximeter and Heart-Rate Sensor IC0 F+ P+ K1 V/ d7 B0 D
for Wearable Health
( E+ T2 Y7 P7 }: e$ D4 M# pTypical Operating Characteristics (continued)& ~. m  n7 k1 P5 S, b
PIN NAME FUNCTION" D& V, G' _2 L- d) p! q
1, 7, 8, 14 N.C. No Connection. Connect to PCB Pad for Mechanical Stability.( ~2 G7 L% i" J7 i
2 SCL I2C Clock Input
+ D3 V0 R& z" T" k3 SDA I2C Clock Data, Bidirectional (Open-Drain)! c8 A: ?% \! O# G! R0 p' j+ f2 G
4 PGND Power Ground of the LED Driver Blocks( t& S' G8 _9 j  W6 Q4 x5 [( ~
5 IR_DRV IR LED Cathode and LED Driver Connection Point. Leave floating in circuit.% b7 _& }2 }# I7 s1 Q
6 R_DRV Red LED Cathode and LED Driver Connection Point. Leave floating in circuit.# x" p$ b, T% d0 x: E2 j
9 R_LED+ Power Supply (Anode Connection) for Red LED. Bypass to PGND for best performance.% f% c, W6 ]! u) J
Connected to IR_LED+ internally.
& Q7 p6 G, W6 z) s4 I/ B10 IR_LED+ Power Supply (Anode Connection) for IR LED. Bypass to PGND for best performance. Connected
: L' X& _8 ~- \/ Dto R_LED+ internally.
6 Z; A" ^6 ?8 V0 s- }4 A2 Z: C11 VDD Analog Power Supply Input. Bypass to GND for best performance.
1 _2 J. g5 h% B! \! I3 S4 L7 k12 GND Analog Ground
' u( J( [* r- o# s# {* o  L1 G6 Y13 INT Active-Low Interrupt (Open-Drain)
+ r5 h8 ~6 V5 `) p1 YN.C. 1
) ^0 m: B" L2 R; ~9 w2 {( l1 NSCL 2
0 V2 T9 Z3 r1 s1 P; hSDA 3
3 i% i# @1 O) b% Q8 ^PGND 4+ Z- `0 k( q. T. d% b
IR_DRV 5# v( D& k6 i4 f" A
R_DRV 6
  q% i) A6 s4 y0 l5 vN.C. 7
1 ?, \7 q' C1 C% P$ V14 N.C.) o$ h) {  C6 g  O' H
13 INT
1 e0 t, z+ O& a# s/ o  u1 D12 GND
3 a( k6 P& J. m: X11 VDD
0 I; s) h( o% }' D. e$ W10 IR_LED+3 I$ {" C3 k3 P* \- H( f3 `
9 R_LED+
3 ?! ]6 F1 E; p8 N.C.8 y6 Y" {5 n9 D3 v+ V4 g8 C
MAX30100
5 B) b/ P  z  Z, C# v7 n; M' ]SENSOR- \' e5 b# e  p4 Y. Y! W( B9 J7 k
LED
8 W  X0 g/ V/ L/ }www.maximintegrated.com Maxim Integrated │ 8
$ w. b, ]' i8 X. U; qMAX30100 Pulse Oximeter and Heart-Rate Sensor IC4 m3 o+ n& L9 ], k* k  _
for Wearable Health
4 E" ^% W& {* X# b- \Pin Description
7 l5 a0 `# d$ OPin Configuration
& c1 [- b- q" c- T+ T, b660nm 880nm) @. b$ M# N$ H5 }! k0 r
ADC- a" P7 ]- N1 K; B* W
AMBIENT LIGHT
# t+ Z# R9 |" x# @/ C7 ACANCELLATION ANALOG/ \: H! g% o) x& Z+ t. D) N6 v
TEMP ADC  v0 A0 a: V6 I' G% q
OSCILLATOR# B- E1 n' m! K0 s% D+ ^- p4 f
DIGITAL
4 ^6 J* K5 E* U' A2 KFILTER
8 Y; \8 ^/ h# k# p' G% Q4 mDIGITAL4 y/ {" G2 Y$ o: G1 v. Q& |
DATA
( j$ v% t/ ?8 z! u$ YREGISTER/ ?& c% Q# F8 t" i, {  S
LED DRIVERS! }0 E5 j. p2 H, X$ `. m4 Z
I2C. Z8 U& t& S6 G* \$ K
COMMUNICATION
$ e/ ~+ H- ~2 O7 }5 A' o: ]5 C1 \INT
" ~! d' i  o! e7 bSDA- w# I- w! Y9 h4 u* b5 {7 s' [4 L8 r
SCL2 T; k8 g% C5 v0 m% B- ^3 ~
R_LED+ IR_LED+ VDD( t% ]! M5 D9 K8 {7 g( B/ P
R_DRV IR_DRV GND PGND0 _- h8 G8 p4 W- a
RED IR: U+ _# o; `: h' M: t; Q( t
RED+IR
$ J& a& R) x* C! E0 dwww.maximintegrated.com Maxim Integrated │ 9
( I( u0 T  X' z6 e7 Y  s4 GMAX30100 Pulse Oximeter and Heart-Rate Sensor IC
. s: o* i0 |. sfor Wearable Health+ d% x1 u! `' ^9 t( N- D% l
Detailed Description6 ?0 L. {4 \' f6 D
The MAX30100 is a complete pulse oximetry and heartrate' Y! u7 ~) y5 }6 O0 w4 Z
sensor system solution designed for the demanding+ p2 B7 t' p+ a; ~% x! k; G% A
requirements of wearable devices. The MAX30100 provides6 |) `) F. y. D* u8 O) O  \4 v3 d
very small total solution size without sacrificing optical( y$ v! t% v$ f
or electrical performance. Minimal external hardware& Y3 g1 R& F; ~; f* T% |
components are needed for integration into a wearable
; @* ^0 z6 a, q+ F# Gdevice., @! p+ |" J( x0 ^% T9 l
The MAX30100 is fully configurable through software registers,* q0 g1 r0 ^5 K# f! N
and the digital output data is stored in a 16-deep
3 ]+ B2 ]% s8 d5 T7 hFIFO within the device. The FIFO allows the MAX30100  C! L1 I0 ]' J/ I& X) Q7 g# p
to be connected to a microcontroller or microprocessor on. B0 d/ G# n7 J" ]
a shared bus, where the data is not being read continuously7 ~0 k# }0 `0 ?1 i
from the device’s registers.
5 s" e8 G8 ?* `1 G% sSpO2 Subsystem# P" T* [7 G, R" _, b5 s* v/ K5 I
The SpO2 subsystem in the MAX30100 is composed of
% u$ V# \6 {( I  ^" @( S+ V; Zambient light cancellation (ALC), 16-bit sigma delta ADC,
6 C/ g/ P6 ]. F9 O2 X, `and proprietary discrete time filter.
3 s! Q8 g* U# B5 KThe SpO2 ADC is a continuous time oversampling sigma
' a3 d1 Z* N6 r" i) z4 _# edelta converter with up to 16-bit resolution. The ADC output
# B% y5 \4 _7 |8 Ldata rate can be programmed from 50Hz to 1kHz. The: Q7 P& P. C+ Y: C
MAX30100 includes a proprietary discrete time filter to
* R; s& F1 u9 I1 O' S* r- }reject 50Hz/60Hz interference and low-frequency residual+ {8 f# A+ s4 n$ v9 Q3 }* @  P
ambient noise.
/ w$ m; W6 m' t) j$ b/ r& UTemperature Sensor# @+ ^4 H0 Q  y0 ?& |: U
The MAX30100 has an on-chip temperature sensor for4 B4 f5 z* I2 S8 O
(optionally) calibrating the temperature dependence of the
+ D& `6 v" J0 zSpO2 subsystem.: g2 p9 C$ C1 j7 P( M  L( \% r0 E& b
The SpO2 algorithm is relatively insensitive to the wavelength) d1 I) r7 D0 b$ E6 ]' u  t, P
of the IR LED, but the red LED’s wavelength is critical
/ G! L; @0 [: J9 u* E8 X! }3 oto correct interpretation of the data. The temperature
& c/ ^. u6 g8 Ssensor data can be used to compensate the SpO2 error* u# C7 Z5 j, j0 T
with ambient temperature changes.
7 b# i9 w% W: {* }LED Driver
4 h' m( k7 z, V( m4 y& H$ zThe MAX30100 integrates red and IR LED drivers to drive2 b( P+ V. @$ B4 J* Z4 d
LED pulses for SpO2 and HR measurements. The LED
/ B& J4 p2 n0 n% ncurrent can be programmed from 0mA to 50mA (typical& E, V& f# e8 D/ a$ A& i
only) with proper supply voltage. The LED pulse width1 x/ j( R  O* d
can be programmed from 200μs to 1.6ms to optimize9 _! G# s3 I! ~# F5 K& E
measurement accuracy and power consumption based0 H! @: n& [3 _) y
on use cases.
4 G5 r6 _9 u, d& n9 g5 @6 v4 k5 fFunctional Diagram
' g* V9 U1 }# e  Z  @% cTable 1. Register Maps and Descriptions/ o* y, _% c( a6 P7 @
REGISTER
8 W* x6 R$ d8 I' B  ^: EB7
) ?* U- a0 W! F  `: b$ ^B6
  n. ^  x7 R8 y/ hB59 j8 o$ K3 k8 k8 E' L1 S6 x
B4
7 c5 c1 F5 e- k; S; B% B+ ]4 K6 f! o+ IB3+ n% T4 _: R' a5 ]. P6 G% p
B2+ e# y" T# D" K! e/ Y  V1 F8 s9 R9 o
B11 V% X; G/ z; h2 T) {
B0
% }! S! g5 c) [) l+ u1 _3 D4 {REG3 U8 ]8 v( F2 W
ADDR) M+ H$ P; r) ?6 a: k
POR
- |; n) }% r; U% T6 b+ \STATE7 W5 S" S  [% a$ M7 F& {
R/W
) F# q- }  |+ h# A# y$ {9 kSTATUS" V! o5 x! u9 W; t2 C
Interrupt5 S) ^# p$ F/ o
Status
3 `  f& d$ h! ~/ a. gA_FULL2 f6 E6 K2 |) r% m
TEMP_
, m: \# ~" j0 e* n" B9 |6 }' TRDY  E: o, s& t" o, v/ g
HR_RDY
2 g6 K% C/ R2 o$ }SPO2_5 D, R7 E. l. y$ [* U! H
RDY
0 Q* G7 V3 R+ C" V) ePWR_5 H, l8 K+ F0 ^6 C# D
RDY
* c/ s% j# r0 d/ v$ A  \1 p. f0x00  A0 c" e9 g: d6 \; @0 R
0X00, h2 d% W9 |# b# l/ k
R
; f$ h/ l% ]4 b- M, L* PInterrupt Enable7 |; z6 E& j8 C
ENB_A_FULL
$ |" J  s0 m# U  F* ]ENB_TE
" v9 d4 L: [0 c. T3 M0 x' p! kP_RDY; _8 s/ q' {3 p
ENB_HR_RDY
& b8 @& y7 Q  ]& h. I( iENB_S
" W; {8 B0 F4 n( n5 \O2_RDY9 R1 ~7 g0 \  {  Z2 t
0x01
/ @; H, S. i, U0 |5 K0X00
: F  P# E0 A7 n3 A) u4 _, {! [# MR/W
( w* ?6 m$ ^: ^1 T+ a" d5 YFIFO
2 o: s5 S- w/ V+ v! BFIFO Write Pointer  {* ~3 ]/ u& w4 ?. q" V
FIFO_WR_PTR[3:0]/ O, V+ R, A3 }* l7 i8 q! c: O
0x02
* z9 a1 @. [# D' |  o# ^; O0x00
( }$ s4 e3 ^7 o1 }6 M0 ?3 JR/W( J: d1 f/ S% Q6 A& y4 }
Over Flow Counter
0 i5 [$ i: o) U, \, DOVF_COUNTER[3:0]
3 `. f3 d; l, ]% b  }0x03
: h' Z) B& Q$ s: L: f0x00, I+ X4 n3 M' q
R/W2 N& `) _2 A7 R3 I
FIFO Read Pointer( y0 t' [" e% f$ J' n
FIFO_RD_PTR[3:0]! r. J/ Q  L8 v
0x04
# I6 @/ `+ e) z- L0x00( B% o  j5 h% W3 b" j( _% U) U6 @
R/W
8 S1 d7 T' l" p! _/ c( U( sFIFO Data Register  L" K+ h/ H3 \: G, g
FIFO_DATA[7:0]3 \& x' |, ]; n% N" s+ ]% Y& E
0x051 R- r6 K' j- o0 G  ?& x
0x00" y  q4 Y5 v/ a5 T4 S, D
R/W
' \* }- y$ _- V$ yCONFIGURATION  K) X3 \4 W* K1 `
Mode Configuration
) z# ]) m1 X' @  J6 \5 m$ y; q2 j0 XSHDN
2 E) q% N; q$ lRESET6 \0 N) N8 X$ A  v/ s" N- ]
TEMP_EN% ?1 H) S- o& X4 @
MODE[2:0]; B8 t. M; i- |. C- z
0x06
& m! g$ e2 t! I$ P' ~0x00
( M' L2 T1 X) ?9 X9 {R/W2 C5 w" D( |- {, y  O+ j5 j+ w6 f
SPO2 Configuration8 j+ R+ {3 b2 z% Q1 k5 |/ {
SPO2_HI_* t3 i( s# Y* r; {5 v+ {
RES_EN
. U/ \1 a8 J- U' FRESERVED
# P4 J, b3 A* B& a' SSPO2_SR[2:0]
6 o/ N. ~; d0 f! U9 z: \+ Q$ k4 ALED_PW[1:0]. y* A0 C8 K7 @4 s( M( T
0x07
/ j  S4 M7 C: n' x# V& Q+ x; C" W0x005 `/ [0 N" S5 h9 K# B5 a
R/W
) q9 |: h: V. Q$ G4 v8 i% R: y& cRESERVED4 j' ~8 B5 j: e' `1 D- b2 w
0x08: i* ?. g! q  @4 x, q
0x00+ [. M+ {7 j' K  ]2 r
R/W8 H  l, D5 H* ~0 T- A$ V
LED Configuration
& i& }5 }) V2 L# ]/ v* ~  \RED_PA[3:0]. a# s) i7 J8 B* p4 j9 q
IR_PA[3:0]
( H: t0 C& _' W7 ?( i7 S: _7 J0x09
$ |" H5 |2 A  `5 {0x00# |2 t) d8 Z) j4 {0 i# @) u  r
R/W
. p# Q. h, M" L8 P7 tRESERVED% S  x  \+ V& f7 w
0x0A5 g' `1 n2 h) [
– 0x15+ O, {3 ^3 I+ ]% ^) I; v
0x00$ g% N8 b1 E- h5 g8 v
R/W: b# |, R: R2 a- i- W! g
TEMPERATURE" s  b. Z0 C4 g9 l" B
Temp_Integer- e3 N1 O, W: e( t4 y4 V7 F
TINT[7:0]/ ?8 c! f/ i) A# J: O1 u
0x16
* r( g; x3 ~) d* i8 m0x00  `# v/ G( O5 E. `. L# E
R/W& a( [# D8 O4 U3 I0 r1 h" N/ a$ e
Temp_Fraction
4 l: Q8 }  D: fTFRAC[3:0]
+ b' |, C& o9 L! G3 Y* E. _: S0x17+ u, c6 @+ W+ F2 j. @' w2 p& z
0x00( G! v. P- W- b$ P, }" e: m
R/W7 m2 d) @' h) p- X: ?  V
RESERVED
1 k6 M+ o) v& ~0 y0 P0x8D
" D* ?) H: K! D/ s# l# K$ \0x002 g% _7 X" ?+ i. l8 z$ e
R/W3 S. _5 s/ u6 c
PART ID
9 x/ i8 D: n& I2 c3 S1 A' gRevision ID
: Q4 D) M6 N9 e; E: pREV_ID[7:0]
; R0 n  E7 l3 _0xFE
7 d5 x1 W9 b4 T: N, N. m% ~0xXX*
- B! r/ i; h, e( oR
) d/ K# M# W; k5 \/ UPart ID
0 W3 {7 x! B/ a- f7 uPART_ID[7]
; |* V( d' W5 p- N0xFF& s- d( V0 K. X' Z
0x11
' @, Y: n+ L* |R/W9 T4 j+ N# B9 A6 b& q5 j' t: U
*XX denotes any 2-digit hexidecimal number (00 to FF). Contact Maxim Integrated for the Revision ID number assigned for your product.www.maximintegrated.com Maxim Integrated │ 10" ~6 j2 r2 O( b' U2 V9 Y; E
MAX30100Pulse Oximeter and Heart-Rate Sensor IC! V. J0 e: c- {
for Wearable Health0 v+ G; L' e/ R2 p! c+ [' o" C% H8 q
Interrupt Status (0x00)8 G, ]* ?) x( @/ u" \0 w  w4 Y3 W! p' M
There are 5 interrupts and the functionality of each is exactly the same: pulling the active-low interrupt pin into its low state until the interrupt is cleared., s8 b8 H- f" {3 v8 _
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 SpO2 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), and also clears all the bits in the interrupt status register to zero.
6 j8 @- P* D- D  R# WBit 7: FIFO Almost Full Flag (A_FULL)& d5 y: D" L) ]  [1 d# a9 ~
In SpO2 and heart-rate modes, this interrupt triggers when the FIFO write pointer is the same as the FIFO read pointer minus one, which means that the FIFO has only one unwritten space left. If the FIFO is not read within the next conversion time, the FIFO becomes full and future data is lost.
* o8 i9 Q3 v8 r  e4 SBit 6: Temperature Ready Flag (TEMP_RDY)8 q/ X. }0 [$ U0 t$ w; R( E9 d
When an internal die temperature conversion is finished, this interrupt is triggered so the processor can read the temperature data registers.
$ y' ]* D6 R( R; I4 O* H, h$ E2 nBit 5: Heart Rate Data Ready (HR_RDY)* c+ l6 }; z. p. x  w  \9 s
In heart rate or SPO2 mode, this interrupt triggers after every data sample is collected. A heart rate data sample consists of one IR data point only. This bit is automatically cleared when the FIFO data register is read.
$ h% f! }" }! P; q3 FBit 4: SpO2 Data Ready (SPO2_RDY)
- t$ ?# n& N+ W1 _9 Y5 q* XIn SpO2 mode, this interrupt triggers after every data sample is collected. An SpO2 data sample consists of one IR and one red data points. This bit is automatically cleared when the FIFO data register is read.
* N, ^; e. h7 zBit 3: RESERVED
3 D' a9 _0 ]+ p* E8 ^/ tThis bit should be ignored and always be zero in normal operation.
( M4 W% [, t, f! X  {+ ?- hBit 2: RESERVED
9 A  |  h! O6 qThis bit should be ignored and always be zero in normal operation.
2 S5 _/ [* P' J3 g! D) IBit 1: RESERVED
3 ?. A) j! k. }8 S  {This bit should be ignored and always be zero in normal operation.
) t+ d6 Z; c% K  q1 E+ {3 a8 CBit 0: Power Ready Flag (PWR_RDY)
! @+ w; `& A3 S0 g) M, F# d$ E) |On power-up or after a brownout condition, when the supply voltage VDD transitions from below the UVLO voltage to above the UVLO voltage, a power-ready interrupt is triggered to signal that the IC is powered up and ready to collect data.* I1 d2 Y0 O: {7 [3 [
REGISTER( |& n! v- U: `9 w: c
B7
+ {& F' g, c# `0 s! k* v( wB6
/ s1 ]5 q; ?* DB5
# _  A0 w* u3 PB4
' r: O: K2 e$ tB3
+ g) m" U' `; q6 k- pB2
9 N/ `  g. M. H3 M- @( i7 J$ G! xB1# q3 F" w) e3 J) {# e4 o3 \
B0
/ f" z) O. n: `( h* m) a/ lREG- y( H5 N- X6 f& f  ]) T6 I2 H) Y
ADDR9 b; h8 s6 b/ ~9 b
POR
& c+ K: I. Q' J$ J, s" }STATE
& l. d1 a* z$ S  NR/W
/ H0 I4 K9 o; z" g" eInterrupt+ Q0 x1 g# T4 H( h3 C5 h9 S
Status- F* T) F9 z' A$ p( L/ i
A_FULL, k& i* i$ s5 `2 U0 b
TEMP_
% Y) ?) F+ K3 ^  aRDY: ~- y6 V1 L7 L2 @, v
HR_RDY
7 \" k* z( H( R& N/ Z) D, L: ?" D/ @SPO2_1 [7 r0 r3 \! K& O/ X
RDY' c/ L! [( {7 ?9 S
PWR_
6 E+ }& t+ c9 E; w1 Q9 VRDY# |# `% J+ x  c: ]7 z7 T- S, S
0x00
& k5 H' J! N% |0 ~0X00
2 E0 R* Z) M8 ?. N! {; VR% s# A( t5 m1 K, V  R/ s* _/ G8 ^
www.maximintegrated.com Maxim Integrated │ 11
1 |, K7 }, h3 g* B" X- N4 `1 |) d( L( AMAX30100 Pulse Oximeter and Heart-Rate Sensor IC
9 e* u3 o3 z& p; xfor Wearable Health
! X/ o. N& |, ?: x( V" c; n, MInterrupt Enable (0x01)
2 g: B/ O+ A% H9 ^Each source of hardware interrupt, with the exception of power ready, can be disabled in a software register within the MAX30100 IC. The power-ready interrupt cannot be disabled because the digital state of the MAX30100 is reset upon a brownout condition (low power-supply voltage), and the default state is that all the interrupts are disabled. It is important for the system to know that a brownout condition has occurred, and the data within the device is reset as a result.+ t$ J2 {& b, T8 |, k2 N
When an interrupt enable bit is set to zero, the corresponding interrupt appears as 1 in the interrupt status register, but the INT pin is not pulled low.
- {) F$ ]! k1 b3 ]  B6 g; uThe four unused bits (B3:B0) should always be set to zero (disabled) for normal operation.5 l. b# r) j" G5 [! C' c6 T
FIFO (0x02–0x05)% n' B" \) C) c9 M7 P! Y+ W$ a
FIFO Write Pointer4 v2 v* F7 N- _1 z; C
The FIFO write pointer points to the location where the MAX30100 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 nonzero.
+ U- t* K9 w. J; TFIFO Overflow Counter
- e9 n, x8 o/ q9 kWhen 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 from the FIFO (when the read pointer advances), OVF_COUNTER is reset to zero.
  i" E; z. `7 N8 Y; KFIFO Read Pointer4 n$ v5 h* `+ G$ p9 P7 c
The FIFO read pointer points to the location from where the processor gets the next sample from the FIFO via 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, which would allow rereading samples from the FIFO if there is a data communication error.% P( n4 e) l9 M+ a
FIFO Data' P5 P( y8 m- E2 x: V! v" ]
The circular FIFO depth is 16 and can hold up to 16 samples of SpO2 channel data (Red and IR). 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 FIFO_DATA register does not automatically increment the register address; burst reading this register reads the same address over and over. Each sample is 4 bytes of data, so this register has to be read 4 times to get one sample.
) A4 \- D) S  DThe above registers 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 MAX30100. When starting a new SpO27 J+ Q0 v) ?: D' m# X
REGISTER  M3 B! g, e! k' g
B7
2 {$ ?: G0 T' M" ?' f6 `1 S4 ~B6
- H) c! l6 V8 r, tB5  B) {* ?5 g/ J, C. e" x
B4( B5 a2 {% q" c# T! Q0 ]  ^
B3% H1 C6 ]' ~& D+ D* `! I( `0 z( a
B2. r$ }2 W; ?0 h( d( j* |
B1
0 l% I) }+ P. s; c, |B0
8 D, ?0 A" p3 @& h9 M" h2 ^REG. ?. d2 ~" i- `" Y# m4 \
ADDR+ h! W1 u1 ^/ s' b8 H
POR
( `) x8 {3 W) N: p& cSTATE
, m0 k. q) x( F- ]6 I( UR/W
+ ^) E0 w! h3 L# [9 v! K7 CInterrupt
2 S/ g/ g0 B5 k1 a7 T+ L* z2 YEnable
& `& U7 e" o. pENB_A_FULL+ M# W, W! M! h1 @% [# ]3 h* T
ENB_TE
) G: [, z2 {: I# N; g0 pP_RDY  `1 t3 O4 l& t2 j- u) |2 U
ENB_HR_RDY: O" w. P; i1 P/ \8 p/ [
ENB_S
, n2 c3 c: o& \: ]: iO2_RDY; q* O  v6 @# x4 L) n
0x01: ]0 i  |* j' O8 c% w
0X00
; a# E0 k) V+ C5 B% M4 y9 bR/W' \9 Z; g5 |+ [6 U+ d- V' L" N
REGISTER) D: j: ^2 D/ |& }2 g& j. D
B7
5 T' q  u4 K" R; ~+ m) I7 \% e( W& IB6+ X3 W' S; B" N# x# I, O7 c3 h9 Z
B58 p( D% W' A: m+ v/ u& P, k
B4
1 V/ h' j. l- l6 j1 p+ kB38 ?8 d) R6 l; `+ J& B( }. ~" c9 Z
B2
2 m3 N2 P( W% \5 GB1
+ ]% P: |8 s5 }0 IB01 l3 R/ X* ?& n- O9 u: L
REG
) r% ?# Y+ W6 |: _; w% u2 yADDR' t- c4 V9 A$ E+ R+ n, u  S1 W
POR( Q+ R% p$ X0 l: k2 i, R1 s& h, h
STATE
2 L. o0 R8 e5 k" E: }+ k% t" m8 LR/W# ]$ e; a, x. ^6 c; C3 d
FIFO Write Pointer
( L; R6 t& u, Z8 G3 f9 C, ^, x  DFIFO_WR_PTR[3:0]1 K: D! H9 H9 e+ w  N+ m
0x025 b% G2 q; N5 r5 E
0x00
0 z$ ?, c, c2 v$ c$ Q7 h6 L" ?/ B+ ZR/W
3 Y6 l/ q- }; o* ?' _Over Flow Counter
4 }9 p0 I1 ?9 X& k. h9 v8 COVF_COUNTER[3:0]% q4 b) N7 ?5 @: [2 K  \8 m
0x03) h: J/ h' {  b6 \: }
0x00
/ t& u3 w1 L& s. G/ u8 n4 |R/W) I- X+ d$ E# U2 a: o. g
FIFO Read Pointer* g5 J/ I0 H. Y
FIFO_RD_PTR[3:0]
0 C8 g( |  T, A: J: D0x040 P) C) j2 L+ `) c7 d0 P
0x002 O; {8 C# W1 ^
R/W/ i: U$ ?0 V* R2 v( b0 s5 Q8 q
FIFO Data Register
1 d5 n) x* j& t2 b2 p1 j- Q8 r% QFIFO_DATA[7:0]
& `) }( X+ R6 n0x05  X4 j: Y$ c5 d$ k3 K% h' v9 ]
0x00
* [& D* a6 U: g' }, ER/Wwww.maximintegrated.com Maxim Integrated │ 126 C* U) C* [% m3 ?5 X  x, l
MAX30100Pulse Oximeter and Heart-Rate Sensor IC
" ?0 g' G+ X5 U  \( [$ hfor Wearable Health: \4 H; g, N0 ~1 O- \- C
or heart-rate conversion, it is recommended to first clear the FIFO_WR_PTR, OVF_COUNTER, and FIFO_RD_PTR registers to all zeros (0x00) to ensure the FIFO is empty and in a known state. When reading the MAX30100 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 0x05. When reading this register, the address pointer does not increment, but the FIFO_RD_PTR does. So the next byte of data sent will represent the next byte of data available in the FIFO.( {1 c  ?7 j/ y, {( |" S) d
Reading from the FIFO
& {% t! _+ R: H' _2 [" S4 eNormally, 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 restart event. In the MAX30100, this holds true for all registers except for the FIFO_DATA register (0x05).
0 @  T4 c# Z" P, z/ ]/ n1 WReading the FIFO_DATA register does not automatically increment the register address; burst reading this register reads the same address over and over. Each sample is 4 bytes of data, so this register has to be read 4 times to get one sample.
% S6 V0 E0 ]6 r3 V) J, [9 AThe 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.$ s% `+ j# ?1 U
FIFO Data Structure' s# @0 \1 y4 s; v9 O' c. s2 ?
The data FIFO consists of a 16-sample memory bank that stores both IR and RED ADC data. Since each sample consists of one IR word and one RED word, there are 4 bytes of data for each sample, and therefore, 64 total bytes of data can be stored in the FIFO. Figure 2 shows the structure of the FIFO graphically." A7 R3 j  ~; J& J/ d" r9 S
The FIFO data is left-justified as shown in Table 1; i.e. the MSB bit is always in the bit 15 position regardless of ADC resolution.
; b7 Q+ J1 Y! S; X. C0 REach data sample consists of an IR and a red data word (2 registers), so to read one sample requires 4 I2C byte reads in a row. The FIFO read pointer is automatically incremented after each 4-byte sample is read.
+ h( H+ j% _- h( n- K3 i- pIn heart-rate only mode, the 3rd and 4th bytes of each sample return zeros, but the basic structure of the FIFO remains the same.# W8 ?! {1 ]% ~, O
Write/Read Pointers: w0 D$ a% E/ m9 @$ f) u# s, A( a
Table 2. FIFO Data: a& @& w' e! s* i; S
Figure 2. Graphical Representation of the FIFO Data Register2 J% ]/ ^2 L* w
ADC
/ S; {: s+ Z# y  N) V5 vRESOLUTION
; f+ [. O0 H/ b) _, q$ UIR
0 G* M, M4 y! @) I9 P) G) j2 j[15]8 R3 A! i( M- |2 N( Q& |6 c
IR0 ~. j' K7 t& u5 u% L: O
[14]
  j* O& l( s0 ?IR* B% \3 `& O' @) l& ]+ n" d) ~
[13]. n' h1 v0 J3 M7 U
IR
3 A1 W$ \6 n) @( A8 e1 Q4 W0 `- j1 Z[12]3 E4 x0 d/ x1 @  _* y$ n( [
IR8 |# t% Q6 u; ?/ M! G# R
[11]
  K# z9 E3 N# }1 fIR) d, g0 N8 B) W9 `" x6 c
[10]! K: X2 d, r, f# m
IR8 G+ V# n7 M2 Q3 s8 V6 T
[9]
- F( I- Z0 j' q( yIR
. h) ^) h9 D: f" V: i& n: N8 Q  l[8]
1 L5 }; w% j& xIR+ O2 k3 s/ g. d  W
[7]
6 N, ^- n2 w* sIR
3 ]8 j- w) O6 j) ~4 D+ s/ c[6]
7 y/ q1 ?1 L3 e  z' `IR
9 A% ~4 |( R& `% {; o) @3 z- S6 O[5]0 n2 V4 l7 w) g, q; y+ f, f! g
IR- a4 Q" T. H& \! @& Y, Q
[4]
( v2 P% U% b% v0 x8 kIR
; r' \, X; c8 R[3]
# ~  h0 W+ [  N3 a# IIR! p" j, w# A. W2 ?- n; k/ o
[2]/ Z" \% Q: T0 p; Q" l0 a
IR
) s: B6 B9 c2 d- n' j) L; x[1]
- k. R7 d2 E% h/ }7 B" ^IR, D. ?7 X( P9 K- d7 m, \+ U( \. A
[0]" }4 r  Y. L/ |/ B$ l
16-bit
" M  \" {, b4 D1 E# t; M! h14-bit
3 z3 `% I. C' C% J5 E: ]12-bit
. z4 V9 x# N5 m: _* ^10-bit# z7 R% e6 P. U( [
IR[15:8]IR[7:0]RED[15:8]RED[7:0]NEWER SAMPLESOLDER SAMPLESREGISTER 0x05IR[15:8](START OF SAMPLE #2)) n- v2 Z' `; j: z) S6 u0 e
www.maximintegrated.com Maxim Integrated │ 13
7 {8 p: a+ ]$ h: t- [1 ?MAX30100 Pulse Oximeter and Heart-Rate Sensor IC
; w; o6 {5 u1 Kfor Wearable Health
9 z. o- ]& `+ I- w" fThe locations to store new data, and the read pointer for reading data, 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 automatically 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.
# t$ ^- t" @6 F- WThe SpO2 write/read pointers should be cleared (back to 0x0) upon entering SpO2 mode or heart-rate mode, so that there is no old data represented in the FIFO. The pointers are not automatically cleared when changing modes, but they are cleared if VDD is power cycled so that the VDD voltage drops below its UVLO voltage.
, ^1 `( B$ ^6 U$ X) ~! t: fPseudo-Code Example of Reading Data from FIFO* d7 q/ n8 r7 V" e8 |/ R% L
First transaction: Get the FIFO_WR_PTR:
& }$ i; A/ l& O/ ~( ^+ P$ _) G3 mSTART;
7 L1 d. V4 Q8 j+ n9 f3 mSend device address + write mode
$ g9 m2 U* \/ T2 jSend address of FIFO_WR_PTR;
- m4 ^/ h; N6 [- w+ i' G4 f# [REPEATED_START;
$ u1 L. B& B7 O6 V. a% L1 W8 F/ d& eSend device address + read mode
, L& s4 l: ?& ?- Y5 _& Z7 }Read FIFO_WR_PTR;
* o. Z1 p, J% @STOP;
; @0 m& w# q0 G  Y6 B1 kThe central processor evaluates the number of samples to be read from the FIFO:0 f' G% d4 Q8 a$ v: f: s
NUM_AVAILABLE_SAMPLES = FIFO_WR_PTR – FIFO_RD_PTR( x# i" [+ S: `
(Note: pointer wrap around should be taken into account)
- q$ I! h( O- j4 X# U2 bNUM_SAMPLES_TO_READ = < less than or equal to NUM_AVAILABLE_SAMPLES >
) r9 z$ [* P* ~: l5 H$ ^6 y5 [Second transaction: Read NUM_SAMPLES_TO_READ samples from the FIFO:
7 v4 C; K  O  p* A" Q7 QSTART;) c5 s& a/ G" z
Send device address + write mode
2 W; h" Y3 F* s* y/ z. V8 {! o; [Send address of FIFO_DATA;
, b, w/ _0 K1 M) ~: ~REPEATED_START;
% c  }/ y: A& v, z( z0 JSend device address + read mode! c, e( Q# Z# Q7 L" R( [
for (i = 0; i < NUM_SAMPLES_TO_READ; i++) {
9 {: d# g. G- Y3 S$ YRead FIFO_DATA;; c1 P# }0 Z8 P! z1 R: d
Save IR[15:8];
8 B" q$ O6 X. q$ c5 i. x9 N5 d% uRead FIFO_DATA;
: D, X1 j8 Y& c4 iSave IR[7:0];
: f0 Y- D' z3 s0 M( t! C9 yRead FIFO_DATA;' y( f4 u+ M( g6 z
Save R[15:8];! Z9 D& v  i2 \2 `- Y
Read FIFO_DATA;& ~* k5 m5 A" Z+ N
Save R[7:0];
4 u' ]0 h: x* t9 L: K( @7 G}2 c& l# Q4 x8 j6 M0 H: V
STOP;www.maximintegrated.com Maxim Integrated │ 145 E( S5 K( ~8 J
MAX30100Pulse Oximeter and Heart-Rate Sensor IC6 }9 R& A3 R: v& H, `# |) R
for Wearable Health
/ o2 P+ X) b0 K8 CThird 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! n4 \, M5 o/ X- b  Z6 {
FIFO_RD_PTR appropriately, so that the samples are reread.
- v) X/ g( @- f+ y/ c+ U8 g. jSTART;  O- H9 B' D* Q& ^/ t9 X+ \# r6 v
Send device address + write mode
* t: w" j. d( w: q% nSend address of FIFO_RD_PTR;( o7 O% X/ F8 |( C. z. ?5 r
Write FIFO_RD_PTR;
5 U6 o0 u0 E. PSTOP;
. u; b/ H- r: e7 n# SMode Configuration (0x06)4 Y1 c  I. S% S+ k' \
Bit 7: Shutdown Control (SHDN)
9 ^" ~0 B) R5 f; Y. o6 m9 W" J; g; jThe 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.3 F0 D4 ]1 A$ h6 \. d" g
Bit 6: Reset Control (RESET), h! w1 ?$ F6 F1 q$ g
When the RESET bit is set to one, all configuration, threshold, and data registers are reset to their power-on-state. The only exception is writing both RESET and TEMP_EN bits to one at the same time since temperature data registers 0x16 and 0x17 are not cleared. The RESET bit is cleared automatically back to zero after the reset sequence is completed.6 \7 g& q* p2 |& N: o1 n. [* [
Bit 3: Temperature Enable (TEMP_EN)
, v9 m. [: s/ n& `" u8 ZThis is a self-clearing bit which, when set, initiates a single temperature reading from the temperature sensor. This bit is cleared automatically back to zero at the conclusion of the temperature reading when the bit is set to one in heart rate or SpO2 mode., @$ D# S4 n' l
Bits 2:0: Mode Control2 }/ k* ]& G7 ]/ U7 \
These bits set the operating state of the MAX30100. Changing modes does not change any other setting, nor does it erase any previously stored data inside the data registers.9 r) }, [; Y9 a7 z
Table 3. Mode Control
" |) }& ]9 Z& [4 t1 xREGISTER, M7 b% V2 w* M/ Z* n( d
B7
0 M6 G" m) S8 h" h/ pB66 K1 {, j% F/ j4 f
B5
1 r5 I, k' Z9 u4 R) @! dB40 F; Z. f4 S. m
B3* i7 I/ \0 y3 U: r4 O
B2& N8 x" R# x2 o) R
B1
: f4 F/ \+ b- Q$ uB0
9 C2 P6 n+ q  V- u/ UREG1 {+ o, `5 R7 X- R" p% O; N+ }* V
ADDR; \1 q7 y6 z  ~. W& Y3 F2 B- |
POR& W3 ]. r9 P- Y/ }! `3 Y
STATE
- |; U* p: g$ W5 {0 qR/W5 H" W3 V, }5 Z
Mode Configuration
9 i3 z4 X& C! K' z7 x7 i, Z6 ~SHDN
/ P, b0 H6 j0 w" {) u4 ~0 d8 dRESET
, f# M5 y, _. D/ JTEMP_EN
4 W& F5 [% _7 ~( kMODE[2:0]! b$ O0 q7 p# m! P- d# C
0x063 a" W3 w5 o! q: }8 ]; x; ]* y
0x00" H4 ^2 A/ h/ l' q+ r7 B
R/W
8 J# s6 ?8 e9 C7 S! F2 X9 hMODE[2:0]2 }% Y" |% x; N9 i$ z
MODE0 n* q4 Y( @+ K& K3 f" K" E
0005 h$ u$ Y  M6 _. L5 R& ^
Unused/ R* R+ V$ e' L- d/ T+ p
0010 H! Q! b3 A! N& V1 Q
Reserved8 @; p& X- q, K0 |4 e3 I
(Do not use)
8 m6 y( S. J3 S& }010
9 q3 H) q3 Q+ }+ }9 ?HR only enabled. ]. }1 o; j0 M5 a, s* ]8 O7 G
011
! Z( r8 _  w- e  g- W& ^SPO2 enabled, ]: }" [3 t' a3 I
100–111
9 w; V9 o: _6 _: Q" |Unused
- |1 X( l) L* `www.maximintegrated.com Maxim Integrated │ 15
' a7 f1 y0 C" ?3 dMAX30100 Pulse Oximeter and Heart-Rate Sensor IC6 P' B  q1 {" ~+ E9 m* b
for Wearable Health
# H* N! Q0 N# z2 Y4 G  W3 j. A4 CSpO2 Configuration (0x07). g( J" N; Y) M$ w2 q) B& Z
Bit 6: SpO2 High Resolution Enable (SPO2_HI_RES_EN)
5 W4 F* a0 ]. ~3 n" J0 Y- `0 l/ ]+ ~Set this bit high. The SpO2 ADC resolution is 16-bit with 1.6ms LED pulse width.) w" k" A: u- t& B, M, E! y2 v9 o% f
Bit 5: Reserved. Set low (default).
' {4 L! b* \- }5 ^, m1 m2 DBit 4:2: SpO2 Sample Rate Control9 N$ U# g1 D6 P9 r- z3 W( e
These bits define the effective sampling rate, with one sample consisting of one IR pulse/conversion and one RED pulse/conversion.6 j7 N/ g. Y5 i# i# W, m
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 will instead be programmed into the register.
1 @+ c" q5 {) @9 |Bits 1:0: LED Pulse Width Control
; X' ^3 A% |/ XThese bits set the LED pulse width (the IR and RED have the same pulse width), and therefore, indirectly set the integration time of the ADC in each sample. The ADC resolution is directly related to the integration time.0 p5 ^5 f& `- E# A
Table 4. SpO2 Sample Rate Control: l1 U; K7 A8 g2 F0 [# R
REGISTER0 F1 r- I$ |& A! M# Z2 ]
B7: ?4 s# e+ k+ O0 e4 r$ ]
B60 x# ~3 Y4 F& h: x* ?7 F; f9 L
B5
! d$ \4 Y& K, o# O1 u% GB4
, n% l# n! x1 B, a3 [5 r0 I' ^B3
! \( }2 O( h9 r$ ~/ V3 N7 ^, A$ |9 aB2  x( Q  K! ]- b7 u
B1
3 c- |& }! a, W. N: S* G6 ~B0, s, L/ y' B/ x% M5 Y( g- Z& a
REG/ G- c8 R0 ]$ D2 J
ADDR
5 w2 c  `9 M- W( APOR+ Y/ ]7 `* @4 e) w
STATE
% R7 i. Z+ S- H1 x* K  ZR/W0 [# j  I7 k! x1 |% F. d9 Y$ |
SPO2) w) Z$ L& M. N; w; T0 V
Configuration5 G6 o$ W1 u: }9 ^$ f
SPO2_HI_' A$ \& B5 m) b# ^% L% f" h
RES_EN) T' b; J& H) Q9 [
Reserved$ n; H0 w5 F. e( V) ?, X/ q- O" R
SPO2_SR[2:0]5 E, F2 m7 P2 t  c  V
LED_PW[1:0]
  i1 _+ r" \. G* s% e# `: z7 a" i0x07# w0 a% p! U0 X; r
0x00
& ^$ p% Z8 Q- y- J7 ^. ~; nR/W
+ D- y* n: c! b2 [2 H1 |. h5 |- v9 kSPO2_SR[2:0]
' U# M( X* N$ MSAMPLES (PER SECOND)
( I; W# R0 i) z; x8 L5 I* e( `; h000& b9 \, U$ @3 ~( F9 }* p4 s/ S
50
3 l% ]* G3 r2 N0 X) J* B) p001' u3 g8 G: I( v- c, P" a
100
! w6 Z& ^5 J' B" E6 V* I010
. j, m5 [  \' \0 g2 W) C1670 P; r  i; ?' G8 ^: n- [
011
  n2 E7 J8 V) Y4 e2008 ?9 p4 o/ B, W- @( ]% a: V- l
100
" N4 G3 ?2 Z3 }0 F" k: ~. W400
5 [: K' K- i, l: f9 ^; w101
. @0 t& p  V- J3 N% _. H600* D8 i/ \8 T' R
1103 d* J( s9 V1 P$ e# O1 Z$ X0 W+ k* A
800* \# p/ W$ d: t6 D3 h+ `2 ^% m+ n
111' i+ i$ d$ Q( [) K
1000www.maximintegrated.com Maxim Integrated │ 16% U. e$ {# k3 s5 x: F+ K
MAX30100Pulse Oximeter and Heart-Rate Sensor IC
' Y' {$ X/ r2 ^' {  r0 p! xfor Wearable Health+ _6 l, r, T& E9 f! z' z1 e1 `% y
LED Configuration (0x09)
6 [4 L- V$ X3 Y" b. _- d% C- hBits 7:4: Red LED Current Control
  p+ M) y; C1 I' e' k# [4 cThese bits set the current level of the Red LED as in Table 6.
( V2 \1 }. v4 V  eBits 3:0: IR LED Current Control4 @; f- b# V+ E$ t
These bits set the current level of the IR LED as in Table 6.
8 K5 o2 N  H$ ]0 fTable 5. LED Pulse Width Control1 v( t5 D: E. [
Table 6. LED Current Control
1 k. s! Z( I) B( ?8 `* P+ I*Actual measured LED current for each part can vary widely due to the proprietary trim methodology.
# G4 e- H2 C2 _% `REGISTER! I+ ?1 k2 Y0 ^. `' l* Z& K
B7/ r& C. H! [( K; w# I$ y6 U3 \
B6% c- J' }3 R  @( Q( x  d8 O
B52 N' c0 N0 _8 O: O$ B! Y& v
B4
/ h* M5 \1 n( T, D3 O! @. J: FB3
2 U1 \: u$ T) G; oB2
: A, Q# ^' e+ E% @2 UB1- c8 h' ^( f& U" F
B0/ x/ |, b% ?' D7 t. r
REG' U' D' O- y; Q8 J$ s: z
ADDR# \. |3 R3 a8 Q& j2 t) A5 S
POR
: G7 Y% I) d% l" DSTATE
1 Z+ d+ R+ f! g: I0 sR/W
, |4 q$ u8 N6 t. jLED Configuration: p) Q* H' d5 D) i( k! y( c- n' T6 D
RED_PA[3:0]8 w3 \/ |4 s. f
IR_PA[3:0]
; D7 T* U! m$ }$ r0 D6 g% A, O0x098 M+ f8 k/ {4 y( P3 W' `; x
0x00' Y3 u( L7 F. j1 @  m
R/W
# v  H% G4 o  i' f1 ~* _LED_PW[1:0]
0 o, m- x, B  A: b( NPULSE WIDTH (μs)) c, B1 E% u' \; k4 Q, q* w) d" J: h
ADC RESOLUTION (BITS)
% x, t9 U. s0 j# k00
' |2 L3 v4 v/ K4 S4 ~+ ^5 ]200
: }+ e0 ?2 y4 R' Q, U5 R13* E4 m8 B# F9 k# I8 K
01; D+ l+ m, Y5 T
400
! x. |0 l8 A$ j" P9 h. N* w& p14" d' P/ q/ D) ]. I
10
+ _+ j) c0 U/ j! f4 Z+ S7 H) N800- E% T+ G! d' C) r  l. g
15; g: T4 t4 K; Y/ \2 ~& [; r- l- g
117 H3 o' X% Z) C0 h5 U+ `$ d
1600& R2 n( q% @1 A) {  q/ B1 Q8 z
16; s  X$ t2 n' I
Red_PA[3:0] OR IR_PA[3:0]
$ Q. X& M& p% J% i" W4 M% ^. i, j. nTYPICAL LED CURRENT (mA)*# M+ y* h  x! l0 l* ?+ z( a
0000( b* r* W1 h- Q( P3 J
0.04 b# W. x) [/ k
0001
8 o& q4 [8 u9 c; w4 O, l4.4
! h6 c) ^1 S) T* K* o. y0010
. r" U1 h2 N6 L7.6
. i( P  ^* l7 j% F: F0011
9 J9 e# ], L% I3 D, e3 I- s: t- l: g11.0
2 \8 ]0 l; l& ?# P0100" a1 \" Z. m, y+ W$ \" G
14.2% z. ?3 F4 H$ l- L& L
0101
  F( f8 v) f9 \0 X- Y17.4
4 Y* f' m- Y3 y- A0110) t* ]( M# E, K5 d* i: u, e
20.89 C3 R+ P. j4 I4 i. }+ {
0111
% X7 J# K0 w" D0 G/ Z( r, ?24.0
7 N& _. z2 R3 u! C& s, n1000
* f+ \( W& n" O1 ~27.1
+ l  I, h. |6 `4 l8 ^10018 s- J1 T/ v" g8 m. v
30.6
$ ^$ T, B, m0 A: t$ B2 q1010, J. B4 s) ~$ K9 x
33.8
$ b$ D; m7 }3 L: w# j* P' T& _4 x1011
# ^9 N6 n4 c6 Y37.0
( Q( _( A6 \( Q" G1100$ H' T" b% X) k+ w
40.2
! m$ w7 q5 O/ ^3 z& P( Q& m: B11010 m( M0 g& ?/ ]# {" `
43.63 J' u+ R, {2 }
1110
, ^4 X7 Y; ^9 L9 P/ k1 {9 K46.85 j0 W0 \* Q3 m( D
11110 g6 `- ]2 t* ]" |3 X; Z7 s! D  u
50.0! W, C* b6 q, Z4 M9 L' _
www.maximintegrated.com Maxim Integrated │ 170 a" ?  c  a( j" N* \8 _" q
MAX30100 Pulse Oximeter and Heart-Rate Sensor IC
2 W  o+ |) w, u, `for Wearable Health# k) U& F/ m% a7 O; d! L) X
Temperature Data (0x16–0x17)  F. |* t$ \+ q/ y* r/ u$ Q
REGISTERB7B6B5B4B3B2B1B0REGADDRPORSTATER/WTemp_IntegerTINT[7:0]0x160x00R/WTemp_FractionTFRAC[3:0]0x170x00R/W: t! C2 E, b1 ^3 D, C
Temperature Integer
1 M" n7 o7 }' l/ l/ Q) AThe 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 following equation shows how to add the two registers together:
$ v: g8 E) M( O9 sTMEASURED = TINTEGER + TFRACTION
, [9 F4 J% U' b1 o+ yThis register stores the integer temperature data in two’s complement format, where each bit corresponds to degree Celsius.8 g9 |3 ?0 \; I& Q6 e+ b. }
Temperature Fraction7 k# V5 Z. J0 Y: o  D
This register stores the fractional temperature data in increments of 0.0625NC (1/16th of a degree).
" E$ a2 Q7 M/ F' W% aIf this fractional temperature is paired with a negative integer, it still adds as a positive fractional value
' u  @# Y% j: Z4 o+ T( [(e.g., -128°C + 0.5°C = -127.5°C).; N: W3 e9 R/ |2 o- }( d: o
Table 7. Temperature Integer
5 }' C, R& J+ b& DREGISTER VALUE (hex)
1 y/ R8 ?" u. J, J6 rTEMPERATURE (°C)
: P- g7 R' ]8 M0x00, w9 E6 J% ^6 x3 Z( j; Q9 u% L
0
/ Y2 W/ \  d9 K6 S0x00# A9 V4 c) e9 g# E5 v2 S
+1* Z0 f# C! L- y$ j
...
+ h* f. }2 T: R( n6 y1 s$ B$ c4 o- s...
" c/ R; B0 Y% x3 U8 o+ c( a5 E0x7E
# b2 [, y' O3 j+126
  {, @: c. x. g5 y" e0x7F4 t2 B& g6 q& [
+127, R% S3 ]5 z! h7 c$ }: o
0x80
; B) W- e! X7 Y" u4 h# s-128$ U$ ?* p+ y9 j1 ~- v
0x810 K0 j/ Q# v7 M" E! v% ]. _
-127; ~/ a% m* ?- _1 D
...
3 Q$ n; ~6 N0 R! p...5 |; O0 ?! g" q
0xFE
) m( B4 V$ T/ D  h  e-2( m, m; O- G# Y$ ^+ f* H; Z; h" `
0xFF
- z- d4 T* Y' e$ Y8 q-1www.maximintegrated.com Maxim Integrated │ 18) b3 K) H2 f, s! O/ g
MAX30100Pulse Oximeter and Heart-Rate Sensor IC
9 M4 k, o6 G$ F$ `) O( Kfor Wearable Health
0 Z/ _* f2 Y9 z' }Applications Information. O! \8 r% M1 r+ B. u0 ^" I" v
Sampling Rate and Performance
% R! |6 B6 D3 oThe MAX30100 ADC is a 16-bit sigma delta converter. The ADC sampling rate can be configured from 50sps to 1ksps. 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 200μs, then the ADC resolution is 13 bits and all sample rates from 50sps to 1ksps are selectable. However, if the pulse width is set to 1600μs, then only sample rates of 100sps and 50sps can be set. The allowed sample rates for both SpO2 and HR mode are summarized in Table 8 and Table 9.& Q/ [; f& v4 i2 V5 w2 O
Power Considerations) e7 F0 T( i9 n: [# Y3 Z3 D0 X
The LEDs in MAX30100 are pulsed with a low duty cycle for power savings, and the pulsed currents can cause ripples in the LED power supply. To ensure these pulses do not translate into optical noise at the LED outputs, the power supply must be designed to handle peak LED current. Ensure that the resistance and inductance from the power supply (battery, DC/DC converter, or LDO) to the device LED+ pins is much smaller than 1Ω, and that there is at least 1μF of power-supply bypass capacitance to a low impedance ground plane. The decoupling capacitor should be located physically as close as possible to the MAX30100 device.0 x: \: Y2 ]8 u9 U
In the heart-rate only mode, the red LED is inactive, and only the IR LED is used to capture optical data and determine the heart rate. This mode allows power savings due to the red LED being off; in addition, the IR_LED+ power supply can be reduced to save power because the forward voltage of the IR LED is significantly less than that of the red LED.* f: |5 R! F% M8 h: H; _; m, d
The average IDD and LED current as function of pulse width and sampling rate is summarized in Table 10 to Table 13.
( s+ |2 ?6 n2 e5 I, RTable 8. SpO2 Mode (Allowed Settings)/ Z. V7 B8 m$ a+ m
Table 9. Heart-Rate Mode6 z  J+ \0 e, d( m1 t
(Allowed Settings): @7 H2 `4 B2 d6 ]/ ]: ~
SAMPLES (per second): ^. o' n! F  i0 G
PULSE WIDTH (μs)+ i5 h# o% U4 Q# M# U; f
200
6 s1 X0 ^, ^4 t, w: Q, v& Y% Q400  k) y6 H. i2 d- d3 Z+ {
800
+ b: [3 C3 ^* O9 |7 N$ c% v  y1600
0 j! m" t8 }, M5 S! F50
) y3 l* \0 v3 O( R3 w8 o3 PO
4 N  g* V3 \0 U, j* l! ~4 @( c! AO
( B, s( L) ?7 k9 h0 z0 o5 `O
0 c1 D7 B: l$ t( Q- T7 A! GO: \7 f- ^7 J& y; j" f9 ?  G
100
! R1 G" K/ D* TO; R9 N5 \+ f; I: l" o7 Q
O5 h& w6 K! V5 m  v& s; T6 `
O  @: @: O( W" [' \7 Z
O
1 H4 b$ b2 D8 @. N. u167% z. E, f% H) S, u
O' i/ V4 J; t# H! p6 u  p7 Q# Q; \  ~
O2 E3 V" N8 K; T- n
O
4 G9 E  O# r% l( p200
  S) s: a, e' C8 n- ZO9 U9 A: K  {) @! Q8 }: D
O
5 o9 W' {/ x, ?O! \" g* H: ~8 b" u5 B0 U, z. L
400
$ K3 V, y* J6 w: t; w, I9 |O6 I" D' f# y2 s' D
O
" L1 W+ ?$ c5 ~7 ~; u600( }+ Y- ], q6 I1 J1 D/ t1 h2 ^
O
& u, W2 p2 y1 N7 I2 n800
0 ]$ o9 O4 `! w. FO4 ^2 S- O. F( O! [2 y
1000
# d+ @( T% {- ^+ DO
, k: E' w/ r' ^: R) X( @/ @5 AResolution% {$ O  d# g( B  Z
(bits)
1 q% F* T$ [/ z) }13
' p3 }# Z' W$ W0 B. A2 i14
7 A) T6 }1 @2 R9 h, M% [* I  O  k$ C151 ^2 {0 O: s- B. E
16
0 J9 o2 X) I1 ?SAMPLES (per second)
3 C2 @* b( h2 g- X; m, |PULSE WIDTH (μs)% Z3 U9 I( R) U9 Q- C7 X
200. C5 I" K! O' t9 T
400
/ s5 R% U. S$ S$ Z3 I5 g6 G" R800$ d: Y1 v4 R" R2 R9 Z& v2 h
1600
8 i8 |  N7 p6 O0 u50& i0 Q* ^+ B0 g1 v
O
  e" H  s$ G' L# j1 Z" L* SO
( x' O$ I2 ]: U0 U% {, QO0 [# ^2 T5 d! ^& y, G4 H
O% @8 {9 k8 D3 \4 C6 D+ m
1007 n  D0 N, X+ e6 s, q9 ?& \! o
O
( F$ {- b4 q' h+ A4 WO
+ s* u+ _( D' B* j* UO- _5 w; N7 s& Y, g
O/ q" v2 c* P2 a( d& d5 A* a
167
! q7 x( S2 y4 D" gO
# F( H0 c& y& T# DO1 a7 W& d* M) S+ }  p8 }7 p
O
/ q" x5 P) C' `2 v200) w0 v0 K: {1 {  s- M
O
8 i% a+ M  ^$ s) {. f5 W9 H6 qO" C/ n! |: n$ U+ e$ X
O
0 j( O( z- c* ^  |- |400# F* u; \4 n6 g( e( p: W* E/ K7 A9 i
O9 B$ {, D, E+ B. E) O
O
; a: R9 ?' l- P6 d) [9 p600& u6 }' D. l  K) l4 q) b( x% U
O$ E' ~$ V6 W/ R4 \
O
# r5 @" \8 o  ~/ h, N4 @( J2 c1 f1 r- s8003 @0 t! s2 M! d5 ^8 g
O: A" M: V% y: y
O
0 S$ A- G! M. l# `+ s# q, a* v3 i( T1000- ?2 A. B5 B  M4 x6 U/ {
O
1 m) b& I( y9 g8 a  QO; [! ~: W6 x" P
Resolution
1 \. P* e$ T6 l9 k- I. V' o(bits)
( I, z* P; K) e( |' e# P$ x+ O13& i* v; ?+ x7 U7 T. H
14
  n: g7 F+ X) V# a, c15
- B0 p9 V$ s; Z0 ^2 }16
0 j2 p; H6 A. e4 d# uwww.maximintegrated.com Maxim Integrated │ 19
' L: a: ^+ a' n7 e, eMAX30100 Pulse Oximeter and Heart-Rate Sensor IC# k( h% q* Z+ e
for Wearable Health
- g) o" p4 K: C$ w# a# eHardware Interrupt
/ E/ q" O) H+ qThe active-low interrupt pin pulls low when an interrupt is triggered. The pin is open-drain and 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Ω.* M2 t/ M5 v$ f% P6 W( @' H' P
The internal FIFO stores up to 16 samples, so that the system processor does not need to read the data after every sample. Temperature data may be needed to properly interpret SpO2 data, but the temperature does not need to be sampled very often—once a second or every few seconds should be sufficient. In heart-rate mode temperature information is not necessary.
9 \( \% R# Y2 A) U( XTable 12. Heart-Rate Mode: Average IDD Current (μA) IR_PA = 0x3
  g9 [$ f  h- pTable 13. Heart-Rate Mode: Average LED Current (mA) IR_PA = 0x34 m6 c/ {/ N( s
Table 10. SpO2 Mode: Average IDD Current (μA) R_PA = 0x3, IR_PA = 0x35 d- |4 e; B& G. L
Table 11. SpO2 Mode: Average LED Current (mA) R_PA = 0x3, IR_PA = 0x3( S4 c5 A  O9 b: M' |
SAMPLES (per second)
  [9 E: |: o  O, O/ sPULSE WIDTH (μs)$ ]4 T, R% P- u
2008 j% K* p& {( Q8 a+ s& t
400
- w' \3 K9 j4 O3 [1 k4 D800
1 L9 w0 z& L2 U! h1 r5 E- M# a1600
9 T2 c$ z9 Y( B; @5 l6 r1 ^50
" s# s# o3 p% ^9 n+ L7 ^6080 ?# _# J4 t# s; X+ x2 F
616- h4 D9 w3 A, @) P
633; V: n- g" m1 @& f2 ^
6674 Q& b2 Y4 w1 M# c( r  a
100
7 O4 G7 t  ?* A' k  W( g' j617
% g! ~5 [5 `2 u634
- a+ X/ ~- A* G3 o. F669! |- c: v1 R9 V0 i/ V& |
740
3 V& {. {0 ], }. y0 Y167
. f4 l3 ^7 e* E1 [5 b: o* I628, ?8 F7 I7 x* \1 c
6581 H, y. a& i, a1 g& i
716- E8 Q3 h- Q; ^1 K: |  X1 J
8318 G. [3 q  Z3 o% B
200: ^" K( H, @7 w0 I. \) g
635
7 m6 L! d* H7 v! V$ n670
+ P5 d% o0 k5 e( H, l9 N7390 I0 Q: {5 X8 {
876
8 D! c* |& n' x7 t& h6 W, @: Q8 T400; d( v/ z, Y2 m8 C! Z
671; a- @- ^& ~! x2 K8 o
740% z) Q1 ^0 n' _0 E. ?) {
878
  E0 f! {/ e( a600
/ X4 M) s0 i( k& C& {) m707
, X) {+ Q% k/ P6 {1 @( m4 N& \( c810
8 A; a" O2 Q5 @2 p/ u) L8 e8000 ]4 N3 i0 f/ K  d4 h
743
% S4 M3 n/ ?1 p$ g2 J5 o6 c. h881
' `) p9 q4 v- |2 S, I4 g+ c2 p10005 W# B' {4 W$ c( Q3 e
7791 n7 D$ q$ C& y- \7 L! E: h
9517 p! I+ b. W. j9 S" J' R
SAMPLES (per second)* t# a! z+ e. C7 |' y- o
PULSE WIDTH (μs)
6 L- a- e0 C* {# p3 e! N2005 {& N+ z, _' r! D% r
400* k5 n  C1 W  b' z# A8 g
800
- e1 J1 `9 U( O1600
8 A6 e. ~9 x4 d  W' P4 i) d50
+ G- y0 Z  I& k) Q% Y628- ~/ P1 k- [9 a# ~2 P
650; R; o, |# p3 C3 t/ |
695  l! E; `0 E& q: o! n* T
7820 m! V* f& ~8 s( t1 m& I5 n
100& B6 [$ Z4 W+ ]1 x
649: w0 ]2 d# E7 Y" |7 \2 Q
691
/ q* }8 t$ j& \* q8 r1 z776  Z1 a+ \) w9 J% F0 S
942
% A  v7 |2 K! U167
$ g3 ]- ~, i8 L" @6 _) Q678
2 ~( |0 h8 ?: e' V8 s0 h3 I- `748
% \- g' F: O9 p0 P7 m% b887
  p* T8 ~( W) D  z200
9 ^: I# }. z4 y692
. I7 N% I6 T9 g& A, P4 V775
" [5 M2 I5 l( }8 {( p940
- I6 U' M8 L# U' j5 S$ U) {400
2 N4 m' Z  m! r. D779
3 `( F( g( y' A# B( K9440 G9 k0 E2 }8 r1 N
600
3 ?) J' G6 p# R3 f865
. n$ n  ~7 X# `! M/ q6 P! k800: F( M2 [+ D2 I: I, I
952! i! }, g( U) S' X: G) [* y
1000- b, ?8 E5 {+ R. }, p
1037
, ~8 }- E# c; k  C; U' |9 |4 {SAMPLES (per second)
2 ]4 d. ~, ]$ t/ jPULSE WIDTH (μs)
/ {8 X0 X. T0 [% \( k4 U  X2004 l9 N  d( A. e# [
400
+ P# D& {9 G7 G( x! q7 _$ {$ j800: Z; U8 q+ g4 p7 I9 {/ g3 T
16007 E  u" G' a, N
50
' }5 A% k6 l2 k8 @, R" q- W0.2563 f# A1 r# r% s: g0 U
0.511/ G6 J& o& q* W1 _. j$ D
1.020' }* j* f* r) j' T: g. `
2.040
( i5 z- \' C/ X; l& K; O% D1003 T* B  ~+ o, F
0.512
3 i: W- z2 p2 r% {7 Z7 d; Y4 {- T1.022
& e' Y" M- r; O: F) S2.040
5 I0 K5 f- m+ y9 x! l4.0776 e/ I8 d$ W. g! H& w, M1 ~
167  _" ]$ z1 W6 i( K/ z3 q- P
0.854; t) L% i% q. R1 a
1.705
; L* V" q) U# |7 R" c. q5 V3.404+ O; J7 k6 B! Y4 Q+ W5 D
6.795
# J' p! |/ h1 X; [. Q8 g200* S8 g, \! }) k' q& @
1.023
4 i& z* P9 a5 {$ a  }2.041
1 f! `) d0 R7 z4.074
4 U: ^7 ?3 Z6 e7 h' Y8.1304 N: Y4 q8 k9 @9 {8 G
400
7 t! P5 F* q9 `& w2.042& U% v, w$ P$ ~2 [4 J$ |+ J
4.074
/ j: S  Z7 T0 Y8 r) H! e* P- I/ [# {1 \8 A8.123( A' ^+ l0 a7 |0 h" r
600
" R  E/ z1 m  W5 l6 A; C3.0541 e6 x: i3 p# l9 {
6.089
) @9 U$ R# I( d( I* s800
+ q; E4 P: I" h2 H4.070
+ F& f6 t& b. [2 R( Q2 V0 @1 ^8.109
. T- c+ m  @7 ^9 b1000- q( n( I+ N7 D2 y. v! f
5.079
. S& L* t" _$ s4 x/ ?3 E2 }: h10.11& j3 S/ `/ B( J0 b: d. k6 ]5 A4 `
SAMPLES (per second)1 U( V8 F" L1 M6 f0 F; U
PULSE WIDTH (μs)
9 P8 E5 @# N, O' \3 c) e, i8 c200
2 P. g8 N7 d1 s' O" y400: j# m0 `, M" F! N0 N8 A5 M1 q- @
800# _7 F" E" T8 }
1600
! E  Q. X' L+ R( f4 p6 x' @50
( w9 X3 f8 l& f7 e0.667. M' b+ ?/ i2 F" E) I6 H
1.332
  J9 f) q: D4 J$ H2.627$ a' h& N& K" ^' C# \) |
5.172
: e. k, I0 g  d' N3 E$ ]5 S. H100
+ v: K  H. H* d, W& S1.265 Y( B' |* ]7 b% L: W
2.516. ~# R  o* ?6 i( u( }& f
4.96' X5 G4 O( o; V0 P, E
9.766
- H& d3 F6 W- S2 B167& o7 \. U% Z& m3 ]2 p$ P: w9 r# S" r
2.076
2 D) v% f, g2 k" W9 M# h" r4.145
( ]( v2 r$ U5 w* O: d7 Y8.173
  r2 I( T4 ^( p5 E8 Q9 m200
( d  |0 W6 G' ^! {3 f2.491" T7 F/ j3 r1 G' L" C1 e1 a( ?8 W
4.93
6 ]) c; @1 ^, ^# @4 b' E) q9.687
, l" Z" _* s* A% V+ R5 ^" I  Z400
8 n( b7 Q: }  |# z8 p4.898
3 ^& M7 m& u. B" p& W' F# ?& X$ g/ {9.7658 o; m2 J! I. {) E$ U; y
600
# s3 r. v" y+ R9 I/ w; `/ \7.319
8 _. m$ a  w# k) a+ p% W800
5 z# u" p; r0 k" A4 B9.756. X- N1 h* u; N3 I. k
1000
% C5 g" l, v. g& M$ o' N+ I12.17www.maximintegrated.com Maxim Integrated │ 20
3 V3 j) X- O# K% W6 i9 d4 @MAX30100Pulse Oximeter and Heart-Rate Sensor IC
0 b; O7 ]1 u* S# {for Wearable Health' U3 |# o% q& S$ U
Table 14. Red LED Current Settings vs. LED Temperature Rise
+ {; i' U2 t8 O8 ?. X" cFigure 3. Timing for Data Acquisition and Communication When in SpO2 Mode
8 }+ V) ]$ a) L5 G! t% P, DRED LED CURRENT SETTING! w: v% `% V( @9 d7 Y3 y
RED LED DUTY CYCLE) }+ u9 c! ^0 q9 ]0 |! T* }& a0 o
(% OF LED PULSE WIDTH
# t* Z. e) D9 _& q# xTO SAMPLE TIME)
* u, p9 e# [; P. y2 e; K1 _ESTIMATED TEMPERATURE RISE
' ~; ]( f& ^9 Y) L* l8 |(ADD TO TEMPERATURE SENSOR
9 }: x# Z; i0 A0 x: j& e9 vMEASUREMENT) (°C)
, n) `& y  F# _1 C* H1 n. b* n0001 (3.1mA) 8 0.11 j( G  Z; h+ B8 J0 g) X
1111 (35mA) 8 2: E4 E1 _! f! i/ j* K
0001 (3.1mA) 16 0.3% J# U! u9 f% [% c9 ]
1111 (35mA) 16 4
1 _' m. L  s- w& m0001 (3.1mA) 32 0.6
* K3 G: S# N4 @% r' I7 F, C1111 (35mA) 32 8
4 W* i) j: L. R; M3 HINT
3 ?' a+ L' p3 W0 v3 W2 Y- uI2C BUS
3 |8 S3 t7 T* {4 Q7 a: G6 ]LED OUTPUTS* }0 H- J# ^+ Q+ f2 J: u: `7 h
RED, t+ U# P+ v6 P0 S* l  n, c( V
IR
& {$ f  ~4 Y% L* T' fRED
4 D; B  b5 k3 C& Y+ h7 @, AIR
0 r3 b* ]1 x1 H. A* }/ u$ n  {" MRED
" `1 f6 w1 M* Z* b, b7 nIR3 `# z: ^: c, a8 O
~
' Z) C2 o0 M2 Z, t1 Q~
& i; [9 D1 H5 B2 I+ F  _! n7 e~( @- ^; q; A  y: W) o: [# d
RED
* I5 b# G- Y- W, U( QIR! L9 ?' u( {% [+ u1 p; C0 p
RED  b. h& F  n9 {$ o5 o0 W
IR) [# q2 I4 p1 R
RED' z3 T' Z* G! b8 V3 k0 p
IR- \& w, ~7 ~; H2 [% g3 J
RED
3 m1 L0 A( b  \4 F7 `( DIR
/ F# X; b: n& Z; VSAMPLE #1 SAMPLE #2 SAMPLE #3 SAMPLE #14 SAMPLE #15
4 ^" w  j3 Z2 Q* k. V% j. S# ^1 4 5 60 [& ]; B" Y2 P! c
TEMP SENSOR TEMPERATURE SAMPLE) _: F% Z+ f+ c
2 3* q: y0 l/ ]2 X
29ms
1 d- Z; K! u6 X$ C0 w! [15ms TO 300ms
4 _& ~4 j- Q+ Y/ Owww.maximintegrated.com Maxim Integrated │ 21
5 N6 S+ Y. n5 z; KMAX30100 Pulse Oximeter and Heart-Rate Sensor IC1 a- c# {( P. V
for Wearable Health
* X3 w2 k1 C4 V; y! ^" X( t6 HTiming for Measurements and Data Collection
9 R* |# \( i- D" V5 E5 W2 {: nTiming in SpO2 Mode
& D" X5 A* A2 e# [: S7 @+ L" YTable 15. Events Sequence for Figure 3 in SpO2 Mode- d  f) d( E" y8 H3 y1 d( u
Figure 4. Timing for Data Acquisition and Communication When in Heart Rate Mode
& Q1 j8 T. @+ V; Z. Y( wEVENT DESCRIPTION COMMENTS. @5 j2 z# j" O$ c/ ^# e/ n
1 Enter into SpO2 mode. Initiate a temperature
( u* o% D: ]4 M6 D1 ^$ k6 N; S3 V7 smeasurement.
9 @6 r6 h( G( _: p4 TI2C Write Command Sets MODE[2:0] = 0x03. At the same time,
- q4 _; x9 y; ?set the TEMP_EN bit to initiate a single temperature measurement.
" n1 K6 v* s( |+ ~/ jMask the SPO2_RDY Interrupt.
4 h# w7 t; U& C+ Q" j2 Temperature measurement complete,4 G. N( A7 R+ _& ?* D
interrupt generated
: v! y4 Z5 J5 X# f7 v: h- ZTEMP_RDY interrupt triggers, alerting the central processor to
6 B8 e7 C8 B) tread the data.
6 A0 R9 _* }0 p0 U  Z- V' M) S4 v3 Temp data is read, interrupt cleared) t: q0 C( _, w- j: Z% B1 ]% E
4 FIFO is almost full, interrupt generated Interrupt is generated when the FIFO has only one empty space left.; ~! a9 d" q/ h: A' i8 A6 C( y. E
5 FIFO data is read, interrupt cleared
" |# M$ w# o; Z4 v7 w1 t6 Next sample is stored New sample is stored at the new read pointer location. Effectively,
% g/ c; W( U5 e3 a7 Tit is now the first sample in the FIFO.
1 r  R- q, T/ {- B0 q! ~INT, a  G8 S- q; ^6 m% u7 ]+ ^5 G: I
I2C BUS' l& C; U/ F& q
LED OUTPUTS
, k$ {2 f- C0 `  n, T* ?- q( T& Y3 TIR
" o2 Z5 {( F- u3 N5 d8 G' VIR
( S( ~! F- k, @" T, W: I2 g8 aIR
2 Z# \( m1 ]" p~
6 w& y5 I  E5 N, s* N1 g! E~1 H1 N; N) c  t
~
7 W% F$ ]" ]6 hIR# N$ D5 y' E9 Q3 K
IR
8 W, s/ M% `: I# |. u: n/ LIR' C0 B8 ]% d3 h$ W
IR9 H* [) t9 Z1 G7 Z
SAMPLE #1 SAMPLE #2 SAMPLE #3 SAMPLE #14 SAMPLE #152 p& N5 J0 u" q* @- |0 P
1 2 3 46 z/ g/ ~8 l3 @* ?( A" H, Z5 I
15ms to 300ms
# p: \* K( S, O# ?6 y3 Rwww.maximintegrated.com Maxim Integrated │ 22
  K7 ^2 f0 ~7 v& ^. L6 Q, YMAX30100 Pulse Oximeter and Heart-Rate Sensor IC
' z, C. F9 v+ l+ W3 Z6 x; R' Efor Wearable Health+ y" a: G% d* K! C2 C! F8 j
Timing in Heart-Rate Mode
! R9 I6 k8 P* s& }. gPower Sequencing and Requirements
/ W' P) \) C7 o* F- i# M( B: W. GPower-Up Sequencing
' X4 b9 ?) z3 m4 \% A. mFigure 5 shows the recommended power-up sequence for the MAX30100.
5 D$ O" N+ `6 S9 ^) yIt is recommended to power the VDD supply first, before the LED power supplies (R_LED+, IR_LED+). The interrupt and I2C pins can be pulled up to an external voltage even when the power supplies are not powered up." f" w8 j/ [/ Q5 o/ b% q: `
After the power is established, an interrupt occurs to alert the system that the MAX30100 is ready for operation. Reading the I2C interrupt register clears the interrupt, as shown in Figure 5.7 |$ G0 r0 k4 Z7 q4 R
Power-Down Sequencing
" A4 o( r8 f: Z' D' V3 wThe MAX30100 is designed to be tolerant of any power- supply sequencing on power-down.% c0 X# t0 V, m* l: {) f7 K% d# \
I2C Interface
# o+ z: [) o) H6 x9 [* ]7 w1 KThe MAX30100 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 MAX30100 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 MAX30100 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 MAX30100 is 8 bits long and is followed by an acknowledge clock pulse. A master reading data from the MAX30100 transmits the proper slave address followed by a series of nine SCL pulses.* z# c( s: {9 R: l2 D- S: j# e0 H. n
The MAX30100 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.
, U4 z% r1 x$ q0 }; }( gBit Transfer' {& V" l4 V( O+ R; M
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.
% B. F. k+ b/ v9 \( QTable 16. Events Sequence for Figure 4 in Heart-Rate Mode9 p2 s$ r! A2 E  E; a0 [7 e+ n
Figure 5. Power-Up Sequence of the Power-Supply Rails3 \% m1 S+ }+ `4 ]  _+ @6 z
EVENT- T1 A% |# a( t4 ]$ Q" @
DESCRIPTION6 X1 ^$ \+ m! a' Z
COMMENTS* g$ S7 n" R2 J/ h
1
5 G9 Z, j3 z! ~' MEnter into heart rate mode
9 N0 m$ e. K9 H1 Q: k, P. Y9 JI2C Write Command Sets MODE[2:0] = 0x02. Mask the HR_RDY interrupt.
* I& F0 r' L& g# B5 y4 y2
# J: s) i- M7 t8 r7 x2 w0 z6 w  YFIFO is almost full, interrupt generated
; d4 L& v+ u2 q4 m, e# tInterrupt is generated when the FIFO has only one empty space left.. H$ X" a/ N) X0 b% d
31 u( w0 k8 z4 E* r# X" _3 M* ]# G
FIFO data is read, interrupt cleared* G" H6 k8 t% [. Q# E2 P7 l# u
4
$ }8 w) M) \# [3 ^Next sample is stored
4 W1 t) Z* K7 wNew sample is stored at the new read pointer location. Effectively, it is now the first sample in the FIFO.% O# e# j- a8 u9 o* d
R_LED+, IR_LED+VDDINTSDA, SCLHIGH (I/O PULLUP)HIGH (I/O PULLUP)PWR_RDY INTERRUPTREAD TO CLEAR INTERRUPT
2 S8 c* x( W! s$ Hwww.maximintegrated.com Maxim Integrated │ 23
( o1 h5 u0 ^, D7 n  _) v. \! TMAX30100 Pulse Oximeter and Heart-Rate Sensor IC' r0 f. i( l, W* X3 f; }, ?/ L
for Wearable Health0 t1 r& ^! O& [0 z  s; @% e
START and STOP Conditions1 u# B# m9 F. e, n; _2 S* @# v
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 6). A START condition from the master signals the beginning of a transmission to the MAX30100. 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.6 e5 h: ?8 j; y, `. [
Early STOP Conditions
& w7 Y5 }9 z+ M/ I; S: Z: Q: hThe MAX30100 recognizes a STOP condition at any point during data transmission except if the STOP condition occurs in the same 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.
4 F- Z7 W; b5 w( RSlave Address( I2 K+ e$ v8 q( o0 L1 m% N0 r
A bus master initiates communication with a slave device by issuing a START condition followed by the 7-bit slave ID. When idle, the MAX30100 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 MAX30100 is ready 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 MAX30100. R/W = 0 selects a write condition, R/W = 1 selects a read condition). After receiving the proper slave ID, the MAX30100 issues an ACK by pulling SDA low for one clock cycle.
0 [/ J# t0 I4 A8 t! ]- @  y$ ~! yThe MAX30100 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 18 shows the possible slave IDs of the device.
) w6 J$ m" H. \' x4 q3 h' `6 m* \Acknowledge6 G2 v& }* s, u! b" c2 {  Z. n9 L6 [
The acknowledge bit (ACK) is a clocked 9th bit that the MAX30100 uses to handshake receipt each byte of data when in write mode (Figure 7). The MAX30100 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 will retry communication. The master pulls down SDA during the 9th clock cycle to acknowledge receipt of data when the MAX30100 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 MAX30100, followed by a STOP condition.8 c3 }$ T* s7 M5 H3 [$ p, U" `
Table 17. Slave ID Description
$ P( @% e- p& r* x$ VFigure 6. START, STOP, and REPEATED START Conditions
4 V3 O/ J. ?& Q3 x7 A0 p5 p0 G- D+ z/ W3 ?Figure 7. Acknowledge
8 O/ F2 b1 r$ f, @) L8 l. @B7
' G; b$ J6 [7 s, p" ~B6# J. r! F3 p6 }  D
B5
+ L' v* C  @8 s. f. IB4
1 Z) M. k" g% C% e, [B3
; {( Y0 H3 B$ q" HB2
6 w' j- F* _+ w# S  }% O) m# RB11 D: C- |) H: P1 m
B0# g- `( o* _; F
WRITE ADDRESS
) y" j7 }- G& G7 O$ s+ UREAD ADDRESS
( G! `2 d- q' o9 f1
5 o& |; L* W1 l% Z0
( N% E2 k( ~: U& ]8 d1
. o4 {3 |, _- g" X: S5 b0. O' `: K0 t/ s* m$ Y" T
1
# m" E5 S7 `5 d; Y12 P+ U/ m0 B0 y
1. d- _- J" G5 P6 n/ C2 S+ Z
R/W
* w  o$ d, i3 [5 D8 X6 Q0xAE" M$ A' }4 Y9 _/ ?& q% r
0xAF) t( R1 n* b  v" T8 m" k
SSrPSCL1SDA1SCL1SDA1START CONDITION1289CLOCK PULSE FORACKNOWLEDGMENTNOT ACKNOWLEDGEACKNOWLEDGE! @7 i% p# M5 H3 I
Figure 7www.maximintegrated.com Maxim Integrated │ 246 ]& s% M4 L9 H6 A; ~# _; s7 F- c
MAX30100Pulse Oximeter and Heart-Rate Sensor IC
$ u4 P- Z: |! M2 O, Z; P3 ]for Wearable Health! h4 @  Z% |5 l% e2 i1 h. h
Write Data Format4 v+ L" d. \9 a; N8 k2 |& H
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. The register address pointer increments automatically after each byte of data received. For example, the entire register bank can be written by at one time. Terminate the data transfer with a STOP condition. The write operation is shown in Figure 8.
) f3 V" Z" H1 ?& H* hThe internal register address pointer increments automatically, so writing additional data bytes fill the data registers in order.# T2 |1 K3 k7 O9 q
Read Data Format
; S6 e4 H/ A/ D  D9 A* f& QFor 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 REPEATED START (Sr) condition is sent, followed by the read slave ID. The MAX30100 then begins sending data beginning with the register selected in the first operation. The read pointer increments automatically, so the MAX30100 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.3 }* g+ B7 A# Q" ^9 B# z
An initial write operation is required to send the read register address.% r) L. u0 N' i' [4 L, X2 X; i- s
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 does not automatically increment, and subsequent bytes of data contain the contents of the FIFO.
# ?5 s4 F  o  d- k3 i. \- [Figure 8. Writing One Data Byte to the MAX30100
- Y. ]* W( E/ n( M% K* cFigure 9. Reading One Byte of Data from the MAX301004 C3 R. I! j' x; w. x
SR/W = 01010001ACKA7A6A5A4A3A2A1A0ACKSLAVE IDREGISTER ADDRESSD7D6D5D4D3D2D1D0ACKPDATA BYTES = START CONDITIONP = STOP CONDITIONACK = ACKNOWLEDGE BY THE RECEIVERINTERNAL ADDRESS POINTER AUTO-INCREMENT (FOR WRITING MULTIPLE BYTES)SR/W = 01010001ACKA7A6A5A4A3A2A1A0ACKSLAVE IDREGISTER ADDRESSS = START CONDITIONSr = REPEATED START CONDITIONP = STOP CONDITIONACK = ACKNOWLEDGE BY THE RECEIVERNACK = NOT ACKNOWLEDGESR/W = 01010001ACKD7D6D5D4D3D2D1D0NACKSLAVE IDDATA BYTEP
+ ]+ {4 B. o$ j7 B& L* gFigure 9  c6 J7 Z% h% N
www.maximintegrated.com Maxim Integrated │ 251 f5 o  v5 t' w) G9 U; \% g
MAX30100 Pulse Oximeter and Heart-Rate Sensor IC
7 U' B' K7 u/ U/ gfor Wearable Health5 {0 d8 J/ x0 V! \
Figure 10. Reading Multiple Bytes of Data from the MAX30100
/ ~* o9 p& Y1 J2 ^. j" O$ s+Denotes a lead(Pb)-free/RoHS-compliant package.
+ z5 R) c# M! m. p+ |9 Y( N, x; Z  Z3 YPART TEMP RANGE PIN-PACKAGE
4 X, p8 E7 Y! n) f$ H& a; {5 B7 {MAX30100EFD+ -40°C to +85°C 14 OESIP
6 H; Y# T+ |* i' S7 k(0.8mm pitch)/ a6 a) F* J7 E5 l# x
660nm 880nm
9 U6 I2 d: C; ^# N7 wADC  I8 f3 [2 E3 a) y  R$ j
AMBIENT LIGHT% J- r- W5 w6 N, v
CANCELLATION ANALOG
4 w; \) s2 z0 DTEMP ADC- p& E5 p# s0 v) @8 b% h. K
OSCILLATOR
, ?2 e+ S8 C  [; T4 Q6 gDIGITAL' E/ Y6 ?# d3 V3 S
FILTER8 l1 e! G6 T" v( }3 B. @
DIGITAL
/ ]  X# F. B3 q; N7 a- I& GDATA
( p0 z& C& B7 f+ X+ k, a, |REGISTER
/ U8 \. M0 x& g) q, ^LED DRIVERS
- Q8 E" ]) z* q1 MI2C
! w8 z. U4 G+ Y- r2 V/ LCOMMUNICATION% ?4 I  ]. Z" h
INT% j4 A( @+ H8 D- T. s
SDA! r$ p0 t) p4 B* A* ?) e- s
SCL& Y" \7 C+ m: }" p
IR_LED+ IR_LED+ VDD  ~0 C" W" j& R3 _2 R5 `' f
R_DRV IR_DRV GND PGND+ j, a6 @( w3 j; b# U0 r
RED IR
+ O/ Y, w: S. d+ `# q; Z' QRED+IR
" o( I4 E8 {( z5 J8 g. Y10μF7 m! g- E  v; h' ^5 ^
+3.3V* H2 [2 Y* [, j- L+ p) r( F5 i  H) u
50mA PEAK
9 z4 o8 _% B1 [+ E5 W% J(TYPICAL)
( y7 k2 |& }/ V* {7 F' E# i1μF
+ C- P$ h$ S9 T0 p5 G+1.8V
7 Q% o8 Q& w: k4 J& \' h4.7kΩ 4.7kΩ 4.7kΩ
4 W" U8 L4 T, y4 D1 }% [, K2 uVDDIO; j% |3 G# g# Q% b" q. b
μc
+ `. x* `) t: h  U# B0 ~OR
9 h1 ^$ Y$ U" Y0 r4 N! ^1 F/ AAPPS
2 f+ ~- \0 b( M. P- {PROC
! c0 f0 \+ B* Q  t$ RS 1 0 1 0 0 0 1 R/W = 0 ACK A7 A6 A5 A4 A3 A2 A1 A0 ACK
# M& L) v0 F6 r5 y9 A; qSLAVE ID REGISTER ADDRESS
( c+ q! E8 `4 K! O7 Z$ ]9 z# M: a, {S = START CONDITION
5 V1 E! M$ H( y& F/ z) |' lSr = REPEATED START CONDITION5 n  q- ^9 s1 f" J- B3 L8 w
P = STOP CONDITION
* b7 Z5 l) \9 b/ \5 eACK = ACKNOWLEDGE BY THE RECEIVER
- k) ]$ e6 R8 X0 ^) bAM = ACKNOWLEDGE BY THE MASTER
! v' q3 V5 v: M: s1 UNACK = NOT ACKNOWLEDGE( a% r8 Y( M  O) W3 R3 k( [
Sr 1 0 1 0 0 0 1 R/W = 0 ACK D7 D6 D5 D4 D3 D2 D1 D0 AM8 C- l/ O4 \8 J% z, P
SLAVE ID DATA 1
/ c; r: {3 g* C& n8 r" kD7 D6 D5 D4 D3 D2 D1 D0 AM D7 D6 D5 D4 D3 D2 D1 D0 NACK- V' ^9 x7 L1 Q/ S  M% N
DATA n-1 DATA n( P3 o% Z  m: t4 V; Q6 ]
P' p2 X  @: \  }( k: f% y
www.maximintegrated.com Maxim Integrated │ 261 O( `& `3 }. ?
MAX30100 Pulse Oximeter and Heart-Rate Sensor IC4 W# _* D3 R  k1 `3 k9 ?
for Wearable Health4 q+ K/ ^# L; s! E; D, e6 Q
Ordering Information Chip Information
+ \( ~0 h0 ~. |" k: ^" ^PROCESS: BiCMOS0 @' E! q1 v& O8 Q! i  L! a
Typical Application Circuit
" j4 l2 D( Z# g# K) @/ s/ gPACKAGE TYPE PACKAGE CODE OUTLINE NO. LAND PATTERN NO.3 c4 u% [. A# Q7 r
14 OESIP F142D5+2 21-0880 90-0461
. w9 {" w8 s  `2 c/ Owww.maximintegrated.com Maxim Integrated │ 27
: ?+ m9 U# k& B: z1 O4 vMAX30100 Pulse Oximeter and Heart-Rate Sensor IC
/ s) \9 n5 n4 k1 f+ X; G* J% V# O) ]for Wearable Health
2 a+ V4 X3 C- S1 iPackage Information
. t) L# G- v0 P; G- eFor the latest package outline information and land patterns (footprints), go to www.maximintegrated.com/packages. Note that a “+”,9 ?. V& Q) I  j3 ?# f
“#”, or “-” in the package code indicates RoHS status only. Package drawings may show a different suffix character, but the drawing4 m0 R  d8 w- f# v* i- N
pertains to the package regardless of RoHS status.1 ^3 X$ u6 ^$ q9 n# h5 U2 e
www.maximintegrated.com Maxim Integrated │ 28
& a3 n0 Z9 Z! u" pMAX30100 Pulse Oximeter and Heart-Rate Sensor IC* ~/ K6 W  e3 Z! r8 A( o( O& e8 C
for Wearable Health
' E. R$ x- `. _, A; E; ]Package Information (continued)/ P4 _: f' |1 L" I' G5 g0 b- A
For the latest package outline information and land patterns (footprints), go to www.maximintegrated.com/packages. Note that a “+”,
# a* c( i, j6 z8 P% ?“#”, or “-” in the package code indicates RoHS status only. Package drawings may show a different suffix character, but the drawing; x; p5 E& l  U. E( g6 o9 j
pertains to the package regardless of RoHS status.
- A0 U% R7 m1 N% N/ l1 Y- ^. g6 SREVISION3 A2 x: C- |1 b# ~- J8 C( N) B
NUMBER
  c8 L# L  w6 d8 \& w  }REVISION
' M* h, \( R$ b% ]( }4 t0 ADATE DESCRIPTION PAGES) C$ t0 k4 P6 t, ?
CHANGED4 V' }3 c3 C4 k  u2 X9 G% R; s
0 9/14 Initial release —
8 e# p1 H- G& H1 pMaxim Integrated cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim Integrated product. No circuit patent licenses
4 G) P+ y8 f" \; ~3 Z* a  Q. Nare implied. Maxim Integrated reserves the right to change the circuitry and specifications without notice at any time. The parametric values (min and max limits)9 c3 E8 b2 E% p: W8 G( T& ~
shown in the Electrical Characteristics table are guaranteed. Other parametric values quoted in this data sheet are provided for guidance.$ u; S) P# v' j' n- H& M! [2 D
Maxim Integrated and the Maxim Integrated logo are trademarks of Maxim Integrated Products, Inc. &#169; 2014 Maxim Integrated Products, Inc. │ 29
8 r/ C/ b, ~9 M5 ?, FMAX30100 Pulse Oximeter and Heart-Rate Sensor IC
* W# ?$ r5 H2 M% y* s8 Ofor Wearable Health7 ^0 X* V# v2 g3 F/ M
Revision History) T" p# E# i" d; B$ G3 \* X7 F# P% C& n, b7 t
For pricing, delivery, and ordering information, please contact Maxim Direct at 1-888-629-4642, or visit Maxim Integrated’s website at www.maximintegrated.com.8 M: |& u/ i; W$ I
+ [+ S: n# \$ O- ?% r
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|万博网页版登陆页派论坛 ( 粤ICP备15075382号-1  

GMT+8, 2024-11-15 01:51 , Processed in 1.140625 second(s), 24 queries , Gzip On.

Powered by Shumeipai.net! X3.2

© 2001-2015 万博网页版登陆页派论坛安全联盟

快速回复 返回顶部 返回列表