introduction
Blood pressure is an extremely important health indicator. The accuracy of blood pressure measurement is directly related to people's health. The state has listed sphygmomanometers as mandatory measurement instruments. The mercury sphygmomanometers used in general hospitals are based on the artificial Korotkoff sound method. This method has some inherent disadvantages: first, the speed of deflation has a direct impact on the reading. The international standard deflation speed is 3 to 5 mmHg per second, and different doctors deflate at different speeds, which will affect the accuracy of the measurement; second, this method is based on human vision, hearing and coordination, and is difficult to standardize. For this reason, this design starts with the blood pressure detection method, using the high-speed, low-power MN101EF32D microcontroller from Panasonic Corporation of Japan as the core of the sphygmomanometer measurement, control, data reading and writing, and data display, and can accurately measure blood pressure using the oscillometric method (oscillation method).
working principle
The oscillometric method (oscillation method) determines blood pressure based on the amplitude change envelope of the pressure oscillation wave of the cuff during the decompression process. At present, the more consistent view is that when the amplitude of the cuff pressure oscillation wave is the largest, the pressure of the cuff is the average pressure of the artery. The systolic pressure of the artery corresponds to the first inflection point of the amplitude envelope, and the diastolic pressure corresponds to the second inflection point of the envelope.
hardware design
The basic working principle of the system is shown in Figure 1. The voltage signal output by the pressure sensor is first filtered by a low-pass filter, and then the operational amplifier circuit converts the signal into an input signal suitable for the microcontroller. Finally, the analog sampling signal is converted into a digital quantity by the MN101EF32D microcontroller. The program performs digital filtering and analysis on the collected data, and calculates the two key indicators of human blood pressure, "diastolic pressure" and "systolic pressure". After that, the microcontroller immediately stores the data in the external memory and displays these important data on the LCD.
Introduction to sensors and design of their peripheral circuits
The sensor used in this sphygmomanometer is MPS-3100-006G piezoresistive pressure sensor, which is a Whitman bridge composed of four equal resistors. Its output voltage is proportional to the input pressure. Ideally, when the pressure is input, the resistance value changes accordingly, but in fact, the change of temperature will also affect its resistance output result. In addition, due to the errors in crystal and circuit design and production, as well as the influence of packaging process, the zero point offset is not zero. Therefore, individual temperature compensation circuit correction must be performed by external components. Its important indicators are as follows:
a. Sensor measurement range: 5.8~15 PSIG
b. Operating temperature range: 40~85 ℃
c. Driving current: 1.5~3mA
d. Driving voltage: 5~15V
e. Zero drift: ?25~25mV
f. Resistance temperature coefficient: 0.2%/℃
Because the blood pressure signal is taken from the arm, the measured signal is easily disturbed by the position of the cuff and the movement of the arm. According to these professional characteristics, the system is required to have high input impedance, high gain, high common mode rejection ratio, low noise and low drift. As shown in Figure 2, T1 in the figure is the MPS-3100-006G piezoresistive pressure sensor. The entire circuit first converts the pressure signal into a voltage signal, and then amplifies and filters it. In the figure, U1 and U2 are active op amps LM324, which have high input impedance. After the signal of the pressure sensor is amplified, the closed-loop gain of the op amp is changed by adjusting the size of VR1 to adjust it to the voltage input range of the A/D. The U1 op amp circuit is used to measure the pressure in the cuff, and the measured data is used for MCU analysis and control of the speed of inflation and deflation of the cuff. In addition, the U2 op amp circuit amplifies the AC signal isolated by the C11 capacitor, and this circuit measures the pulse wave of the human body. The collected data of the two circuits constitute the important calculation parameters of various indicators of the sphygmomanometer.
Features of MN101EF32D
MN101EF32D is a product launched by Panasonic in early 2008. The MN101Exx series 8-bit microcontroller combines multi-functional peripheral functions, has a flexible and optimized hardware structure, a simple and efficient instruction system, and fully realizes economy and high speed.
The MN101E32D microcontroller has built-in 64KB Flash, 4KB RAM, 6 external interrupts, 20 internal interrupts (including NMI), 9 timer counters, 3 serial interfaces, 8-channel A/D converter, 32×4 segment LCD driver, watchdog timer, single system data automatic transmission function, synchronous output function, buzzer output and other peripheral functions. The minimum instruction execution time can reach 50ns, and the package is 64-pin LQFP. The functions of the MN101EF32D used in this blood pressure monitor are as follows:
a. 10-bit A/D sampling, used for static pressure and pulse wave measurement.
b. LCD display controller directly drives a 23*4 segment LCD to display the measurement process and results.
c. Timer function, used to time A/D sampling data and calculate automatic shutdown time.
d. Use digital signal processing technology to process the A/D sampled signal, mainly including digital low-pass filtering and related calculations.
e. The power is turned on by hardware control, and the power is turned off by software control. When shutting down, except for the voltage regulator module, other chips are in a power-off state, and the power consumption is extremely low.
f. When measuring, you can choose mmHg and Kpa as the main display mode, with high measurement accuracy, reaching 1mmHg for static and 3mmHg for dynamic. Since ferroelectric memory is used as the storage medium, the data can be stored for a long time.
Hardware connection between MN101EF32D and external serial ferroelectric memory
When selecting external memory, considering the need to repeatedly erase and write the set working parameters and important information measured for a long time, and save a large amount of historical data, a large capacity static memory must be used to write as much data information as possible and ensure that the data is not lost after power failure. Due to the design process of EEPROM itself, the life is limited and the writing time is long, so it is not suitable for battery-powered systems. The data that the sphygmomanometer needs to save are designed to be systolic pressure (2 bytes), diastolic pressure (2 bytes), average pressure (2 bytes), pulse (2 bytes), time of each record (5 bytes), etc. Each measurement requires 13 bytes to store data. Assuming that 4 measurements are taken per day, 13×4=52 bytes are required. The sphygmomanometer needs 364 bytes to store data for 7 days, so the "Ferroelectric" 24cL04 is selected. When the sphygmomanometer is turned on, the microcontroller simulates the SCL of the IIC bus at its PA0 port and inputs it to the SCL pin of the external memory 24cL04. At the same time, the PA1 port exchanges data with the SDA port of the 24cL04 to display useful data on the LCD.
Power processing module and its related circuit design
This blood pressure monitor uses two No. 7 batteries as the power input. In order to achieve better power supply quality, the DC/DC boost chip RN5RK331A is selected in this circuit to increase the voltage of about 3V formed by two 1.5V No. 7 batteries connected in series to 3.3V, which is used to supply power to the analog circuits in the system and also as the positive power supply for the digital circuits to the MCU (as shown in Figure 3). Considering that if the air pump and air valve directly share a power supply with the analog circuit and digital circuit, it will introduce relatively large interference, thereby affecting the normal operation of the pressure sensor, operational amplifier and MCU, the air pump and air valve are designed not to be connected to other devices and are directly powered by batteries. [page]
In addition, the important data collected by the sphygmomanometer are the cuff air pressure amplified by the operational amplifier and the pulse wave after DC isolation. Since they are obtained by amplifying tiny signals, the design of A/D conversion is also extremely important. The system adopts intelligent inflation measurement and automatic pressure reduction, and measures during the pressure reduction process. Since the power supply fluctuates when the air valve works to reduce the pressure, if the system power supply is directly used as the reference voltage of A/D, it will inevitably cause errors in the measurement. The LM385 of National Semiconductor is used as the voltage reference of A/D conversion and connected to the VREF+ pin of the chip to ensure the accurate conversion of the collected data.
Design of LCD display module
As shown in Figures 4 and 5, in order to make it more convenient and simple for users to use this system, LCD display is used.
Panasonic's MN101EF32D chip has a built-in LCD driver module that can directly drive the LCD. First initialize the LCD mode control register 1 (LCDMD), which is an 8-bit register used to specify the LCD clock, LCD display ON/OFF, display duty cycle, etc.
System software design
The main process of the software is as follows:
After power-on, the system is initialized first. The microcontroller starts to power the air pump, allowing the cuff to quickly inflate to about 30 mmHg above the systolic pressure of the subject. After that, the microcontroller starts to collect the air pressure of the cuff through one A/D channel, and controls the exhaust valve to exhaust according to the speed of the air pressure drop in the cuff, so that the pressure in the cuff drops at a uniform rate (3~5 mmHg/s). At the same time, another A/D channel starts to collect the pulse wave that passes through the isolation. When the amplitude of the pulse wave is the largest, the pressure of the cuff is the average pressure of the artery. The systolic pressure of the artery corresponds to the first inflection point of the amplitude envelope, and the diastolic pressure corresponds to the second inflection point of the envelope.
The software is mainly divided into the following three important modules:
1) Constant speed voltage reduction control module
Although the air valve has the feature of automatic slow deflation, in order to quickly inflate the cuff to about 30mmHg above the systolic pressure of the subject and then reduce the pressure at a uniform rate (3~5mmHg/s), the ordinary processing method cannot be used, because the entire measurement process is easily affected by external vibrations, such as artificial vibration of the cuff, vibration of the trachea, human body movement, etc. In addition, the rigidity of the trachea will also affect the slight change of the air pressure in the cuff. Therefore, the speed of pressure reduction in the cuff is nonlinearly related to the frequency of the air valve switch.
This design uses the PID algorithm to control the opening and closing time of the air valve to ensure that the cuff drops the pressure at a constant speed of 3~5mmHg/s. Due to the limitations of the processing speed and RAM resources of the single-chip microcomputer, floating-point operations are not used here. Instead, all parameters are integers, and finally divided by 2N (equivalent to shifting) to perform similar fixed-point operations, which can greatly improve the operation speed. Finally, the value is assigned to the timer to control the opening time of the air valve, thereby ensuring a constant speed of pressure reduction.
The setting and adjustment of the three basic parameters Kp, Ki, and Kd in the PID algorithm are relatively difficult. According to the working principles of these parameters, the adjustment methods are summarized as follows:
1. The pressure drops to the target value quickly, but the pressure drops too much:
a) The proportionality factor is too large;
b) The differential coefficient is too small;
2. The pressure drop does not reach the target value:
a) The proportionality coefficient is too small;
b) The integral coefficient is too small;
3. It can basically be controlled on the target, but the deviation is large and fluctuates frequently.
a) The differential coefficient is too small;
b) The integral coefficient is too large;
2) Signal processing module
The blood pressure meter has two measurement signals. The signal of the MPS-3100-006G pressure sensor is first low-pass filtered to eliminate the error of the signal reading caused by external interference, and then amplified and sent to AD1 as a static blood pressure signal; after being isolated, it is amplified again and sent to AD2 as a pulse wave signal. Since the A/D of MN101EF32D is 10 bits, the highest accuracy can reach 1/1024. In order to maximize the sampling speed of A/D conversion, interrupts are used to realize data processing after A/D conversion. When the A/D conversion is completed, in the interrupt program, the anti-pulse interference moving average method is used to realize simple and effective digital filtering to make the measurement more accurate. The specific method is to perform 5 A/D conversions continuously in a timed interrupt, remove the maximum and minimum values, and calculate the arithmetic mean of the remaining 3 data, which is used as the A/D conversion result this time.
3) Blood pressure calculation module
After the cuff pressure and pulse wave are processed by the signal processing module, the data shown in Figure 6 are obtained. The lower part of the figure is the pulse wave of the subject, and the upper part is the cuff pressure during the pressure increase and pressure decrease process of the sphygmomanometer. On this basis, the signal is analyzed for the calculation of systolic pressure, diastolic pressure, mean pressure and heart rate. The microcontroller has stored the peak value of each pulse wave and the interval time of each pulse wave during the measurement process.
The systolic pressure criterion is determined by the maximum amplitude method, that is, during the deflation process, when the ratio of the amplitude Ui of a pulse wave to the maximum amplitude Um (mean pressure) is just greater than Ks, the corresponding cuff pressure is considered to be the systolic pressure.
Ps=P/Ui=Ks*Um
The diastolic pressure criterion is also determined by the maximum amplitude method, but in the descending section of the pulse wave amplitude envelope, when the ratio of the amplitude Ui of a pulse wave to the maximum amplitude Um (mean pressure) is just less than Kd, the corresponding cuff pressure is considered to be the diastolic pressure.
Pd=P/Ui=Kd*Um
First use the empirical parameters Ks = 0.54 and Kd = 0.72 to calculate, and then make corrections after testing.
Heart rate is the period of pulse wave, which is also the arithmetic mean.
in conclusion
The blood pressure monitor based on the MN101EF32D single-chip microcomputer makes full use of the functions of the chip itself, and has the characteristics of simple circuit, low power consumption, single power supply requirement, high precision and strong practicality, and has broad market prospects.
Previous article:DC bias technology based on digital potentiometer [Figure]
Next article:Interface circuit for reading blood pressure meter display into single chip microcomputer
- Popular Resources
- Popular amplifiers
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Download from the Internet--ARM Getting Started Notes
- Learn ARM development(22)
- Learn ARM development(21)
- Learn ARM development(20)
- Learn ARM development(19)
- Learn ARM development(14)
- Learn ARM development(15)
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- ON
- Why are PCBs mostly green?
- [GD32L233C-START Review] 5. UART+DMA receives variable length data
- 【TI Course】What is the resolution within 5 meters?
- Class AB amplifiers are replaced by Class D amplifiers
- Design of Internet Radio Based on RVB2601
- About MSP430 MCU serial communication data loss
- ccs5.5 printf console output cannot be displayed
- How to lay out the multi-rail power supply design of the application circuit board
- Made a power module with LM317