You are on page 1of 7

Electrocardigrafo Porttil usando plataforma NIOS II

Cindy Medina (1), Pal Quezada (2), Ronald Ponguillo (3)


Facultad de Ingeniera en Electricidad y Computacin (1) (2) (3)
Escuela Superior Politcnica del Litoral (ESPOL)(1) (2) (3)
Campus Gustavo Galindo, Km 30.5 Va Perimetral, Apartado 09-01-5863. Guayaquil, Ecuador (1) (2) (3)
ccmedina@espol.edu.ec(1), pequezad@espol.edu.ec (2), rponguil@espol.edu.ec (3)

Resumen

En este trabajo se muestra el diseo e implementacin de un electrocardigrafo Porttil usando


plataforma NIOS II. Este equipo es un prototipo con similares caractersticas al de un electrocardigrafo real,
donde se obtiene la seal cardaca mientras el paciente est en reposo y las almacena en una tarjeta SD.
Para la adquisin, procesamiento y visualizacin de la seal cardaca utilizamos la tarjeta de desarrollo NIOS II
Embedded Evaluation Kit basado en un dispositivo FPGA Cyclone III de Altera, en el que se ha diseado la
arquitectura de un mini-computador basado en el microprocesador NIOS II.
Este trabajo Electrocardigrafo Porttil usando plataforma NIOS II se ha desarrollado con las nuevas
tecnologas como son las FPGA de Altera debido a su versatilidad.

Palabras claves: Electrocardigrafo, Seal cardaca, FPGA, NIOS II

Abstract
In this paper we show the design and implementation of a portable electrocardiograph using NIOS II
processor. This device is a prototype with similar characteristics to commercial electrocardiograph, where the
cardiac signal is obtained while the patient is at rest and stored in SD card.
For the acquisition, processing and visualization of the cardiac signal we use the NIOS II embedded Evaluation Kit
development board based on Cyclone III FPGA device form Altera, in which the architecture was designed for a
mini-computer based on the NIOS II microprocessor.
This work Portable Electrocardiograph using NIOS II platform has developed witch the news technologies as
the FPGA from Altera due to its versatility.

Keywords: Electrocardiograph, Cardiac signal, FPGA, NIOS II.

1. Introduccin Touch Screen se puede visualizar la seal.

En nuestra sociedad el mal hbito alimenticio y la falta 2. Objetivos


de conciencia en el cuidado de la salud, han llevado a las
personas a tener problemas cardacos. 2.1 Objetivo Principal
Los equipos tales como el electrocardigrafo pueden
ayudar a los mdicos al diagnstico y deteccin de El principal objetivo es implementar un
problemas cardacos como taquicardia o bradicardia por electrocardigrafo basado en el microprocesador NIOS II,
medio de electrocardiogramas (ECG) con el fin de evitar capaz de almacenar los datos en una tarjeta SD y que pueda
enfermedades a futuro. ser visualizada en una LCD Touch Screen.
Actualmente muchas tecnologas estn basadas en los
dispositivos FPGA (Field Programmable Gate Array), por su 2.2 Objetivos Especficos
versatilidad y porque permiten a los usuarios programar de
acuerdo a sus requerimientos y necesidades. Disear la etapa de adquisin y acoplamiento de la
De la amplia familia de FPGA este proyecto se seal cardaca
desarroll con la tarjeta NEEK Cyclone III de Altera,
mediante su puerto de expansin captura los datos
digitalizados de la seal cardaca y a travs de su LCD
Aprender el funcionamiento de la tarjeta NEEK 3.1.1 Caractersticas del ECG
para el manejo de su puerto de expansin y la
pantalla Touch Screen. Las ondas caractersticas de un ECG son los voltajes
elctricos generados por el corazn durante un ciclo
Disear la arquitectura de la mini-computadora cardaco. [7]
basado en el microprocesador NIOS II. Onda P: Debido a la despolarizacin de las
aurculas.
2.2 Alcances Complejo QRS: Debido a la repolarizacin de las
aurculas y la despolarizacin de los ventrculos.
Lectura de la onda cardaca por medio de un Onda T: Corresponde a la repolarizacin
circuito electrnico. ventricular.
Onda U: El origen an es desconocido aunque
Digitalizacin de la seal cardaca. podra ser debida a la repolarizacin del sistema de
conduccin interventricular.
Los datos digitalizados son convertidos a un
voltaje adecuado para el puerto de expansin de la
tarjeta NEEK.

