Arquitectura de un Circuito Integrado para la

1 Revista Argentina de Trabajos Estudiantiles Arquitectura de un Circuito Integrado para la Medici´on Aut´onoma de Presi´on Sangu´ınea J. Carrique, ...
28 downloads 2 Views 883KB Size
1

Revista Argentina de Trabajos Estudiantiles

Arquitectura de un Circuito Integrado para la Medici´on Aut´onoma de Presi´on Sangu´ınea J. Carrique, L. Centuri´on, M.Cipolletti, M. Di Federico†, P. Juli´an†, P. S. Mandolesi† Dto. Ingenier´ıa El´ectrica y Computadoras, Universidad Nacional del Sur, Av. Alem 1253, Bah´ıa Blanca. Email: [email protected] Resumen— En este trabajo se describen los lineamientos principales para la implementaci´ on de un tensi´ ometro digital, dispositivo capaz de medir la presi´ on sangu´ınea de manera no invasiva. Se plantea un dise˜ no modular implementable como circuito integrado para aplicaci´ on espec´ıfica (ASIC), partiendo de una descripci´ on mixta en layout y en lenguaje de descripci´ on de hardware (VHDL). Abstract— In this work it is described the principal items for the implementation of a digital tensiometer , device capable to measure the blood pressure in a non-invasive way. A modular design that can be implemented as an ASIC circuit is proposed, starting with a mixed description in layout and VHDL languaje of hardware description.

SerialOut

7 7

Filtro IIR Pasa Bajo

Comunicación paralelo/serie ClkUser ______

______________________

RST /Start

Strobe

P/S

_______________

(Busy/Ready)

Diast. Sist.

Lógica de control

Strobe _________________________

Busy/Ready

_______________________

Strobe Pulsos

Palabras clave— Tensi´ ometro digital, descripci´ on de hardware, ASIC.

Start /RST 7

Filtro IIR Pasa Bajo

PulsoIIR Ready

7 Detección de envolvente

Pico SyncPico

Detección de presión

CLK

Fig. 1. Diagrama general del sistema

´n I. Introduccio Cada vez que late, el coraz´ on impulsa la sangre, que transporta ox´ıgeno y nutrientes, a trav´es de los kil´ometros de arterias y venas del organismo. La presi´ on arterial es la fuerza ejercida por la sangre contra las paredes de las arterias. Todo el mundo posee cierta presi´ on arterial para que la sangre llegue a los ´ organos y m´ usculos del organismo. La presi´on sangu´ınea puede medirse por m´etodos invasivos. Si bien estos m´etodos son los m´ as precisos, en la pr´actica rara vez se utilizan. Por el contrario, los m´etodos no invasivos son utilizados ampliamente debido a su simplicidad, costo y principalmente por comprometer menos la salud de los pacientes frente a cualquier alternativa invasiva. En el m´etodo tradicional se coloca un estetoscopio entre el brazo y un brazalete, se infla el mismo hasta lograr una presi´on adecuada (200 mmHg por ejemplo), luego se libera gradualmente la v´ alvula de alivio hasta escuchar unos ruidos (ruidos de Korotkoff) que se˜ nalan cu´ando la presi´on en el brazalete coincide con la presi´ on arterial. El primer ruido coincide con el valor de la presi´ on arterial alta o sist´olica y el u ´ltimo coincide con la presi´ on arterial baja o diast´olica. Una alternativa al m´etodo tradicional es utilizar el m´etodo oscilom´etrico. En este m´etodo se reemplaza el estetoscopio por la medici´ on de la presi´ on en el brazalete, separando las oscilaciones producidas por las pulsaciones de la se˜ nal de presi´on. Contando con la amplitud de las pulsaciones, se analiza la pendiente de la envolvente de las mismas. De la †Docentes. P. Juli´ an est´ a afiliado con CONICET; P. S. Mandolesi est´ a afiliado con CIC.

TRATE05-012

