AN1571, Digital Blood Pressure Meter - Freescale Semiconductor
AN1571, Digital Blood Pressure Meter - Freescale Semiconductor
AN1571, Digital Blood Pressure Meter - Freescale Semiconductor
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Freescale</strong> <strong>Semiconductor</strong><br />
Application Note<br />
<strong>Digital</strong> <strong>Blood</strong> <strong>Pressure</strong> <strong>Meter</strong><br />
by: C.S. Chua and Siew Mun Hin, Sensor Application Engineering<br />
Singapore, A/P<br />
INTRODUCTION<br />
This application note describes a <strong>Digital</strong> <strong>Blood</strong> <strong>Pressure</strong><br />
<strong>Meter</strong> concept which uses an integrated pressure sensor,<br />
analog signal-conditioning circuitry, microcontroller<br />
hardware/software and a liquid crystal display. The sensing<br />
system reads the cuff pressure (CP) and extracts the pulses<br />
for analysis and determination of systolic and diastolic<br />
pressure. This design uses a 50 kPa integrated pressure<br />
sensor (<strong>Freescale</strong> <strong>Semiconductor</strong>, Inc.P/N: MPXV5050GP)<br />
yielding a pressure range of 0 mm Hg to 300 mm Hg.<br />
CONCEPT OF OSCILLOMETRIC METHOD<br />
This method is employed by the majority of automated noninvasive<br />
devices. A limb and its vasculature are compressed<br />
by an encircling, inflatable compression cuff. The blood<br />
pressure reading for systolic and diastolic blood pressure<br />
values are read at the parameter identification point.<br />
The simplified measurement principle of the oscillometric<br />
method is a measurement of the amplitude of pressure<br />
change in the cuff as the cuff is inflated from above the systolic<br />
pressure. The amplitude suddenly grows larger as the pulse<br />
breaks through the occlusion. This is very close to systolic<br />
pressure. As the cuff pressure is further reduced, the pulsation<br />
increase in amplitude, reaches a maximum and then<br />
diminishes rapidly. The index of diastolic pressure is taken<br />
where this rapid transition begins. Therefore, the systolic<br />
blood pressure (SBP) and diastolic blood pressure (DBP) are<br />
© <strong>Freescale</strong> <strong>Semiconductor</strong>, Inc., 2005. All rights reserved.<br />
Vi<br />
C2<br />
0.33 µ<br />
+DC Offset<br />
R3<br />
1M<br />
R1<br />
C1<br />
1k<br />
33u<br />
3<br />
+<br />
2<br />
-<br />
Figure 1. Oscillation Signal Amplifier<br />
<strong>AN1571</strong><br />
Rev 1, 05/2005<br />
obtained by identifying the region where there is a rapid<br />
increase then decrease in the amplitude of the pulses<br />
respectively. Mean arterial pressure (MAP) is located at the<br />
point of maximum oscillation.<br />
HARDWARE DESCRIPTION AND OPERATION<br />
The cuff pressure is sensed by <strong>Freescale</strong>'s integrated<br />
pressure X-ducer‰. The output of the sensor is split into two<br />
paths for two different purposes. One is used as the cuff<br />
pressure while the other is further processed by a circuit.<br />
Since MPXV5050GP is signal-conditioned by its internal opamp,<br />
the cuff pressure can be directly interfaced with an<br />
analog-to-digital (A/D) converter for digitization. The other<br />
path will filter and amplify the raw CP signal to extract an<br />
amplified version of the CP oscillations, which are caused by<br />
the expansion of the subject's arm each time pressure in the<br />
arm increases during cardiac systole.<br />
The output of the sensor consists of two signals; the<br />
oscillation signal ( ≈ 1 Hz) riding on the CP signal ( ≤ 0.04 Hz).<br />
Hence, a 2-pole high pass filter is designed to block the CP<br />
signal before the amplification of the oscillation signal. If the<br />
CP signal is not properly attenuated, the baseline of the<br />
oscillation will not be constant and the amplitude of each<br />
oscillation will not have the same reference for comparison.<br />
Figure 1 shows the oscillation signal amplifier together with<br />
the filter.<br />
11<br />
4<br />
+5.0V<br />
R2<br />
150k<br />
U1a<br />
1<br />
LM324N<br />
Vo
The filter consists of two RC networks which determine two<br />
cut-off frequencies. These two poles are carefully chosen to<br />
ensure that the oscillation signal is not distorted or lost. The<br />
Attenuation (dB)<br />
10<br />
0<br />
-10<br />
-20<br />
-30<br />
-40<br />
-50<br />
-60<br />
-70<br />
-80<br />
The oscillation signal varies from person to person. In<br />
general, it varies from less than 1 mm Hg to 3 mm Hg. From<br />
the transfer function of MPXV5050GP, this will translate to a<br />
voltage output of 12 mV to 36 mV signal. Since the filter gives<br />
an attenuation of 10 dB to the 1 Hz signal, the oscillation signal<br />
becomes 3.8 mV to 11.4 mV respectively. Experiments<br />
<strong>AN1571</strong><br />
CP Signal (0.04 Hz)<br />
0.01<br />
0.1<br />
f P1 =<br />
f P2 =<br />
1<br />
2πR1C1 1<br />
2πR3C2 Figure 2. Filter Frequency<br />
two cut-off frequencies can be approximated by the following<br />
equations. Figure 2describes the frequency response of the<br />
filter. This plot does not include the gain of the amplifier.<br />
10 100<br />
indicate that, the amplification factor of the amplifier is chosen<br />
to be 150 so that the amplified oscillation signal is within the<br />
output limit of the amplifier (5.0 mV to 3.5 V). Figure 3 shows<br />
the output from the pressure sensor and Figure 4 illustrates<br />
the extracted oscillation signal at the output of the amplifier.<br />
Sensors<br />
2 <strong>Freescale</strong> <strong>Semiconductor</strong><br />
1<br />
Frequency (Hz)<br />
Oscillation Signal (1 Hz)
Vi (Volts)<br />
Vo (Volts)<br />
3<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
0 5 10 15 20 25 30 35 40<br />
3.5<br />
3<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
SBP<br />
Figure 3. CP Signal at the Output of the <strong>Pressure</strong> Sensor<br />
Figure 4. Extracted Oscillation Signal at the Output of Amplifier<br />
Referring to the schematic, Figure 5, the MPX5050GP<br />
pressure sensor is connected to PORT D bit 5 and the output<br />
of the amplifier is connected to PORT D bit 6 of the<br />
microcontroller. This port is an input to the on-chip 8-bit<br />
analog-to-digital (A/D) converter. The pressure sensor<br />
provides a signal output to the microprocessor of<br />
approximately 0.2 Vdc at 0 mm Hg to 4.7 Vdc at 375 mm Hg<br />
of applied pressure whereas the amplifier provides a signal<br />
from 0.005 V to 3.5 V. In order to maximize the resolution,<br />
separate voltage references should be provided for the A/D<br />
instead of using the 5 V supply. In this example, the input<br />
range of the A/D converter is set at approximately 0 Vdc to 3.8<br />
Vdc. This compresses the range of the A/D converter around<br />
0 mm Hg to 300 mm Hg to maximize the resolution; 0 to 255<br />
Time (seconds)<br />
Oscillation signal is extracted here<br />
0<br />
10 15 20 25 30 35<br />
Time (seconds)<br />
counts is the range of the A/D converter. VRH and VRL are the<br />
reference voltage inputs to the A/D converter. The resolution<br />
is defined by the following:<br />
Count = [(VXdcr - VRL)/(VRH - VRL)] x 255<br />
The count at 0 mm Hg = [(0.2 - 0)/(3.8 - 0)] x 255 ≈ 14<br />
The count at 300 mm Hg = [(3.8 - 0)/(3.8 - 0)] x 255 ≈ 255<br />
Therefore the resolution = 255 - 14 = 241 counts. This<br />
translates to a system that will resolve to 1.24 mm Hg.<br />
The voltage divider consisting of R5 and R6 is connected to<br />
the +5 volts powering the system. The output of the pressure<br />
sensor is ratiometric to the voltage applied to it. The pressure<br />
sensor and the voltage divider are connected to a common<br />
<strong>AN1571</strong><br />
Sensors<br />
<strong>Freescale</strong> <strong>Semiconductor</strong> 3<br />
MAP<br />
DBP
supply; this yields a system that is ratiometric. By nature of this<br />
ratiometric system, variations in the voltage of the power<br />
supplied to the system will have no effect on the system<br />
accuracy.<br />
The liquid crystal display (LCD) is directly driven from I/O<br />
ports A, B, and C on the microcontroller. The operation of a<br />
LCD requires that the data and backplane (BP) pins must be<br />
driven by an alternating signal. This function is provided by a<br />
software routine that toggles the data and backplane at<br />
approximately a 30 Hz rate.<br />
Other than the LCD, there are two more I/O devices that are<br />
connected to the pulse length converter (PLM) of the<br />
microcontroller; a buzzer and a light emitting diode (LED). The<br />
buzzer, which connected to the PLMA, can produce two<br />
different frequencies; 122 Hz and 1.953 kHz tones. For<br />
<strong>AN1571</strong><br />
instance when the microcontroller encounters certain error<br />
due to improper inflation of cuff, a low frequency tone is alarm.<br />
In those instance when the measurement is successful, a high<br />
frequency pulsation tone will be heard. Hence, different<br />
musical tone can be produced to differential each condition. In<br />
addition, the LED is used to indicate the presence of a heart<br />
beat during the measurement.<br />
The microcontroller section of the system requires certain<br />
support hardware to allow it to function. The MC34064P-5<br />
provides an undervoltage sense function which is used to<br />
reset the microprocessor at system power-up. The 4 MHz<br />
crystal provides the external portion of the oscillator function<br />
for clocking the microcontroller and provides a stable base for<br />
time based functions, for instance calculation of pulse rate.<br />
Sensors<br />
4 <strong>Freescale</strong> <strong>Semiconductor</strong>
R10<br />
+5.0 V<br />
10M<br />
+5.0 V<br />
5.0 V Regulator<br />
MC78L05ACP<br />
+5.0 V<br />
X1<br />
4MHz<br />
1<br />
Input Output<br />
3<br />
2<br />
R9<br />
4.7k<br />
C4<br />
C3<br />
GND<br />
22p<br />
22p<br />
100u<br />
C5<br />
MC34064<br />
Reset Input<br />
GND<br />
1<br />
C6<br />
C8<br />
2<br />
0.33u<br />
9.0 V Battery<br />
100n<br />
3<br />
+5.0 V<br />
LCD5657<br />
16<br />
OSC1<br />
OSC2<br />
17<br />
10<br />
37<br />
36<br />
35<br />
34<br />
7<br />
6<br />
5<br />
18<br />
19<br />
G4<br />
F4<br />
A4<br />
B4<br />
C4<br />
D4<br />
E4<br />
/RESET<br />
/IRQ<br />
VDD<br />
+5.0 V<br />
+5.0 V<br />
Buzzer<br />
4<br />
22<br />
23<br />
50<br />
TCAP1<br />
TCAP2<br />
RD<br />
TCMP1<br />
TCMP2<br />
2<br />
1<br />
100R<br />
R8<br />
<strong>Pressure</strong> Sensor<br />
MPXV5050GP<br />
52<br />
51<br />
TDO<br />
SCLK<br />
20 PLMA VRH<br />
21<br />
PLMB VRL<br />
49 PC0 PA0<br />
48 PC1 PA1<br />
47 PC2/ECLK PA2<br />
46 PC3 PA3<br />
45 PC4 PA4<br />
44 PC5 PA5<br />
43 PC6 PA6<br />
42 PC7 PA7<br />
14 PD0/AN0 PB0<br />
13 PD1/AN1 PB1<br />
12 PD2/AN2 PB2<br />
11 PD3/AN3 PB3<br />
9543 PD4/AN4 PB4<br />
PD5/AN5 PB5<br />
PD6/AN6 PB6 33<br />
PD7/AN7 PB7 32<br />
MC68HC05B16CFN<br />
34<br />
35<br />
36<br />
37<br />
24<br />
39<br />
38<br />
25<br />
26<br />
27<br />
28<br />
29<br />
30<br />
31<br />
8<br />
7<br />
Vs<br />
1<br />
Vout<br />
3<br />
DP<br />
16<br />
23<br />
22<br />
21<br />
20<br />
19<br />
18<br />
17<br />
LED<br />
3<br />
DP1<br />
G1<br />
F1<br />
A1<br />
B1<br />
C1<br />
D1<br />
E1<br />
R5 R6<br />
4.7k + 36R<br />
15k<br />
+5.0 V<br />
GND<br />
28<br />
L<br />
40<br />
1<br />
2<br />
BP<br />
BP<br />
DP L L<br />
24k<br />
R4<br />
8<br />
32<br />
31<br />
30<br />
29<br />
11<br />
10<br />
9<br />
12<br />
27<br />
26<br />
25<br />
24<br />
15<br />
14<br />
13<br />
Figure 5. <strong>Blood</strong> <strong>Pressure</strong> <strong>Meter</strong> Schematic Drawing<br />
<strong>AN1571</strong><br />
Sensors<br />
<strong>Freescale</strong> <strong>Semiconductor</strong> 5<br />
DP3<br />
G3<br />
F3<br />
+5.0 V<br />
10k<br />
R0<br />
A3<br />
A<br />
B3<br />
C3<br />
D3<br />
E3<br />
2<br />
DP2<br />
G2<br />
F2 DP E F<br />
A2<br />
D 1 G<br />
B2<br />
C2<br />
C B<br />
D2<br />
E2<br />
1M<br />
R3<br />
11<br />
C2<br />
3<br />
1<br />
LM324N<br />
0.33u<br />
330u<br />
2<br />
C7<br />
+5.0 V<br />
4<br />
R2<br />
150k<br />
1k<br />
R1<br />
33u<br />
C1
<strong>AN1571</strong><br />
SOFTWARE DESCRIPTION<br />
Upon system power-up, the user needs to manually pump<br />
the cuff pressure to approximately 160 mm Hg or 30 mm Hg<br />
above the previous SBP. During the pumping of the inflation<br />
bulb, the microcontroller ignores the signal at the output of the<br />
V O (volt)<br />
-8.5<br />
-8.3<br />
450 ms<br />
First of all, the threshold level of a valid pulse is set to be<br />
1.75 V to eliminate noise or spike. As soon as the amplitude<br />
of a pulse is identified, the microcontroller will ignore the signal<br />
for 450 ms to prevent any false identification due to the<br />
presence of premature pulse "overshoot" due to oscillation.<br />
Hence, this algorithm can only detect pulse rate which is less<br />
than 133 beats per minute. Next, the amplitudes of all the<br />
pulses detected are stored in the RAM for further analysis. If<br />
the microcontroller senses a non-typical oscillation envelope<br />
shape, an error message (“Err”) is output to the LCD. The user<br />
will have to exhaust all the pressure in the cuff before repumping<br />
the CP to the next higher value. The algorithm<br />
ensures that the user exhausts all the air present in the cuff<br />
before allowing any re-pumping. Otherwise, the venous blood<br />
trapped in the distal arm may affect the next measurement.<br />
Therefore, the user has to reduce the pressure in the cuff as<br />
soon as possible in order for the arm to recover. Figure 7 on<br />
the following page is a flowchart for the program that controls<br />
the system.<br />
SELECTION OF MICROCONTROLLER<br />
Although the microcontroller used in this project is<br />
MC68HC05B16, a smaller ROM version microcontroller can<br />
also be used. The list below shows the requirement of<br />
-8.1<br />
Premature Pulse<br />
-7.9<br />
-7.7<br />
Time (second)<br />
Figure 6. Zoom-In View of a Pulse<br />
amplifier. When the subroutine TAKE senses a decrease in<br />
CP for a continuous duration of more than 0.75 seconds, the<br />
microcontroller will then assume that the user is no longer<br />
pumping the bulb and starts to analyze the oscillation signal.<br />
Figure 6 shows zoom-in view of a pulse.<br />
microcontroller for this blood pressure meter design in this<br />
project.<br />
• On-chip ROM space: 2 kilobytes<br />
• On-chip RAM space: 150 bytes<br />
• 2-channel A/D converter (min.)<br />
• 16-bit free running counter timer<br />
• LCD driver<br />
• On-chip EEPROM space: 32 bytes<br />
• Power saving Stop and Wait modes<br />
CONCLUSION<br />
This circuit design concept may be used to evaluate<br />
<strong>Freescale</strong> pressure sensors used in the digital blood pressure<br />
meter. This basic circuit may be easily modified to provide<br />
suitable output signal level. The software may also be easily<br />
modified to provide better analysis of the SBP and DBP of a<br />
person.<br />
REFERENCES<br />
Lucas, Bill (1991). “An Evaluation System for Direct<br />
Interface of the MPX5100 <strong>Pressure</strong> Sensor with a<br />
Microprocessor,” <strong>Freescale</strong> Application Note AN1305.<br />
Sensors<br />
6 <strong>Freescale</strong> <strong>Semiconductor</strong><br />
-7.5<br />
-7.3<br />
1.75<br />
-7.1
Output a high<br />
frequency<br />
musical tone<br />
Display pulse rate.<br />
Display "SYS" follow by SBP.<br />
Display "dlA" follow by DBP.<br />
Y<br />
Main Program<br />
Initialization<br />
Clear I/O ports<br />
Display "CAL" and<br />
output a musical tone<br />
Clear all the variables<br />
Take in the amplitude of all the<br />
oscillation signal when the<br />
user has stop pumping<br />
Repump?<br />
N<br />
Calculate the SBP and DBP<br />
and also the pulse rate<br />
N<br />
Is there any error<br />
in the calculation or the<br />
amplitude envelope<br />
detected?<br />
Y<br />
N N<br />
Exhaust cuff<br />
Exhaust cuff<br />
Y Y<br />
before repump<br />
before repump<br />
Figure 7. Main Program Flowchart<br />
Display "Err"<br />
Output a low<br />
frequency alarm<br />
<strong>AN1571</strong><br />
Sensors<br />
<strong>Freescale</strong> <strong>Semiconductor</strong> 7
How to Reach Us:<br />
Home Page:<br />
www.freescale.com<br />
E-mail:<br />
support@freescale.com<br />
USA/Europe or Locations Not Listed:<br />
<strong>Freescale</strong> <strong>Semiconductor</strong><br />
Technical Information Center, CH370<br />
1300 N. Alma School Road<br />
Chandler, Arizona 85224<br />
+1-800-521-6274 or +1-480-768-2130<br />
support@freescale.com<br />
Europe, Middle East, and Africa:<br />
<strong>Freescale</strong> Halbleiter Deutschland GmbH<br />
Technical Information Center<br />
Schatzbogen 7<br />
81829 Muenchen, Germany<br />
+44 1296 380 456 (English)<br />
+46 8 52200080 (English)<br />
+49 89 92103 559 (German)<br />
+33 1 69 35 48 48 (French)<br />
support@freescale.com<br />
Japan:<br />
<strong>Freescale</strong> <strong>Semiconductor</strong> Japan Ltd.<br />
Headquarters<br />
ARCO Tower 15F<br />
1-8-1, Shimo-Meguro, Meguro-ku,<br />
Tokyo 153-0064<br />
Japan<br />
0120 191014 or +81 3 5437 9125<br />
support.japan@freescale.com<br />
Asia/Pacific:<br />
<strong>Freescale</strong> <strong>Semiconductor</strong> Hong Kong Ltd.<br />
Technical Information Center<br />
2 Dai King Street<br />
Tai Po Industrial Estate<br />
Tai Po, N.T., Hong Kong<br />
+800 2666 8080<br />
support.asia@freescale.com<br />
For Literature Requests Only:<br />
<strong>Freescale</strong> <strong>Semiconductor</strong> Literature Distribution Center<br />
P.O. Box 5405<br />
Denver, Colorado 80217<br />
1-800-441-2447 or 303-675-2140<br />
Fax: 303-675-2150<br />
LDCFor<strong>Freescale</strong><strong>Semiconductor</strong>@hibbertgroup.com<br />
<strong>AN1571</strong><br />
Rev. 1<br />
05/2005<br />
Information in this document is provided solely to enable system and software<br />
implementers to use <strong>Freescale</strong> <strong>Semiconductor</strong> products. There are no express or<br />
implied copyright licenses granted hereunder to design or fabricate any integrated<br />
circuits or integrated circuits based on the information in this document.<br />
<strong>Freescale</strong> <strong>Semiconductor</strong> reserves the right to make changes without further notice to<br />
any products herein. <strong>Freescale</strong> <strong>Semiconductor</strong> makes no warranty, representation or<br />
guarantee regarding the suitability of its products for any particular purpose, nor does<br />
<strong>Freescale</strong> <strong>Semiconductor</strong> assume any liability arising out of the application or use of any<br />
product or circuit, and specifically disclaims any and all liability, including without<br />
limitation consequential or incidental damages. “Typical” parameters that may be<br />
provided in <strong>Freescale</strong> <strong>Semiconductor</strong> data sheets and/or specifications can and do vary<br />
in different applications and actual performance may vary over time. All operating<br />
parameters, including “Typicals”, must be validated for each customer application by<br />
customer’s technical experts. <strong>Freescale</strong> <strong>Semiconductor</strong> does not convey any license<br />
under its patent rights nor the rights of others. <strong>Freescale</strong> <strong>Semiconductor</strong> products are<br />
not designed, intended, or authorized for use as components in systems intended for<br />
surgical implant into the body, or other applications intended to support or sustain life,<br />
or for any other application in which the failure of the <strong>Freescale</strong> <strong>Semiconductor</strong> product<br />
could create a situation where personal injury or death may occur. Should Buyer<br />
purchase or use <strong>Freescale</strong> <strong>Semiconductor</strong> products for any such unintended or<br />
unauthorized application, Buyer shall indemnify and hold <strong>Freescale</strong> <strong>Semiconductor</strong> and<br />
its officers, employees, subsidiaries, affiliates, and distributors harmless against all<br />
claims, costs, damages, and expenses, and reasonable attorney fees arising out of,<br />
directly or indirectly, any claim of personal injury or death associated with such<br />
unintended or unauthorized use, even if such claim alleges that <strong>Freescale</strong><br />
<strong>Semiconductor</strong> was negligent regarding the design or manufacture of the part.<br />
<strong>Freescale</strong> and the <strong>Freescale</strong> logo are trademarks of <strong>Freescale</strong> <strong>Semiconductor</strong>, Inc.<br />
All other product or service names are the property of their respective owners.<br />
© <strong>Freescale</strong> <strong>Semiconductor</strong>, Inc. 2005. All rights reserved.