Development of a multi-parameter physiological monitor based on a portable microcomputer

Publisher:ByteChaserLatest update time:2011-07-25 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

Preface

The multi-parameter weight monitor can provide important patient information for medical clinical diagnosis. It can detect important parameters such as the human body's ECG signal, heart rate, blood oxygen saturation, blood pressure, respiratory rate and body temperature in real time, and realize the supervision and alarm of each parameter. Information storage and transmission is an important device for monitoring patients, but the current domestic monitors generally have a single function, mostly CRT display, large size, inconvenient to move, and have shortcomings.
This portable microcomputer parameter physiological monitor has multiple detection parameters, compact design, small size, and is easy to carry. It can be used in wards and outdoors. It can detect important vital characteristic parameters of patients regularly, continuously, and for a long time. It has important clinical use value in ensuring the life safety of patients.

How it works

1. System working principle

The host of the portable microcomputer multi-parameter physiological monitor is composed of two 16-bit microcontrollers 80C196.

The system converts biomedical signals into electrical signals through the signal detection and preprocessing module, and performs preprocessing such as interference suppression, signal filtering and amplification. Then, the data extraction and processing module performs sampling and quantification, and calculates and analyzes each parameter. The result is compared with the set threshold, and a supervisory alarm is issued. The result data is stored in RAM in real time and can be transmitted to a PC in real time, where the value of each parameter can be displayed in real time.

2. System structure

The system principle block diagram is shown in Figure 1. The monitor consists of two single-chip microcomputers forming a dual CPU system.

Single-chip microcomputer 1 completes the signal detection, processing, and data storage of body temperature, ECG waveform, and pulse shape, and displays and alarms each waveform and parameter on an LCD screen.

The single chip computer 2 is responsible for the time-consuming blood pressure measurement and blood oxygen saturation detection so as not to affect the normal operation of the whole system. It is also responsible for the determination of heart rate and respiratory rate.

The information exchange between the two single-chip microcomputers is carried out through an 8-bit parallel port, and the communication control is realized by two I/O ports. Specifically, the P1 port is used in conjunction with two high-speed input and output I/O ports (HIS.0, HSO.0) for data transmission between the two single-chip microcomputers. This continuous mode between two machines belongs to a loosely coupled multiprocessor system (reference 8), which is relatively simple in hardware implementation. It only needs to design the necessary communication protocol and data transmission method for its communication mode during software programming.

3. System hardware design

(1) The system uses EEPROM 28C64 as program memory and a non-volatile static memory (NASRAM) as data memory. NASRAM has the advantages of static memory and non-volatility. The non-volatility means that the memory chip can correctly save all data for up to 10 years in the event of a power failure. The non-volatility of the chip can achieve power failure data protection without providing a power failure backup power supply for the chip.

(2) Liquid crystal display module

In order to display the ECG waveform, pulse waveform and other physiological parameters with sufficient resolution, the system uses a graphic LCD screen. In order to reduce the size of the instrument and achieve low system cost and low power consumption, a monochrome LCD screen specially suitable for portable monitors is selected.

The display screen is a Hitachi LMG70520XNGR LCD screen with a dot matrix of 640×200 and a dot size of 0.22×0.30. Its driving power supply is +5V and -20~-21V, and the power consumption is only 8mW, which can meet the requirements of this system.

To control the display of the display screen, we selected the display controller SED1330 suitable for the display screen. This chip is used for computer instructions and data, and generates corresponding timing and data to control the display of the LCD screen. The controller has its own RAM and manages the display buffer by itself. It transmits 8-bit data in parallel with the CPU and 4-bit data in parallel with the display screen.

(3) Keyboard input module

The function keys of the system are designed to be input in interrupt mode. When any function key is pressed, a keyboard interrupt is generated, and the CPU executes the interrupt program, reads the key code, and performs the corresponding operation; when no key is pressed, the CPU's running time is not occupied, which improves the CPU's operating efficiency.

The keyboard uses two 74LS373 chips to form a matrix software encoding keyboard, and the keyboard part is directly connected to the bus of the single-chip computer 1. It does not occupy the single-chip computer I/O port line, nor does it need to expand the system I/O port for this purpose, which can reduce the system power consumption.

By assigning the corresponding I/O address to the keyboard, the key code can be obtained by reading and writing the address. The hardware implementation is simple and the software programming is convenient.

(4) Power supply system

Based on the consideration of low power consumption and portability, the system is powered by batteries and external AC-DC converters. The design uses three 1.5V batteries. The voltage provides +5V voltage to the system through a voltage regulator. At the same time, a DC-DC voltage converter is used to convert the +5V voltage to -18~-24V voltage to provide it to the LCD display.

Batteries were chosen as the power source based on the following considerations: high output capability, compact structure, standard size, and low price.

(5) Peripheral device control

The chip select signals of the peripheral devices of the system are generated by decoding the address signals latched by 74LS373 chip GAL16V8C. The GAL chip is a programmable logic array. By programming its pins, it is used as a decoder to select the chip according to the 8-bit address of the high byte of the P4 port. It is easy to program and flexible to use. In addition to being used as a decoder, the system is also used as a switch to control the air pump and air valve in the single-chip microcomputer 2.

By writing "0" or "1" to the I/O port address assigned to the air pump or valve through the cluster, the output pins OUT1 and OUT2 will be low or high. This level will be maintained until "1" or "0" is written to the same address again. In this way, the air pump or valve switch can be controlled regularly.
4. System software design

