Está en la página 1de 4

Memorias V Congreso de la Sociedad Cubana de Bioingeniera, Habana 2003, Junio 10 al 13 de 2003

Empleo del PIC 16C74 en el control digital del pletismgrafo ANGIODIN PD 3000
O. Ferrer, A. Pascau, M. Cuadra, A. Corzo, D. Hernndez, JC. Garca, A. Aldama. Centro de Biofsica Mdica, UO Calle Patricio Lumumba s/n. 90500. Santiago de Cuba; oreste@cbm.uo.edu.cu

RESUMEN
El Centro de Biofsica Mdica (CBM) dise y construy el Pletismgrafo Digital ANGIODIN PD 3000 para el diagnstico de enfermedades arteriales perifricas. El mismo est registrado como Equipo Mdico y se encuentra en funcionamiento en varios hospitales de nuestro pas. El ANGIODIN PD 3000 cuenta con un microcontrolador PIC (Peripheral Interface Controller) 16C74 de la firma Microchip como unidad inteligente para el control de todo su funcionamiento; dicho PIC interacta con varios dispositivos como: teclado, pantalla de cristal lquido (LCD), sensores, batera, memoria externa y cuenta con comunicacin serie RS 232. El PIC fue programado en su lenguaje ensamblador nativo para aprovechar al mximo sus posibilidades y lograr todas las funcionalidades que originalmente se requeran del pletismgrafo. Se presentan las caractersticas del microcontrolador, el uso dado a stas por el firmware en el ANGIODIN PD 3000, y las herramientas de desarrollo empleadas. Se describen adems aspectos importantes del software. Palabras clave: microcontrolador, PIC, firmware, angiologa, pletismografa.

resonancia magntica; todos los cuales son antecedentes directos del trabajo aqu presentado. En consecuencia con todo lo anterior en el CBM se dise y construy un pletismgrafo digital: el ANGIODIN PD 3000. Dicho pletismgrafo permite obtener la seal fisiolgica de los cambios de volumen (seal pletismogrfica) sanguneo perifrico de los pacientes mediante la fotopletismografa [1] y mediante la impedancia biolgica [4]; tcnicas no invasivas ambas. Segn la conceptualizacin deba brindar las siguientes posibilidades: - Adquisicin, procesamiento, graficacin y transmisin de la seal de pulso, clculo de sus parmetros, realizacin semiautomtica de pruebas clnicas, monitoreo continuo de pacientes con alarmas, grabacin de los resultados de las pruebas realizadas y de seales seleccionadas. - Interfaz de usuario apropiada con menes, dilogos de configuracin, grficos, tablas, iconos, mensajes en pantalla, sonidos, - Transmisin de la seal hacia otro equipo. - Economa y facilidad de transportacin. Por otra parte, actualmente los microcontroladores PIC de la firma Microchip son dispositivos ampliamente usados a nivel mundial en la mayora de las ramas de la tcnica y ofrecen una ptima relacin precio - funcionamiento. El mercado internacional mueve anualmente cientos de millones de ellos [5].

INTRODUCCIN
Las enfermedades circulatorias ocupan un lugar importante entre los padecimientos del sistema cardio vascular, los cuales poseen una gran incidencia en la salud de nuestra poblacin [3]. Por lo anterior es de suma importancia disponer de equipamiento para el diagnstico y prevencin de dichas enfermedades; igualmente resulta muy beneficioso que pueda ser de uso masivo. Los equipos con que cuentan en la actualidad nuestros centros de salud para atender estos problemas no siempre son los mejores y los que se ofertan en el mercado internacional por lo general son caros. El Centro de Biofsica Mdica (CBM), tiene como misin contribuir a elevar la salud de nuestro pueblo, por lo cual disea y construye equipos para el diagnstico precoz de diferentes enfermedades. El CBM cuenta con proyectos desarrollados anteriormente como: el UOAngio-01, un fotopletismgrafo registrado como Equipo Mdico e instalado en varios hospitales; un software para la realizacin de pruebas hemodinmicas y un sistema para el monitoreo continuo de pacientes en tomgrafos de

