0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
MAX86141ENP+T

MAX86141ENP+T

  • 厂商:

    AD(亚德诺)

  • 封装:

    WIP-20_2.048X1.848MM

  • 描述:

    血氧计/心率 传感器 SPI 输出

  • 数据手册
  • 价格&库存
MAX86141ENP+T 数据手册
Click here to ask an associate for production status of specific part numbers. MAX86140/ MAX86141 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health General Description The MAX86140/MAX86141 are ultra-low-power, completely integrated, optical data acquisition systems. On the transmitter side, the MAX86140/MAX86141 have three programmable high-current LED drivers that can be configured to drive up to six LEDs using an external 3x2:1 mux. With two MAX86140/MAX86141 devices working in controller-target mode, the LED drivers can drive up to twelve LEDs using an external 3x2:1 mux. On the receiver side, MAX86140 consists of a single optical readout channel, while the MAX86141 has two optical readout channels that can operate simultaneously. The devices have low-noise signal conditioning analog frontend (AFE) including 19-bit ADC, an industry-lead ambient light cancellation (ALC) circuit, and a picket fence detect and replace function. Due to the low power consumption, compact size, ease of use, and industry-lead ambient light rejection capability of MAX86140/MAX86141, the devices are ideal for a wide variety of optical-sensing applications, such as pulse oximetry and heart rate detection. The MAX86140/MAX86141 operate on a 1.8V main supply voltage and a 3.1V to 5.5V LED driver supply voltage. Both devices support a standard SPI compatible interface and fully autonomous operation. Each device has a large 128-word built-in FIFO. The MAX86140/MAX86141 is available in compact wafer-level package (WLP) (2.048 x 1.848mm) with 0.4mm ball pitch. Applications ● Wearable Devices for Fitness, Wellness and Medical Applications ● Optimized for Wrist, Finger, Ear, and Other Locations ● Optimized Performance to Detect • Optical Heart Rate • Oxygen Saturation (SpO2) • Muscle Oxygen Saturation (SmO2 and StO2) Benefits and Features ● Complete Single and Dual-Channel Optical Data Acquisition System ● Optimized Architecture for Transmissive and Reflective Heart Rate or SpO2 Monitoring ● Low Dark Current Noise of < 50pA RMS (Sample to Sample Variance) ● Lower Effective Dark Current Noise Achievable Through Multiple Sample Modes and On-Chip Averaging ● High-Resolution, 19-Bit Charge Integrating ADC ● Three Low-Noise, 8-Bit LED Current DACs ● Excellent Dynamic Range > 89dB in White Card Loop-Back Test (Sample-to-Sample Variance) ● Dynamic Range Extendable to > 104dB for SpO2 and > 110dB for HRM with Multiple Sample Modes and On-Chip Averaging ● Excellent Ambient Range and Rejection Capability • > 100μA Ambient Photodetector Current • > 70dB Ambient Rejection at 120Hz ● Ultra-Low-Power Operation for Wearable Devices • Low-Power Operation, Optical Readout Channel < 10μA (typ) at 25sps • Short Exposure Integration Period of 14.8μs, 29.4μs, 58.7μs, 117.3μs • Low Shutdown Current = 0.6μA (typ) ● Rejection of Fast Ambient Transients ● Miniature 2.048 x 1.848mm, 5 x 4 0.4mm Ball Pitch WLP ● -40°C to +85°C Operating Temperature Range Ordering Information appears at end of data sheet. 19-100051; Rev 5; 7/23 ©  2023 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. One Analog Way, Wilmington, MA 01887 U.S.A. | Tel: 781.329.4700 | © 2023 Analog Devices, Inc. All rights reserved. Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Detailed Block Diagrams MAX86140 VLED A1 PGND D3 VDD_ANA D2 VDD_DIG C2 GND_ANA C4 GND_DIG C3 MAX86140 LED1_DRV D1 8-BIT DAC LED DRIVER A 10MHz OSCILLATOR B2 INT TIMING AND CONTROL LED2_DRV C1 32kHz OSCILLATOR 8-BIT DAC LED DRIVER B B3 GPIO1 B4 GPIO2 LED3_DRV B1 8-Bit DAC LED DRIVER C VREF B5 REF ANALOG AMBIENT LIGHT CANCELLATION 19-BIT CURRENT MODE ADC DIGITAL AMBIENT LIGHT CANCELLATION 128-WORD FIFO SPI INTERFACE CONTROL A2 SCLK A3 SDO A4 SDI A5 CSB PD1_IN D5 PDBIAS PD_GND C5 N.C D4 www.analog.com 12-BIT TEMPERATURE SENSOR Analog Devices │  2 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Detailed Block Diagrams (continued) MAX86141 VLED A1 PGND D3 VDD_ANA D2 VDD_DIG C2 GND_ANA C4 GND_DIG C3 MAX86141 LED1_DRV D1 8-BIT DAC LED DRIVER A 10MHz OSCILLATOR B2 INT TIMING AND CONTROL LED2_DRV C1 32kHz OSCILLATOR 8-BIT DAC LED DRIVER B B3 GPIO1 B4 GPIO2 LED3_DRV B1 8-BIT DAC LED DRIVER C VREF B5 REF ANALOG AMBIENT LIGHT CANCELLATION 19-BIT CURRENT MODE ADC DIGITAL AMBIENT LIGHT CANCELLATION PD1_IN D5 PDBIAS 128 WORD FIFO PD_GND C5 PDBIAS SPI INTERFACE CONTROL ANALOG AMBIENT LIGHT CANCELLATION www.analog.com DIGITAL AMBIENT LIGHT CANCELLATION A3 SDO A4 SDI A5 CSB PD2_IN D4 19-BIT CURRENT MODE ADC A2 SCLK 12-BIT TEMPERATURE SENSOR Analog Devices │  3 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Absolute Maximum Ratings VDD_ANA to GND_ANA.........................................-0.3V to +2.2V VDD_DIG to GND_ANA..........................................-0.3V to +2.2V VDD_ANA to VDD_DIG............................................-0.3V to +0.3V PGND to GND_ANA..............................................-0.3V to +0.3V SCLK, SDO, SDI, CSB, INT, GPIO1, GPIO2 to GND_ANA.........................................-0.3V to +6.0V GND_DIG to GND_ANA........................................-0.3V to +0.3V VLED to PGND......................................................-0.3V to +6.0V LED1_DRV to PGND................................. -0.3V to VLED + 0.3V LED2_DRV to PGND................................. -0.3V to VLED + 0.3V LED3_DRV to PGND................................. -0.3V to VLED + 0.3V PD1_IN to GND_ANA...........................................-0.3V to +2.2V PD2_IN to GND_ANA .......................................... -0.3V to +2.2V PD_GND to GND_ANA.........................................-0.3V to +0.3V All other pins to GND_ANA...................................-0.3V to +2.2V Output Short-Circuit Duration.....................................Continuous Continuous Input Current Into Any Pin (except LEDx_DRV Pins)..............................................±20mA Continuous Power Dissipation (WLP (derate 5.5mW/°C above +70°C))............................... 440mW Operating Temperature Range............................ -40°C to +85°C Storage Temperature Range............................. -40°C to +105°C Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. Package Information 5 x 4 WLP PACKAGE CODE N201A2+1 Outline Number 21-100134 Land Pattern Number Refer to Application Note 1891 Thermal Resistance, Four-Layer Board: Junction to Ambient (θJA) 55.49°C/W Junction to Case (θJC) N/A For the latest package outline information and land patterns (footprints), go to www.maximintegrated.com/packages. 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. 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 www.maximintegrated.com/thermal-tutorial. www.analog.com Analog Devices │  4 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Electrical Characteristics (VDD_ANA = 1.8V, VDD_DIG = 1.8V, VLED = 5.0V, PPGx_ADC_RGE = 16μA, PPG_SR = 1024sps, PPG_TINT = 14.8μs, LED_SETLNG = 6μs, LEDx_RGE = 31mA, CPD = 65pF, PDBIASx = 0x1, Iexposure = 1μA, TA = +25°C, min/max are from TA = -40°C to +85°C, unless otherwise noted. (Note 1, 2)) PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS Readout Channel ADC Resolution 19 PPGx_ADC_RGE = 0x0 ADC Full Scale Input Current ADC Integration Time tINT bits 4.0 PPGx_ADC_RGE = 0x1 8.0 PPGx_ADC_RGE = 0x2 16.0 PPGx_ADC_RGE = 0x3 32.0 PPG_TINT = 0x0 14.8 PPG_TINT = 0x1 29.4 PPG_TINT = 0x2 58.7 μA μs PPG_TINT = 0x3 117.3 Minimum PPG Sample Rate PPG_SR = 0x0A 8 sps Maximum PPG Sample Rate PPG_SR = 0x13 4096 sps Sample Rate Error From nominal as indicated in the PPG_SR table Maximum DC Ambient Light Rejection ALR AC Ambient Light Rejection AC_ALRR DC Ambient Light Rejection Dark Current Offset DC_O Dark Current Input Referred Noise Maximum Photodiode Input Capacitance VDD DC PSR Cpd -2 +2 % ALC = on, ALC_OVF = 1 200 μA ALC = on, Iambient = 1μA DC with ±0.4μA pk-pk 120Hz Sinwave 70 dB ALC = on, Iambient modulated between 0μA and 30μA, LED_SETLNG = 12μs, PPG_TINT = 117.3μs 0.5 nA ALC = ON, PDBIASx = 0x0, ADD_OFFSET = 1 ±1 Counts PPG_TINT = 14.8μs 262 PPG_TINT = 29.4μs 128 PPG_TINT = 58.7μs 83 PPG_TINT = 117.3μs 56 Iambient = 0μA, less than 1nA of code shift PDBIASx = 0x1 65 PDBIASx = 0x5 130 PDBIASx = 0x6 260 PDBIASx = 0x7 520 Iambient = 0μA, VDD_ANA = VDD_DIG = 1.7V to 2.0V -560 -330 pArms pArms pF +560 LSB/V 1 LSB LED Driver LED Current Resolution 8 Driver DNL LEDx_RGE = 124mA Driver INL LEDx_RGE = 124mA www.analog.com -1 0.6 Bits LSB Analog Devices │  5 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Electrical Characteristics (continued) (VDD_ANA = 1.8V, VDD_DIG = 1.8V, VLED = 5.0V, PPGx_ADC_RGE = 16μA, PPG_SR = 1024sps, PPG_TINT = 14.8μs, LED_SETLNG = 6μs, LEDx_RGE = 31mA, CPD = 65pF, PDBIASx = 0x1, Iexposure = 1μA, TA = +25°C, min/max are from TA = -40°C to +85°C, unless otherwise noted. (Note 1, 2)) PARAMETER Full Scale LED Current SYMBOL ILED CONDITIONS LEDx_DRV = 0xFF MIN LEDx_RGE = 0x0 31 LEDx_RGE = 0x1 62 LEDx_RGE = 0x2 93 LEDx_RGE = 0x3 117 LEDx_RGE = 0x0 Minimum output voltage VOL LED1 Driver Compliance Interrupt LEDx_DRV = 0xFF, LEDx_RGE = 0x1 95% of the desired LED LEDx_RGE = 0x2 current LEDx_RGE = 0x3 MAX UNITS mA 124 129 160 253 317 mV 495 700 VLEDx_DRV = 0.9V, LEDx_DRV = 0xFF, VLED = 3.1V to 5.5V, LEDx_RGE = 124mA LED Driver DC PSR TYP -1 +400 110 1410 μA/V VDD_ANA = VDD_DIG = 1.7V to 2.0V, TA = +25°C, LEDx_DRV = 0xFF LED1COMP 180 mV 1 °C Internal Die Temperature Sensor Temperature Sensor Accuracy TA = +25°C Temperature Sensor Minimum Range Temperature error < 5°C -40 °C Temperature Sensor Maximum Range Temperature error < 5°C 85 °C 29 ms Temperature ADC Acquisition Time Power Supply Power Supply Voltage LED Supply Voltage www.analog.com VDD_ANA, VDD_DIG Verified during PSRR Test 1.7 VLED Verified during PSRR Test 3.1 1.8 2.0 V 5.5 V Analog Devices │  6 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Electrical Characteristics (continued) (VDD_ANA = 1.8V, VDD_DIG = 1.8V, VLED = 5.0V, PPGx_ADC_RGE = 16μA, PPG_SR = 1024sps, PPG_TINT = 14.8μs, LED_SETLNG = 6μs, LEDx_RGE = 31mA, CPD = 65pF, PDBIASx = 0x1, Iexposure = 1μA, TA = +25°C, min/max are from TA = -40°C to +85°C, unless otherwise noted. (Note 1, 2)) PARAMETER SYMBOL CONDITIONS MAX86140, Single LED Exposure/Sample. PPG_SR = 4096sps, LP_MODE = 0x0, LEDxPA = 0mA MAX86140, Single LED Exposure/Sample, LP_MODE = 0x1, LEDx_DRV = 0mA IDD ILED 780 32 PPG_SR = 50sps 16 PPG_SR = 25sps 8.5 UNITS μA 42 μA 89 μA 978 PPG_SR = 256sps 115.5 PPG_SR = 100sps 46 PPG_SR = 50sps 23 PPG_SR = 25sps 11 1170 μA 60 μA 130 μA Die Temperature mode, PPG_SR = 1sps, Optical channel(s) disabled 8 μA Single LED exposure per Sample, PPG_ TINT = 117.3μs, Single-Pulse, PPG_SR = 256sps, LEDx_DRV = 0mA 0.22 PPG_SR = 256sps Single LED exposure per Sample, PPG_TINT PPG_SR = 100sps = 117.3μs, Single-Pulse, PPG_SR = 50sps LEDx_DRV = 62mA PPG_SR=25sps Two LED exposure per sample, PPG_TINT = 117.3μs, LEDx_DRV = 62mA, PPG_SR = 84sps VDD Current in Shutdown TA = +25°C VLED Current in Shutdown TA = +25°C www.analog.com 660 PPG_SR = 100sps MAX86141, Two LED Single pulse Exposure/Sample, PPG_SR = 84sps, LP_MODE = 1, Dual pulse LEDx_DRV = 0mA VLED Supply Current MAX 80 MAX86141, Single LED Exposure/Sample. PPG_SR = 4096sps, LP_MODE = 0x0, LEDx_DRV = 0mA MAX86141, Single LED Exposure/Sample, LP_MODE = 1, LEDx_DRV = 0mA TYP PPG_SR = 256sps MAX86140, Dual LED Single pulse Exposure/Sample, PPG_ SR = 84sps, LP_MODE = Dual pulse 0x1, LEDx_DRV = 0mA VDD Supply Current MIN 1880 μA 735 370 185 Single pulse 1240 Dual pulse 2480 0.6 μA 2.5 µA 1 µA Analog Devices │  7 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Electrical Characteristics (continued) (VDD_ANA = 1.8V, VDD_DIG = 1.8V, VLED = 5.0V, PPGx_ADC_RGE = 16μA, PPG_SR = 1024sps, PPG_TINT = 14.8μs, LED_SETLNG = 6μs, LEDx_RGE = 31mA, CPD = 65pF, PDBIASx = 0x1, Iexposure = 1μA, TA = +25°C, min/max are from TA = -40°C to +85°C, unless otherwise noted. (Note 1, 2)) PARAMETER SYMBOL CONDITIONS MIN TYP MAX UNITS 0.4 V Digital I/O Characteristics SDO Output Low Voltage VOL_SDO ISINK = 2mA SDO Output High Voltage VOH_SDO ISOURCE = 2mA Open-Drain Output Low Voltage VDD-0.4 V VOL_OD ISINK = 6mA, INT, GPIO1, GPIO2 0.4 V Input Voltage Low VIL SDI, SCLK, CSB, GPIO1, GPIO2 0.4 V Input Voltage High VIH SDI, SCLK, CSB, GPIO1, GPIO2 Input Hysteresis VHYS 1.4 V SDI, SCLK, CSB 330 GPIO1, GPO2 240 0.01 Input Leakage Current IIN VIN = 0V, TA = +25°C (SDI, SCLK, CSB, GPIO1, GPIO2) Input Capacitance CIN SDI, SCLK, CSB, GPIO1, GPIO2 mV 1 10 μA pF SPI Timing Charateristics (Note 3) SCLK Frequency fSCLK 4 MHz SCLK Period tCP 125 ns SCLK Pulse Width High tCH 40 ns SCLK Pulse Width Low tCL 40 ns 20 ns 5 ns CSB Fall to SCLK Rise Setup Time 1st tCSS0 To CSB Fall to SCLK Rise Hold Time tCSH0 Applies to inactive rising edge preceding 1st rising edge CSB Rise to SCLK Rise Hold Time tCSH1 Applies to 24th rising edge 500 ns SCLK Rise to CSB Fall tCSF Applies to 24th rising edge 500 ns CSB Pulse Width High tCSPW 250 ns tDS 10 ns SDI to SCLK Rise Setup Time SCLK rising edge SDI to SCLK Rise Hold Time tDH SCLK Fall to SDO Transition tDOT CLOAD = 50pF CSB Fall to SDO Enabled tDOE CLOAD = 0pF CSB Rise to SDO Hi-Z tDOZ Disable Time GPIO1 External Sync Pulse Width tPLGPIO1 GPIO2 External Clock Input (Note 4) fGPIO2 GPIO2 External Clock Pulse Width tPWGPIO2 10 ns 35 12 ns 25 ns 32868 Hz 5 External Sample Reference Clock on GPIO2 31900 1 ns μs μs Note 1: 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 2: All other register settings assumed to be POR status unless otherwise noted. Note 3: Guaranteed by design. Not production tested. Note 4: See Register Map/PPG Configuration 2 (0x12) section for the sample rate by the external clock frequency. The sample rate shifts if the external clock frequency drifts. www.analog.com Analog Devices │  8 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Typical Operating Characteristics (VDD_ANA = VDD_DIG = 1.8V, VLED = 5.0V, GND_ANA = GND_DIG = PGND = 0V, TA = +25°C, unless otherwise noted.) SNR vs. INPUT CURRENT ADC RANGE = 32µA 100 TINT = 14.8µs TINT = 58.7µs 80 toc02 250 TINT = 117.3µs 90 200 DARK NOISE (pA) 70 SNR (dB) INPUT REFERRED NOISE vs. PD CAPACITANCE ADC RANGE = 8µA, PD BIAS = 1 toc01 60 50 40 TINT = 29.4µs 150 TINT = 58.7µs 100 TINT = 29.4µs 30 TINT = 117.3µs 50 TINT = 14.8µs 20 10 0 0 0.01 0.10 1.00 10.00 100.00 0 20 INPUT CURRENT (µA) EXPOSURE SHIFT FROM DARK CURRENT (nA) toc03 AMBIENT REJECTION (dB) -10 -20 TINT = 117.1µs -30 -40 -50 -60 TINT = 14.6µs -70 -80 10 100 1000 2.0 1.5 TINT = 117.3µs LED_SETLNG = 12µs 1.0 0.5 0.1 1 10 100 200 TINT = 14.8µs DUAL CHANNEL 150 100 TINT = 14.8µs SINGLE CHANNEL 50 3000 200 SAMPLE RATE (Hz) TINT = 117.3µs 2500 2000 TINT = 58.7µs 1500 TINT = 29.4µs 1000 TINT = 14.8µs 500 0 100 toc06 3500 LED AVERAGE CURRENT (µA) POWER (µW) 2.5 LED CURRENT vs. SAMPLE RATE SINGLE PULSE MODE, LEDx PA = 60 mA TINT = 117.3µs SINGLE CHANNEL www.analog.com 3.0 AFE POWER DISSIPATION LP_MODE = 1 TINT = 117.3µs DUAL CHANNEL 0 TINT = 117.3µs LED_SETLNG = 6µs 3.5 INPUT AMBIENT CURRENT (µA) 250 0 toc04 4.0 0.0 10000 toc05 300 80 FREQUENCY OF AMBIENT (Hz) 400 350 60 AMBIENT LIGHT REJECTION EXPOSURE SHIFT vs. AMBIENT INPUT PD BIAS = 1, PD CAPACITANCE = 60pF AMBIENT REJECTION vs. FREQUENCY RESPONSE 0 40 PD CAPACITANCE (pF) 300 0 100 200 300 400 500 SAMPLE RATE (Hz) Analog Devices │  9 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Typical Operating Characteristics (continued) (VDD_ANA = VDD_DIG = 1.8V, VLED = 5.0V, GND_ANA = GND_DIG = PGND = 0V, TA = +25°C, unless otherwise noted.) AVERAGE VDD SHUTDOWN CURRENT VDD = 1.8 V LED CURRENT vs. SAMPLE RATE DUAL PULSE MODE, LEDx PA = 60 mA toc07 3000 10 TINT = 117.3µs 2500 2000 TINT = 58.7µs 1500 TINT = 14.8µs 500 0 0 50 100 150 200 8 6 4 TINT = 29.4µs 1000 toc08 12 CURRENT (µA) LED AVERAGE CURRENT (µA) 3500 2 0 250 -50 SAMPLE RATE (Hz) 2,000 900 1,800 800 1,600 PSRR (LSB/V) RECOMMENDED MINIMUM HEADROOM (mV) toc09 1000 700 600 500 100 1,200 1,000 800 300 600 200 400 100 toc10 1,400 400 200 0x0 0x1 0x2 0x3 LED DRIVER RANGE SETTING (REGISTER CODE) www.analog.com 50 POWER SUPPLY REJECTION OF VDD vs. FREQUENCY VDD = 1.8V SUGGESTED LED DRIVER HEADROOM VOLTAGE 0 0 TEMPERATURE (°C) 0 0.1 10 1000 100000 FREQUENCY OF RIPPLE ON VDD (Hz) Analog Devices │  10 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Pin Configurations MAX86140 TOP VIEW (BUMP SIDE DOWN) 1 2 3 4 5 VLED SCLK SDO SDI CSB LED3_DRV INT GPIO1 GPIO2 VREF LED2_DRV VDD_DIG GND_DIG GND_ANA PD_GND LED1_DRV VDD_ANA PGND A B C D N.C. PD1_IN 20 WLP (2.05mm x 1.85mm) MAX86141 TOP VIEW (BUMP SIDE DOWN) 1 2 3 4 5 VLED SCLK SDO SDI CSB LED3_DRV INT GPIO1 GPIO2 VREF LED2_DRV VDD_DIG GND_DIG GND_ANA PD_GND LED1_DRV VDD_ANA PGND A B C D PD2_IN PD1_IN 20 WLP (2.05mm x 1.85mm) www.analog.com Analog Devices │  11 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Pin Description PIN MAX86140 MAX86141 NAME FUNCTION POWER C2 C2 VDD_DIG Digital Logic Supply. Connect to externally-regulated supply. Bypass to GND_DIG C3 C3 GND_DIG Digital Logic and Digital Pad Return. Connect to PCB Ground. D2 D2 VDD_ANA C4 C4 GND_ANA Analog Power Return. Connect to PCB Ground. A1 A1 VLED LED Power Supply Input. Connect to external voltage supply. Bypass with a 10μF capacitor to PGND. D3 D3 PGND LED Power Return. Connect to PCB Ground. Analog Supply. Connect to externally-regulated supply.  Bypass with a 0.1μF capacitor as close as possible to bump and a 10μF capacitor to GND_ANA. CONTROL INTERFACE A2 A2 SCLK SPI Clock A3 A3 SDO SPI Data Ouput A4 A4 SDI SPI Data Input A5 A5 CSB SPI Chip select B2 B2 INT Interrupt. Programmable open-drain Interrupt output signal pin (active-low). When not used, it can be left unconnected. B3 B3 GPIO1 General Purpose I/O. Open-drain when programmed as output (active-low). When not used, it can be left unconnected. B4 B4 GPIO2 General Purpose I/O. Open-drain when programmed as output (active-low). When not used, it can be left unconnected. OPTICAL PINS — D4 PD2_IN Photodiode Cathode Input. Tie to PD_GND when this pin is not used. D5 D5 PD1_IN Photodiode Cathode Input. Tie to PD_GND when this pin is not used. C5 C5 D1 D1 LED1_DRV LED Output Driver 1. Connect the LED cathode to LED1_DRV and its anode to the VLED supply. When not used, it can be left unconnected. C1 C1 LED2_DRV LED Output Driver 2. Connect the LED cathode to LED2_DRV and its anode to the VLED supply. When not used, it can be left unconnected. B1 B1 LED3_DRV LED Output Driver 3. Connect the LED cathode to LED3_DRV and its anode to the VLED supply. When not used, it can be left unconnected. B5 VREF PD_GND Photodiode Anode REFERENCE B5 Internal Reference Decoupling Point. Bypass with a 1μF capacitor to GND_ANA. N.C. D4 www.analog.com N.C. No Connection. Connect to unconnected PCB pad for mechanical stability. N.C. pins should not be connected to any signal, power, or ground pins. Analog Devices │  12 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Simplified Block Diagram VREF PD1_IN VDD_ANA REFERENCE DIE TEMP 12-BIT ADC AMBIENT CANCELLATION DIGITAL NOISE CANCELLATION 128-WORD FIFO 19-BIT CURRENT ADC (MAX86141 ONLY) AMBIENT CANCELLATION (MAX86141 ONLY) VLED LED1_DRV LED2_DRV LED3_DRV SPI INTERFACE GPIO1 GPIO2 DIGITAL NOISE CANCELLATION (MAX86141 ONLY) CONTROLLER LED DRIVERS MAX86140/MAX86141 PGND www.analog.com INT SCLK SDI SDO CSB 19-BIT CURRENT ADC PD_GND PD2_IN VDD_DIG GND_ANA GND_DIG Analog Devices │  13 MAX86140/ MAX86141 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health Detailed Description The MAX86140/MAX86141 are complete integrated optical data acquisition systems, ideal for optical pulse oximetry and heart rate detection applications. Both parts have been designed for the demanding requirements of mobile and wearable devices and require minimal external hardware components are necessary for integration into a wearable device. They include high-resolution, optical readout signal processing channels with robust ambient light cancellation and high-current LED driver DACs to form a complete optical readout signal chain. The MAX86140/MAX86141 are fully adjustable through software registers and the digital output data is stored in a 128-word FIFO within the IC. The FIFO allows the MAX86140/MAX86141 to be connected to a microcontroller or processor on a shared bus, where the data is not being read continuously from the MAX86140/MAX86141’s registers. Both operate in fully autonomous modes for low power battery applications. The MAX86140 consists of a single optical readout channel, while the MAX86141 incorporates dual optical readout channels that operate simultaneously. Both parts have three LED drivers and are well suited for a wide variety of optical sensing applications. The MAX86140/MAX86141 operate on a 1.8V main supply voltage, with a separate 3.1V to 5.5V LED driver power supply. Both devices have flexible timing and shutdown configurations as well as control of individual blocks so an optimized measurement can be made at minimum power levels. Optical Subsystem The optical subsystem in the MAX86140/MAX86141 is composed of ambient light cancellation (ALC), a continuous-time sigma-delta ADC, and proprietary discrete time filter. ALC incorporates a proprietary scheme to cancel ambient light generated photodiode current, allowing the sensor to work in high ambient light conditions. The optical ADC has programmable full-scale ranges of 4μA to 32μA. The internal ADC is a continuous time oversampling sigma delta converter with 19-bit resolution. www.analog.com The ADC output data rate can be programmed from 8sps (samples per second) to 4096sps per channel. The MAX86140/MAX86141 includes a proprietary discrete time filter to reject 50Hz/60Hz interference and changing residual ambient light from the sensor measurements. The MAX86140/MAX86141 supports Dynamic Power Down mode (Low-Power mode) in which the power consumption is decreased between samples. This mode is only supported for sample rates 128sps and below. For more details on the power consumption at each sample rates, refer to the Electrical Characteristics table. LED Driver The MAX86140/MAX86141 integrates three precision LED driver-current DACs that modulate LED pulses for a variety of optical measurements. The LED current DACs have 8-bits of dynamic range with four programmable full-scale ranges of 31mA, 62mA, 94mA, and 124mA. The LED drivers are low dropout current sources, allowing for low-noise, power-supply independent LED currents to be sourced at the lowest supply voltage possible; therefore minimizing LED power consumption. The LED pulse width can be programmed from 14.8μs to 117.3μs to allow the algorithms to optimize SpO2 and HR accuracy at the lowest dynamic power consumption dictated by the application. FIFO Configuration The FIFO is 128 sample depth and is designed to support various data types, as shown in Table 2. Each sample width is 3 bytes, which includes a 5-bit tag width. The tag embedded in the FIFO_DATA is used to identify the source of each sample data. The description of each Tag is as shown in Table 3. LED Sequence Control (address 0x20 ~ 0x22) The data format in the FIFO, as well as the sequencing of exposures, are controlled by the LED Sequence Registers through LEDC1 through LEDC6. There are six LED Sequence Data Items available, as shown in Table 1. The exposure sequence cycles through the LED Sequence bit fields, starting from LEDC1 to LEDC6. The first LED Sequence field set to NONE (0000) ends the sequence. Analog Devices │  14 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Table 1. LED Sequence Control Registers ADDRESS REGISTER NAME DEFAULT VALUE 0x20 LED Sequence Register 1 00 LEDC2[3:0] LEDC1[3:0] 0x21 LED Sequence Register 2 00 LEDC4[3:0] LEDC3[3:0] 0x22 LED Sequence Register 3 00 LEDC6[3:0] LEDC5[3:0] B7 B6 B5 B4 B3 B2 B1 B0 Table 2 lists the codes for exposures selected in the LED sequence control registers. Table 2. LED Sequence Register Data Type www.analog.com LEDCn[3:0] DATA TYPE 0000 NONE 0001 LED1 0010 LED2 0011 LED3 0100 LED1 and LED2 pulsed simultaneously 0101 LED1 and LED3 pulsed simultaneously 0110 LED2 and LED3 pulsed simultaneously 0111 LED1, LED2, and LED3 pulsed simultaneously 1000 Pilot on LED1 1001 DIRECT  AMBIENT 1010 LED4 (external mux control) 1011 LED5 (external mux control) 1100 LED6 (external mux control) 1101 Reserved 1110 Reserved 1111 Reserved Analog Devices │  15 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Table 3 shows the format of the FIFO data along with the associated Tag. In a sample if a picket fence event is detected, the predicted value is pushed to the FIFO along with its tag (PPFx_LEDCx_DATA). Table 3. FIFO Data and Tag TAG[4:0] DATA TYPE 00001 PPG1 LEDC1 DATA If LEDC1 is non-zero COMMENTS 00010 PPG1 LEDC2 DATA If LEDC1 and LEDC2 are non-zero 00011 PPG1 LEDC3 DATA If LEDC1, LEDC2 and LEDC3 are non-zero 00100 PPG1 LEDC4 DATA If LEDC1, LEDC2, LEDC3, and LEDC4 are non-zero 00101 PPG1 LEDC5 DATA If LEDC1, LEDC2, LEDC3, LEDC4, and LEDC5 are non-zero 00110 PPG1 LEDC6 DATA If LEDC1, LEDC2, LEDC3, LEDC4, LEDC5, and LEDC6 are non-zero 00111 PPG2 LEDC1 DATA If LEDC1 is non-zero 01000 PPG2 LEDC2 DATA If LEDC1 and LEDC2 are non-zero 01001 PPG2 LEDC3 DATA If LEDC1, LEDC2, and LEDC3 are non-zero 01010 PPG2 LEDC4 DATA If LEDC1, LEDC2, LEDC3, and LEDC4 are non-zero 01011 PPG2 LEDC5 DATA If LEDC1, LEDC2, LEDC3, LEDC4, and LEDC5 are non-zero 01100 PPG2 LEDC6 DATA If LEDC1, LEDC2, LEDC3, LEDC4, LEDC5, and LEDC6 are non-zero 01101 PPF1 LEDC1 DATA If LEDC1 is non-zero (Picket Fence Event) 01110 PPF1 LEDC2 DATA If LEDC1 and LEDC2 are non-zero (Picket Fence Event) 01111 PPF1 LEDC3 DATA If LEDC1, LEDC2, and LEDC3 are non-zero  (Picket Fence Event) 10000 Reserved 10001 Reserved 10010 Reserved 10011 PPF2 LEDC1 DATA If LEDC1 is non-zero (Picket Fence Event) 10100 PPF2 LEDC2 DATA If LEDC1 and LEDC2 are non-zero (Picket Fence Event) 10101 PPF2 LEDC3 DATA If LEDC1, LEDC2, and LEDC3 are non-zero (Picket Fence Event) 10110 Reserved 10111 Reserved 11000 Reserved 11001 PROX1 DATA Only PILOT LED1 for LEDC1 is used 11010 PROX2 DATA Only PILOT LED1 for LEDC1 is used 11011 Reserved 11100 Reserved 11101 Reserved 11110 INVALID DATA This tag indicates that there was an attempt to read an empty FIFO 11111 TIME STAMP If TIME_STAMP_EN = 1, this is TIME_STAMP www.analog.com Analog Devices │  16 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 There are seven registers that control how the FIFO is configured and read out. These registers are illustrated below. Table 4. PPG Configuration ADDRESS REGISTER NAME 0x04 FIFO Write Pointer – 0x05 FIFO Read Pointer – FIFO_RD_PTR[6:0] 0x06 Overflow Counter – OVF_COUNTER[6:0] 0x07 FIFO Data Counter FIFO_DATA_COUNT[7:0] 0x08 FIFO Data Register FIFO_DATA[7:0] 0x09 FIFO Configuration 1 – 0x0A FIFO Configuration 2 – B7 B6 B5 B4 B3 B2 B1 B0 FIFO_WR_PTR[6:0] FIFO_A_FULL[6:0] – TIME_ STAMP_EN FLUSH_ FIFO FIFO_ STAT_CLR A_FULL_ TYPE FIFO_RO – Write Pointer (Register 0x04) FIFO_WR_PTR[6:0] points to the FIFO location where the next item will be written. This pointer advances for each item pushed on to the FIFO by the internal conversion process. The write pointer is a 7-bit counter and will wrap around to count 0x00 on the next item after count 0x7F. Read Pointer (Register 0x05) FIFO_RD_PTR[6:0] points to the location from where the next item from the FIFO will be read via the serial interface. This advances each time an item is read from the FIFO. The read pointer can be both read and written to. This allows an item to be reread from the FIFO if it has not already been overwritten. The read pointer is updated from a 7-bit counter and will wrap around to count 0x00 from count 0x7F. Overflow Counter (Register 0x06) OVF_COUNTER[6:0] logs the number of items lost if the FIFO is not read in a timely fashion. This counter holds/ saturates at count value 0x7F. When a complete item is popped from the FIFO (when the read pointer advances), the OVF_COUNTER is reset to zero. This counter is essentially a debug tool. It should be read immediately before reading the FIFO in order to check if an overflow condition has occurred. FIFO Data Counter (Register 0x07) FIFO_DATA_COUNT[7:0] is a read-only register which holds the number of items available in the FIFO for the host to read. This increments when a new item is pushed to the FIFO, and decrements when the host reads an item from the FIFO. FIFO Data (Register 0x08) FIFO_DATA[7:0] is a read-only register used to retrieve data from the FIFO. It is important to burst read the item from the FIFO. Each item is three bytes. So burst reading three bytes at FIFO_DATA  register via the serial interface advances the FIFO_RD_PTR. The format and data type of the data stored in the FIFO is determined by the Tag associated with data. Readout from the FIFO follows a progression defined by LED Sequence Control registers as well. This configuration is best illustrated by a few examples. Assume it is desired to perform a SpO2 measurement and also monitor the ambient level on the photodiode to adjust the IR and red LED intensity. To perform this measurement, configure the following registers: www.analog.com Analog Devices │  17 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 LED Sequence Control LEDC1 = 0x1 (LED1 exposure) LEDC2 = 0x2 (LED2 exposure) LEDC3 = 0x9 (DIRECT AMBIENT exposure) LEDC4 = 0x0 (NONE) LEDC5 = 0x0 (NONE) LEDC6 = 0x0 (NONE) PPG Configuration PPG1_ADC_RGE[1:0] (PPG1 Gain Range Control) PPG2_ADC_RGE[1:0] (PPG2 Gain Range Control) PPG_TINT[1:0] (LED Pulse-Width Control) PPG_SR[3:0] (Sample Rate) LED1_PA[7:0] (LED1 Drive Current) LED2_PA[7:0] (LED2 Drive Current) LED Pulse Amplitude When done so the sample sequence and the data format in the FIFO follows the following time/location sequence. tag 1, PPG1 LED1 data tag 7, PPG2 LED1 data tag 2, PPG1 LED2 data tag 8, PPG2 LED2 data tag 3, PPG1 Ambient data tag 9, PPG2 Ambient data tag 1, PPG1 LED1 data tag 7, PPG2 LED1 data tag 2, PPG1 LED2 data tag 8, PPG2 LED2 data tag 3, PPG1 Ambient data tag 9, PPG2 Ambient data . . . tag 1, PPG1 LED1 data tag 7, PPG2 LED1 data tag 2, PPG1 LED2 data tag 8, PPG2 LED2 data tag 3, PPG1 Ambient data tag 9, PPG2 Ambient data where: PPGm LED1 data = the ambient corrected exposure data from LED1 in PPGm channel PPGm LED2 data = the ambient corrected exposure data from LED2 in PPGm channel PPGm Ambient data = the direct ambient sample in PPGm channel m = 1 of PPG1 channel, and 2 for PPG2 channel www.analog.com Analog Devices │  18 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 For a second example, assume it is desired to pulse LED1 and LED2 simultaneously while also monitoring the ambient level. LED Sequence Control LEDC1 = 0x4 (LED1 and LED2 exposure) LEDC2 = 0x9 (DIRECT AMBIENT exposure) LEDC3 = 0x0 (NONE) LEDC4 = 0x0 (NONE) LEDC5 = 0x0 (NONE) LEDC6 = 0x0 (NONE) In this case, the sequencing in the FIFO will then be: tag 1, tag 7, tag 2, tag 8, tag 1, tag 7, tag 2, tag 8, . . . tag 1, tag 7, tag 2, tag 8, where: PPG1 LED1+LED2 data PPG2 LED1+LED2 data PPG 1 Ambient data PPG 2 Ambient data PPG1 LED1+LED2 data PPG2 LED1+LED2 data PPG1 Ambient data PPG2 Ambient data PPG1 LED1+LED2 data PPG2 LED1+LED2 data PPG1 Ambient data PPG2 Ambient data PPGm LED1+LED2 data = the ambient corrected exposure data from LED1 and LED2 for PPGm channel PPGm Ambient data = the direct ambient corrected sample for PPGm channel  The number of bytes of data for the PPG channel is given by: 2 x 3 x K x N where: K = the number of active exposures as defined in the LED Sequence Control registers 0x20, 0x21, and 0x22. N = the number of samples in the FIFO To calculate the number of available items one can perform the following pseudo-code: read the OVF_COUNTER register read the FIFO_DATA_COUNT register if OVF_COUNTER == 0 //no overflow occurred NUM_AVAILABLE_SAMPLES = FIFO_DATA_COUNT else NUM_AVAILABLE_SAMPLES = 128 // overflow occurred and data has been lost endif Table 6 shows the FIFO data format depends on the data type being stored. Optical data, whether full ambient corrected LED exposure, ambient corrected proximity or direct ambient sampled data is left-justified, as shown in Table 6. Bits F23:F19 of the FIFO word contains the tag that identifies the data. www.analog.com Analog Devices │  19 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Table 6. Optical FIFO Data Format FIFO DATA FORMAT (FIFO_DATA[23:14]) Tag (TAG[4:0]) ADC Value (FIFO_DATA[18:14]) F23 F22 F21 F20 F19 F18 F17 F16 F15 F14 T4 T3 T2 T1 T0 O18 O17 O16 O15 O14 FIFO DATA FORMAT (FIFO_DATA[13:4]) ADC Value (FIFO_DATA[13:4]) F13 F12 F11 F10 F9 F8 F7 F6 F5 F4 O13 O12 O11 O10 O9 O8 O7 O6 O5 O4 FIFO DATA FORMAT (FIFO_DATA[3:0]) ADC Value (FIFO_DATA[3:0]) F3 F2 F1 F0 O3 O2 O1 O0 FIFO_A_FULL (address 0x09) The FIFO_A_FULL[6:0] field in the FIFO Configuration 1 register (0x09) sets the watermark for the FIFO and determines when the A_FULL bit in the Interrupt_Status register (0x00) gets asserted. The A_FULL bit will be set when the FIFO contains 128 minus FIFO_A_FULL[6:0] items. When the FIFO is almost full, if the A_FULL_EN mask bit in the Interrupt_Enable register (0x03) is set, then A_FULL bit gets asserted in the Interrupt Status 1 register and this bit is routed to the INT pin on the serial interface. This condition should prompt the applications processor to read samples off of the FIFO before it fills. The A_FULL bit is cleared when the status register is read. The application processor can read both the FIFO_WR_ PTR and FIFO_RD_PTR to calculate the number of items available in the FIFO, or just read the OVF_COUNTER and FIFO_DATA_COUNT registers, and read as many items as it needs to empty the FIFO. Alternatively, if the applications always responds much faster than the selected sample rate, it could just read 128 minus FIFO_A_FULL[6:0] items when it gets A_FULL interrupt and be assured that all data from the FIFO is read. FIFO_RO (Address 0x0A) The FIFO_RO bit in the FIFO Configuration 2 register (0x0A) determines whether samples get pushed on to the FIFO when it is full. If push is enabled when FIFO is full, old samples are lost. If FIFO_RO is not set, the new sample is dropped and the FIFO is not updated. A_FULL_TYPE (Address 0x0A) The A_FULL_TYPE bit defines the behavior of the A_FULL interrupt. If the A_FULL_TYPE bit is set low, the A_FULL www.analog.com interrupt gets asserted when the A_FULL condition is detected and cleared by status register read, but reasserts for every sample if the A_FULL condition persists. If A_FULL_TYPE bit is set high, the A_FULL interrupt gets asserted only when a new A_FULL condition is detected. The interrupt gets cleared on Interrupt Status 1 register read, and does not reassert for every sample until a new A_FULL condition is detected. FIFO_STAT_CLR (Address 0x0A) The FIFO_STAT_CLR bit defines whether the A_FULL interrupt should get cleared by FIFO_DATA register read. If FIFO_STAT_CLR is set low, A_FULL and DATA_RDY interrupts do not get cleared by FIFO_DATA register read but get cleared by status register read. If FIFO_STAT_CLR is set high, A_FULL and DATA_RDY interrupts get cleared by a FIFO_DATA register read or a status register read. FLUSH_FIFO (Address 0x0A) The FIFO Flush bit is used for flushing the FIFO. The FIFO becomes empty and the FIFO_WR_PTR[6:0], FIFO_RD_PTR[6:0], FIFO_DATA_COUNT[7:0] and OVF_COUNTER[6:0] get reset to zero. FLUSH_FIFO is a self-clearing bit. TIME_STAMP_EN (Address 0x0A) When TIME_STAMP_EN bit is set to 1, the 19 bits time stamp gets pushed to the FIFO along with its Tag for every 8 samples. This timestamp is useful for aligning data from two devices after the host reads the FIFOs of those devices. When TIME_STAMP_EN bit is set to 0, the sample counter is not pushed to FIFO. Analog Devices │  20 MAX86140/ MAX86141 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health Pseudo-Code Example of Initializing the Optical AFE The following pseudo-code shows an example of configuring MAX86140/MAX86141 for a SpO2 applications, where LED1 and LED2 are IR and red LED, respectively. DEVICE OPEN START; // AFE Initialization WRITE 0x1 to RESET[0]; // Soft Reset (Register 0x0D[0]) DELAY 1ms; READ Interrupt Status 1; // Clear Interrupt (Register 0x00) READ Interrupt Status 2; // Clear Interrupt (Register 0x01) WRITE 0x1 to SHDN[0]; // Shutdown (Register 0x0D[1]) WRITE 0x3 to PPG_TINT[1:0]; // Pulse Width = 123.8ms (Register 0x11[1:0]) WRITE 0x2 to PPG1_ADC_RGE1:0]; // ADC Range = 16μA (Register 0x11[3:2]) WRITE 0x2 to PPG2_ADC_RGE1:0]; // ADC Range = 16μA (Register 0x11[3:2]) // For MAX86141 when used in Dual Channel only WRITE 0x0 to SMP_AVE[2:0]; // Sample Averaging = 1 (Register 0x12[2:0]) WRITE 0x00 to PPG_SR[4:0]; // Sample Rate = 25sps (Register 0x12[7:3]) WRITE 0x3 to LED_SETLNG[1:0]; // LED Settling Time = 12ms (Register 0x13[7:6]) WRITE 0x01 to PDBIAS1[2:0]; // PD 1 Biasing for Cpd = 0~65pF (Register 0x15[2:0]) WRITE 0x01 to PDBIAS2[2:0]; // PD 1 Biasing for Cpd = 0~65pF (Register 0x15[2:0]) // For MAX86141 when used in Dual Channel only WRITE 0x3 to LED1_RGE[1:0]; // LED Driver 1 Range = 124mA (Register 0x15[2:0]) WRITE 0x3 to LED2_RGE[1:0]; // LED Driver 2 Range = 124mA (Register 0x15[2:0]) WRITE 0x20 to LED1_DRV[1:0]; // LED 1 Drive Current = 15.36mA (Register 0x23[7:0]) WRITE 0x20 to LED2_DRV[1:0]; // LED 2 Drive Current = 15.36mA (Register 0x24[7:0]) WRITE 0x1 to LP_Mode[0]; // Low Power mode enabled // FIFO Configuration WRITE 0x10 to FIFO_A_FULL[6:0]; // FIFO INT triggered condition (Register 0x09[6:0]) WRITE 0x1 to FIFO_RO; // FIFO Roll Over enabled (Register 0x0A[1]) WRITE 0x1 to A_FULL_EN; // FIFO_A_FULL interrupt enabled (Register 0x02[7]) WRITE 0x1 to LEDC1[3:0]; // LED1 exposure configured in time slot 1 WRITE 0x2 to LEDC2[3:0]; // LED2 exposure configured in time slot 1 WRITE 0x0 to LEDC3[3:0]; WRITE 0x0 to LEDC4[3:0]; WRITE 0x0 to LEDC5[3:0]; WRITE 0x0 to LEDC6[3:0]; WRITE 0x0 to SHDN[0]; // Start Sampling STOP; Pseudo-Code for Interrupt Handling with FIFO_A_FULL The following pseudo-code shows an example on handling the Interrupt when using A_FULL Interrupt. void irqHandler(void) { uint8_t intStatus; //Read Status ReadReg(0x00, &intStatus); if ( intStatus& 0x80 ) { //A FULL RDY device_data_read(); //Data Read Routine } } www.analog.com Analog Devices │  21 MAX86140/ MAX86141 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health Pseudo-Code Example of Reading Data from FIFO Example pseudo-code for reading data from FIFO when using single photodiode channel and two LED channels. #define FIFO_SAMPLES (128-0x10) // FIFO_A_FULL[6:0] = 0x10 void device_data_read(void) { int i; uint8_t sampleCnt; uint8_t dataBuf[FIFO_SAMPLES*3]; //(128 - FIFO_A_FULL[6:0]) samples, 3 byte/channel uint8_t tag1[FIFO_SAMPLES/2]; //(128 - FIFO_A_FULL[6:0])/2channels samples uint8_t tag2[FIFO_SAMPLES/2]; //(128 - FIFO_A_FULL[6:0])/2channels samples int led1[FIFO_SAMPLES/2]; //(128 - FIFO_A_FULL[6:0])/2channels samples int led2[FIFO_SAMPLES/2]; //(128 - FIFO_A_FULL[6:0])/2channels samples ReadReg(0x07, &sampleCnt); // sampleCnt should be the same value as FIFO_SAMPLES //Read FIFO ReadFifo(dataBuf, sampleCnt * 3); for ( i = 0; i < sampleCnt/2/*channels*/; i++ ) { tag1[i] = (dataBuf[i*6+0] >> 3) & 0x1f; led1[i] = ((dataBuf[i*6+0] 3) & 0x1f; led2[i] = ((dataBuf[i*6+3] 3) & 0x1f; led1A[i] = ((dataBuf[i*12+0] 3) & 0x1f; led1B[i] = ((dataBuf[i*12+3] 3) & 0x1f; led2A[i] = ((dataBuf[i*12+6] 3) & 0x1f; led2B[i] = ((dataBuf[i*12+9] PFT ? Picket Fence Threshold, PFT(n) YES Picket Event Detected DOUT=p(n) Note 1: If PG_ORDER = 0, p(n) = s(n-1). If PG_ORDER = 1, p(n) = s(n - 1) + 0.5s(n - 2) - 0.5s(n - 4) Note 2: d(n) = ABS [ p(n) - s(n) ] Figure 29. Picket Fence Detect-and-Replace Function Flow www.analog.com Analog Devices │  47 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 This scheme essentially produces a threshold that tracks the past returned optical signal with a band width based on the past historical change sample to sample. Figure 30 illustrates graphically how the threshold detection scheme works on a real PPG signal. Note that the black trace is # 10 the real ADC sample points, the red trace is the output of the low-pass filter of the error estimation mirrored around the ADC points and the blue traces are the threshold values. Picket Fence Algorithm Variables 5 Raw PPG PPG+Estimation Error PPG-Estimation Error PPG+Threshod PPG-Threshold 1.46 1.44 1.42 ADC Codes (LSB) 1.4 1.38 1.36 1.34 1.32 Transient That Does Qualify As A Picket Fence Event 1.3 1.28 Transient That Does Qualify As A Picket Fence Event 18 20 22 24 26 Time (sec) 28 30 32 34 36 Figure 30. Picket Fence Variables In A PPG Waveform www.analog.com Analog Devices │  48 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 The recommended settings for the picket fence detectand-replace function are the default power on reset values for all registers except THRESHOLD_SIGMA_MULT bits. Here it is recommended that the 32x value 0x3 be used so only large excursions are classified as picket fence events. Lower values of THRESHOLD_SIGMA_MULT can cause the algorithm to go off track with extremely noisy waveform. Photodiode Biasing The MAX86140/MAX86141 provides multiple photodiode biasing options (see Table 16). These options allow the MAX86140/MAX86141 to operate with a large range of photodiode capacitance. The PDBIASx settings adjust the PD_IN bias point impedance to ensure that the photodiode settles rapidly enough to support the sample timing. With a higher PD bias setting, the input-referred noise of the MAX86140/MAX86141 is increased. The relationship between Photodiode bias and noise with increasing photodiode capacitance is illustrated in the "Input Referred Noise vs. PD Capacitance" graph of the Typical Operating Characteristics section. Because of the increased noise with a higher PDBIASx setting, the lowest recommended PDBIASx settings should be used for a given photodiode capacitance. Layout Guidelines The MAX86140/MAX86141 is a high dynamic range analog front-end (AFE) and its performance can be adversely impacted by the physical printed circuit board (PCB) layout. It is important that all bypass recommendations in the pin table are followed. Specifically, it is recommended that the VDD_ANA and VDD_DIG pins be shorted at the PCB. It is also recommended that GND_ANA, GND_DIG, and PGND be shorted to a single PCB ground plane. These three pins should be shorted on the edge of the WLP grid array. The pins should be connected using a single via to the PCB ground plane as close to the AFE as possible. Use multiple vias if grounds are not coplanar. The combined VDD_ANA and VDD_DIG pins should then be decoupled with a 22μF 0402 and a 0.1µF ceramic chip capacitor to the PCB ground plane. Note that effective capacitance is approximately 10μF with voltage derating. In addition, the VREF pin should be decoupled to the PCB GND plane with a 1.0μF ceramic capacitor. The voltage on the VREF pin is nominally 1.21V, so a 6.3V rated ceramic capacitor should be adequate for this purpose. It is recommended that all decoupling caps use individual vias to the PCB GND plane to avoid mutual impedance coupling between decoupled supplies when sharing vias. The most critical aspect of the PCB layout of MAX86140/ MAX86141 is the handling of the PD_IN and PD_ GND nodes. Parasitic capacitive coupling to the PD_IN can result in additional noise being injected into the MAX86140/MAX86141 front-end. To minimize external interference coupling to PD_IN, it is recommended that the PD_IN node be fully shielded by the PD_GND node. An example of this recommendation is shown below. In the three layers shown, the PD_IN node is shielded with a coplanar PD_GND trace on the top layer, the layer on which the MAX86140/MAX86141 is mounted. Ensure that no traces route adjacent to the PD_IN vias. PD_GND fill should be isolating PD_IN vias from other traces. There should be no traces or vias other than PDx_IN going through PD_GND. Do not route traces over PD_GND (i.e., the PCB GND plane should be adjacent to PD_GND). On the bottom layer, the photodiode cathode is entirely shielded with the PD_GND shield, which is also the photodiode anode. Note, also, that the PD_GND shield also is extended below the photodiode. This is done because, in most photodiodes, the cathode is the bulk of the silicon. Therefore, shielding beneath the photodiode will terminate the capacitance to the bulk or cathode side to the reference node (PD_GND). Finally, the PD_GND pin should be attached to the PCB GND in only one point. This is shown on the top layer. Table 16. Recommended PDBIASx Values Based on the Photodiode Capacitance PDBIASx[2:0] www.analog.com PHOTODIODE CAPACITANCE 0x001 0pF to 65pF 0x101 65pF to 130pF 0x110 130pF to 260pF 0x111 260pF to 520pF All other values Not recommended Analog Devices │  49 MAX86140/ MAX86141 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health Figure 31. Example PCB Layout, Layer 1 (Top, MAX86140) www.analog.com Analog Devices │  50 MAX86140/ MAX86141 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health Figure 32. Example PCB Layout, Layer 6 (Bottom, Optical Layer) www.analog.com Analog Devices │  51 MAX86140/ MAX86141 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health Figure 33. Example PCB Layout, Layer5 (Ground Layer) www.analog.com Analog Devices │  52 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 SPI Timing a one-byte command word that defines the transaction as write or read, followed by a single-byte data word either written to, or read from, the register location provided in the first byte. Detailed SPI Timing The detailed SPI timing is illustrated below. The timings indicated are all specified in the Electrical Characteristics table. Write mode operations will be executed on the 24th SCLK rising edge using the first three bytes of data available. In write mode, any data supplied after the 24th SCLK rising edge will be ignored. Subsequent writes require CSB to deassert high and then assert low for the next write command. A rising CSB edge preceding the 24th rising edge of SCLK by tCSA (detailed SPI timing diagram), will result in the transaction being aborted. Single-Word SPI Register Read/Write Transaction The MAX86140/MAX86141 is SPI/QSPI/Micro-wire/DSP compatible. The operation of the SPI interface is shown below. Data is strobed into the MAX86140/MAX86141 on the SCLK rising edge while clocked out on the SCLK falling edge. All single-word SPI read and write operations are done in a 3-byte, 24 clock cycle SPI instruction framed by a CSB low interval. The content of the SPI operation consists of a one-byte register address (A[7:0]), followed by A7 A6 A5 A4 A3 A2 A1 A0 R/W X tDS tCP tDH 1 2 3 4 5 6 7 8 9 SDI SCLK tCSH0 CSB tCL tCSS0 tCH A7' DI2 DI1 DI0 22 tDOT 23 24 1' tCSH1 tCSA tCSF Z tCSPW SDO DO2 DO1 DO0 tDOE tDOZ GPIOx tPLGPIOx Figure 34. Detailed SPI Timing Diagram CSB SDI SCLK SDO A7 A6 A5 1 2 3 A4 4 A3 A2 A1 A0 5 6 7 8 Z DON’T CARE W 9 10 11 12 13 14 D7 15 16 17 D6 18 D5 19 D4 20 D3 21 D2 22 D1 23 Command Executed D0 DON’T CARE 24 Z Ignored Edges Figure 35. SPI Write Transaction www.analog.com Analog Devices │  53 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Read mode operations will access the requested data on the 16th SCLK rising edge, and present the MSB of the requested data on the following SCLK falling edge, allowing the µC to latch the data MSB on the 17th SCLK rising edge. Configuration and status registers are available through normal mode readback sequences. FIFO reads must be performed with a burst mode FIFO read (see SPI FIFO Burst Mode Read Transaction). If more than 24 SCLK rising edges are provided in a normal read sequence, the excess edges will be ignored and the device will read back zeros. read mode, the first byte being the register address, the second being a read command. The subsequent SCLKs consist of FIFO data, 24 SCLKs per word. All words in the FIFO should be read with a single FIFO burst read command. Each FIFO sample consists of 3 bytes per sample and thus requires 24 SCLKs per sample to readout. The first byte (SCLK 17 to 24) consists of a tag indicating the data type of the subsequent bits. Following the tag is the MSBs of the subsequent data (MSB, MSB-1, and MSB-2). The next byte (SCLK 25 to 32) consists of data bits MSB-3 to MSB-11. The final byte of each sample (SCLK 33 to 40) consists of the data LSB bits. The number of words in the FIFO depends on the FIFO configuration. See FIFO Configuration for more details the FIFO configuration and readout. SPI FIFO Burst Mode Read Transaction The MAX86140/MAX86141 provides a FIFO burst read mode to increase data transfer efficiency. The first 16 SCLK cycles operate exactly as described for the normal CSB A7 SDI A6 A5 A4 A3 A2 A1 A0 R DON’T CARE Interrupt/Read Pointer Updated (If Applicable) 1 SCLK SDO 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Z 17 18 19 20 21 22 23 24 Ignored Edges Z DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0 Figure 36. SPI Read Transaction CSB SDI SCLK SDO A7 A6 A5 1 2 3 17 18 19 A3 A2 A1 A0 4 5 6 7 8 9 10 11 12 13 14 15 16 20 21 22 23 24 25 26 27 28 29 30 31 32 A4 R DON’T CARE Z SCLK SDO SCLK SDO 33 34 35 36 37 38 39 40 T4A T3A T2A T1A T0A O18A O17A O16A O15A O14A O13A O12A O11A O10A O9A O8A O7A O6A O5A O4A O3A O2A O1A O0A 41 42 43 T4B T3B T2B 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 T1B T0B O18B O17B O16B O15B O14B O13B O12B O11B O10B O9B O8B O7B O6B O5B O4B O3B O2B O1B O0B CSB SCLK SDO N N+ 9 N+ 17 N+ 24 T4C T3C T2C T1C T0C O18C O17C O16C O15C O14C O13C O12C O11C O10C O9C O8C O7C O6C O5C O4C O3C O2C O1C O0C Z Figure 37. SPI FIFO Burst Mode Read Transaction www.analog.com Analog Devices │  54 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Register Map ADDRESS NAME MSB LSB Status 0x00 Interrupt Status 1[7:0] A_FULL DATA_ RDY ALC_ OVF PROX_ INT LED_ COMPB DIE_ TEMP_ RDY VDD_ OOR PWR_ RDY 0x01 Interrupt Status 2[7:0] – – – – – – – SHA_ DONE 0x02 Interrupt Enable 1[7:0] A_FULL_ EN DATA_ RDY_EN ALC_ OVF_EN PROX_ INT_EN LED_ COMPB_ EN DIE_ TEMP_ RDY_EN VDD_ OOR_EN – 0x03 Interrupt Enable 2[7:0] – – – – – – – SHA_ DONE_ EN 0x04 FIFO Write Pointer[7:0] – FIFO_WR_PTR[6:0] 0x05 FIFO Read Pointer[7:0] – FIFO_RD_PTR[6:0] 0x06 Over Flow Counter[7:0] – 0x07 FIFO Data Counter[7:0] FIFO_DATA_COUNT[7:0] 0x08 FIFO Data Register[7:0] FIFO_DATA[7:0] 0x09 FIFO Configuration 1[7:0] – 0x0A FIFO Configuration 2[7:0] – – – FLUSH_ FIFO FIFO_ STAT_ CLR A_FULL_ TYPE FIFO_ RO – – – – – SINGLE_ PPG LP_ MODE SHDN RESET – SW_ FORCE_ SYNC FIFO OVF_COUNTER[6:0] FIFO_A_FULL[6:0] System Control 0x0D System Control[7:0] PPG Configuration 0x10 PPG Sync Control[7:0] TIME_ STAMP_ EN – 0x11 PPG Configuration 1[7:0] ALC_ DISABLE ADD_ OFFSET 0x12 PPG Configuration 2[7:0] 0x13 PPG Configuration 3[7:0] 0x14 Prox Interrupt Threshold[7:0] 0x15 Photo Diode Bias[7:0] www.analog.com PPG2_ADC_ RGE[1:0] GPIO_CTRL[3:0] PPG1_ADC_ RGE[1:0] PPG_SR[4:0] LED_SETLNG[1:0] DIG_ FILT_ SEL PPG_TINT[1:0] SMP_AVE[2:0] – – BURST_RATE[1:0] BURST_ EN PROX_INT_THRESH[7:0] – PDBIAS2[2:0] – PDBIAS1[2:0] Analog Devices │  55 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Register Map (continued) ADDRESS NAME MSB LSB PPG Picket Fence Detect and Replace 0x16 Picket Fence[7:0] PF_ ENABLE PF_ ORDER IIR_TC[1:0] IIR_INIT_VALUE[1:0] THRESHOLD_ SIGMA_MULT[1:0] LED Sequence Control 0x20 LED Sequence Register 1[7:0] LEDC2[3:0] LEDC1[3:0] 0x21 LED Sequence Register 2[7:0] LEDC4[3:0] LEDC3[3:0] 0x22 LED Sequence Register 3[7:0] LEDC6[3:0] LEDC5[3:0] LED Pulse Amplitude 0x23 LED1 PA[7:0] LED1_DRV[7:0] 0x24 LED2 PA[7:0] LED2_DRV[7:0] 0x25 LED3 PA[7:0] LED3_DRV[7:0] 0x26 LED4 PA[7:0] LED4_DRV[7:0] 0x27 LED5 PA[7:0] LED5_DRV[7:0] 0x28 LED6 PA[7:0] LED6_DRV[7:0] 0x29 LED PILOT PA[7:0] PILOT_PA[7:0] 0x2A LED Range 1[7:0] – – LED3_RGE[1:0] LED2_RGE[1:0] LED1_RGE[1:0] 0x2B LED Range 2[7:0] – – LED6_RGE[1:0] LED5_RGE[1:0] LED4_RGE[1:0] S1 HI RES DAC1[7:0] S1_ HRES_ DAC1_ OVR – S1_HRES_DAC1[5:0] S2 HI RES DAC1[7:0] S2_ HRES_ DAC1_ OVR – S2_HRES_DAC1[5:0] S3 HI RES DAC1[7:0] S3_ HRES_ DAC1_ OVR – S3_HRES_DAC1[5:0] S4 HI RES DAC1[7:0] S4_ HRES_ DAC1_ OVR – S4_HRES_DAC1[5:0] S5 HI RES DAC1[7:0] S5_ HRES_ DAC1_ OVR – S5_HRES_DAC1[5:0] S6 HI RES DAC1[7:0] S6_ HRES_ DAC1_ OVR – S6_HRES_DAC1[5:0] PPG1_HI_RES_DAC 0x2C 0x2D 0x2E 0x2F 0x30 0x31 www.analog.com Analog Devices │  56 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Register Map (continued) ADDRESS NAME MSB LSB S1 HI RES DAC2[7:0] S1_ HRES_ DAC2_ OVR – S1_HRES_DAC2[5:0] S2 HI RES DAC2[7:0] S2_ HRES_ DAC2_ OVR – S2_HRES_DAC2[5:0] S3 HI RES DAC2[7:0] S3_ HRES_ DAC2_ OVR – S3_HRES_DAC2[5:0] S4 HI RES DAC2[7:0] S1_ HRES_ DAC2_ OVR – S4_HRES_DAC2[5:0] S5 HI RES DAC2[7:0] S2_ HRES_ DAC2_ OVR – S5_HRES_DAC2[5:0] S6 HI RES DAC2[7:0] S3_ HRES_ DAC2_ OVR – S6_HRES_DAC2[5:0] – – PPG2_HI_RES_DAC 0x32 0x33 0x34 0x35 0x36 0x37 Die Temperature 0x40 Die Temperature Configuration[7:0] 0x41 Die Temperature Integer[7:0] 0x42 Die Temperature Fraction[7:0] – – – – – TEMP_ EN TEMP_INT[7:0] – – – – TEMP_FRAC[3:0] SHA256 0xF0 SHA Command[7:0] SHA_CMD[7:0] 0xF1 SHA Configuration[7:0] – – – – – – SHA_EN SHA_ START 0xF2 Memory Control[7:0] – – – – – – MEM_ WR_EN BANK_ SEL 0xF3 Memory Index[7:0] MEM_IDX[7:0] 0xF4 Memory Data[7:0] MEM_DATA[7:0] Memory Part ID 0xFF www.analog.com Part ID[7:0] PART_ID[7:0] Analog Devices │  57 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Interrupt Status 1 (0x00) BIT 7 6 5 4 3 2 1 0 Field A_FULL DATA_RDY ALC_OVF PROX_INT LED_ COMPB DIE_TEMP_ RDY VDD_OOR PWR_RDY Reset 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Read Only Read Only Read Only Read Only Read Only Read Only Read Only Read Only Access Type A_FULL This is a read-only bit. This bit is cleared when the Interrupt Status 1 Register is read. It is also cleared when FIFO_ DATA register is read, if FIFO_STAT_CLR = 1. VALUE ENUMERATION 0 OFF Normal Operation DECODE 1 ON Indicates that the FIFO buffer will overflow the threshold set by FIFO_A_FULL[6:0] on the next sample. DATA_RDY This is a read-only bit and it is cleared by reading the Interrupt Status 1 register (0x00). It is also cleared by reading the FIFO_DATA register if FIFO_STAT_CLR = 1. VALUE ENUMERATION 0 OFF Normal Operation DECODE 1 ON This interrupt triggers when there is a new data in the FIFO. ALC_OVF This is a read-only bit. The interrupt is cleared by reading the Interrupt Status 1 register (0x00). VALUE ENUMERATION 0 OFF Normal Operation DECODE 1 ON This interrupt triggers when the ambient light cancellation function of the photodiode has reached its maximum limit due to overflow, and therefore, ambient light is affecting the output of the ADC. PROX_INT VALUE ENUMERATION 0 OFF Normal Operation ON Indicates that the ADC reading of the LED configured in LEDC1 has crossed the proximity threshold. If PROX_INT_EN is 0, then the prox mode is disabled and the exposure sequence configured in LED Sequence Control Registers begins immediately. This bit is cleared when the Interrupt Status 1 Register is read. 1 www.analog.com DECODE Analog Devices │  58 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 LED_COMPB LED is not compliant. At the end of each sample, if the LED driver is not compliant, LED_COMPB interrupt is asserted if LED_COMPB_EN is set to 1. It is a read-only bit and is cleared when the status register is read. VALUE ENUMERATION DECODE 0 COMPLIANT LED driver is compliant 1 NOT_COMPLIANT LED driver is not compliant DIE_TEMP_RDY This is a read-only bit and is automatically cleared when the temperature data is read, or when the Interrupt Status 1 Register is read. VALUE ENUMERATION DECODE 0 OFF Normal Operation 1 ON Indicates that the TEMP ADC has finished it's current conversion. VDD_OOR This is a read-only bit. It is automatically cleared when the Interrupt Status 1 register is read. The detection circuitry has a 10ms delay time, and will continue to trigger as long as the VDD_DIG is out of range. VALUE ENUMERATION DECODE 0 OFF Normal operation 1 ON Indicates that VDD_DIG is greater than 2.05V or less than 1.65V. PWR_RDY This is a read-only bit and indicates that VDD_ANA had gone below the UVLO threshold. This bit is not triggered by a soft reset. This bit is cleared when either Interrupt Status 1 Register is read, or by setting SHDN bit to 1. VALUE ENUMERATION DECODE 0 OFF Normal Operation 1 ON Indicates that VDD_ANA went below the UVLO threshold. Interrupt Status 2 (0x01) BIT 7 6 5 4 3 2 1 0 Field – – – – – – – SHA_DONE Reset – – – – – – – 0x0 Access Type – – – – – – – Read Only SHA_DONE SHA256 Authentication Done status bit is set to 1 when the authentication algorithm completes. This is a read-only bit and gets cleared when the Status Register is read. VALUE ENUMERATION DECODE 0x0 SHA Authentication not done 0x1 SHA Authentication done www.analog.com Analog Devices │  59 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Interrupt Enable 1 (0x02) BIT Field 7 6 5 A_FULL_EN DATA_ RDY_EN ALC_OVF_ EN Reset Access Type 4 3 2 1 0 PROX_INT_ LED_ DIE_TEMP_ VDD_OOR_ EN COMPB_EN RDY_EN EN – 0x0 0x0 0x0 0x0 0x0 0x0 0x0 – Write, Read Write, Read Write, Read Write, Read Write, Read Write, Read Write, Read – A_FULL_EN VALUE ENUMERATION 0 OFF A_FULL interrupt is disabled DECODE 1 ON A_FULL interrupt in enabled DATA_RDY_EN VALUE ENUMERATION DECODE 0 OFF DATA_RDY interrupt is disabled 1 ON DATA_RDY interrupt is enabled. ALC_OVF_EN VALUE ENUMERATION DECODE 0 OFF ALC_OVF interrupt is disabled 1 ON ALC_OVF interrupt in enabled PROX_INT_EN When PROX_INT_EN is enabled, the exposure programmed in the LEDC1 Sequence Register is used for proximity detection. If the ADC reading for this exposure is below 2048 times the threshold programmed in PROX_INT_THRESH register, the device is in proximity mode. Otherwise, it is in normal mode. When the device is in proximity mode, the sample rate used is 8Hz, and the device starts data acquisition in pilot mode, using only one exposure of the LED programmed in LEDC1 register, and the LED current programmed in PILOT_PA register. When the device is in normal mode, the sample rate used is as defined under PPG_SR register, and the device starts data acquisition in normal mode, using all the exposures programmed in the LED Sequence registers and appropriate LED currents. PROX_INT interrupt is asserted when the devices enters proximity mode or normal mode if PROX_INT_EN is programmed to 1. VALUE ENUMERATION 0 OFF Proximity mode and PROX_INT interrupt are disabled DECODE 1 ON Proximity mode and PROX_INT interrupt are enabled LED_COMPB_EN VALUE ENUMERATION 0 DISABLE LED_COMPB interrupt is disabled 1 ENABLE LED_COMPB interrupt is enabled www.analog.com DECODE Analog Devices │  60 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 DIE_TEMP_RDY_EN VALUE ENUMERATION DECODE 0 OFF DIE_TEMP_RDY interrupt is disabled 1 ON DIE_TEMP_RDY interrupt is enabled VDD_OOR_EN VALUE ENUMERATION DECODE 0 OFF Disables the VDD_OVR interrupt 1 ON Enables the VDD_OVR interrupt Interrupt Enable 2 (0x03) BIT 7 6 5 4 3 2 1 0 Field – – – – – – – SHA_ DONE_EN Reset – – – – – – – 0x0 Access Type – – – – – – – Write, Read 2 1 0 SHA_DONE_EN Enable SHA_DONE Interrupt VALUE ENUMERATION DECODE 0x0 SHA_DONE interrupt disabled 0x1 SHA_DONE interrupt enabled FIFO Write Pointer (0x04) BIT 7 6 5 4 3 Field – Reset – 0x0 Access Type – Read Only www.analog.com FIFO_WR_PTR[6:0] Analog Devices │  61 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 FIFO_WR_PTR This points to the location where the next sample will be written. This pointer advances for each sample pushed on to the circular FIFO. See FIFO Configuration for details. FIFO Read Pointer (0x05) BIT 7 6 5 4 3 Field – Reset – 0x0 Access Type – Write, Read 2 1 0 FIFO_RD_PTR[6:0] FIFO_RD_PTR The FIFO Read Pointer points to the location from where the processor gets the next sample from the FIFO via the serial interface. This advances each time a sample is popped from the circular FIFO. The processor may also write to this pointer after reading the samples. This allows rereading (or retrying) samples from the FIFO. However, writing to FIFO_RD_PTR may have adverse effects if it results in the FIFO being almost full. Refer to FIFO Configuration for details. Overflow Counter (0x06) BIT 7 6 5 4 3 Field – Reset – 0x0 Access Type – Read Only 2 1 0 OVF_COUNTER[6:0] OVF_COUNTER When FIFO is full, any new samples will result in new or old samples getting lost, depending on FIFO_RO. OVF_COUNTER counts the number of samples lost. It saturates at 0x7F. Refer to FIFO Configuration for details. FIFO Data Counter (0x07) BIT 7 6 Field Reset Access Type 5 4 3 2 1 0 FIFO_DATA_COUNT[7:0] 0x0 Read Only FIFO_DATA_COUNT This is a read-only register that holds the number of items available in the FIFO for the host to read. This increments when a new item is pushed to the FIFO and decrements when the host reads an item from the FIFO. Refer to FIFO Configuration for details. www.analog.com Analog Devices │  62 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 FIFO Data Register (0x08) BIT 7 6 5 4 3 Field FIFO_DATA[7:0] Reset 0x0 Access Type 2 1 0 Read Only FIFO_DATA This is a read-only register and is used to get data from the FIFO. Refer to FIFO Configuration for details. FIFO Configuration 1 (0x09) BIT 7 6 5 4 3 Field – Reset – 0x3F Access Type – Write, Read 2 1 0 FIFO_A_FULL[6:0] FIFO_A_FULL These bits indicate how many new samples can be written to the FIFO before the interrupt is asserted. For example, if set to 0xF, the interrupt triggers when there are 15 empty spaces left (113 entries), and so on. Refer to FIFO Configuration for details. FIFO_A_FULL FREE SPACE BEFORE INTERRUPT # OF SAMPLES IN FIFO 0 0 128 1 1 127 2 2 126 3 3 125 ---- ---- ---- 126 126 2 127 127 1 FIFO Configuration 2 (0x0A) BIT Field 7 6 5 4 3 2 1 0 FLUSH_ FIFO FIFO_ STAT_CLR A_FULL_ TYPE FIFO_RO – – – – Reset – – – 0x0 0x0 0x0 0x0 – Access Type – – – Write, Read Write, Read Write, Read Write, Read – www.analog.com Analog Devices │  63 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 FLUSH_FIFO When this bit is set to ‘1’, the FIFO gets flushed, FIFO_WR_PTR and FIFO_RD_PTR are reset to zero and FIFO_DATA_ COUNT becomes 0. The contents of the FIFO are lost. FIFO_FLUSH is a self-clearing bit. Refer to FIFO Configuration for details. FIFO_STAT_CLR This defines whether the A_FULL interrupt should get cleared by FIFO_DATA register read. Refer to FIFO Configuration for details. VALUE ENUMERATION 0 RD_DATA_NOCLR 1 RD_DATA_CLR DECODE A_FULL and DATA_RDY interrupts do not get cleared by FIFO_DATA register read. They get cleared by status register read. A_FULL and DATA_RDY interrupts get cleared by FIFO_DATA register read or status register read. A_FULL_TYPE This defines the behavior of the A_FULL interrupt. VALUE ENUMERATION DECODE 0 AFULL_RPT A_FULL interrupt gets asserted when the a_full condition is detected. It is cleared by status register read, but re-asserts for every sample if the a_full condition persists. 1 AFULL_ONCE A_FULL interrupt gets asserted only when the a_full condition is detected. The interrupt gets cleared on status register read, and does not re-assert for every sample until a new A_FULL condition is detected. FIFO_RO Push enable when FIFO is full: This bit controls the behavior of the FIFO when the FIFO becomes completely filled with data. Push to FIFO is enabled when FIFO is full if FIFO_RO = 1 and old samples are lost. Both FIFO_WR_PTR increments for each sample after the FIFO is full. FIFO_RD_PTR also increments for each sample pushed to the FIFO. Push to FIFO is disabled when FIFO is full if FIFO_RO = 0 and new samples are lost. FIFO_WR_PTR does not increment for each sample after the FIFO is full. When the device is in PROX mode, push to FIFO is enabled independent of FIFO_RO setting. Refer to FIFO Configuration for details. VALUE ENUMERATION 0 OFF The FIFO stops on full. 1 ON The FIFO automatically rolls over on full. www.analog.com DECODE Analog Devices │  64 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 System Control (0x0D) BIT 7 6 5 4 3 2 1 0 Field – – – – SINGLE_PPG LP_MODE SHDN RESET Reset – – – – 0x0 0x0 0x0 0x0 Access Type – – – – Write, Read Write, Read Write, Read Write, Read SINGLE_PPG In signal PP devices, this bit is ignored. In dual PPG devices, if this bit is 0, use two PPG channels; otherwise, use only PPG1 channel. VALUE ENUMERATION 0x0 DUAL_PPG 0x1 SINGLE_PPG DECODE Both PPG channels are enabled Only PPG1 channel is enabled LP_MODE In low power mode, the sensor can be dynamically powered down between samples to conserve power. This dynamic power down mode option only supports samples rates of 256sps and below. VALUE ENUMERATION DECODE 0 OFF Dynamic power down is disabled. 1 ON Dynamic power down is enabled. The device automatically enters low power mode between samples for samples rates 256sps and below. This mode is not available for higher sample rates. SHDN The part can be put into a power-save mode by setting this bit to one. While in power-save mode, all configuration registers retain their values, and write/read operations function as normal. All interrupts are cleared to zero in this mode. VALUE ENUMERATION 0 OFF The part is in normal operation. No action taken. ON The part can be put into a power-save mode by writing a ‘1’ to this bit. While in this mode all configuration registers remain accessible and retain their data. ADC conversion data contained in the registers are previous values. Writeable registers also remain accessible in shutdown. All interrupts are cleared. In this mode the oscillator is shutdown and the part draws minimum current. If this bit is asserted during an active conversion then the conversion is aborted. 1 DECODE RESET When this bit is set, the part undergoes a forced power-on-reset sequence. All configuration, threshold, and data registers including distributed registers are reset to their power-on-state. This bit then automatically becomes ‘0’ after the reset sequence is completed. VALUE ENUMERATION 0 OFF The part is in normal operation. No action taken. 1 ON The part undergoes a forced power-on-reset sequence. All configuration, threshold and data registers including distributed registers are reset to their power-on-state. This bit then automatically becomes ‘0’ after the reset sequence is completed. www.analog.com DECODE Analog Devices │  65 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 PPG Sync Control (0x10) BIT 7 6 5 4 Field TIME_ STAMP_EN – – SW_FORCE_ SYNC GPIO_CTRL[3:0] Reset 0x0 – – 0x0 0x0 Write, Read – – Write, Read Write, Read Access Type 3 2 1 0 TIME_STAMP_EN Enable pushing TIME_STAMP to FIFO. Refer to FIFO Configuration for details. VALUE ENUMERATION DECODE 0x0 DISABLE TIME_STAMP is not pushed to FIFO 0x1 ENABLE TIME_STAMP is pushed to FIFO for a block of eight samples. SW_FORCE_SYNC Writing a 1 to this bit, aborts current sample and starts a new sample. This is a self clearing bit. GPIO_CTRL The table below shows how the two GPIO ports are control for different modes of operation. When two devices are configured to work as controller-target device pairs, they have to be configured identical for the following configuration register fields:      • PPG_SR      • PPG_TINT      • SMP_AVE      • TIME_STAMP_EN      • FIFO_A_FULL      • FIFO_ROLLS_ON_FULL Number of LED Sequence Registers (LEDC1 to LEDC6) programmed should be same in both the devices. In Exposure Trigger mode, if Ambient is programmed in one of the registers, it needs to be in the same LEDCx register in both the devices. GPIO_CTRL register for both the devices should be programmed to be either Sample Trigger or Exposure Trigger. It is also important to configure the Target first and then the Controller. DATA_RDY or A_FULL interrupt should be enabled only on the Controller. When interrupt is asserted read the Controller first and then the Target. Read same number of items from both devices. Refer to GPIO Configuration for details. GPIO_CTRL GPIO1 GPIO2 [3:0] FUNCTION FUNCTION COMMENT GPIO1 will be active if any of the LEDCn[3:0] states A, B, or C are enabled in the exposure sequence. In this case, GPIO1 will be low during exposures on LED4, LED5, or LED6, otherwise it will be high. If LEDCn[3:0] state A, B, or C is not enabled in the exposure sequence, GPIO1 will be tristate unless externally pulled up. GPIO2 is disabled. Sample and exposure timing is controlled by the internal 32768Hz oscillator. 0000 Tristate or Mux Control 0001 GPIO1 will be active if any of the LEDCn[3:0] states A, B, or C are enabled in the Input exposure sequence. In this case, GPIO1 will be low during exposures on LED4, LED5 Tristate or 32768Hz or or LED6, otherwise it will be high. If LEDCn[3:0] state A, B, or C is not enabled in the Mux Control 32000Hz exposure sequence, GPIO1 will be tristate unless externally pulled up. GPIO2 is an input Clock Input 32768/32000Hz. Sample and exposure timing is controlled by GPIO2 clock input. www.analog.com Disabled Analog Devices │  66 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 GPIO_CTRL GPIO1 GPIO2 [3:0] FUNCTION FUNCTION COMMENT 0010 Input Sample Trigger GPIO1 is defined as a sample trigger input (Target). This input can come from an external source or from another MAX86140/MAX86141 in controller sample mode. GPIO2 will be acTristate or tive if any of the LEDCn[3:0] states A, B, or C are enabled in the exposure sequence. In this Mux case, GPIO2 will be low during exposures on LED4, LED5, or LED6, otherwise it will be high. Control If LEDCn[3:0] state A, B, or C is not enabled in the exposure sequence, GPIO2 will be tristate unless externally pulled up. Exposure timing is controlled by internal oscillator. 0011 Input Sample Trigger Input GPIO1 is defined as a sample trigger input (Target). This input can come from an external 32768Hz or source or from another MAX86140/MAX86141 in controller sample mode. GPIO2 is an 32000Hz input 32768/32000Hz clock input. Exposure timing is controlled by GPIO2 clock input. Clock Input 0100 GPIO1 is defined as a controller sample output. The GPIO1 output can be used to trigger a second sensor. When used with a second MAX86140/MAX86141 set to target sample Active Output mode, the controller sample timing will drive target sample time. GPIO2 will be active if any Tristate or Controller of the LEDCn[3:0] states A, B, or C are enabled in the exposure sequence. In this case, Mux Sample GPIO2 will be low during exposures on LED4, LED5 or LED6, otherwise it will be high. Control Output If LEDCn[3:0] state A, B, or C is not enabled in the exposure sequence, GPIO2 will be tristate unless externally pulled up. Sample and exposure timing is controlled by internal oscillator. 0101 Active Output Input Controller 32768/ Sample 32000Hz Output Clock Input Input Exposure Trigger 0110 GPIO1 is defined as a controller sample output. The GPIO1 output can be used to trigger and second senor. When used with a second MAX86140/MAX86141 set to target sample mode, the controller sample timing will drive target sample time. GPIO2 is an input 32768/32000Hz. Exposure timing is controlled by GPIO2 clock input. GPIO1 is defined as an exposure trigger input (Target). This input can come from an external source or from another MAX86140/MAX86141 in controller sample mode. Both sample and Tristate or exposure timing is controlled by the GPIO1 input. GPIO2 will be active if any of the LEDCn[3:0] Mux states A, B, or C are enabled in the exposure sequence. In this case, GPIO2 will be low during Control exposures on LED4, LED5, or LED6, otherwise it will be high. If LEDCn[3:0] state A, B, or C is not enabled in the exposure sequence, GPIO2 will be tristate unless externally pulled up. 0111 GPIO1 is defined as a controller sample output. The GPIO1 output can be used to trigger and second sensor. When used with a second MAX86140/MAX86141 set to target expoActive Output Tristate or sure mode, the controller exposure timing will drive target exposure time. GPIO2 will be Controller Mux active if any of the LEDCn[3:0] states A, B, or C are enabled in the exposure sequence. In Exposure Control this case, GPIO2 will be low during exposures on LED4, LED5 or LED6, otherwise it will be Output high. If LEDCn[3:0] state A, B, or C is not enabled in the exposure sequence, GPIO2 will be tristate unless externally pulled up. Sample and exposure time is controlled internally 1000 Active Output Input Controller 32768/ Exposure 32000Hz Output Clock Input 1001 www.analog.com Input HW_ FORCE_ SYNC Input 32768Hz or 32000Hz Clock Input GPIO1 is defined as a controller sample output. The GPIO1 output can be used to trigger second sensor. When used with a second MAX86140/MAX86141 set to target exposure mode, the controller exposure timing will drive target exposure time. GPIO2 is an input 32768/32000Hz. Sample and exposure timing is controlled by GPIO2 clock input. GPIO1 is defined as a start of sample sync input. The falling edge of GPIO1 causes the present sample sequence to be terminated and reinitiated on the next rising edge of GPIO2 input. GPIO2 is an input 32768/32000Hz. Sample and exposure timing is controlled by GPIO2 clock input. Analog Devices │  67 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 PPG Configuration 1 (0x11) BIT 7 6 Field ALC_DISABLE ADD_OFFSET PPG2_ADC_RGE[1:0] PPG1_ADC_RGE[1:0] PPG_TINT[1:0] Reset 0x0 0 0x0 0x0 0x3 Write, Read Write, Read Write, Read Write, Read Write, Read Access Type 5 4 3 2 1 0 ALC_DISABLE VALUE ENUMERATION DECODE 0 OFF ALC is enabled 1 ON ALC is disabled ADD_OFFSET ADD_OFFSET is an option designed for dark current measurement. By adding offset to the PPG Data would allow dark current measurement without clipping the signal below 0. When ADD_OFFSET is set to 1, an offset is added to the PPG Data to be able to measure the dark current. The offset is 8192 counts if PPG_SR is programmed for single pulse mode. The offset is 4096 counts if PPG_SR is programmed for dual pulse mode. PPG2_ADC_RGE These bits set the ADC range of the SPO2 sensor, as shown in the table below. PPG_ADC_RGE[1:0] LSB (pA) FULL SCALE (nA) 00 78125 4096 01 15.625 8192 10 31.25 16384 11 62.5 32768 PPG1_ADC_RGE These bits set the ADC range of the SPO2 sensor, as shown in the table below. PPG_ADC_RGE[1:0] LSB (pA) FULL SCALE (nA) 00 7,8125 4096 01 15.625 8192 10 31.25 16384 11 62.5 32768 PPG_TINT These bits set the pulse width of the LED drivers and the integration time of PPG ADC as shown in the table below. tPW = tTINT + tLED_SETLNG + 0.5μs PPG_TINT[1:0] tINT, INTEGRATION TIME (μs) RESOLUTION BITS 00 14.8 19 01 29.4 19 10 58.7 19 11 117.3 19 www.analog.com Analog Devices │  68 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 PPG Configuration 2 (0x12) BIT 7 6 5 4 3 2 1 0 Field PPG_SR[4:0] SMP_AVE[2:0] Reset 0x11 0x0 Write, Read Write, Read Access Type PPG_SR These bits set the effective sampling rate of the PPG sensor as shown in the table below. The default on-chip sampling clock frequency is 32768Hz. Note: If a sample rate is set that can not be supported by the selected pulse width and number of exposures per sample, then the highest available sample rate will be automatically set. The user can read back this register to confirm the sample rate. SAMPLING CLOCK FREQUENCY 32768Hz 32000Hz PPG_SR[4:0] Samples per Second Samples per Second Pulses Per Sample, N 0x00 24.995 24.409 1 0x01 50.027 48.855 1 0x02 84.021 82.051 1 0x03 99.902 97.561 1 0x04 199,805 195.122 1 0x05 399.610 390.244 1 0x06 24.995 24.409 2 0x07 50.027 48.855 2 0x08 84.021 82.051 2 0x09 99.902 97.561 2 0x0A 8.000 7.8125 1 0x0B 16.000 15.625 1 0x0C 32.000 31.250 1 0x0D 64.000 62.500 1 0x0E 128.000 125.000 1 0x0F 256.000 250.000 1 0x10 512.000 500.000 1 0x11 1024.000 1000.000 1 0x12 2048.000 2000.000 1 0x13 4096.000 4000.000 1 0x14-1F Reserved Reserved Reserved www.analog.com Analog Devices │  69 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Maximum Sample rates (sps) supported for all the Integration Time (PPG_TINT) and Number of Exposures: NUMBER OF EXPOSURE PER SAMPLE PPG_TINT = 0 (14.8μs) PPG_TINT = 1 (29.4μs) PPG_TINT = 2 (58.7μs) PPG_TINT = 3 (117.3μs) 1 Exposure, N = 1 4096 2048 2048 1024 2 Exposures, N = 1 2048 1024 1024 512 3 Exposures, N = 1 1024 1024 512 512 4 Exposures, N = 1 1024 512 512 400 5 Exposures, N = 1 512 512 512 256 6 Exposures, N = 1 512 512 400 256 1 Exposure, N = 2 100 100 100 100 2 Exposures, N = 2 100 84 84 84 3 Exposures, N = 2 50 50 50 50 4 Exposures, N = 2 25 25 25 25 5 Exposures, N = 2 25 25 25 25 6 Exposures, N = 2 25 25 25 25 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. These bits set the number of samples that are averaged on chip before being written to the FIFO. SMP_AVE[2:0] SAMPLE AVERAGE 000 1 (no averaging) 001 2 010 4 011 8 100 16 101 32 110 64 111 128 When BURST_EN is 1, SMP_AVE defines the number of conversions per burst. Depending on the BURST_RATE programmed and the PPG_SR used, it may not be possible to accommodate some of SMP_AVE values. In that case, SMP_AVE will take the highest value that can be accommodated. If SMP_AVE = 0 cannot be accommodated, burst mode is disabled. Note: PPG_SR itself depends on Number of conversions per sample (LEDC1 to LEDC6) and the LED Integration time (PPG_TINT). The following table shows the maximum SMP_AVE allowed for various configurations of BURST_RATE and PPG_SR: www.analog.com Analog Devices │  70 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 BURST_RATE = 0 (8Hz) BURST_RATE = 1 (32Hz) BURST_RATE = 2 (84Hz) BURST_RATE = 3 (256Hz) 0 (25Hz, N = 1) PPG_SR   USED 1 DIS DIS DIS 1 (50Hz, N = 1) 2 0 DIS DIS 2 (84Hz, N = 1) 3 1 DIS DIS 3 (100Hz, N = 1) 3 1 DIS DIS 4 (200Hz, N = 1) 4 2 0 DIS 5 (400Hz, N = 1) 5 3 1 DIS 6 (25Hz, N = 2) 1 DIS DIS DIS 7 (50Hz, N = 2) 2 0 DIS DIS 8 (84Hz, N = 2) 3 1 DIS DIS 9 (100Hz, N = 2) 3 1 DIS DIS A (8Hz, N = 1) DIS DIS DIS DIS B (16Hz, N = 1) 0 DIS DIS DIS C (32Hz, N = 1) 1 DIS DIS DIS D (64Hz, N = 1) 2 0 DIS DIS E (128Hz, N = 1) 3 1 0 DIS F (256Hz, N = 1) 4 2 1 DIS 10 (512Hz, N = 1) 5 3 2 DIS 11 (1024Hz, N = 1) 6 4 3 0 12 (2048Hz, N = 1) 7 5 4 1 13 (4096Hz, N = 1) 7 6 5 2 PPG Configuration 3 (0x13) BIT 7 6 5 4 3 2 1 0 – – BURST_RATE[1:0] BURST_EN Field LED_SETLNG[1:0] DIG_FILT_ SEL Reset 0x1 0x0 – – 0x0 0x0 Write, Read Write, Read – – Write, Read Write, Read Access Type LED_SETLNG Delay from rising-edge of LED to start of ADC integration. This allows for the LED current to settle before the start of ADC integration. www.analog.com LED_SETLNG[1:0] DELAY (μs) 00 4.0 01 6.0 (default) 10 8.0 11 12.0 Analog Devices │  71 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 DIG_FILT_SEL Select digital filter type. VALUE DECODE 0x0 Use CDM 0x1 Use FDM BURST_RATE[1:0] FREQUENCY OF BURST (Hz) BURST_RATE 00 8 01 32 10 84 11 256 BURST_EN When Burst Mode is disabled, PPG data conversions are continuous at the sample rate defined by PPG_SR register, When Burst mode is enabled, a burst of PPG data conversions occur at the sample rate defined by PPG_SR register. Number of conversion in the burst is defined by the SMP_AVE register. Average data from the burst of data conversions is pushed to the FIFO. The burst repeats at the rate defined in BURST_RATE[2:0] register. If the number of conversions cannot be accommodated, the device will use the next highest number of conversions. If the effective PPG_SR is too slow to accommodate the burst rate programmed, BURST_EN is automatically set to 0, and the device runs in continuous mode. Note: Each data conversion cycle is a sequence of conversions defined in the LEDC1 to LEDC6 registers. VALUE ENUMERATION DECODE 0x0 Disable Burst Conversion mode 0x1 Enable Burst Conversion Mode Prox Interrupt Threshold (0x14) BIT 7 6 5 4 3 Field PROX_INT_THRESH[7:0] Reset 0x00 Access Type 2 1 0 Write, Read PROX_INT_THRESH This register sets the LED1 ADC count that will trigger the transition between proximity mode and normal mode. The threshold is defined as the 8 MSB bits of the ADC count. For example, if PROX_INT_THRESH[7:0] = 0x01, then an ADC value of 2048 (decimal) or higher triggers the PROX interrupt. If PROX_INT_THRESH[7:0] = 0xFF, then only a saturated ADC triggers the interrupt. See the Proximity Mode Function section in the detailed description for more details on the operation of proximity mode. www.analog.com Analog Devices │  72 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Photo Diode Bias (0x15) BIT 7 Field – Reset Access Type 6 5 4 3 2 1 0 PDBIAS2[2:0] – PDBIAS1[2:0] – 0x0 – 0x0 – Write, Read – Write, Read PDBIAS2 See Photodiode Biasing for more information. PDBIAS2[2:0] PHOTODIODE CAPACITANCE 001 0pF to 65pF 101 65pF to 130pF 110 130pF to 260pF 111 260pF to 520pF All other values Not recommended PDBIAS1 See Photodiode Biasing for more information. PDBIAS1[2:0] PHOTODIODE CAPACITANCE 001 0pF to 65pF 101 65pF to 130pF 110 130pF to 260pF 111 260pF to 520pF All other values Not recommended Picket Fence (0x16) BIT 7 6 Field PF_ENABLE PF_ORDER IIR_TC[1:0] IIR_INIT_VALUE[1:0] THRESHOLD_SIGMA_ MULT[1:0] Reset 0x0 0x1 0x00 0x00 0x00 Write, Read Write, Read Write, Read Write, Read Write, Read Access Type 5 4 3 2 1 0 PF_ENABLE Refer to Picket Fence Detect-and-Replace Function for details. PF_ENABLE set to 1 enabled the picket fence detect-and-replace function. VALUE ENUMERATION 0 OFF Disable (default) 1 ON Enable Detect and Replace www.analog.com DECODE Analog Devices │  73 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 PF_ORDER PF_ORDER determines which prediction method is used: the last sample or a linear fit to the previous four samples. Refer to Picket Fence Detect-and-Replace Function for details. VALUE ENUMERATION DECODE 0 OFF Last Sample (1 point) 1 ON Fit 4 points to a line for prediction (default) IIR_TC IIR_TC determines the IIR filter bandwidth where the lowest setting has the narrowest bandwidth of a first-order filter. Refer to Picket Fence Detect-and-Replace Function for details. IIR_TC[1:0] COEFFICIENT SAMPLES TO 90% 00 1/64 146 01 1/32 72 10 1/16 35 11 1/8 17 IIR_INIT_VALUE This IIR filter estimates the true standard deviation between the actual and predicted sample and tracks the ADC Range setting. Refer to Picket Fence Detect-and-Replace Function for details. IIR_INIT_VALUE[1:0] CODE 00 64 01 48 10 32 11 24 THRESHOLD_SIGMA_MULT GAIN resulting from the THRESHOLD_SIGMA_MULT setting determines the number of standard deviations of the delta between the actual and predicted sample beyond which a picket-fence event is triggered. Refer to Picket Fence Detect-and-Replace Function for details. THRESHOLD_SIGMA_MULT[1:0] GAIN 00 4 01 8 10 16 11 32 LED Sequence Register 1 (0x20) BIT Field Reset Access Type www.analog.com 7 6 5 LEDC2[3:0] 4 3 2 1 0 LEDC1[3:0] 0x0 0x0 Write, Read Write, Read Analog Devices │  74 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 LEDC2 These bits set the data type for LED Sequence 2 of the FIFO. See FIFO Configuration for more information. LEDC1 These bits set the data type for LED Sequence 1 of the FIFO. See FIFO Configuration for more information. LED Sequence Register 2 (0x21) BIT 7 6 5 4 3 2 Field LEDC4[3:0] LEDC3[3:0] Reset 0x0 0x0 Write, Read Write, Read Access Type 1 0 1 0 1 0 LEDC4 These bits set the data type for LED Sequence 4 of the FIFO. See FIFO Configuration for more information. LEDC3 These bits set the data type for LED Sequence 3 of the FIFO. See FIFO Configuration for more information. LED Sequence Register 3 (0x22) BIT 7 6 Field 5 4 3 2 LEDC6[3:0] Reset Access Type LEDC5[3:0] 0x0 0x0 Write, Read Write, Read LEDC6 These bits set the data type for LED Sequence 6 of the FIFO. See FIFO Configuration for more information. LEDC5 These bits set the data type for LED Sequence 5 of the FIFO. See FIFO Configuration for more information. LED1 PA (0x23) BIT Field Reset Access Type www.analog.com 7 6 5 4 3 2 LED1_DRV[7:0] 0x00 Write, Read Analog Devices │  75 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 LED1_DRV These bits set the nominal drive current of LED 1, as shown in the table below. LEDx_RGE[1:0] 00 01 10 11 LEDx_DRV[7:0] LED Current (mA) LED Current (mA) LED Current (mA) LED Current (mA) 00000000 0.00 0.00 0.00 0.00 00000001 0.12 0.24 0.36 0.48 00000010 0.24 0.48 0.73 0.97 00000011 0.36 0.73 1.09 1.45 11111100 30.6 61.3 91.9 122.5 11111101 30.8 61.5 92.3 123.0 11111110 30.9 61.8 92.6 123.5 11111111 31.0 62.0 93.0 124.0 LSB 0.12 0.24 0.36 0.48 ............ LED2 PA (0x24) BIT 7 6 5 4 3 Field LED2_DRV[7:0] Reset 0x00 Access Type 2 1 0 2 1 0 2 1 0 Write, Read LED2_DRV These bits set the nominal drive current of LED 2. See LED1_DRV for description. LED3 PA (0x25) BIT 7 6 5 4 3 Field LED3_DRV[7:0] Reset 0x00 Access Type Write, Read LED3_DRV These bits set the nominal drive current of LED 2. See LED1_DRV for description. LED4 PA (0x26) BIT 7 6 5 4 3 Field LED4_DRV[7:0] Reset 0x00 Access Type www.analog.com Write, Read Analog Devices │  76 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 LED4_DRV These bits set the nominal drive current of LED 4. See LED1_DRV for description. LED5 PA (0x27) BIT 7 6 5 4 3 Field LED5_DRV[7:0] Reset 0x00 Access Type 2 1 0 2 1 0 2 1 0 Write, Read LED5_DRV These bits set the nominal drive current of LED 5. See LED1_DRV for description. LED6 PA (0x28) BIT 7 6 5 4 3 Field LED6_DRV[7:0] Reset 0x00 Access Type Write, Read LED6_DRV These bits set the nominal drive current of LED 6. See LED1_DRV for description. LED PILOT PA (0x29) BIT 7 6 Field 5 4 3 PILOT_PA[7:0] Reset 0x00 Access Type Write, Read PILOT_PA The purpose of PILOT_PA is to set the LED power during the PROX mode, as well as in Multi-LED mode. These bits set the nominal drive current for the pilot mode as shown in the table below. When LED x is used, the respective LEDx_RGE is used to control the range of the LED driver in conjunction with PILOT_PA. For instance, if LED1 is used in the PILOT mode, then,  LED1_RGE together with PILOT_PA will be used to set the LED1 current. LEDX_RGE[1:0] 00 01 10 11 PILOT_PA[7:0] LED Current (mA) LED Current (mA) LED Current (mA) LED Current (mA) 00000000 0.00 0.00 0.00 0.00 00000001 0.12 0.24 0.36 0.48 00000010 0.24 0.48 0.73 0.97 00000011 0.36 0.73 1.09 1.45 11111100 30.6 61.3 91.9 122.5 11111101 30.8 61.5 92.3 123.0 11111110 30.9 61.8 92.6 123.5 11111111 31.0 62.0 93.0 124.0 LSB 0.12 0.24 0.36 0.48 ............ www.analog.com Analog Devices │  77 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 LED Range 1 (0x2A) 7 6 5 Field BIT – – LED3_RGE[1:0] 4 3 2 1 Reset – – 0x00 0x00 0x00 Access Type – – Write, Read Write, Read Write, Read LED2_RGE[1:0] 0 LED1_RGE[1:0] LED3_RGE Range selection of the LED current. Refer to LED1_PA[7:0] for more details. LEDX_RGE[1:0] (X = 1 TO 6) LED CURRENT(mA) 00 31 01 62 10 93 11 124 LED2_RGE Range selection of the LED current. Refer to LED3_RGE[1:0] for more details. LED1_RGE Range selection of the LED current. Refer to LED3_RGE[1:0] for more details. LED Range 2 (0x2B) 7 6 5 Field BIT – – LED6_RGE[1:0] 4 3 2 Reset – – 0x00 0x00 0x00 Access Type – – Write, Read Write, Read Write, Read LED5_RGE[1:0] 1 0 LED4_RGE[1:0] LED6_RGE Range selection of the LED current. Refer to LED3_RGE[1:0] for more details. LED5_RGE Range selection of the LED current. Refer to LED3_RGE[1:0] for more details. LED4_RGE Range selection of the LED current. Refer to LED3_RGE[1:0] for more details. www.analog.com Analog Devices │  78 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 S1 HI RES DAC1 (0x2C) BIT 7 6 Field S1_HRES_ DAC1_OVR – S1_HRES_DAC1[5:0] Reset 0x0 – 0x00 Write, Read – Write, Read Access Type 5 4 3 2 1 0 S1_HRES_DAC1_OVR VALUE ENUMERATION DECODE 0 OFF The high resolution DAC for PPG1 is controlled by the chip. 1 ON This  allows the high-resolution DAC for PPG1 used in exposure 1 to be controlled by the software. S1_HRES_DAC1 If S1_ HI_RES_DAC1_OVR = 1, then S1_HRES_DAC1 sets the high-resolution DAC code used in PPG1 ADC. This allows the algorithm to control ADC subranging. If S1_ HI_RES_DAC1_OVR = 0, then S1_HRES_DAC1 has no effect on the PPG1 ADC. S2 HI RES DAC1 (0x2D) BIT Field 7 6 S2_HRES_ DAC1_OVR – 0x0 – 0x00 Write, Read – Write, Read Reset Access Type 5 4 3 2 1 0 S2_HRES_DAC1[5:0] S2_HRES_DAC1_OVR VALUE ENUMERATION DECODE 0 OFF The high resolution DAC for PPG1 is controlled by the chip. 1 ON This allows the high-resolution DAC for PPG1 used in exposure 2 to be controlled by the software. S2_HRES_DAC1 If S2_ HI_RES_DAC1_OVR = 1, then S2_HRES_DAC1 sets the high-resolution DAC code used in PPG1 ADC. This allows the algorithm to control ADC subranging. If S2_ HI_RES_DAC1_OVR = 0, then S2_HRES_DAC1 has no effect on the PPG1 ADC. www.analog.com Analog Devices │  79 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 S3 HI RES DAC1 (0x2E) BIT Field 7 6 S3_HRES_ DAC1_OVR – 0x0 – 0x0 Write, Read – Write, Read Reset Access Type 5 4 3 2 1 0 S3_HRES_DAC1[5:0] S3_HRES_DAC1_OVR VALUE ENUMERATION 0 OFF The high resolution DAC for PPG1 is controlled by the chip DECODE 1 ON This  allows the high-resolution DACfor PPG1  used in exposure 3 to be controlled by the software. S3_HRES_DAC1 If S3_ HI_RES_DAC1_OVR = 1 then S3_HRES_DAC1 sets the high-resolution DAC code used in PPG1 ADC. This allows the algorithm to control ADC subranging. If S3_ HI_RES_DAC1_OVR = 0 then S3_HRES_DAC1 has no effect on the PPG1 ADC. S4 HI RES DAC1 (0x2F) BIT Field 7 6 S4_HRES_ DAC1_OVR – 0b0 – 0x0 Write, Read – Write, Read Reset Access Type 5 4 3 2 1 0 S4_HRES_DAC1[5:0] S4_HRES_DAC1_OVR VALUE ENUMERATION 0 OFF The high resolution DAC for PPG1 is controlled by the chip. DECODE 1 ON This allows the high-resolution DAC for PPG1 used in exposure 4 to be controlled by the software. S4_HRES_DAC1 If S4_ HI_RES_DAC1_OVR = 1 then S4_HRES_DAC1 sets the high-resolution DAC code used in PPG1 ADC. This allows the algorithm to control ADC subranging. If S4_ HI_RES_DAC1_OVR = 0 then S4_HRES_DAC1 has no effect on the PPG1 ADC. www.analog.com Analog Devices │  80 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 S5 HI RES DAC1 (0x30) BIT 7 6 Field S5_HRES_ DAC1_OVR – S5_HRES_DAC1[5:0] Reset 0b0 – 0x0 Write, Read – Write, Read Access Type 5 4 3 2 1 0 S5_HRES_DAC1_OVR VALUE ENUMERATION DECODE 0 OFF The high-resolution DAC for PPG1 is controlled by the chip. 1 ON This allows the high-resolution DAC for PPG1 used in exposure 5 to be controlled by the software. S5_HRES_DAC1 If S5_ HI_RES_DAC1_OVR = 1, then S5_HRES_DAC1 sets the high-resolution DAC code used in PPG1 ADC. This allows the algorithm to control ADC subranging. If S5_ HI_RES_DAC1_OVR = 0, then S5_HRES_DAC1 has no effect on the PPG1 ADC. S6 HI RES DAC1 (0x31) BIT Field 7 6 S6_HRES_ DAC1_OVR – 0b0 – 0x0 Write, Read – Write, Read Reset Access Type 5 4 3 2 1 0 S6_HRES_DAC1[5:0] S6_HRES_DAC1_OVR VALUE ENUMERATION DECODE 0 OFF The high-resolution DAC for PPG1 is controlled by the chip. 1 ON This allows the high-resolution DAC for PPG1 used in exposure 6 to be controlled by the software. S6_HRES_DAC1 If S6_ HI_RES_DAC1_OVR = 1, then S6_HRES_DAC1 sets the high-resolution DAC code used in PPG1 ADC. This allows the algorithm to control ADC subranging. If S6_ HI_RES_DAC1_OVR = 0, then S6_HRES_DAC1 has no effect on the PPG1 ADC. www.analog.com Analog Devices │  81 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 S1_HI RES DAC2 (0x32) BIT Field 7 6 S1_HRES_ DAC2_OVR – 0x0 – 0x00 Write, Read – Write, Read Reset Access Type 5 4 3 2 1 0 S1_HRES_DAC2[5:0] S1_HRES_DAC2_OVR VALUE ENUMERATION 0 OFF The high-resolution DAC for PPG2 is controlled by the chip. DECODE 1 ON This  allows the high-resolution DAC for PPG2 used in exposure 1 to be controlled by the software. S1_HRES_DAC2 If S1_ HI_RES_DAC2_OVR = 1, then S1_HRES_DAC2 sets the high-resolution DAC code used in PPG2 ADC. This allows the algorithm to control ADC subranging. If S1_ HI_RES_DAC2_OVR = 0, then S1_HRES_DAC2 has no effect on the PPG2 ADC. S2 HI RES DAC2 (0x33) BIT 7 6 Field S2_HRES_ DAC2_OVR – S2_HRES_DAC2[5:0] Reset 0x0 – 0x0 Write, Read – Write, Read Access Type 5 4 3 2 1 0 S2_HRES_DAC2_OVR VALUE ENUMERATION DECODE 0 OFF The high-resolution DAC for PPG2 is controlled by the chip. 1 ON This allows the high-resolution DAC for PPG2 used in exposure 2 to be controlled by the software. S2_HRES_DAC2 If S2_ HI_RES_DAC2_OVR = 1, then S2_HRES_DAC2 sets the high-resolution DAC code used in PPG2 ADC. This allows the algorithm to control ADC subranging. If S2_ HI_RES_DAC2_OVR = 0, then S2_HRES_DAC2 has no effect on the PPG2 ADC. S3 HI RES DAC2 (0x34) BIT 7 6 Field S3_HRES_ DAC2_OVR – S3_HRES_DAC2[5:0] Reset 0b0 – 0x0 Write, Read – Write, Read Access Type www.analog.com 5 4 3 2 1 0 Analog Devices │  82 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 S3_HRES_DAC2_OVR VALUE ENUMERATION DECODE 0 OFF The high-resolution DAC for PPG2 is controlled by the chip. 1 ON This allows the high-resolution DAC for PPG2 used in exposure 3 to be controlled by the software. S3_HRES_DAC2 If S3_ HI_RES_DAC2_OVR = 1, then S3_HRES_DAC2 sets the high-resolution DAC code used in PPG2 ADC. This allows the algorithm to control ADC subranging. If S3_ HI_RES_DAC2_OVR = 0 then S3_HRES_DAC2 has no effect on the PPG2 ADC. S4 HI RES DAC2 (0x35) BIT Field Reset Access Type 7 6 5 4 3 2 S4_HRES_ DAC2_OVR – 0b0 – 0x0 Write, Read – Write, Read 1 0 S4_HRES_DAC2[5:0] S4_HRES_DAC2_OVR VALUE ENUMERATION 0 OFF The high-resolution DAC for PPG2 is controlled by the chip. DECODE 1 ON This allows the high-resolution DAC for PPG2 used in exposure 4 to be controlled by the software. S4_HRES_DAC2 If S4_ HI_RES_DAC2_OVR = 1, then S4_HRES_DAC2 sets the high resolution DAC code used in PPG2 ADC. This allows the algorithm to control ADC subranging. If S4_ HI_RES_DAC2_OVR = 0, then S4_HRES_DAC2 has no effect on the PPG2 ADC. S5 HI RES DAC2 (0x36) BIT 7 6 Field S5_HRES_ DAC2_OVR – S5_HRES_DAC2[5:0] Reset 0b0 – 0x0 Write, Read – Write, Read Access Type 5 4 3 2 1 0 S5_HRES_DAC2_OVR VALUE ENUMERATION DECODE 0 OFF The high-resolution DAC for PPG2 is controlled by the chip. 1 ON This allows the high-resolution DAC for PPG2 used in exposure 5 to be controlled by the software. S5_HRES_DAC2 If S5_ HI_RES_DAC2_OVR = 1, then S5_HRES_DAC2 sets the high-resolution DAC code used in PPG2 ADC. This allows the algorithm to control ADC subranging. If S5_ HI_RES_DAC2_OVR = 0, then S5_HRES_DAC2 has no effect on the PPG2 ADC. www.analog.com Analog Devices │  83 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 S6 HI RES DAC2 (0x37) BIT 7 6 Field S6_HRES_ DAC2_OVR – S6_HRES_DAC2[5:0] Reset 0b0 – 0x0 Write, Read – Write, Read Access Type 5 4 3 2 1 0 S6_HRES_DAC2_OVR VALUE ENUMERATION DECODE 0 OFF The high-resolution DAC for PPG2 is controlled by the chip. 1 ON This allows the high-resolution DAC for PPG2 used in exposure 6 to be controlled by the software. S6_HRES_DAC2 If S6_ HI_RES_DAC_2OVR = 1, then S6_HRES_DAC2 sets the high-resolution DAC code used in PPG2 ADC. This allows the algorithm to control ADC subranging. If S6_ HI_RES_DAC2_OVR = 0, then S6_HRES_DAC2 has no effect on the PPG2 ADC. Die Temperature Configuration (0x40) 7 6 5 4 3 2 1 0 Field BIT – – – – – – – TEMP_EN Reset – – – – – – – 0x0 Access Type – – – – – – – Write, Read 2 1 0 TEMP_EN The bit gets cleared after temperature measurement completes. VALUE ENUMERATION DECODE 0 NORMAL Idle 1 ASSERTED Start one temperature measurement Die Temperature Integer (0x41) BIT 7 6 5 4 3 Field TEMP_INT[7:0] Reset 0x0 Access Type Read Only TEMP_INT This register stores the integer temperature data in 2s compliment form. 0x00 = 0°C, 0x7F = 127°C and 0x80 = -128°C Note: TINT and TFRAC registers should be read through the Serial Interface in burst mode, to ensure that they belong to the same sample. Die Temperature Fraction (0x42) BIT 7 6 5 4 3 2 1 0 Field – – – – TEMP_FRAC[3:0] Reset – – – – 0x0 Access Type – – – – Read Only www.analog.com Analog Devices │  84 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 TEMP_FRAC This register store the fractional temperature data in increments of 0.0625°C. 0x1 = 0.0625°C  and 0xF = 0.9375°C. Note: TINT and TFRAC registers should be read through the Serial Interface in burst mode, to ensure that they belong to the same sample. SHA Command (0xF0) BIT 7 6 5 4 3 Field SHA_CMD[7:0] Reset 0x0 Access Type 2 1 0 Write, Read SHA_CMD VALUE DECODE 0x35 MAC WITH ROM ID 0x36 MAC WITHOUT ROM ID OTHERS RESERVED SHA Configuration (0xF1) BIT 7 6 5 4 3 2 1 0 Field – – – – – – SHA_EN SHA_ START Reset – – – – – – 0x0 0x0 Access Type – – – – – – Write, Read Write, Read SHA_EN Authentication is performed using a FIPS 180-3 compliant SHA-256 one-way hash algorithm on a 512-bit message block. The message block consists of a 160-bit secret, a 160-bit challenge and 192 bits of constant data. Optionally, the 64-bit ROM ID replaces 64 of the 192 bits of constant data used in the hash operation. 16 bits out of the 160-bit secret and 16 bits of ROM ID are programmable–8 bits each in metal and 8 bits each in OTP bits. The host and the MAX86140 both calculate the result based on a mutually known secret. The result of the hash operation is known as the message authentication code (MAC) or message digest. The MAC is returned by the MAX86140 for comparison with the host’s MAC. Note that the secret is never transmitted on the bus and thus cannot be captured by observing bus traffic. Each authentication attempt is initiated by the host system by writing a 160-bit random challenge into the SHA memory address space 0x00h to 0x09h. The host then issues the compute MAC or compute MAC with ROM ID command. The MAC is computed per FIPS 180-3, and stored in address space 0x00h to 0x0Fh overwriting the challenge value. Note that the results of the authentication attempt are determined by host verification. Operation of the MAX86140 is not affected by authentication success or failure. www.analog.com Analog Devices │  85 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Sequence of operation is as follows: ● Enable SHA_DONE Interrupt. ● Enable SHA_EN bit. ● Write 160-bit random challenge value to RAM using registers MEM_IDX and MEM_DATA. ● Write command, with ROM ID (0x35) or without ROM ID (0x36), to SHA_CMD register. ● Write 1 to SHA_START and 1 to SHA_EN bit. ● Wait for SHA_DONE interrupt. ● Read 256 MAC value from RAM using registers MEM_IDX and MEM_DATA. ● Compare MAC from MAX86140 wth Host's precalculated MAC. ● Check PASS or FAIL. ● Disable SHA_EN bit ( Write 0 to SHA_EN bit). VALUE ENUMERATION DECODE 0 NORMAL Authentication is disabled 1 ASSERTED Authentication is enabled SHA_START The bit gets cleared after authentication completes. The valid command (0x35 or 0x36) should be written to the SHA_ CMD register and challenge value should be written to the RAM by Host before writing 1 to this bit. Memory Control (0xF2) BIT 7 6 5 4 3 2 1 0 Field – – – – – – MEM_WR_ EN BANK_SEL Reset – – – – – – 0x0 0x0 Access Type – – – – – – Write, Read Write, Read MEM_WR_EN Enable write access to Memory through SPI. VALUE ENUMERATION DECODE 0 DISABLED Writing to memory through SPI is disabled. 1 ENABLED Writing to memory through SPI is enabled BANK_SEL Selects the memory bank for reading and writing. Burst reading or writing the memory past 0xFF automatically increments BANK_SEL to 1. VALUE www.analog.com DECODE 0 Select Bank 0, address 0x00 to 0xFF 1 Select Bank 1, address 0x100 to 0x17f Analog Devices │  86 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Memory Index (0xF3) BIT 7 6 5 4 3 Field MEM_IDX[7:0] Reset 0x0 Access Type 2 1 0 Write, Read MEM_IDX Index to Memory for reading and writing. The memory is 384 bytes, and is divided into two banks - Bank 0 from  0x00 to 0xFF and Bank 1 is from 0x100 to 0x17F. The bank is selected by the BANK_SEL register bit. MEM_IDX is the starting address for burst writing to or reading from memory. Burst accessing the memory past 0xFF accesses Bank 1. The memory address saturates at 0x17F. Memory Data (0xF4) BIT 7 6 5 Field 4 3 2 1 0 MEM_DATA[7:0] Reset 0x0 Access Type Write, Read, Dual MEM_DATA Data to be written or data read from Memory Reading this register does not automatically increment the register address. So burst reading this register read the same register over and over, but the address to the Memory autoincrements until BANK_SEL becomes 1 and MEM_IDX becomes 0x7F. Part ID (0xFF) BIT 7 6 5 Field 4 3 2 1 0 PART_ID[7:0] Reset 0xXX Access Type Read Only PART_ID This register stores the part identifier for the chip. www.analog.com PART_ID MAX # # OF PPG CHANNELS 0x24 MAX86140 1 0x25 MAX86141 2 Analog Devices │  87 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Typical Application Circuits 5.0V (NOTE 1) 10μF LED2_DRV 1.8V LED1_DRV VDD_DIG GND_ANA VDD_ANA PGND 10μF C5 B1 D4 VREF 1μF PD_GND N.C D5 D1 A2 SCLK A3 SDO MAX86140 A4 SDI C4 A5 CSB D2 B2 INT D3 B3 GPIO1 B5 B4 C3 PD_GND PD1_IN C1 C2 GND_DIG 0.1μF A1 HOST (AP) VLED LED3_DRV R (NOTE 2) 1.8V GPIO2 NOTE 3 NOTE 1: VLED SHOULD BE BASED ON THE SYSTEM APPLICATIONS AND LED CONFIGURATIONS USED. NOTE 2: THE VALUE OF PULLUP RESISTOR SHOULD BE BASED ON THE SYSTEM DESIGN. NOTE 3: USE COMMON DESIGN PRACTICE TO ISOLATE NOISE COUPLING BETWEEN GND PLANES. 0 SHORTING VIA PD_GND 5.0V (NOTE 1) 10μF LED3_DRV LED2_DRV 1.8V LED1_DRV VDD_DIG GND_DIG GND_ANA VDD_ANA 0.1μF PGND 10μF VREF 1μF A1 C5 B1 D4 PD_GND PD2_IN C1 D5 D1 A2 SCLK C2 A3 SDO MAX86141 A4 SDI C4 A5 CSB D2 B2 INT D3 B3 GPIO1 B5 B4 C3 PD_GND PD1_IN HOST (AP) VLED R (NOTE 2) 1.8V GPIO2 (NOTE 3) NOTE 1: VLED SHOULD BE BASED ON THE SYSTEM APPLICATIONS AND LED CONFIGURATIONS USED. NOTE 2: THE VALUE OF THE PULLUP RESISTOR SHOULD BE BASED ON THE SYSTEM DESIGN. NOTE 3: USE COMMON DESIGN PRACTICE TO ISOLATE NOISE COUPLING BETWEEN GND PLANES. www.analog.com SHORTING VIA 0 PD_GND Analog Devices │  88 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Ordering Information PART NUMBER TEMP RANGE PIN-PACKAGE CONFIGURATION MAX86140ENP+ -40°C to +85°C 20-pin WLP, 2.048mm x 1.848mm, 5 x 4, 0.4mm ball pitch Single-Channel Optical AFE MAX86141ENP+ -40°C to +85°C 20-pin WLP, 2.048mm x 1.848mm, 5 x 4, 0.4mm ball pitch Dual-Channel Optical AFE +Denotes a lead(Pb)-free/RoHS-compliant package. T = Tape and reel. www.analog.com Analog Devices │  89 Best-in-Class Optical Pulse Oximeter and Heart-Rate Sensor for Wearable Health MAX86140/ MAX86141 Revision History REVISION NUMBER REVISION DATE PAGES CHANGED DESCRIPTION 0 5/17 Initial release 1 8/17 Added MAX86141 part number to data sheet 8/19 Updated the General Description, Benefits and Features, Simplified Block Diagram, Absolute Maximum Ratings, Pin Description, Detailed Description, Optical Subsystem, Table 3, FIFO Data (Register 0x08), FIFO_A_FULL (address 0x09), A_FULL_TYPE (Address 0x0A), GPIO Configuration, Picket Fence Detect-and-Replace Function, Figure 31, Photodiode Biasing, Layout Guidelines, Table 16, SPI FIFO Burst Mode Read Transaction, VDD_OOR Bit, PPG2_ADC_RGE table, PPG1_ADC_RGE table, PPG_TINT table, both PPG_SR tables, SMP_AVE table, LED_SETLNG table, DIG_ FILT_SEL table, BURST_RATE table, PDBIAS2 table, PDBIAS1 table, PF_ENABLE table, IIR_TC table, IIR_INIT_VALUE table, THRESHOLD_SIGMA_MULT table, LED1_DRV table, PILOT_PA table, LED3_RGE table, S1_HRES_DAC1 description, S2_HRES_DAC1 description, S3_HRES_DAC1 description, S4_HRES_DAC1 description, S5_HRES_DAC1 description, S6_HRES_DAC1 description, TEMP_EN table, SHA_CMD table, SHA_EN table, MEM_WR_EN table, and BANK_SEL table; replaced the Typical Operating Characteristics, Pin Configurations, Table 6, PseudoCode Example of Initializing the Optical AFE, Pseudo-Code for Interrupt Handling with FIFO_A_FULL, Pseudo-Code Example of Reading Data from FIFO, Figure 7, Figure 11, Figure 12, Figure 14, Figure 15, Figure 16, Figure 17, Figure 18, Figure 20, Figure 21, Figure 22, Figure 24, Figure 25, Figure 26, Figure 27, Figure 29, and Typical Application Circuit, adding additional Typical Application Circuits; added a Detailed Block Diagram, new Figures 25-27 (after renumbering), GPIO CTRL[3:0] 1010 Hardware Sync and Table 15 (and renumbered remaining tables); deleted Figure 9, Figure 13, Figure 19, Figure 23, Figure 28, and renumbered existing figures 1-15, 17-23, 28-44, 46-49, 53-55, 59, 6874, 76-86, 88 3 1/21 Updated the Electrical Characteristics, Pin Configurations, and Proximity Mode Function sections; updated Table 2, Figure 1, Figure 2, Figure 10, and Figure 13; updated Register 0x25, and the VDD_OOR, PWR_RDY, FIFO_A_FULL, PPG_TINT, THRESHOLD_SIGMA_MULT, LED1_DRV and TEMP_INT bits 6‒8, 11‒12, 16 24‒25, 30, 32, 44, 56, 59, 63, 68, 74, 76, 84 4 10/21 Updated Detailed Block Diagrams MAX86140, MAX86141, Pin Description, caption for Figures 7, 10, 15, and 22 2, 3, 12, 27, 29, 33, 39 5 10/21 Replaced the term Master with Controller and Slave with Target in the entire document. Added Note to Figure 6 and ADC Architecture and Transfer Function Non-Linearity (XNL) Trim Section. Updated Figure 20, 21, 22, 23, and 24 2 — 1–88 1-90 Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use.Specifications subject to change without notice. No license is granted by implicationor otherwise under any patent or patent rights of Analog Devices. Trademarks andregistered trademarks are the property of their respective owners. w w w . a n a l o g . c o m Analog Devices │  90
MAX86141ENP+T 价格&库存

很抱歉,暂时无法提供与“MAX86141ENP+T”相匹配的价格&库存,您可以联系我们找货

免费人工找货
MAX86141ENP+T
  •  国内价格 香港价格
  • 1+82.749711+9.90086
  • 5+72.942345+8.72742
  • 10+69.4290810+8.30707
  • 25+65.3380225+7.81758
  • 50+62.6209350+7.49249
  • 100+60.18610100+7.20116
  • 500+55.46056500+6.63576
  • 1000+53.766261000+6.43304

库存:5059

MAX86141ENP+T
  •  国内价格 香港价格
  • 2500+51.132712500+6.11794

库存:5059