The main features of the system software are that it takes real-time data as the core, and takes function independence and structural modularization as the software design mode. The system development adopts a structured software development and design method of module division from top to bottom and hardware function encapsulation from bottom to top. This system uses C96 language for software system development.

(1) Data collection procedures

Data collection is the most important issue for the entire system. How to realize data collection, ensure the real-time nature of data collection, and efficiently collect data, occupy as little system resources as possible in the shortest possible time is an important factor in ensuring the real-time nature of system processing when multiple parameters are monitored simultaneously.

In software design, we use hardware timers and software timers to perform timed interrupts and design multi-channel, multi-sampling point data acquisition processes. Since human physiological signals change slowly, this method can ensure high-precision, real-time data acquisition.

(2) LCD display control

The realization of the system display function is actually the programming control of the display controller SED1330. The SED1330 controller has 15 instructions including system control, display operation, drawing operation, storage operation, etc.

When programming the system display module, we used C96 language to classify, combine and encapsulate the instruction functions of SED1330, and compiled a basic display control chart function library. By calling sub-functions, complex human-machine interface programming is very convenient.

The designed sub-functions are as follows:

lnitCD(); /*Initialize SED1330*/
ClearDispBufffer(); /*Clear the display buffer*/
ChooseScreen(screen); /*Select the display buffer*/
SetCsrAbsAddr(addr); /*Set the absolute cursor position*/
SetCsrDir(dir); /*Set the cursor movement direction*/
PutChar16xy(x,y,data); /*Display a 16×16 font*/
SetPutPixel(x,y); /*Display a dot on the display*/
H_line(x1,x2,y,linestyle); /*Draw a horizontal line*/
V_line(x1,y1,x2,y2); /*Draw a vertical line*/
lnvert(x1,y1,x2,y2); /*Reverse the rectangular area*/
Clear(left,top,right,bottom); /*Clear the rectangular area*/
Some examples of LCD display subroutines are as follows:
# include "80c196.h"
# include "data.dat"
# include "init.c"
# define UP 0x4e
# define DOWN 0x4f
# define LEFT 0x4d
# define RIGHT 0x4c
# define AP 80
# define SA1 0
# define SAD2 0x3e80
# define Max_X 640
# define Max_Y 200
# define ECQ_Y 128
# define PLUSE_Y 50
# define NORMAL ox4f
# DOT_1 0xaa
# define DOT_2 0x66
unsigned char * comm_reg;
unsigned char * pram_reg;
unsigned int_sad;
/************************/
/* var screensvalue is:1 or 2.*/
ChooseScreen(screen)
Unsigned char screen;
{
switch(screen){
case 1:
_sad=SAD1; break; define;
case 2:
_sad=SAD2;break;
defaulf:
_sad=SAD1;}
}
/*************************/
lnitl_CD()
{
* comm_reg=0x40; /*SYSTEM SET */
* pram_reg=0x34;/P1 CGRAM font dot array(now is:8x16)*/
* pram_reg=0x87; /*P2 */
* pram_reg=0x07;
* pram_reg=80;
* pram_reg=93; /*P5 93 */
* pram_reg=200;
* pram_reg=80; /*P7 */
* pram_reg=0; /*P8 */
* comm_reg=0x44; /*SetSooll() */
/*set SAD1 */
* pram_reg=0x0; /*P1 */
* pram_reg=200; /*P3 */
/* set SAD2 */
* pram_reg=0x80; /*P4 */
* pram_reg=0x3e;
* pram_reg=200; /*P6 */
/*set SAD3 */
* pram_reg=0x00; /*P7 */ * pram_reg =
0x7d; /*P8 * /
/*set SAD4 */

* comm_reg=0xf58; /*Set Display(OFF)*/ / * *pram_reg=0; */ * comm_reg=0x5d; / *SetCsrForm ()*/ * pram_reg=6; * pram_reg=0x86 ; * comm_reg=0x5a ;







* comm_reg=0x5b; /*SetOvlay */
* pram_reg=0x1c; /*three graphics display zone*/
* comm_reg=0x5c; /*SetCGRAM(addr)*/
* pram_reg=0xf0; /*turn off the CGAM */
* pram_reg=0;
* comm_reg=0x59; /*SetDisplay(ON)*/
* pram_reg=0x16;
ClearDispBuffer();
}
………………
When using the LCD display for display, the problem that needs to be solved is to clear the graphic discontinuity. The analog waveform is a continuous graphic, but the display screen is displayed with discrete points, which will cause the rapid rise and fall of the waveform to be discontinuous.

For this purpose, we designed a comparison subroutine. When the amplitude difference between two adjacent columns of points is greater than 2, all the points between the two points will be "lit up" to make the displayed graph continuous.

(3) Application of interrupt system

The realization of the functions of this system is mainly realized by the interrupt program, such as keyboard input interrupt, data acquisition interrupt, dual-machine communication, communication between upper and lower computers, etc. Interrupt services play an indispensable role in the entire system software.

This system also uses the PC's powerful features and the ability to process large amounts of information to transmit the data collected by the monitor to the PC through the RS-232 serial port. The PC stores and further processes the data, and displays parameters and trend graphs in various charts, providing a very friendly software interface for the operator.

Reference address:Development of a multi-parameter physiological monitor based on a portable microcomputer

Previous article:Design of a Low-Power Portable Medical Data Recorder Based on MAXQ2010
Next article:Design of emerging intelligent human heart rate detection device

Latest Industrial Control Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号