next up previous contents
Next: Módulo para el puerto Up: Implementación del circuito. Previous: Etapa de alimentación.   Índice General

Módulo del microcontrolador.

Para la etapa del microcontrolador se eligió el PIC 16F876 de Microchip. Destacamos algunas de sus características como son la conversión A/D, e implementación de la USART. Más información en el apéndice del presente documento.
La Puerta A se ha elegido como entrada analógica, en el canal 0, de la señal de ECG. La puerta C tiene dos pines encargadas de la comunicación con el RS-232: TX, RX. La puerta B, se ha utilizado para testear la señal con ciertos LED´s (Se puede prenscindir de ellos para ahorrar el consumo de las pilas).
En los siguientes apartados se explica las 2 funcionalidades que hemos adquirido para el PIC.
Conversión Analógico-Digital
Recordamos que el margen del ADC es de 0-5V, para la mejor obtención de dicha conversión se hace necesario abarcar el máximo posible. Este PIC, transforma digitalmente la señal ECG en 10 bits, que se encuentran en 2 registros distintos correspondiendo a la parte alta y baja.
Para evitar posibles incoherencias en la transmisión, hemos omitido los dos últimos bits menos significativos, perdiéndose una información correspondiente a los 15mV tal como muestra la siguiente fórmula:
\begin{displaymath}
Resolucion=\frac{margen_ADC}{2^{n}},.\\
\end{displaymath} (16)

donde si n = 10bits el resultado será de 4.88mV. si n = 8bits el resultado será de 19.53mV. La pérdida de estos dos últimos bits, hace perder información poco relevante, que incluso puede ser ruído. Si calculamos el error del ADC tenemos que
\begin{displaymath}
Error=\frac{\frac{1}{2^{n}}}{2} \leq \frac{1}{100} ,.\\
\end{displaymath} (17)

Por tanto, es necesario que cada vez que tenemos 1 muestra, se represente dentro de, al menos 200 valores. Con 8 bits tenemos suficiente para representarlos, ya que $2^{8}=256$. En lo concerniente a la frecuencia de muestreo es necesario cumplir el Criterio de Nyquist, que indica que la frecuencia de muestreo debe ser al menos del doble del ancho de banda de la señal a muestrear. Por tanto, si nuestro ECG es de 0-250Hz será necesario que el muestreo se realice al menos de 500Hz. Al no hacerse así, podríamos perder información de la señal. Para ello, hemos procedido a elaborar una interrupción a partir de un timer, que cada 2 ms envíe el dato convertido a través del puerto serie. También, ha sido necesario especificar una frecuencia para el conversor. Dicha frecuencia debe ser más rápida que la velocidad a la que se envían los datos de tal modo que no cause repercusión alguna en la transmisión. Es decir, debe haber un dato cuya conversión haya finalizado antes de poder ser enviado. Hemos optado por elegir una frecuencia de 4MHz/64 para el conversor, ya que convierte con suficiente velocidad las muestras con ese valor.
Configuración Comunicación puerto serie del PC.
Los datos obtenidos de la conversión se enviarán bit a bit por una misma línea durante un tiempo delimitado. Las características de configuración son: Para la comunicación hacia el PC, se utiliza el registro de desplazamiento TXREG, cuya información es el dato dirigido al receptor, en este caso nuestra computadora.

Figura: Diagrama de bloques correspondiente al envío de datos asíncrono.
\resizebox{12cm}{!}{\includegraphics[width= 10cm]{fig/digserie2.epsi}}

La transferencia asíncrona no se envía la señal de reloj, sólo se necesitan relojes tanto del emisor como del receptor de la misma frecuencia y fase. Obtiene la sincronización a partir de un paquete fijo de bits que posee un bit de star, 8bits de datos, y 1 bit de stop. Además, la línea de datos se encuentra inactiva, es decir, a 1. El bit de star es 0, por tanto, cuando hay un nuevo paquete se marca su inicio con un flag de bajada que indica el 0; posteriormente, al volver a ponerse a 1 indicará el bit de parada.
El módulo del microcontrolador que nos ofrece dicha funcionalidad es el USART, es decir, Universal Synchronous Asynchronous Receiver Transmitter. Aunque el modo asíncrono nos permite full duplex sólo utilizaremos el pin RC7/TX/CK que corresponde al de salida. Los pasos necesarios para configurar la transmisión seríe asíncrona serían:
  1. Configuramos la velocidad del puerto serie a 19200 baudios, inicializándo para ello el registro SPBRG a 0x0D, y a alta velocidad activando el flab BRGH.
  2. Activamos el modo asíncrono borrando el bit SYNC y activando SPEN.
  3. Se activa la transmisión a partir de TXEN.
  4. El dato a enviar se carga en el buffer, es decir, el registro TXREG.

Figura: Diagrama de bloques correspondiente a la comunicación del puerto serie con el PC.
\resizebox{12cm}{!}{\includegraphics[width= 10cm]{fig/digserie1.epsi}}

Filtrado software
El filtrado para dicha señal digitalizada, se hará posteriormente por software a través de las herramientas que nos ofrece Matlab. Puesto que dicha conversión hace que venga contaminada de ruido. El filtro deberá pasar señales sin enturviar la información ya que la frecuencia es muy baja.

next up previous contents
Next: Módulo para el puerto Up: Implementación del circuito. Previous: Etapa de alimentación.   Índice General
krys 2003-09-24