Remote home medical care abroad focuses more on remote "doctor visits". Individuals/patients can communicate with doctors in real time through voice and image information at home, and can detect human physiological signals online and give diagnoses. This system is based on the video conferencing system, but it is still difficult to popularize in my country. The first reason is that the system is too expensive and ordinary families cannot afford it; the second reason is that it is limited by the bandwidth of the communication channel. Foreign countries generally use the Integrated Services Digital Network (ISDN), while my country now popularizes the ordinary telephone system (POTS) to families. Although two-way video transmission can be achieved through this, it is difficult to meet the requirements of remote medical care in terms of image resolution and the number of frames per second. Remote monitoring, as one of the important contents of remote medical care, only transmits human physiological signals, and the required communication speed can be met by ordinary telephone lines. Therefore, considering that the number of Internet users in my country is increasing year by year, the development of remote monitoring is more in line with my country's national conditions.
System structure and function
The system is designed with B/S (Browser/Server) mode. The biggest advantage of using this mode is that it reduces the development workload and is relatively easy to operate and maintain. The introduction of B/S mode into embedded network design has changed the past practice of developing both the upper and lower computer hardware and software at the same time. Now, it is only necessary to integrate a micro server in the embedded device of the lower computer (server side), design the web page module using HTML (Hypertext Markup Language), and then use IE and other browsers on the upper computer (browser side) to receive and parse this template, thus providing users with a work interface with good visual effects and convenient operation.
First, based on the ARM9 processor S3C2410A and the embedded Linux operating system, a development platform supporting the embedded Web Server is designed. Then, by transplanting the embedded Web Server-boa and coordinating with modules such as data acquisition and processing, a portable remote medical monitoring terminal suitable for the family is constructed. In the monitoring terminal, the human ECG signal is picked up by the standard three-lead method using the bioelectric guidance electrode, and transmitted to the signal conditioning module through the lead wire. After filtering and amplification by the module, the primary bioelectric signal is obtained, and then sent to the Web server module through the ADC pin of the S3C2410. After various calculations and analyses in this module, the ECG signal is obtained to reflect the characteristics of the heart. The LCD displays the ECG waveform and the patient's personal information in real time, and the ECG signal is stored in the off-chip Flash ROM. The terminal is connected to the Ethernet through the Ethernet port to realize remote interaction with the monitoring center. The system block diagram is shown in Figure 1.
Figure 1 System Block Diagram
Hardware circuit design
Signal conditioning circuit module
The detection of ECG signals belongs to the detection of weak signals under strong noise background. The signals have the characteristics of weak, low frequency, high impedance, instability and randomness. The main frequency range of this signal is 0.05~100Hz, and the amplitude range is 0.5~5mV. The weak ECG signal is also subject to various interferences, and its characteristics are submerged in complex signals. In addition, since the bioelectric guidance electrode will generate polarization voltage when it contacts the human body when picking up the human body's electrical signals. Therefore, in order to meet the detection requirements, the signal conditioning circuit must better suppress various interferences and amplify the ECG signal without distortion. In this design, the signal conditioning circuit module mainly includes the front-end circuit, the signal amplification circuit and the trap circuit. The circuit block diagram is shown in Figure 2.
Figure 2 Signal conditioning circuit block diagram
Front-end circuit
As the first stage of the signal conditioning circuit, the front-end circuit mainly functions to suppress interference noise in the environment and improve the common-mode rejection capability of the preamplifier. The buffer amplifier is generally implemented using a voltage follower. Its buffer isolation function reduces the excessive requirements of the biological signal source on the amplifier, improves the input impedance of the circuit, and reduces the attenuation and matching distortion of the ECG signal. The use of the shield layer drive circuit can better remove the influence of the unequal attenuation of the distributed capacitance of the lead wire shield layer on the total CMRR (common-mode rejection ratio) of the amplifier. Since the human body can pick up the industrial frequency 50Hz AC voltage from the environment through various channels, AC common-mode interference is formed in ECG measurement. This interference is often more than several volts. The use of the right leg drive circuit can reduce the 50Hz common-mode interference voltage to less than 1%. The circuit diagram is shown in Figure 3.
Figure 3 Front-end circuit
Signal amplifier circuit
The signal amplification circuit adopts two-stage amplification, as shown in Figure 4. The differential amplifier U805 is the pre-stage, and the in-phase amplifier U809 constitutes the second stage. According to the characteristics of ECG signal detection, the amplifier is usually required to have high input impedance, high common-mode rejection ratio, low noise, low drift, small nonlinearity, suitable frequency band and dynamic range performance. The input resistance of the preamplifier is generally required to be >2 megohms. The larger the input resistance, the smaller the waveform distortion caused by the different electrode contact resistance, and the higher the common-mode rejection ratio. Due to the existence of polarization voltage, in order to prevent the preamplifier from working in saturation or cutoff area, the gain of the pre-stage cannot be too high. Experiments show that the effect of amplification of about 10 times is better. Therefore, the instrument amplifier MAX4196 is selected. The chip can be powered by a single power supply, with a minimum power consumption of 8mA, a common-mode rejection ratio of 115dB, an input offset voltage of 50mV, a -3dB bandwidth of up to 250kHz, an input impedance of 1000MW, and a fixed gain of 10 (V/V).
Figure 4: Two-pole amplifier and filter circuit
The total common-mode rejection ratio of the preamplifier section is:
in:
Formula amplifier closed loop differential mode gain, Ac: common mode gain, CMRRD: value of the op amp itself; CMRRR: CMRR limited by the external circuit resistance matching accuracy, d: resistance accuracy. Therefore, in the circuit, the external circuit resistance R812=R813 must be accurately matched to make the common mode output smaller.
The main amplifier uses MAX4197 (with the same characteristics as MAX4196), and its gain is fixed at 100 (V/V). The total amplification factor of the signal conditioning circuit is 1000 times. In Figure 4, capacitor C805 has the function of removing polarization voltage, and forms a high-pass filter circuit with resistor R820 to suppress DC drift and low-frequency noise outside the amplifier passband.
Trap circuit
Power frequency interference is the main interference of ECG signal. Although the front-end circuit and preamplifier have strong suppression effect on common mode interference, some power frequency interference enters the circuit as differential mode signal, and the frequency is within the ECG signal band. In addition, due to the instability of electrodes and input circuits, the ECG signal output by the front-end circuit still has strong power frequency interference, so it must be filtered out. This design uses an infinite gain multi-path feedback second-order notch filter, and the circuit is shown in Figure 5.
Figure 5: Trap circuit
Embedded Web Server Module
Considering that this system is positioned for home use and the system needs to work continuously for a long time, and because the system requires a good human-computer interaction environment, storage of large amounts of data, and support for network communication, the processor is required to have low power consumption, low cost, rich interfaces, and support for operating systems. This design uses the ARM9 processor S3C2410A, which is mainly aimed at handheld devices and cost-effective, low-power applications. Its CPU core uses ARM's 16/32-bit ARM920T RISC processor. ARM920T implements MMU, AMBA bus, and Harvard cache architecture, which has an independent 16KB instruction cache and 16KB data cache. The on-chip functions integrated in S3C2410A mainly include: 1.8V/2.0V core power supply, 3.3V memory power supply, 3.3V external I/O power supply; external memory controller; LCD controller provides 1-channel LCD dedicated DMA; 8-channel 10-bit ADC interface with a maximum conversion rate of 500KSPS (Kilo Sample Per Second); 117-bit general I/O port and 24-channel external interrupt source; power control modes include normal, slow, idle and power-off modes; support NAND Flash boot loading.
The consideration of ECG signal sampling accuracy is mainly due to the requirement of ST segment abnormality analysis and processing. The ST segment level changes by about 0.05mV, so the sampling accuracy is at least 0.025mV. When a 10-bit A/D converter is used to work in positive polarity and the full-scale voltage is 2.5V, the minimum resolvable input voltage is 2.5mV, and the signal conditioning circuit amplification factor is 1000 times, then the minimum resolution of the input end is about 0.0025mV, so the 10-bit A/D accuracy of S3C2410A fully meets the system requirements.
In order to enable users to observe the ECG intuitively and control the equipment conveniently, the design uses the TFT color screen YL-LCD35 kit of Donghua Company for the human-computer interaction interface. In order to meet the requirements of porting the operating system and storing ECG signals, web pages and other data, the system has expanded 64M NAND Flash (using one K9F1208UOB) and 64M SDRAM (using two HY57V561620). In order to meet the needs of terminal networking, CS8900A is selected for the design of network adapter. CS8900A is a real single-chip, full-duplex Ethernet solution product. What's more convenient is that the driver of CS8900A adapter is provided in the Linux kernel.
Power supply
In order to increase safety, reduce power consumption and save costs, the design uses a 9V alkaline battery for power supply. The power conversion chip AS1117-3.3 converts 9V to 3.3V for the amplifier chip and S3C2410.
software design
Software design mainly includes Linux transplantation, embedded Web Server-Boa transplantation, CGI (Common Gateway Interface) program design, and functional program design.
Figure 6 System software block diagram
Linux porting
This design uses the linux-2.4.18 kernel. The premise for correct Linux transplantation is to have a bootloader that is compatible with Linux and easy to use, which can correctly complete the initialization of the hardware system and the booting of Linux. This system uses vivi, which is a bootloader for the S3C2410 chip provided by MIZI Company of South Korea.
The directory /arch of the Linux kernel contains all kernel porting codes related to the hardware architecture. Each subdirectory in the directory /arch represents a processor supported by Linux. Porting Linux to the S3C2410 platform mainly involves modifying the relevant makefile files and configuration files in the /arch/arm directory and its subdirectories. For example: modify the Makefile file in the kernel root directory to indicate that the hardware platform to be ported is ARM: ARCH:=arm, and indicate that the cross compiler used is CROSS_COMPILE=/opt/host /armv41/bin/armv41-unknown-linux-; modify the config.in file in the arm/arm directory to configure the relevant information of S3C2410; to initialize the processor, you also need to add the head-s3c2410.s file in the arch/arm/boot/compressed directory. After the kernel modification is completed, use the command make menuconfig to configure Linux, and then use the make zImage command to compile the kernel. After the compilation is successful, the zImage kernel file is generated in the directory arch/arm/boot, and the tool software MKCRAMFS is also required to create a cramfs file system. Finally, use the load command in the vivi command line of the minicom terminal to download the kernel and file system to the target system. The transplantation is now complete.
Transplantation of Boa and CGI Programming
Since embedded devices have limited resources and do not need to respond to multiple user requests at the same time, some special Web servers are generally used for embedded application design. Boa is a single-task web server with open source code, high performance, support for CGI, and can fork a process for CGI program to execute. Its design goals are speed and security, and the executable code is only about 60KB. The process of porting Boa is as follows: download boa-0.94.13 from sourceforge.net, generate and modify the makefile file in its decompressed directory, and then run make to get the executable program. Use the command armv4l-unknown-linux-strip to strip the debugging information, and then modify Boa's configuration file boa.conf to support the operation of CGI programs. Finally, mount the generated executable program Boa to the target system. If you can successfully access the static HTML web page and run the CGI program for testing, it means that the configuration is successful.
Common Gateway Interface CGI can connect Web servers to external applications. It mainly completes two tasks: one is to collect information sent from Web browsers to Web servers and provide this information to external programs for use; the other is to send the output of the program to the Web browser that made the request. CGI has the advantages of platform independence, language independence and hierarchy. CGI programs can be used to execute and output dynamic information in real time, and they occupy less resources. The execution process of CGI programs is as follows: the browser submits the form data to the Web server using the POST method. The server sets the environment variables according to the received data and opens a new child process to execute the CGI program. The CGI program reads the required data from the environment variables, completes the data processing by calling the user-defined external function, and then reads the corresponding HTML template file, fills the corresponding data into the HTML file according to the comment mark, generates a new HTML page and returns it to the browser through the Web server.
In order to quickly develop CGI programs that meet application requirements, CGIC library and gd library were added during the design. CGIC is a powerful open source standard C library that supports CGI development. The gd library written by Thomas Boutell is a standard C language library with basic drawing functions. In order to realize the dynamic display of ECG waveforms on the web page, the data collected each time is processed by the functional program and stored and sent to the CGI program, and the functions provided by the gd library are used to create images. By setting the refresh time on the web page module (using the META tag of the HTML language), the dynamic display of ECG waveforms on the web page can be realized.
Main program design
The main program first completes the initialization of the system, and then blocks and listens to whether there is a connection request on the network interface. Once the client sends a connection request, an interrupt is generated on the server side; read the network data, and then parse the network data. This step is mainly to parse the HTTP protocol. It is necessary to determine whether the connection request conforms to the request format specified by the server, determine whether it is the request method of the connection request, determine whether the requested file exists on the server, determine whether the authentication information is correct, etc.; in the process of processing the A/D collected data, the collected ECG signal must first be filtered, mainly to suppress the 50Hz power frequency interference in the ECG signal. After filtering, the data is sent to the local LCD for display, and the current data is sent to the network port in the format of web page data.
Conclusion
The design of this system is positioned for home medical monitoring. By integrating a Web server into an embedded system for monitoring physiological characteristics information to achieve Internet access, a remote home medical monitoring system is realized. Its significance lies in: designing a low-cost and easy-to-promote remote home medical monitoring system to change the current backward situation of home medical monitoring in my country; effectively improving the monitoring level of chronic diseases such as cardiovascular diseases in the middle-aged and elderly population, which is conducive to improving the overall treatment rate of patients with sudden diseases in the middle-aged and elderly population; providing medical institutions with a large amount of valuable original data on diseases in the middle-aged and elderly population in my country for scientific research.
Previous article:Implementation of real-time speech recognition system in home monitoring robot
Next article:NXP and Sonova team up to develop next-generation hearing aid platform
- Popular Resources
- Popular amplifiers
- High-speed 3D bioprinter is available, using sound waves to accurately build cell structures in seconds
- [“Source” Observation Series] Application of Keithley in Particle Beam Detection Based on Perovskite System
- STMicroelectronics’ Biosensing Innovation Enables Next-Generation Wearable Personal Healthcare and Fitness Devices
- China's first national standard for organ chips is officially released, led by the Medical Devices Institute of Southeast University
- The world's first non-electric touchpad is launched: it can sense contact force, area and position even without electricity
- Artificial intelligence designs thousands of new DNA switches to precisely control gene expression
- Mouser Electronics provides electronic design engineers with advanced medical technology resources and products
- Qualcomm Wireless Care provides mobile terminal devices to empower grassroots medical workers with technology
- Magnetoelectric nanodiscs stimulate deep brain noninvasively
- 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
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- [ESP32-S2-Kaluga-1 Review] Development Environment Selection and Construction
- Do foldable electronic devices make sense?
- Qorvo and UWB AOA to develop together
- [TI recommended course] #MSP430 capacitive touch technology- waterproof Demo demonstration#
- FPGA Advanced Timing Synthesis Tutorial.pdf
- MOSFET selection for USB PD+TYPE-C fast charging power supply
- About CRC check
- AX5201 is used as an LED driver circuit with 4.5V input and 12V output, and it is likely to be damaged.
- How to deal with impedance continuity of PCB traces?
- FPGA Design Tips