Blood Pressure Meter Design Using Microchip's Analog Devices And
Total Page:16
File Type:pdf, Size:1020Kb
AN1556 Blood Pressure Meter Design Using Microchip’s Analog Devices and PIC24F Microcontrollers Author: Zhang Feng, Microchip Technology Inc. INTRODUCTION A Blood Pressure Meter (BPM) is a non-invasive device used to measure blood pressure. This application note demonstrates the implementation of a digital blood pressure meter using Microchip’s MCP6N16 instrumentation amplifier and a PIC24FJ128GC010 microcontroller. FIGURE 1: BLOCK DIAGRAM Power Supply 5/6V Battery AAA 1.5V x 4 Voltage Regulator 3.3V VDD USB 5V 500mA MCP1802 Microcontroller PIC24FJ128GC010 Analog Signal Conditioning ADC1 Instrumentation OPA1 Air Pump Control Pressure Sensor Amplifier Internal Op-Amp ADC2 High-pass Filter MCP6N16 Measurement Solenoid Valve Control DAC CTMU I/O PWM 1 LCD LCD Driver User Interface Buzzer PWM2 Touch Pads CTMU I/Os Debugging PICkit™ Serial UART Wi-Fi® Module RN171 Communication SPI/UART Bluetooth® Module RN42 Data Logging Computer USB 2013-2015 Microchip Technology Inc. DS00001556B-page 1 AN1556 ANALOG FRONT-END SIGNAL is also displayed on the LCD panel by using the CONDITIONING CIRCUIT microcontroller’s Real-Time Clock and Calendar module that can operate in Deep Sleep mode. DESCRIPTION As shown in Figure 1, the MCP6N16-100 single POWER SUPPLY Instrumentation Amplifier (INA) is used to condition the analog signal acquired from the Wheatstone bridge The main input power is supplied by either four 1.5V type of air pressure sensor. The overall INA gain is set AAA alkaline batteries or the USB’s VBus line. The at 101 V/V. The output signal of the MCP6N16 is split MCP1802 LDO converts the 5V or 6V main input into two paths. One path, representing the cuff voltage to 3.3V VDD. pressure, is connected to the ADC1 channel of the microcontroller. Another path is passed through a 2- SPECIAL FEATURES pole active high-pass filter with cutoff frequencies of 0.48Hz and 4.8Hz, and a gain of 92. The high-pass A 2-pass moving average filter with a cutoff frequency filter is formed by one of the microcontroller’s internal of 3.5 Hz is implemented in the firmware. It filters the operational amplifiers. The output of the high-pass raw ADC samples acquired from each ADC channel. filter, representing the oscillation signal, is sent to the This demo system uses a custom algorithm for blood ADC2 channel of the microcontroller. pressure calculation that was developed based upon published academic papers available in the public PIC24FJ128GC010 domain (see Appendix D: “References”). MICROCONTROLLER MEASUREMENT TECHNOLOGY The microcontroller provides a 12-bit high-speed pipeline Analog-to-Digital Converter (ADC). The cuff A digital blood pressure meter measures systolic and pressure signal and the oscillation signal are both diastolic pressures by oscillometric detection. sampled at 250 Hz by the 12-bit ADC. Microchip’s digital blood pressure meter demo can measure blood pressure and pulse rate during inflation. As described in the previous section, the demo system The Measurement While Inflating (MWI) principle uses one of the microcontroller’s internal operational reduces overall measuring time, which in turn reduces amplifiers to build the analog high-pass filter. It also discomfort caused by the pressure in the cuff. utilizes one of the internal 10-bit Digital-to-Analog Converters (DAC) with buffered output voltage to After the motor pumps the pressure up to 30 mmHg in provide an adjustable DC offset level as the bias for the fast mode, the motor changes to slow mode gradually operational amplifier. and linearly inflating the cuff. When the pressure in the cuff gets high enough to just begin constricting the flow Microchip’s mTouch® sensing solution is implemented of blood, the arterial pulse becomes detectable by the in the firmware for the capacitive touch pads utilizing pressure sensor. At this point, the waveform captured the microcontroller’s Charge Time Measurement Unit from the ADC2 channel (the output of the analog high- (CTMU). Meanwhile, the air pressure sensor requires a pass filter) starts to show the onset of the blood stable supply current of 100 uA DC, which is also pressure oscillation signal (see Figure 2). The provided by the CTMU. oscillation signal is then filtered by a 2-pass moving The demo system utilizes the microcontroller’s Pulse- average filter. The Mean Arterial Pressure (MAP) is the Width Modulation (PWM) module to drive the air cuff pressure which corresponds to the maximum pump’s motor in fast or slow speed mode. The noise oscillation signal. Based on the custom algorithm for generated by a running motor can interfere with the blood pressure calculation, the Systolic Pressure pressure measurement while inflating. The circuit (SYS) and the Diastolic Pressure (DIA) can be design, firmware and Printed Circuit Board (PCB) determined using the MAP value and a lookup table of layout are intended to reduce the motor noise. empirical formulas (see Figure 3). The inflation process The results for blood pressure and pulse rate can be is automatically terminated when the pressure reaches sent to a Liquid Crystal Display (LCD) panel, USB a specified value. The Pulse Rate (PR) can be interface and wireless interface. The microcontroller calculated based on ADC sample rate and sample has an integrated LCD controller that generates the numbers obtained in multiple consecutive pulses. data and timing control required to directly drive a static or multiplexed LCD panel. The demo system utilizes the microcontroller’s USB On-The-Go interface for data communication as well as the 5V main power source. For wireless communication, the microcontroller’s SPI or UART port connects to a Microchip RN42 Bluetooth® module or an RN171 Wi-Fi® module. A real-time clock DS00001556B-page 2 2013-2015 Microchip Technology Inc. AN1556 FIGURE 2: RAW ADC DATA OF THE OSCILLATION SIGNAL ACQUIRED FROM THE ADC2 AT 250 SAMPLES/SECOND FIGURE 3: THE PLOT OF ADC DATA FOR DIGITALLY FILTERED OSCILLATION SIGNAL AND CUFF PRESSURE SIGNAL 2013-2015 Microchip Technology Inc. DS00001556B-page 3 AN1556 PROGRAM FLOWCHART Figure 4 shows the firmware process flow. FIGURE 4: FIRMWARE PROCESS FLOWCHART Start Initialization Main Loop Checking Push Buttons Start Button Pressed Inflating Cuff Enable ADC sample list 1 interrupt for taking ADC samples from CH1 and CH2 channels Processing ADC data Release Air Calculating blood pressure and pulse rate Display Result DS00001556B-page 4 2013-2015 Microchip Technology Inc. AN1556 APPENDIX A: BPM DEMO BOARD This appendix shows the BPM demo board. FIGURE 5: BPM DEMO BOARD 2013-2015 Microchip Technology Inc. DS00001556B-page 5 AN1556 APPENDIX B: SCHEMATICS This appendix shows the Blood Pressure Meter schematics. SHEET 1: MICROCHIP BLOOD PRESSURE METER SCHEMATIC – ANALOG FRONT-END $QDORJ)URQW(QG6LJQDO&RQGLWLRQLQJ X$&RQVWDQW&XUUHQW 9 & & &708,B287 ,QVWUXPHQWDWLRQ$PSOLILHU 2.2uF 0.1uF $'& 8 '&B2))6(7 *1' & 8 9RXW ,FF *1' 9 DNP 2VFLOODWLRQ6LJQDO$PSOLILHU )LOWHU 1& 1VXE (1 9'' 5 XVLQJ0&8 V,QWHUQDO2S$PS 1Meg *1' 9RXW 9,1B09,1B0 92879287 2SMPP-02 5 10K & 9,1B39,1B3 9)*9)* 23$3 5 23$2 10K 0.33uF B 966 95() 23$1 5 & 100K & 1uF DNP *1' MCP6N16-100E/MS *1' 5 91K *1' *1' *DLQ 55 5 5 5 100 1K 1K /3)+] )F S 5 & +] & )F S 5 & +] *1' 33uF *DLQ 55 $'& 3XPS0RWRU&RQWURO *1' 9 0 6ROHQRLG9DOYH&RQWURO 9 9 & & 47uF ' 0.1uF DFLS120LQ-7 ' S1AB-13-F 0 9 *1' & DNP 5 100 0 5 100 0 3:03803 DMG1012UW-7 9$/9( DMG1012UW-7 & DNP - 0 9 *1' *1' *1' 0 9 %= 9 5 100 9 3:0%8==(5 5 DNP 6 5$ *1' 6 5 DNP 5 DNP 0901200127 705&. *1' DS00001556B-page 6 2013-2015 Microchip Technology Inc. AN1556 SHEET 2: MICROCHIP BLOOD PRESSURE METER SCHEMATIC – PIC24F MICROCONTROLLER MCU 8 9 0&/5 0&/5 7066(*&7('&15$ /&'B3,1B 9%$7 7&.$16(*&15$ /&'B3,1B $16(*6&/&15$ /&'B3,1B 9&$3 $16(*6'$30$&15$ /&'B3,1B & 986% 7',$16(*30$&15$ /&'B3,1B 10uF 7'2$16(*&15$ /&'B3,1B 9GG $16(*&15$ /&'B3,1B < 9GG $16(*30$&15$ 5$ 69GG &95()$95()6(*30$&15$ :$.($&7,9( 626& 626& *1' 9GG &95()$95()6(*30$&15$ /&'B3,1B 9GG $16(*53,6&/2&75,*30$&15$ /&'B3,1B & 32.768KHz & $9GG $16(*53,6'$30%(&15$ /&'B3,1B 12pF 12pF 9VV 3*('&95()$95()'95()%*%8)$16(*53&15% $'& 69VV 3*(&&95()$95()$123$36(*53&7('&15% 9VV $123$1&7&03&,1%6(*537&.90,2&7('&15% &708,B287 *1' *1' *1' 9VV $123$2&,1$6(*93,2&15% 23$2 9VV 3*($123$1&,1%6(*5386%2(1&15% 3*('B0$67(5 $9VV 3*($123$2&,1$6(*53&15% 3*(&B0$67(5 3*(&$123$353/&'%,$6&15% &65(41 3*('$1&206(*53&15% /&'B3,1B /&'B3,1B 5(&2030'&1 $1&206(*7&.&7('30$&15% /&'B3,1B /&'B3,1B 5(&2030'&1 $123$36(*'$&&7('30$&15% /&'B3,1B 5(&2030'&1 $123$16(*53&7('&73/630$&15% /&'B3,1B /&'B3,1B 5(&20&7('30'&1 $16(*537&.5()2&7('30$&15% /&'B3,1B /&'B3,1B 5(/9',16(*&7('30'&1 5(6(7B1 5(&7('30'/&'%,$6&1 $123$16(*53,&15& 85;517; ,175'<1 5(30'/&'%,$6&1 6(*53,&15& /&'B3,1B 9$/9( 5(30'/&'%,$6&1 $16(*53,&15& 6',0,62 /&'B3,1B 5(6(*53,30&6&1 $16(*53,30&6&15& /&'B3,1B 9%86B6(16( 5($16(*53,30$&1 26&,&/.,&15& 626& 626&,5& 626& /&'B3,1B 5)&206(*9&036730'&1 626&26&/.,53,5& /&'B3,1B 5)&206(*9&036730'&1 26&2&/.2&15& /&'B3,1B 5)$16(*53&1 /&'B3,1B 5)$16(*5386%,'30$&1 $123$16(*539&0367'0+,17&15' 3:03803 23$1 5)$123$16(*536'$7&.30$&1 $16(*53&15' 3:0%8==(5 23$3 5)&95()$123$36(*536&/30$&1 $123$16(*53'3+30$&.&15' 6 5 100 9%86 5)9%86&1 $123$36(*5330%(&15' 6 /&'B3,1B 5)$16(*53&1 $123$36(*5330:5&15' 6'2026, /&'B3,1B 5)6(*53,&7('30$&1 $123$16(*53305'&15' 6&.