Clculo de la frecuencia cardaca a travs de un


cdigo en lenguaje c.

Los datos obtenidos del puerto de expansin, la


frecuencia y el posible diagnstico de alguna
anomala cardaca sern almacenadas en la tarjeta
SD.

2.3 Limitaciones
Figura 1. Onda cardaca normal de un ECG.
Debido a que solo tiene 8 bits de entrada el puerto
de expansin no se tiene una alta calidad de 3.2 Principales afecciones
resolucin de la seal.
El valor de la frecuencia cardaca puede variar en
Al no haber en el mercado local el integrado funcin del estado en que se encuentra o la edad que tenga el
AD620, se implement un circuito equivalente al paciente, cuyo valor ayuda al diagnstico de anomala
del amplificador de instrumentacin con iguales cardaca.
caractersticas.
Anomalas Frecuencia
Cardacas Cardaca(LPM)
3. Marco Terico
Ninguna 60 - 100
3.1 Electrocardigrafo Bradicardia < 60
Taquicardia > 100
Dispositivo que adquiere seales bioelctricas del
corazn. El registro y anlisis de estos eventos bioelctricos
Tabla 1. Anomalas cardacas.
son importantes desde el punto de vista clnico. Esta
actividad sincronizada, en la que intervienen muchas clulas
la cual puede registrarse mediante mtodos no invasivos, es 3.3 Tarjeta NEEK de Altera
decir, con el empleo de electrodos de metal colocados en la
superficie del cuerpo, de la que se obtiene el NIOS II Embedded Evaluation Kit Altera Cyclone III
electrocardigrafo (ECG) que es un registro grfico en Edition es una tarjeta de desarrollo que contiene una matriz
funcin del tiempo de la actividad elctrica del corazn. [] de puertas programables (FPGA), una tarjeta LCD
Nos suministra informacin sobre el corazn a travs de Multimedia y herramientas de desarrollo. Todo el sistema es
un ECG que se registran durante cada ciclo cardaco (latido) un sistema-en-un-chip (SOPC) diseado utilizando FPGAs
una serie de curvas u ondas por arriba o por debajo de una
lnea basal o nivel isoelctrico. Con la ayuda de un mdico
especialista se puede diagnosticar si el paciente tiene algn
problema o arritmia cardaca.
Tabla 2. Informacin sobre la tarjeta NEEK de Altera.

Caractersticas Descripcin
Cyclone III
FPGA EP3C25F324
EPM3128A CPLD
USB-Blaster para la
configuracin FPGA
Figura 3. FPGA Cyclone III.
Decodificador de
Interfaces E/S video
(VGA 10-bit DAC)
24-bit Audio Codec
3.5 NIOS II
RS232
PS/2 NIOS II es un microprocesador de 32 bits de propsito
10/100 Ethernet general, basado en una arquitectura tipo Harvard, dado que
Puerto de Expansin usa buses separados para instrucciones y datos cuyas
256-Mbit DDR principales caractersticas son: [1]
SDRAM, 1-Mbyte - Tamao de palabra asignado de 32 bits.
Synchronous SRAM, - Juego de instrucciones RISC de 32 bits.
Memoria 16-Mbytes Intel - 32 registros de propsito general de 32 bits(r0-r31)
P30/P33 flash - 6 registros de control de 32 bits(ctl0 ctl5)
Puerto para la tarjeta - Instrucciones dedicadas para multiplicaciones de 64
SD y 128 bits.
- Acceso a variedad de perifricos integrados e
interfaces para manejo de memorias y perifricos.
LCD Touch-screen
Displays Display 800x480
pixeles
6 Switches
Switches y LEDs 4 LEDs
.

Figura 4. Diagrama de Bloques de la Arquitectura NIOS


Figura 2. Tarjeta NEEK de Altera. II.

3.4 FPGA

Es un dispositivo semiconductor diseado para ser


configurado por el programador o el diseador despus de su
fabricacin. La configuracin de una FPGA es generalmente
usando un lenguaje de Descripcin de Hardware.
FPGA Cyclone III basa su capacidad computacional en
elementos lgicos organizados en bloques lgicos basados
en una LUT de cuatro entradas, para optimizar el gasto de
recursos. Adems de ofrecer una combinacin nica de gran
funcionalidad, baja potencia y bajo costo.
4. Diseo y construccin del
Electrocardigrafo
El filtro pasa-alto esta definido por la resistencia R12 y el
capacitor C4 dando una frecuencia de corte fH de 0.1Hz.