METODOLOGA
Una de las ideas principales que se siguieron con el objetivo de desarrollar un equipo de calidad, al nivel del estado actual del arte y con las mltiples prestaciones sealadas, fue la de utilizar como elemento inteligente en el pletismgrafo uno de los microcontroladores PIC de Microchip. La familia de PICs incluye ms de cien tipos diferentes de estos controladores lo que hace fcil elegir el ms adecuado en cada caso. El PIC seleccionado para controlar el ANGIODIN PD 3000 fue el PIC 16C74 [5][6]. Fue programado en su lenguaje ensamblador nativo, de esta forma se tuvo un control total de toda su memoria y dems caractersticas. Este PIC tiene tecnologa Harvard, con 256 bytes de memoria RAM y 4 k x 14 bits de ROM de programa; adems es RISC, tiene slo 35 instrucciones. Puede funcionar hasta a 20 MHz y fue utilizado a 8 y 16 MHz.

959-212-095-1 2003, Sociedad Cubana de Bioingeniera, artculo T_0118

Figura 1. Microcontrolador PIC 16C74 montado en la placa electrnica del pletismgrafo.

A continuacin describiremos las principales caractersticas de este tipo de PIC que lo hacen tan apropiado para estas tareas y el uso dado a las mismas en el ANGIODIN PD 3000: Caractersticas: - 3 Temporizadores/Contadores - 2 Mdulos Captura/Compara/PWM (CCP) - Puerto serie sincrnico (modos: SPI - I2C) - Interfaz de comn. Serie (USART) - Puerto paralelo esclavo - Conversor anlogo/digital - 12 fuentes de interrupcin internas y externas - 33 pines de entrada/salida, con funciones multiplexables en el tiempo, divididos en 5 puertos (A,B,C,D,E) - Caractersticas especiales. Uso dado a las caractersticas: Los puertos de E/S fueron usados como: entradas analgicas del conversor A/D; entradas indicadoras de si el sensor est conectado o no, del tipo de sensor conectado (fotopletismografa o impedancia) y del nivel de carga de la batera; conexin del teclado; salidas hacia un potencimetro digital, para el control de la sensibilidad, y del tren de pulso para la bocina buzzer (bocina); salida de reloj y E/S de dato en la comunicacin I2C con la memoria externa; salida en la transmisin RS 232 hacia otro equipo; y como buses de control y de datos del display Los temporizadores y comparadores: el Timer0 fue usado para lograr el tiempo de espera por los rebotes de las teclas en la atencin al teclado; el Timer 1 fue usado junto con el 2do CCP para lograr la frecuencia de adquisicin de la seal (106 Hz). El Timer2 fue usado, junto con el 1er CCP, como generador del tren de pulsos hacia la bocina para lograr diferentes sonidos. - El puerto serie sincrnico fue usado en el modo I2C para la transferencia de datos entre el PIC y la memoria externa usada. - La interfaz de comunicacin serie fue usada en modo asincrnico para el envo de datos va serie RS232 hacia otro equipo. - El conversor anlogo / digital fue utilizado para convertir la seal fotopletismogrfica, la seal de impedancia y el nivel de impedancia base. - Las interrupciones se usaron para la recogida de cada muestra convertida de la seal pletismogrfica, la atencin de las teclas y sus rebotes y la transmisin hacia la computadora. No obstante sus bondades, estos PICs tienen algunas caractersticas desfavorables que pueden entorpecer el desarrollo de software de cierta envergadura para ellos, principalmente: - Escasez de memoria para programa (ROM, 4K x 14 bits) y para variables (de los 256 bytes de memoria -

slo 192 son para datos, el resto es para configuraciones y E/S), adems ambas memorias estn divididas en dos pginas que el programador tiene que controlar gastando instrucciones; estas limitantes se sobrepasaron solapando zonas de memoria lgica en memoria fsica, es decir dndole distintos usos en el tiempo a cada zona de RAM, y optimizando la colocacin de variables y procedimientos para as minimizar la cantidad de instrucciones usadas para cambios de pginas. Slo 8 niveles de anidamiento en la pila de programa, lo que limita la modularizacin. La no presencia de una aritmtica completa, que tuvo que ser implementada en el programa. No soporte por hardware del comportamiento como master en la transmisin I2C, lo cual oblig a realizar la transmisin en el PIC por software.