informaci´on experimental y de la bibliograf´ıa espec´ıfica se determina que la envolvente de la presi´on permite obtener el momento aproximado donde la presi´on sangu´ınea y la presi´on medida coinciden. Desde el comienzo del proceso de medici´on la pendiente de la envolvente es mon´otona creciente pasando por un m´aximo al momento de la m´axima presi´on sangu´ınea para luego de unos instantes volverse mon´otona decreciente pasando por la presi´on m´ınima al momento de m´axima pendiente decreciente. II. Bloques del sistema Para el dise˜ no de la arquitectura se asume que se cuenta con la se˜ nal de presi´on sangu´ınea y con la componente de alta frecuencia de la misma, ambas se˜ nales correctamente digitalizadas. La arquitectura propuesta consta de varios bloques funcionales, que se relacionan como muestra la Fig.1. Los distintos tipos de bloques funcionales son los siguientes: - Filtro pasa bajo digital de respuesta infinita al impulso (IIR) - Detector de envolvente de pulsos card´ıacos - Detector de m´aximos locales en la pendiente de la envolvente de pulsos card´ıacos - Conversor paralelo/serie utilizado para la comunicaci´on - L´ogica de control general La se˜ nal de pulsaciones que ingresa al sistema contiene la informaci´on de sincronismo para capturar los datos de presi´on sist´olica y diast´olica. Esta se˜ nal es suavizada por un filtro promediador antes de pasar a la siguiente etapa de

Vol. I - Nº 1 - Febrero 2006

58

2

Revista Argentina de Trabajos Estudiantiles

Start /RST

____________________ _ _ _

Start /RST 7

Strobe 7 Pulsos

Filtro IIR Pasa Bajo

7

7

PulsoIIR

PulsoIIR

Ready

Ready

CLK

Detección de envolvente

Fig. 2. Interfase de un filtro IIR

Pico SyncPico

CLK Fig. 3. Interfase del m´ odulo de detecci´ on de envolvente

detecci´on de envolvente, que es la encargada de obtener las pulsaciones sangu´ıneas determinando los m´ aximos locales de la misma. Por u ´ltimo las pulsaciones se pasan a la etapa que realiza el algoritmo de detecci´ on de la presi´on sangu´ınea que env´ıa la se˜ nal de captura de presi´ on m´axima y m´ınima a los registros de comunicaci´ on. El algoritmo de detecci´ on b´ asicamente busca la m´axima pendiente positiva y negativa[1]. De esta manera, almacenando el valor de presi´ on en el momento que ocurra la m´axima pendiente creciente y decreciente se habr´a almacenado la presi´on arterial m´ axima y m´ınima. Entonces los aspectos principales para la detecci´ on de la presi´on sangu´ınea dada la amplitud de las pulsaciones son: - Determinaci´on de la pendiente de la envolvente de los p´ ulsos - Determinaci´on del momento de m´ axima pendiente negativa y positiva Una vez realizada la medici´ on de presi´ on los datos son entregados en forma serial con un reloj externo. A. Fitro pasabajos IIR

Freescale Semiconductor, Inc...

La funci´on que debe cumplir el bloque representado en la Fig. 3, encargado de la detecci´ on de envolvente es la siguiente: dada una forma de onda conocida muestreada en tiempos discretos por un conversor A/D y filtrada con determinadas caracter´ısticas que se detallan m´ as adelante, otorga el m´aximo de la misma y se˜ naliza a la etapa siguiente que el dato en la salida es v´ alido. Estos datos son enviados a la etapa siguiente que determina cu´ ando tiene que capturarse la presi´ on sist´ olica y diast´ olica. Se observa en la parte superior de la Fig. 4 la se˜ nal de entrada, sobre la cual est´an los pulsos card´ıacos necesarios para la sincronizaci´on de la etapa siguiente. Para poder extraer m´as eficientemente (en t´erminos de la conversi´ on A/D) los pulsos card´ıacos, la se˜ nal de presi´ on se filtra por medio de un filtro pasa altos, resultando la se˜ nal de la parte inferior. Para una mejor visualizaci´ on de esta se˜ nal, y a los efectos de poder relacionar las restricciones impuestas se ve a continuaci´on una ampliaci´ on de la misma. Entonces

extracted oscillation signal at the output of the amplifier.

3

2.5 2

1.5

Oscillation signal is extracted here

1 0.5 0 0

5

10

15

20 Time (seconds)

25

30

35

40

Figure 3. CP signal at the output of the pressure sensor 3.5

MAP

3

SBP

DBP

2.5

2 Vo (volts)

B. Detecci´ on de envolvente

TRATE05-012

attenuation of 10 dB to the 1 Hz signal, the oscillation signal becomes 3.8 mV to 11.4 mV respectively. Experiments

Vi (volts)