Con este circuito definimos el rango de frecuencias que


se encuentra la seal cardaca que son de 0.1Hz a 150Hz.

Figura 5. Diagrama de bloques del sistema.

4.1 Etapa de Amplificacin

Debido a que las seales bioelctricas del corazn son


pequeas a nivel de los mVoltios, se ha implementado un Figura 7. Filtro Pasa-Banda.
amplificador de instrumentacin por su alta impedancia de
entrada y alta relacin de rechazo en modo comn (CMRR). 4.3 Filtro Notch
Para el amplificador de instrumentacin se ha usado el
amplificador operacional TL084 como se muestra en la El filtro Notch o tambin llamado rechaza-banda es
Figura 6, donde la ganancia de voltaje est representada por: utilizado para atenuar el ruido inducido por la lnea de
transmisin elctrica, el cual es de 60Hz.
Donde la frecuencia de rechazo es:

Figura 8. Filtro Notch.


Figura 6. Amplificador de Instrumentacin.

4.2 Etapa de Filtrado


4.4 Etapa de Compensacin de Offset
4.2.1 Filtro Pasa-Banda
La seal cardaca debe alcanzar una amplitud
comprendida entre 0v a 5v, para poder digitalizarla con el
La seal obtenida debe pasar por un filtro pasa-banda con
microcontrolador PIC16F887 que acepta como entrada los
frecuencias de corte de 0.1Hz a 150Hz, que es el rango de
valores comprendidos dentro de ese rango.
frecuencia que se encuentra la seal cardaca.
Para esto se ha implementado un sumador inversor como
En la Figura 7 se muestra el filtro pasa-banda, en el
se muestra en la Figura 9, se suma un nivel DC para obtener
circuito la resistencia R11 y el capacitor C3 actan como
la seal positiva y dentro del rango de 0v a 5v.
filtro pasa-bajo cuyos valores definen la frecuencia de corte
fL de 150Hz. La siguiente expresin permite el clculo de las
frecuencias.
4.7 Puerto Paralelo de E/S

La tarjeta NEEK consta de un puerto de expansin JP3.


Para habilitar los 8 bit es necesario cambiar a modo 1 el
registro de control del dispositivo MAX II. La utilidad para
conmutar entre modo y EEPROM est localizada en la
direccin Tool/HMB2_Configuration_Utility/ que se
encuentra en el CD MTDB System. Vase la Figura 11 que
muestra el registro de control en modo 1.

Figura 9. Sumador Inversor.

4.5 Etapa de conversin Analgico Digital

En esta etapa se utiliz el PIC16F887 para la conversin


de la seal cardaca a una seal digital de 8 bits.
Para la programacin del PIC se utiliz el siguiente
cdigo:

void main()
{
ANSELH = 0;
C1ON_bit = 0;
C2ON_bit = 0;
ANSEL = 0x04;
TRISA = 0xFF;
TRISC = 0;
TRISB = 0; Figura 11. Modo de registro de control del MAX.
do
{
temp_res = ADC_Read(2);
Una vez habilitado el modo 1, se configura como entrada
PORTB = temp_res; de 8 bit el puerto de expansin como se puede observar en la
PORTC = temp_res >> 8; Figura 12.
} while(1);
}

En la salida del convertidor ADC se implement un


seguidor de voltaje, que de acuerdo a la resolucin de cada
bit ste tomar valores entre 0 2.5V que son los requeridos
para el puerto de expansin de la tarjeta NEEK.
4.6 Diseo Hardware en QSys

El software de QSys de Altera, permite disear un


sistema basado en el Microprocesador Embebido NIOS II y
configurar todos los componentes necesarios, generando
automticamente la lgica de interconexin.
El Microprocesador Embebido NIOS II configurado
mediante la herramienta de QSys es implementado en el
dispositivo FPGA a travs de Quartus II.

Figura 12. Configuracin del GPIO en QSys.

4.8 Cdigo del programa principal

Se muestra de manera resumida parte del cdigo


principal, as como la definicin de libreras, prototipos de
funciones y variables globales.

/* libreras */
#include "system.h"
#include <io.h>
#include "alt_video_display.h"
Figura 10. Diseo del sistema en QSys. #include "alt_touchscreen.h"
#include "alt_tpo_lcd.h"

/* prototipos de las funciones */


