Next: Módulo para el puerto Up: Implementación del circuito. Previous: Etapa de alimentación. Índice General
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:
 |
(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
 |
(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
. 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:
- 8 bits de datos.
- 1 bit de Stop.
- Ningún bit de Paridad.
- Transferencia asíncrona.
- Velocidad 19200 baudios.
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.
|
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:
- 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.
- Activamos el modo asíncrono borrando el bit SYNC y activando SPEN.
- Se activa la transmisión a partir de TXEN.
- 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.
|
- 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: Módulo para el puerto Up: Implementación del circuito. Previous: Etapa de alimentación. Índice General
krys 2003-09-24