AN1525 Pulse Oximeter Design Using Microchip’s Analog Devices and dsPIC® Digital Signal Controllers (DSCs) Author: Zhang Feng Microchip Technology Inc. INTRODUCTION Pulse oximeter is a non-invasive medical device that monitors the oxygen saturation of a patient’s blood and heart rate. This application note demonstrates the implementation of a high-accuracy pulse oximeter using Microchip’s analog devices and dsPIC® Digital Signal Controllers (DSCs). FIGURE 1: FUNCTION BLOCK DIAGRAM PWM1 PWM2 LED On/Off LED Driver Analog Signal Conditioning Analog Switch IR ADC0 Red Transimpedance Amplifier Highpass Filter Gain Stage Amplifier Photodiode LED Current Control ADC1 DC Offset DAC I2C™ LCD I/O Computer, WiFi® or Bluetooth® 2013-2015 Microchip Technology Inc. Microcontroller UART DS00001525B-page 1 AN1525 THEORY OF OPERATION A pulse oximeter monitors the oxygen saturation (SpO2) of a human’s blood based on the red light (600750 nm wavelength) and infrared light (850-1000 nm wavelength) absorption characteristics of oxygenated hemoglobin (HbO2) and deoxygenated hemoglobin (Hb). The pulse oximeter flashes the red and infrared lights alternately through a finger to a photodiode. HbO2 absorbs more infrared light and allows more red FIGURE 2: light to pass through. On the other hand, Hb absorbs more red light and allows more infrared light to pass through. The photodiode receives the non-absorbed light from each LED. This signal is inverted using inverting OpAmp and therefore the result, as shown in Figure 2, represents the light that has been absorbed by the finger. REAL-TIME RED AND INFRARED (IR) PULSATION SIGNALS CAPTURED BY THE OSCILLOSCOPE Red Pulsation Signal IR Pulsation Signal The pulse amplitudes (Vpp) of the red and infrared signals are measured and converted to Vrms to produce a Ratio value as given by Equation 1. The SpO2 can be determined using the Ratio value and a look-up table that is made up of empirical formulas. The pulse rate is calculated based on the Analog-to-Digital converter (ADC) sample number and sampling rate. The look-up table is an important part of the system. Look-up tables are specific to a particular oximeter design and are usually based on calibration curves derived from many measurements of a healthy subject at various SpO2 levels. Figure 3 shows a sample calibration curve. EQUATION 1: Red_AC_Vrms / Red_DC Ratio = --------------------------------------------------------------IR_AC_Vrms / IR_DC DS00001525B-page 2 2013-2015 Microchip Technology Inc. AN1525 FIGURE 3: SAMPLE CALIBRATION CURVE Sample Calibration Curve 100 SpO2 (%) 80 60 40 20 0 0.4 1 2 3.5 Ratio CIRCUIT DESCRIPTION LED Driver circuit The SpO2 probe used in this example is an off-the-shelf Nellcor® compatible finger clip type of probe which integrates one red LED and one IR LED and a photodiode. The LEDs are controlled by the LED driver circuit. The red light and IR light passing through the finger are detected by the signal conditioning circuit and are then fed to a 12-bit ADC module of the microcontroller where %SpO2 can be calculated. A DUAL SPDT analog switch driven by two PWM signals from the microcontrollers turns the red and infrared LEDs on and off alternately. In order to acquire the proper number of ADC samples and have enough time to process the data before the next LED turns on, the LEDs are switched on/off according to the timing diagram in Figure 4: FIGURE 4: TIMING DIAGRAM g Read ADC Read ADC RED_off 1780uS RED_on 220uS 320uS Read ADC Processing data IR_on 220uS IR_off 1780uS The LED current/intensity is controlled by a 12-bit Digital-to-Analog Converter (DAC) which is driven by the microcontroller. 2013-2015 Microchip Technology Inc. DS00001525B-page 3 AN1525 Analog Signal Conditioning Circuit DIGITAL FILTER DESIGN There are two stages in the signal conditioning circuit. The first stage is the transimpedance amplifier and the second stage is the gain amplifier. A Highpass filter is placed between the two stages. The output of the analog signal conditioning circuit is connected to the ADC module of the dsPIC DSCs. One ADC sample is taken during each LED’s on-time period, and one ADC sample is taken during both LED’s off-time period. TRANSIMPEDANCE AMPLIFIER The transimpedance amplifier converts a few micro amps of current generated by the photodiode to a few millivolts. HIGHPASS FILTER The signal received from the first stage amplifier passes through a Highpass filter which is designed to reduce the background light interference. GAIN AMPLIFIER The output of the Highpass filter is sent to a second stage amplifier with a gain of 22 and a DC offset of 220 mV. The values for the amplifier’s gain and DC offset are set to properly place the output signal level of the gain amplifier into the microcontroller’s ADC range. Taking advantage of the powerful Digital Signal Processing (DSP) engine integrated in dsPIC DSCs, a digital FIR Bandpass Filter is implemented to filter the ADC data. The filtered data is used to calculate the pulse amplitude. Digital filter code is generated using Microchip’s Digital Filter Design Tool. FIR Bandpass Filter Specifications Sampling Frequency (Hz): 500 Passband Frequency (Hz): 1 and 5 Stopband Frequency (Hz): 0.05 and 25 FIR Window: Kaiser Passband Ripple (-dB): 0.1 Stopband Ripple (-dB): 50 Filter Length: 513 CONNECTIVITY The SpO2 and pulse rate data can be sent to a computer through a UART port with the PICkit™ Serial Analyzer. The serial port setting is 115200-8-N-1-N. The pulse signal can be plotted out using an application such as Microchip’s Generic Serial Data Display GUI as shown in Figure 5. The data can also be sent to a Wi-Fi® or Bluetooth® module via UART port. FIGURE 5: THE WAVEFORM DISPLAYING THE PULSE SIGNAL 1000 950 900 850 800 750 IR RED 700 650 600 550 1 43 85 127 169 211 253 295 337 379 421 463 505 547 589 631 673 715 757 799 841 883 925 967 1009 1051 1093 1135 1177 1219 1261 1303 1345 1387 1429 1471 1513 1555 1597 1639 1681 1723 1765 1807 1849 1891 1933 1975 2017 2059 2101 2143 2185 2227 2269 2311 2353 2395 2437 500 DS00001525B-page 4 2013-2015 Microchip Technology Inc. AN1525 FIGURE 6: PROGRAM FLOWCHART Start Initialization Turn On/Off RED ĂŶĚ IR LEDs Alternately From Interrupts Main Loop Is the signal received from the probe valid? No Goto Sleep Yes Are Red ĂŶĚ IR ADC Data Ready? No Yes FIR Bandpass Digital Filtering Find MaxMin of IR ĂŶĚ RED Filtered AC Signals Calculate SPO2 ĂŶĚ Pulse Rate Display Result Timer 3 Interrupt Occurred Read RED DC ĂŶĚ AC Signal Timer 2 Interrupt Occurred Read IR DC ĂŶĚ AC Signal Read DC Baseline Signal after Timer3 Interrupt before Timer2 Interrupt Adjust DAC to Calibrate Red LED Adjust DAC to Calibrate IR LED Is Red ADC Data Ready? Is IR ADC Data Ready? Yes 2013-2015 Microchip Technology Inc. Yes DS00001525B-page 5 AN1525 NOTES: DS00001525B-page 6 2013-2015 Microchip Technology Inc. GND %DWWHU\9[$$$ BT1 GND C1 X) L1 1 6 3 VFB VOUT GND SW VIN EN U2 0&37,&+< 2013-2015 Microchip Technology Inc. R3 X) X) 8 19 27 13 28 20 1 AN0/VREF+/CN2/RA0 AN1/VREF-/CN3/RA1 OSC1/CLKI/CN30/RA2 OSC2/CLKO/CN29/PMA0/RA3 SOSCO/T1CK/CN0/PMA1/RA4 PGD1/EMUD1/AN2/C2IN-/RP0/CN4/RB0 PGC1/EMUC1/AN3/C2IN+/RP1/CN5/RB1 AN4/C1IN-/RP2/CN6/RB2 AN5/C1IN+/RP3/CN7/RB3 SOSCI/RP4/CN1/PMBE/RB4 PGD3/EMUD3/ASDA1/RP5/CN27/PMD7/RB5 PGC3/EMUC3/ASCL1/RP6/CN24/PMD6/RB6 INT0/RP7/CN23/PMD5/RB7 TCK/SCL1/RP8/CN22/PMD4/RB8 TDO/SDA1/RP9/CN21/PMD3/RB9 PGD2/EMUD2/TDI/RP10/CN16/PMD2/RB10 PGC2/EMUC2/TMS/RP11/CN15/PMD1/RB11 AN12/DAC1RP/RP12/CN14/PMD0/RB12 AN11/DAC1RN/RP13/CN13/PMRD/RB13 AN10/DAC1LP/RTCC/RP14/CN12/PMWR/RB14 AN9/DAC1LN/RP15/CN11/PMCS1/RB15 S2 GND 0&/5BQ MCLR ICSP '63,&)-*3,62 VSS VSS AVSS VDD AVDD VCAP/VDDCORE MCLR U1 C12 X) GND R4 . VCC 3.3V X) C3 4 5 6 7 11 14 15 16 17 18 21 22 23 24 25 26 2 3 9 10 12 GND . R2 . R1 . R7 LEDLED+ DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 EN R/W RS NC VDD VSS LCD1 . R6 GND 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 1+'+=)6:)%:9& RB0/DB0 RB1/DB1 RB2/DB2 RB3/DB3 RB4/DB4 RB5/DB5 RB6/DB6 RB7/DB7 SCL1 SDA1 PGD2 PGC2 OC2/RED OC1/IR RB14 U1TX TP1 TP2 VCC 3.3V AN0 AN1 RA2/RW RA3/RS RA4/E GND X) C2 VCC 3.3V 5 4 3 2 0&30623 RDY/nBSY nLDAC SDA SCL VDD U3 VOUTA VOUTB VOUTC VOUTD GND VSS DAC '13 R17 16 15 BT+ 14 RB7/DB7 GND 13 RB6/DB6 12 RB5/DB5 11 RB4/DB4 10 RB3/DB3 9 RB2/DB2 8 RB1/DB1 7 RB0/DB0 6 RA4/E 5 RA2/RW 4 RA3/RS 3 2 VCC 3.3V 1 C18 X) 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 J2 GND C9 X) 1 VCC 3.3V C4 X) 10 6 7 8 9 C7 Q) GND U1TX RB14 GND VCC 3.3V PGD2 PGC2 DAC_D 3,&NLW6HULDO 1 2 3 4 5 6 P2 ,&63 1 2 3 4 5 6 P1 C8 Q) DAC_C/DC OFFSET TP10 DAC_B/RED TP9 DAC_A/IR TP8 VCC 3.3V C6 Q) MCLR ICSP GND C5 Q) TP11 GND SCHEMATICS MCLR GND C11 C10 GND VCC 3.3V MCLR 4 5 SHEET 1: Microcontroller - dsPIC33FJ128GP802 S1 1 BT+ Boost Regulator GND 2 2 APPENDIX A: SCL1 SDA1 3 AN1525 This appendix shows the Microchip Pulse Oximeter schematics. MICROCHIP PULSE OXIMETER DEMO BOARD SCHEMATIC 1 DS00001525B-page 7 DB9-5/Anode 3 2 GND R8 5.1K 100 R12 TP4 C15 +A A -A A GND 1 C14 0.1uF 100K 10pF GND MCP6002 U5A OUTA A ADG884BRMZ Dual SPDT NC1 IN1 COM1 NO1 V+ U4 GND NC2 IN2 COM2 NO2 GND TP5 C17 R16 2.7K GND 1uF TP6 AN0 10K 6 C16 +B B -B B R15 GND 5 DAC_C/DC OFFSET R5 TP3 R11 10 Ohm VCC 3.3V Q2 MMBT2222 6 7 8 9 10 Analog Signal Conditioning Q1 MMBT2222 5 4 3 2 1 R10 10 Ohm GND VCC 3.3V R14 OC2/RED DB9-3/RED DB9-9/CATHODE DAC_A/IR GND C13 0.1uF VCC 3.3V 8 VDD VSS 4 220K 22pF 100 R13 MCP6002 U5B 7 OC1/IR DB9-2/IR OUTB B 8 DS00001525B-page 8 VDD VSS R9 5.1K TP7 AN1 DAC_B/RED GND 11 10 5 9 4 8 3 7 2 6 1 DB9-2/IR DB9-3/RED DB9-9/CATHODE DB9-5/Anode SPO2 SENSOR GND DB9 Female Connector Connect to SpO2 Sensor D Connector 9 J1 SHEET 2: 4 LED Driver AN1525 MICROCHIP PULSE OXIMETER DEMO BOARD SCHEMATIC 2 2013-2015 Microchip Technology Inc. AN1525 APPENDIX B: MEDICAL DEMO WARNINGS, RESTRICTIONS AND DISCLAIMER APPENDIX C: REFERENCES AN1494, “Using MCP6491 Op Amps for Photodetection Applications”, Microchip Technology Inc., DS01494, 2013. This demo is intended solely for evaluation and development purposes. It is not intended for medical diagnostic use. 2013-2015 Microchip Technology Inc. DS00001525B-page 9 AN1525 NOTES: DS00001525B-page 10 2013-2015 Microchip Technology Inc. Note the following details of the code protection feature on Microchip devices: • Microchip products meet the specification contained in their particular Microchip Data Sheet. • Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions. • There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property. • Microchip is willing to work with the customer who is concerned about the integrity of their code. • Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as “unbreakable.” Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act. Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights. Trademarks The Microchip name and logo, the Microchip logo, dsPIC, FlashFlex, flexPWR, JukeBlox, KEELOQ, KEELOQ logo, Kleer, LANCheck, MediaLB, MOST, MOST logo, MPLAB, OptoLyzer, PIC, PICSTART, PIC32 logo, RightTouch, SpyNIC, SST, SST Logo, SuperFlash and UNI/O are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. The Embedded Control Solutions Company and mTouch are registered trademarks of Microchip Technology Incorporated in the U.S.A. Analog-for-the-Digital Age, BodyCom, chipKIT, chipKIT logo, CodeGuard, dsPICDEM, dsPICDEM.net, ECAN, In-Circuit Serial Programming, ICSP, Inter-Chip Connectivity, KleerNet, KleerNet logo, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, RightTouch logo, REAL ICE, SQI, Serial Quad I/O, Total Endurance, TSHARC, USBCheck, VariSense, ViewSpan, WiperLock, Wireless DNA, and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SQTP is a service mark of Microchip Technology Incorporated in the U.S.A. Silicon Storage Technology is a registered trademark of Microchip Technology Inc. in other countries. GestIC is a registered trademarks of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in other countries. All other trademarks mentioned herein are property of their respective companies. © 2013-2015, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. ISBN: 978-1-63277-317-3 QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV == ISO/TS 16949 == 2013-2015 Microchip Technology Inc. Microchip received ISO/TS-16949:2009 certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona; Gresham, Oregon and design centers in California and India. The Company’s quality system processes and procedures are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchip’s quality system for the design and manufacture of development systems is ISO 9001:2000 certified. DS00001525B-page 11 Worldwide Sales and Service AMERICAS ASIA/PACIFIC ASIA/PACIFIC EUROPE Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technical Support: http://www.microchip.com/ support Web Address: www.microchip.com Asia Pacific Office Suites 3707-14, 37th Floor Tower 6, The Gateway Harbour City, Kowloon China - Xiamen Tel: 86-592-2388138 Fax: 86-592-2388130 Austria - Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 China - Zhuhai Tel: 86-756-3210040 Fax: 86-756-3210049 Denmark - Copenhagen Tel: 45-4450-2828 Fax: 45-4485-2829 India - Bangalore Tel: 91-80-3090-4444 Fax: 91-80-3090-4123 France - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 India - New Delhi Tel: 91-11-4160-8631 Fax: 91-11-4160-8632 Germany - Dusseldorf Tel: 49-2129-3766400 Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 Hong Kong Tel: 852-2943-5100 Fax: 852-2401-3431 Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 China - Beijing Tel: 86-10-8569-7000 Fax: 86-10-8528-2104 Austin, TX Tel: 512-257-3370 China - Chengdu Tel: 86-28-8665-5511 Fax: 86-28-8665-7889 Boston Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088 China - Chongqing Tel: 86-23-8980-9588 Fax: 86-23-8980-9500 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Cleveland Independence, OH Tel: 216-447-0464 Fax: 216-447-0643 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Novi, MI Tel: 248-848-4000 Houston, TX Tel: 281-894-5983 Indianapolis Noblesville, IN Tel: 317-773-8323 Fax: 317-773-5453 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 New York, NY Tel: 631-435-6000 San Jose, CA Tel: 408-735-9110 Canada - Toronto Tel: 905-673-0699 Fax: 905-673-6509 China - Dongguan Tel: 86-769-8702-9880 China - Hangzhou Tel: 86-571-8792-8115 Fax: 86-571-8792-8116 Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 India - Pune Tel: 91-20-3019-1500 Japan - Osaka Tel: 81-6-6152-7160 Fax: 81-6-6152-9310 Germany - Pforzheim Tel: 49-7231-424750 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Japan - Tokyo Tel: 81-3-6880- 3770 Fax: 81-3-6880-3771 Italy - Venice Tel: 39-049-7625286 Korea - Daegu Tel: 82-53-744-4301 Fax: 82-53-744-4302 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 China - Hong Kong SAR Tel: 852-2943-5100 Fax: 852-2401-3431 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 or 82-2-558-5934 China - Nanjing Tel: 86-25-8473-2460 Fax: 86-25-8473-2470 Malaysia - Kuala Lumpur Tel: 60-3-6201-9857 Fax: 60-3-6201-9859 China - Qingdao Tel: 86-532-8502-7355 Fax: 86-532-8502-7205 Malaysia - Penang Tel: 60-4-227-8870 Fax: 60-4-227-4068 China - Shanghai Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 Philippines - Manila Tel: 63-2-634-9065 Fax: 63-2-634-9069 China - Shenyang Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 Singapore Tel: 65-6334-8870 Fax: 65-6334-8850 China - Shenzhen Tel: 86-755-8864-2200 Fax: 86-755-8203-1760 Taiwan - Hsin Chu Tel: 886-3-5778-366 Fax: 886-3-5770-955 China - Wuhan Tel: 86-27-5980-5300 Fax: 86-27-5980-5118 Taiwan - Kaohsiung Tel: 886-7-213-7828 China - Xian Tel: 86-29-8833-7252 Fax: 86-29-8833-7256 Poland - Warsaw Tel: 48-22-3325737 Spain - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Sweden - Stockholm Tel: 46-8-5090-4654 UK - Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820 Taiwan - Taipei Tel: 886-2-2508-8600 Fax: 886-2-2508-0102 Thailand - Bangkok Tel: 66-2-694-1351 Fax: 66-2-694-1350 01/27/15 DS00001525B-page 12 2013-2015 Microchip Technology Inc.