Se dise˜ naron filtros IIR digitales en VHDL para las se˜ nales digitales correspondientes a la presi´ on y a las pulsaciones. En el dise˜ no queda asociado el orden de los mismos a una constante, para facilitar la utilizaci´ on de una misma topolog´ıa para ambos filtros. En la Fig. 2 se pueden apreciar las l´ıneas de interconexi´on que forman la interfase de un filtro IIR.

los valores que se desean rescatar son los m´aximos picos positivos por encima de 1,75 V que se observan en la Fig. 5. Para el dise˜ no de la m´aquina de estados que comanda esta etapa detallaremos las restricciones necesarias para un correcto funcionamiento: - Una vez hallado el m´aximo no se sensa la se˜ nal por un tiempo (m´ascara de 450 ms.), para prevenir la identificaci´on de pulsos prematuros debidos a oscilaciones en la electr´onica. - Toda se˜ nal de entrada por debajo de un nivel de continua se considera ruido 1,75 V.y no se procesa. - La se˜ nal debe ser suave. - La se˜ nal del filtro solo es v´alida cu´ando la entrada Ready = 1. - La salida es v´alida cu´ando SYNCPICO = 1. - La se˜ nal PULSOSIIR solo es v´alida cu´ando Ready =1 La m´aquina de estados del m´odulo de detecci´on de enFreescale Inc. observar enAN1571 volvente, compuesta por 4 Semiconductor, estados, se puede indicate that, the amplification factor of the amplifier is chosen The oscillation signal varies from person to person. In el diagrama de la Fig. 8. to be 150 so that the amplified oscillation signal is within the general, it varies from less than 1 mmHg to 3 mmHg. From the output limit of the amplifier (5 mV to 3.5 V). Figure 3(a) shows transfer function of MPX5050GP, this will translate to a voltage Aofcontinuaci´ on Since se explican uno ellos: the output fromde the pressure sensor and Figure 3(b) shows the output 12 mV to 36 mV signal. the filter gives an cada

1.5

1

0.5

0 10

15

20

25

30

35

Time (seconds)

Figure oscillation signal at the output of se˜ amplifier Fig. 4. Arriba: se˜ nal3b.deExtracted presi´ on original. Abajo: nal filtrada por un pasa altos

Vol. I - Nº 1 - Febrero 2006 Motorola Sensor Device Data

59 For More Information On This Product, Go to: www.freescale.com

3

Freescale Semiconductor, Inc.

AN1571

SOFTWARE DESCRIPTION Upon system power–up, the user needs to manually pump the cuff pressure to approximately 160 mmHg or 30 mmHg above the previous SBP. During the pumping of the inflation bulb, the microcontroller ignores the signal at the output of the

amplifier. When the subroutine TAKE senses a decrease in CP for a continuous duration of more than 0.75 seconds, the microcontroller will then assume that the user is no longer pumping the bulb and starts to analyze the oscillation signal. Figure 5 shows zoom–in view of a pulse.

Revista Argentina de Trabajos Estudiantiles

3

Freescale Semiconductor, Inc...

1.75

Vo (volt)

450 ms

Premature pulse –8.5

–8.3

–8.1

–7.9

–7.7

–7.5

–7.3

–7.1

Time (second)

Figure 5. Zoom–in view of a pulse

Fig. 5. Ampliaci´ on de la se˜ nal de presi´ on filtrada con un pasa altos First of all, the threshold level of a valid pulse is set to be 1.75 V to eliminate noise or spike. As soon as the amplitude of a pulse is identified, the microcontroller will ignore the signal for 450 ms to prevent any false identification due to the presence of premature pulse ”overshoot” due to oscillation. Hence, this algorithm can only detect pulse rate which is less than 133 beats per minute. Next, the amplitudes of all the pulses detected are stored in the RAM for further analysis. If the microcontroller senses a non–typical oscillation envelope

shape, an error message (“Err”) is output to the LCD. The user will have to exhaust all the pressure in the cuff before re–pumping the CP to the next higher value. The algorithm ensures that the user exhausts all the air present in the cuff before allowing any re–pumping. Otherwise, the venous blood trapped in the distal arm may affect the next measurement. Therefore, the user has to reduce the pressure in the cuff as soon as possible in order for the arm to recover. Figure 6 is a flowchart for the program that controls the system.