void VerificarSD(alt_video_display *);
int presentacion(alt_video_display * display);
int coordenada(alt_video_display *
display,alt_touchscreen * screen, Figura 13. Clculo de la frecuencia cardaca del paciente
alt_touchscreen_scaled_pen_data pen_data);

en reposo.

/* variables globales */ El software adems permite guardar los datos en una


volatile int * dat_io = (int*)(EXT_IO_BASE); tarjeta SD en un archivo .xls, este archivo tendr como
char ScoreString[10];
volatile int * complejo =(int*)(COMPLEX_BASE); nombre el nmero de cdula del paciente.
int complejopasado=0; El archivo nos permite obtener una grfica de los datos
int data=0; de la seal cardaca en una hoja Excel que muestra adems
la frecuencia y la posible anomala cardaca como se muestra
/* programa principal */ en la Figura 14.
int main()
{
alt_tpo_lcd s_lcd;
alt_tpo_lcd *lcd = &s_lcd;
int data=0;
char ScoreString[10];
int coord;

do
{
alt_up_sd_card_write(base,frec_card[x]);
usleep(2);
x=x+1;
}while(x<22);

Figura 14. Grfico de la seal cardaca del archivo .xls.


5. Resultados

Como resultado final se muestra la seal cardaca 6. Conclusiones


obtenida de un paciente en estado de reposo. En la Figura 13
se observa la seal en la LCD Touch Screen de la tarjeta
1. Con las pruebas realizadas podemos concluir que es
NEEK de Altera.
posible calcular la frecuencia cardaca por medio de
la amplitud de la onda y tambin por el complejo
QRS cuya frecuencia se encuentra en 17Hz, que
despus de rectificarla y compararla genera pulsos
que se enva a la FPGA y proceder contarla por
medio del cdigo que se realiz en lenguaje C.

2. Por medio de las pruebas realizadas, se observa que


el diseo del circuito de acoplamiento de la seal
cardaca funciona correctamente
Figura 13. Seal cardaca del paciente en reposo.
3. Para poder realizar la adquisicin de datos por
medio del puerto externo es necesario disear un
El programa permite calcular la frecuencia cardaca del
convertidor de voltaje de 5V a 2.5V despus del
paciente mostrando la posible anomala que presenta de
convertidor Analgico Digital (ADC), debido a
acuerdo al rango de frecuencia mostrado anteriormente. En
que el voltaje mximo en el puerto de la tarjeta
la Figura 14 se muestra la frecuencia del paciente que est
NEEK es de 2.5V.
dentro del rango normal y no presenta ninguna anomala
cardaca.
4. Para contrarrestar el problema de ruido de la seal
cardaca hay que colocar retardos de tiempo en el
cdigo de la adquisicin de datos para evitar que el
puerto externo tome como valor de entrada los
niveles de voltajes provenientes del ruido, lo que nos
da una mejor visualizacin de la seal en la LCD de [4]. La web del Electrocardiograma, Ritmo
la tarjeta NEEK. Cardaco, http://www.my-ekg.com/como-leer-
ekg/ritmo-cardiaco.html, Octubre 2013
[5]. Electrocardiografa.es, Teora del
7. Referencias Electrocardiograma, Ondas componentes del ECG,
http://www.electrocardiografia.es/ondas_ecg.html , Octubre
2013
[1]. Jorge Rodrguez Arajo, Estudio del Procesador
[6]. Departamento de Ciencias Fisiolgicas, Guas de
Nios II,http://es.scribd.com/doc/28358833/Estudio-del-
Laboratorio,
microprocesador-Nios-II, Octubre 2013
Electrocardiograma,http://fisiopuj.tripod.com/Guias/1_Electr
[2]. Fecha de Consulta: Junio 2011. Sistema de
ocardiograma.pdf, Octubre 2013
conduccin del corazn,
[7]. Enric Pastor y Juan Lpez, Universidad
http://www.bluejaygallery.com/download/Corazon.pdf,
Politcnica de Catalua, Introduccin al sistema NIOS II,
Octubre 2013
http://docencia.ac.upc.edu/EPSC/SED/Apuntes/SED_Intro_
[3]. Texas Heart Institute, Centro de Informacin
NIOS.pdf, Octubre 2013
Cardiovascular, Anatoma
delcorazn,http://www.texasheartinstitute.org/HIC/anatomy
_Esp/anato_sp.cfm, Octubre 2013