Dispositivos conectados: Al PIC le fueron conectados los siguientes dispositivos perifricos: Teclado: consta de una tecla de encendido, 4 teclas atendidas por interrupcin y una 6ta que alterna las funciones de stas y es encuestada. Usado para la entrada de datos y rdenes por el operador y conectado al puerto B del PIC. Pantalla LCD: un LCD Hitachi [2] de 256 x 64 pixels. Mediante ste el equipo muestra los menes, dilogos, tablas de datos, parmetros calculados, seales adquiridas y otras informaciones. Fue usado en modo grfico, por lo que hubo que implementar por software el mostrado de caracteres y lneas [7]. Conectado a los puertos D y E del PIC. Bocina: es un buzzer usado para generar sonidos de aviso en caso de ausencia de onda de pulso, reconocimiento de un nuevo pulso, alarmas en el monitoreo o cuando se est realizando un conteo de tiempo. Se manipula mediante la opcin de PWM (modulacin de ancho de pulso). Memoria externa: como memoria externa al PIC se usa la EEPROM 24C65 de la misma firma Microchip [5][6] que almacena 8 kb de datos. El PIC se comunica con ella mediante el puerto serie sincrnico, en el modo I2C. En la misma se graban las configuraciones de funcionamiento del equipo, las seales pletismogrficas y sus parmetros, los resultados de las pruebas clnicas realizadas, as como curvas seleccionadas. Sensores: a travs de tres conexiones: una para la entrada analgica de la seal, y otras dos (puerto B) para indicar la presencia del sensor y su tipo. Batera: mediante el monitoreo del nivel digital en un pin, el PIC chequea constantemente si la carga de la batera ha bajado de un nivel permitido. Equipo externo: el PIC se comunica con ste mediante la interfaz de comunicacin serie. Se usa un protocolo de transmisin de 3 bytes, adems de la seal se transmite la ganancia con que ella se va adquiriendo. La comunicacin es unidireccional, es decir el PIC no recibe. La placa de circuito impreso en que se monta el PIC incluye toda la circuitera necesaria para que ste

interacte con los dispositivos mencionados. Hardware y software de apoyo utilizado durante el desarrollo. Como ambiente (editor, simulador, compilador) para el desarrollo del programa que corre sobre el PIC se utiliz el MPLab de Microchip y el lenguaje ensamblador nativo del PIC. Otro lenguaje con el que se experiment fue el ensamblador de PARALLAX, (ofrece ms de 100 macro - instrucciones) pero el ambiente de desarrollo MPLab supera con creces al ambiente de la PARALLAX. Tambin se probaron algunos lenguajes C como el de Bytecraft, pero al final se decidi usar el ensamblador nativo, para poder tener un control total. Actualmente la Microchip ofrece gratis todo el software de sus sistemas de desarrollo. Para grabar los PICs se us el programador PICMaster de PARALLAX y el programador PGM16 de Advanced Transdata. Un analizador lgico de Fluke & Phillips fue usado para monitorear todas las seales digitales que entraban y salan por cada pin del PIC, adems de osciloscopios Hameg y otros instrumentos. El sistema Matlab de MatWorks fue utilizado para el diseo y comprobacin del filtro digital aplicado a la seal fotopletismogrfica y del algoritmo detector de las ondas de pulso. No se dispuso de algn emulador, debido a su precio, esto dificulta y demora el desarrollo de los proyectos, ms si son complejos. Para la puesta a punto de la comunicacin serie RS-232 se usaron los programas terminal.exe de Windows y commcheck.exe, sobre una computadora IBM PC compatible. Tratamiento de la seal: La seal pletismogrfica es adquirida a 106 Hz, digitalizada en 8 bits (256 valores), es suavizada para atenuarle el ruido blanco y la interferencia de la lnea de alimentacin. A partir de esta seal filtrada (fotopletismogrfica) se corre un algoritmo adaptativo que detecta las sstoles y distoles y calcula: simetra (tiempo de subida de cada respecto a su perodo), estabilidad (de las ltimas ondas), frecuencia del pulso (pulsaciones cardacas por minuto), correlacin de amplitudes (cociente entre las amplitudes de ondas tomadas en diferentes etapas de una prueba). Idea general del programa de control: Inmediatamente que el ANGIODIN PD 3000 es encendido, el PIC comienza a ejecutar el programa que se le ha grabado, lo primero que ste hace es inicializar todo lo necesario (PIC, software, display, ganancia), a continuacin entra en un gran ciclo el cual se repite hasta que el equipo es apagado. En caso de que el sensor sea cambiado el programa reconoce esto inmediatamente y salta al principio, a las inicializaciones. En el ciclo se presentan los menes adecuados, si est presente el sensor de fotopletismografa se pueden realizar varias pruebas, incluido el monitoreo y revisar la memoria; si es el sensor de impedancia, se puede