Reset: Cuando comienza cada ciclo se tiene que asegurar que los valores que utiliza para calcular la pendiente est´en en el peor caso, as´ı no se pierden datos por valores iniciales incorrectos. Cada vez que se termina un ciclo se pasa por un estado de Reset (RST). En ´el solo se est´a un pulso de reloj y se utiliza para inicializar la m´ ascara y el dato anterior a un valor predefinido. BD: Este estado se llama b´ usqueda de disparo dado que es el encargado de encontrar cu´ ando la se˜ nal comienza a subir y esto se puede apreciar en el diagrama de estados simbolizado con la letra S que es igual al signo de la diferencia entre la presi´ on anterior y la presi´ on actual, la cual representa si la pendiente asciende o cae, es decir si S=1 la pendiente es negativa y si S=0 es positiva. Como en el inicio, el dato anterior es definido al nivel m´ aximo, la pendiente calculada en BD ser´ a 1. Despu´esMotorola evolucionar´ a Sensor Device Data 6 For More Information On This Product, Go to: www.freescale.com dependiendo de la se˜ nal de entrada. Cuando ocurra el cambio de S de 1 a 0 la se˜ nal comenzar´ a a subir y entonces se habr´a cambiado al siguiente estado. BM: B´ usqueda de m´ aximo. En este estado, se desea hallar cu´ando la pendiente pasa de 0 a 1, entonces el dato guardado anteriormente ser´ a el valor m´ aximo y la m´aquina evolucionar´a a su siguiente paso. Mask: M´ascara. La funci´ on de este estado es enmascarar la se˜ nal de entrada por un tiempo definido (450 ms) para prevenir falsos disparos que suelen ocurrir despu´es de un m´aximo. Adem´ as, al comienzo de este estado, se levanta la salida SYNCPICO indicando que hay un dato v´alido a la salida. La m´ aquina transiciona al estado de RST cuando se cumple el periodo de 450 ms fijado por la CONT=0

Fig. 7. Simulaci´ on del m´ odulo de detecci´ on de envolvente

m´ascara. A continuaci´on se mostrar´a la simulaci´on del m´odulo de detecci´on de envolvente para constatar su correcto funcionamiento. Esta parte del sistema se especific´o en VHDL, las simulaciones fueron realizadas con el entorno de desarrollo de ALTERA. Fig. 7 s´olo se pueden observar con claridad las salidas SYNCPICO (transiciones de 1 a 0) y PICO, la primera representa si el dato es v´alido y la segunda si es el m´aximo de ese per´ıodo. La se˜ nal MAINCLK es el reloj principal del sistema, PULSOSIIR es la se˜ nal de entrada, Ready habilita si PULSOSIIR es v´alido, Start es el encargado de iniciar la medici´on de presi´on, PICO es la se˜ nal de salida del m´odulo de detecci´on de envolvente (m´aximo de PULSOSIIR) y SYNCPICO avisa a la etapa siguiente que el m´aximo del per´ıodo se encuentra la salida. En la Fig. 8 se puede observar como var´ıa la se˜ nal de entrada PULSOSIIR que es una representaci´on num´erica de la Fig. 5. La salida del sistema es el m´aximo local de PULSOSIIR. Cuando se detecta un m´aximo local la se˜ nal PICO guarda este valor y SYNCPICO pasa de 0 a 1 avisando a la etapa siguiente que se tiene un nuevo dato v´alido. C. Detecci´ on de la presi´ on m´ axima y m´ınima Para la implementaci´on de este algoritmo se present´o un predise˜ no a nivel de compuertas para luego pasar a una especificaci´on VHDL, su esquema de entrada salida se puede observar en la Fig. 9. Se trabaj´o con valores de pendiente positivos, es decir, con el valor absoluto de la pendiente, y con el signo de la pendiente. Adem´as se tuvo especial cuidado en la inicializaci´on de las variables

CONT=0

MASK

RST

CLK

S=1

BD

S=1

BM

S=0

S=0

Fig. 6. M´ aquina de estados del m´ odulo de detecci´ on de envolvente

TRATE05-012

Fig. 8. Detalle de la simulaci´ on de la m´ aquina de estados del m´ odulo de detecci´ on de envolvente

Vol. I - Nº 1 - Febrero 2006

60

4

Revista Argentina de Trabajos Estudiantiles actualData _______________________

Start /RST

Sist. Diast.

No se actualiza en este bloque (stIdle)

antSignoSlope