adquirir la seal de impedancia, el nivel de impedancia base y revisar la memoria; y si no hay sensor, slo se puede revisar la memoria. Esta idea puede verse en el siguiente diagrama.

Figura 2 . Diagrama general del flujo de ejecucin del programa.

Un anlisis ms profundo del firmware es tema de otro escrito.

RESULTADOS
Como resultado del trabajo aqu presentado se construy un pletismgrafo controlado digitalmente que cumple con todas las especificaciones planteadas al inicio del proyecto. Dicho pletismgrafo est gobernado por el PIC 16C74. Se elabor un programa que corre sobre el PIC, en su propio lenguaje ensamblador nativo, cuya versin definitiva tiene ms de 10 000 lneas de cdigo fuente (instrucciones, directivas, definicin de constantes y variables) y est integrado por ms de 60 subrutinas y un mdulo principal. Se utilizaron exhaustivamente todas las facilidades del PIC 16C74 y se controlaron correctamente todos los dems dispositivos. A continuacin se muestran las pantallas de interfaz humana mostradas en el equipo y una imagen suya durante la adquisicin de la seal de fotopletismografa.

Figura 3. Pantallas de visualizacin en el ANGIODIN PD 3000.

Ciruga Vascular y al Investigaciones Digitales.

Instituto

Central

de

REFERENCIAS
[1] A. B. Hertzman, C.R. Spealman, Observations on the finger volume pulse recorded photo electrically, American Journal oh Physiology. 119. pp: 334-5, 1937. [2] Hitachi Ltd. "Liquid Crystal Graphic display modules". 1995. [3] Instituto Nacional de Angiologa y Ciruga Vascular. Informe Estadstico Anual. 1997. [4] R. F. Kushner, Bioelectrical Impedance Analysis: A Review of Principles and Applications, Journal of the American College of Nutrition, Vol. 11. No 2, pp. 199 - 209, 1992. [5] Microchip Technology Inc. Sitio Web en Internet (http://www.microchip.com). 2003. [6] Microchip Technology Inc. "Microchip Databook". Libro y CD. 1996. [7] R.Wildton, "Video subsystems", Documento Electrnico, Microsoft Corp., 1991.

Figura 4. ANGIODIN fotopletismografa.

PD

3000

adquiriendo

seal

de

DISCUSIN
El pletismgrafo fue sometido a Pruebas Tcnicas y a un Protocolo de Ensayos Clnicos, procesos en los cuales se demostr el funcionamiento correcto del programa, el microcontrolador y dems dispositivos conectados a l. La frecuencia de adquisicin de la seal fotopletismogrfica y la resolucin (256 posibles valores) y el nivel de exactitud de los parmetros calculados hacen que el equipo sea adecuado para realizar con l varios tipos de pruebas clnicas. En caso de querer realizar otros estudios ms exigentes se puede usar un conversor externo (ej.: un conversor serie A/D de 12 bits) para obtener ms resolucin, trabajar el PIC a 20 MHz para obtener ms velocidad y conectar una o ms memorias externas de ms capacidad, entre otras ideas. El envo de la seal adquirida hacia otro equipo (ej.: una PC) aumenta las posibilidades de explotacin del pletismgrafo. Por la literatura revisada y los ensayos realizados con otros PICs (16C54 y 16C77) se puede decir que el PIC utilizado era el ms adecuado para la aplicacin. El uso de PICs OTP (no regrabables) con la versin final del programa disminuye en gran medida el costo final de proyectos que tengan como salida mltiples reproducciones de un prototipo obtenido.

CONCLUSIONES
El PIC 16C74 es un excelente dispositivo para ser utilizado como plataforma de clculo y control en estos tipos de proyectos, a pesar de tener algunas caractersticas restrictivas. Aunque el uso de otros lenguajes facilitara el trabajo, la programacin en lenguaje ensamblador nativo permite aprovechar al mximo todas las caractersticas del PIC, sobre todo optimizar el uso de las zonas de memoria. Para el desarrollo de proyectos de envergadura con PICs es muy recomendable el uso de algn emulador. La experiencia adquirida en el uso de los PICs en este trabajo demostr lo apropiado que son estos controladores para el desarrollo de otros proyectos en el CBM.

AGRADECIMIENTOS
Al CBM y todos los que colaboraron en este trabajo, especialmente al Instituto Nacional de Angiologa y

También podría gustarte