sistema telemetrico inalambrico para la medicion y analisis

Transcripción

sistema telemetrico inalambrico para la medicion y analisis
SECRETARIA DE EDUCACIÓN PÚBLICA
DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR
TECNOLÓGICA
INSTITUTO TECNOLÓGICO DE MÉRIDA
“SISTEMA TELEMÉTRICO INALÁMBRICO PARA LA
MEDICIÓN Y ANÁLISIS DE POTENCIALES
NEURONALES”
OPCIÓN I
TESIS PROFESIONAL
PARA OPTAR AL TÍTULO DE:
INGENIERO ELECTRÓNICO.
PRESENTA:
CESAR EDUARDO ELJURE ROSEL
GERARDO ISMAEL LOPEZ ANCONA
MÉRIDA, YUCATÁN, MÉXICO
2013
1
ÍNDICE GENERAL.
INTRODUCCIÓN ............................................................................................................ 1
OBJETIVOS DE LA INVESTIGACIÓN ............................................................................ 2
HIPÓTESIS ..................................................................................................................... 2
LIMITACIONES Y DELIMITACIONES ............................................................................ 3
JUSTIFICACIÓN ............................................................................................................. 4
IMPACTO SOCIAL Y TECNOLÓGICO ........................................................................... 4
CRONOGRAMA .............................................................................................................. 5
CAPÍTULO I: ASPECTOS TEÓRICOS ........................................................................... 6
1.1 NEUROCIENCIA .................................................................................................... 6
1.1.1 NEUROFISIOLOGÍA ....................................................................................... 7
1.1.2 EL SISTEMA NERVIOSO Y LAS CÉLULAS ................................................... 7
1.1.3 POTENCIAL ELÉCTRICO EN LAS NEURONAS ............................................ 8
1.1.3.1 POTENCIAL DE ACCIÓN Y POTENCIAL EN REPOSO ..................... 9
1.2 SISTEMA DE TELEMETRÍA............................................................................. 10
1.2.1 COMPONENTES DE UN SISTEMA DE TELEMETRÍA................................. 11
1.2.2 DESCRIPCIÓN DE LAS PARTES DE UN NODO EN LA TELEMETRÍA ...... 12
1.2.2.1 CONVERTIDOR ANALÓGICO DIGITAL ........................................... 13
1.2.2.1.1 CONVERTIDOR DELTA-SIGMA ............................................... 14
1.2.2.2 COMUNICACIÓN INALÁMBRICA ..................................................... 16
1
1.2.2.2.1 ESTÁNDARES MÁS COMUNES EN LAS REDES
INALÁMBRICAS DE CORTO ALCANCE ............................................................... 16
1.2.2.2.1 HOMERF ............................................................................ 17
1.2.2.2.1 BLUETOOTH ...................................................................... 17
1.2.2.2.1 WIFI(802.11) ....................................................................... 18
1.3 EL MICROCONTROLADOR ................................................................................ 19
CAPÍTULO II: ANTECEDENTES .................................................................................. 21
CAPÍTULO III: DISEÑO ELECTRÓNICO ...................................................................... 28
3.1 DEFINICION DEL PROBLEMA A RESOLVER .................................................... 28
3.2 DEFINICION DE LAS VARIABLES DE ENTRADA Y SALIDA ............................. 28
3.3 DISEÑO DEL FILTRADO, AMPLIFICACIÓN Y DIGITALIZACIÓN DE LA
SEÑALES ELECTRICAS .......................................................................................... 30
3.4 MICROCONTROLADOR 16LF1823 .................................................................... 37
3.5 INTERFAZ SPI .................................................................................................... 39
3.6 MODULO TRANSCEPTOR DR3300 .................................................................. 41
3.7 MODULO TRANSCEPTOR HC-05 ..................................................................... 48
CAPÍTULO IV: RESULTADOS Y CONCLUSIONES ..................................................... 55
4.1 RESULTADOS .................................................................................................... 55
4.2 CONCLUSIONES ............................................................................................... 56
REFERENCIA BIBLIOGRAFICAS ............................................................................... 58
1
ANEXO 1: CÓDIGO DE PROGRAMACIÓN EN MATLAB PARA LA RECEPCIÓN DE
DATOS POR PUERTO USB ......................................................................................... 60
ANEXO 2: CÓDIGO DE PROGRAMACIÓN PARA LA TRANSMISIÓN DE DATOS. .... 61
ANEXO 3: CÓDIGO DE PROGRAMACIÓN PARA LA RECEPCIÓN DE DATOS EN
LA ESTACIÓN BASE. ................................................................................................... 62
ANEXO 4:DESCRIPCIÓN DE PINES DEL MICROCONTROLADOR PIC16LF1823.... 63
ANEXO 5 :CÓDIGO DE PROGRAMACIÓN DEL ADS1194 UTILIZANDO MPLAB. ..... 66
ÍNDICE DE FIGURAS.
Fig. 1.1- Neurona típica ................................................................................................... 8
Fig. 1.2-Representación de la respuesta del axón ante diferentes estímulos internos. ... 9
Fig. 1.3-Potenciales eléctricos en los diferentes canales de sodio y potasio ................ 10
Fig. 1.4-Descripción de las partes de un nodo ............................................................. 11
Fig. 1.5-Esquema básico del Convertidor Analógico-Digital .......................................... 13
Fig. 1.6-Diagrama a bloques de un convertidor Delta-Sigma ........................................ 15
Fig. 1.7-Estructura típica de un microcontrolador ......................................................... 20
Fig. 2.1-Diagrama a bloques del sistema de registro y estimulación multicanal............ 24
Fig. 2.2: Modulo para la adquisición de un canal de EEG ............................................. 26
1
Fig. 2.3- Diagrama a boques del diseño de un Front-End ........................................... 26
Fig. 3.1-Definición de las variables de entrada y de salida del sistema ........................ 29
Fig. 3.2-Diagrama a bloques del sistema telemétrico inalámbrico completo ................. 30
Fig. 3.3-Encapsulado TQFP-64 del ADS1194 ............................................................... 31
Fig. 3.4-Diagrama de bloques del ADS1194 ................................................................. 32
Fig. 3.5-Diagrama a flujo para configuración del ADS1194 ........................................... 33
Fig. 3.6-Registro de configuración CONFIG 1 ............................................................... 34
Fig. 3.7- Registro de configuración CONFIG 3 .............................................................. 35
Fig. 3.8- Registro de configuración individual de los canales (CHnSET) ...................... 36
Fig. 3.9- Diseño de la tarjeta de evaluación del ADS1194 ............................................ 36
Fig. 3.10- Conexión del ADS1194 usando alimentación unipolar(+3V/+1.8V) ............. 37
Fig. 3.11-Diagrama de pines del PIC16LF1823 ............................................................ 38
Fig. 3.12- Diagrama esquemático de la conexión SPI................................................... 40
Fig. 3.13-Modulo transceptor de radiofrecuencia DR3300 ............................................ 41
Fig. 3.14- Diagrama esquemático del modulo transceptor DR3300 .............................. 42
Fig. 3.15- Salida de los pines del DR3300 .................................................................... 44
Fig. 3.16- Circuito de aplicación a 1Mbps ..................................................................... 45
Fig. 3.17- Circuito esquemático para la transmisión de datos ....................................... 45
Fig. 3.18- Circuito esquemático para la recepción de datos .......................................... 46
Fig. 3.19- Circuito para la transmisión de datos utilizando el DR3300 ......................... 47
1
Fig. 3.20- Circuito para la recepción de datos utilizando el DR3300 ............................ 47
Fig. 3.21- Modulo transceptor bluetooth HC-05............................................................. 48
Fig. 3.22- Diagrama de conexiones bluetooth-Arduino Uno .......................................... 51
Fig. 3.23- Configuración por comandos AT ................................................................... 53
Fig. 3.24-Diagrama esquemático de las conexiones Bluetooth-PIC16LF1823 para la
recepción de datos enviados desde la estación base. .................................................. 54
Fig. 3.25- Conexión de Arduino UNO con el bluetooth para la configuración ............... 54
Fig. 4.1- Pruebas realizadas para la transmisión y recepción de datos a 1Mbps
utilizando el DR3300 ..................................................................................................... 55
Fig. 4.2- Modulo de prueba para el ADS1194 ............................................................... 56
Fig. 4.3- Modulo de prueba para el transceptor DR3300 .............................................. 56
INDICE DE TABLAS
Tabla 1-Velocidad y tiempos mínimos de transmisión ................................................. 22
Tabla 2-Algoritmo de lectura y escritura de los buffers ................................................. 23
Tabla 3-Descripcion de pines del DR3300 .................................................................... 43
Tabla 4- Descripción de pines del HC05 ....................................................................... 50
Tabla 5- Comandos AT para la configuración del Bluetooth HC-05 .............................. 52
1
INTRODUCCIÓN
A lo largo de los años, muchos estudiosos de la medicina han analizado nuevas
alternativas ante enfermedades neurológicas; con el objetivo de estudiar dichas
enfermedades, se han realizado pruebas en animales que presentan una actividad
neuronal semejante a la del ser humano. Sin embargo, dichos estudios no son
totalmente confiables debido a factores o perturbaciones que se presentan durante el
análisis. Uno de esos problemas es que el animal se encuentra sometido a
dispositivos cableados que reducen la fluidez de su movilidad. El uso de nuevas
tecnologías capaces de eliminar o reducir dichos factores proporcionará un avance
tecnológico y social que permitirá a los estudiosos analizar los datos y/o las señales
de manera inalámbrica, dando resultados más fieles.
El sistema desarrollado cuenta con dos partes importantes: una es la que se
encarga de adquirir los datos, procesarlos, amplificarlos y digitalizarlos y la otra se
encarga de la recepción y transmisión inalámbrica de los datos utilizando dispositivos
especiales. Con esto se simulará un sistema capaz de transmitir inalámbricamente
datos provenientes de cualquier tipo de señal eléctrica permitiendo al usuario obtener
mediciones correctas.
1
OBJETIVOS DE LA INVESTIGACIÓN
OBJETIVO GENERAL:

Diseñar e implementar un sistema telemétrico inalámbrico capaz de adquirir y
transmitir señales neuronales para el desarrollo de nuevas alternativas en el
área de la medicina.
OBJETIVOS ESPECÍFICOS:

Diseñar un módulo para la adquisición de señales eléctricas.

Desarrollar e implementar un protocolo de comunicación inalámbrico para el
envío y recepción de datos.

Realizar un código de programación para los dispositivos a utilizar que sean
capaces de controlar el encendido y apagado de dispositivos indicadores
controlados por el usuario.
HIPÓTESIS
El desarrollo de un sistema capaz de adquirir potenciales neuronales y
transmitirlos de manera inalámbrica otorgará mayor confiabilidad al momento de
detectar anomalías en el sistema nervioso constriñendo la pérdida de datos al
mínimo. Esto se logrará implementando dispositivos electrónicos y empleando
nuevas tecnologías que permitan realizar la tarea de una manera más eficiente.
2
LIMITACIONES

Este trabajo es un prototipo para la adquisición de señales neuronales del
cerebro de una rata. Sin embargo, al no contar con la rata ni con los
electrodos para tomar las muestras de las señales, éstas se simularán.

Ya que no se cuenta con los micromotores para el reposicionamiento de los
electrodos; únicamente se representará el encendido, apagado y sentido de
estos a través de indicadores LED.
DELIMITACIONES

Este trabajo será presentado como un prototipo en placa de circuito impreso
con componentes electrónicos, cuyo encapsulado se presenta en Dual in-line
package (DIP)

La adquisición de señales se realizará a través de 4 canales de manera
pseudo-simultánea y se transmitirán inalámbricamente hacia un dispositivo
receptor capaz de mostrar los datos obtenidos.

El dispositivo de adquisición de datos tomará las señales eléctricas simuladas.

En el diseño aún no se ha especificado el tipo de alimentación; por lo tanto,
serán energizados con una fuente de voltaje regulada (encontrada en los
laboratorios de electrónica).

El usuario será capaz de controlar el encendido y apagado de 4 indicadores
(led), dichos indicadores LED representarán el control de 2 motores. Estas
3
representaciones de los motores simularán el movimiento de 2 pares de
electrodos; pudiendo estos ir hacia abajo o hacia arriba.
JUSTIFICACIÓN
A lo largo de los años han surgido enfermedades que atacan el sistema nervioso
central. A través del tiempo se han creado fármacos para neutralizar estos
padecimientos; y a la fecha, se siguen buscando soluciones para este tipo de
afecciones. Sin embargo para que estos fármacos sean efectivos, se requiere hacer
estudios y pruebas en animales. Desafortunadamente, actualmente solo existen
sistemas
alámbricos
diseñados
para
estos
estudios;
consecuentemente,
proporcionan incomodidad al sujeto en estudio y los datos obtenidos podrían no ser
fidedignos. Por lo tanto, lo que se requiere es eliminar dichas perturbaciones para
que los datos obtenidos sean más eficientes y precisos. Implementar un sistema
telemétrico inalámbrico reduciría los diversos factores que ocasionan la adquisición
de datos incorrectos.
IMPACTO SOCIAL
Este sistema facilitará el diagnóstico de enfermedades neuronales; de igual
manera, proporcionará una alternativa en la creación de nuevos fármacos que
combatan las enfermedades del sistema nervioso central.
IMPACTO TECNOLÓGICO
Este sistema, implementará un nuevo método para la adquisición y estudio de
potenciales neuronales; empleando dispositivos electrónicos capaces de reducir los
diversos factores que ocasionan la adquisición de datos incorrectos.
4
CRONOGRAMA DE ACTIVIDADES
ACTIVIDAD
DESCRIPCION DE ACTIVIDADES
1
Investigar acerca de diferentes dispositivos de transmisión inalámbrica que
cumplan con las especificaciones requeridas.
2
Calcular la tasa de baudios necesaria para transmitir la información y calcular
la frecuencia de muestreo del ADS1194
3
Filtrar, amplificar y digitalizar 4 señales eléctricas utilizando algún dispositivo
de adquisición de datos.
4
Diseñar un protocolo de comunicación inalámbrica entre microcontroladores.
5
Acoplar el transmisor de radiofrecuencia al Microcontrolador a utilizar.
6
Añadir subrutinas que permitan reconfigurar ciertos parámetros del
dispositivo que acondiciona las señales durante la ejecución de la rutina
principal.
7
Diseñar y construir tarjetas de circuito impreso con tecnología Dual in-line
package (DIP)
8
Elaboración del reporte final.
ACTIVIDAD
MES
Enero
Febrero
Marzo
Abril
Mayo
Junio
1
2
3
4
5
6
7
8
5
CAPÍTULO I: ASPECTOS TEÓRICOS
En la actualidad existen diversas enfermedades que afectan al ser humano;
por esta razón, médicos, biólogos y científicos buscan nuevas técnicas o
tratamientos que prevengan o curen dichas enfermedades. Sin embargo, realizar
pruebas en los seres humanos resulta una tarea complicada; ya que, es difícil
prevenir los efectos secundarios que puede ocasionar el fármaco en estos. Además
de que es muy complicado evaluar los resultados de las pruebas. Un método
empleado en distintos laboratorios consiste en realizar pruebas o experimentos en
animales que presenten un funcionamiento fisiológico similar al del ser humano;
debido a esta similitud, se puede transpolar el comportamiento o los efectos
secundarios de estos medicamentos al ser humano. La neurociencia se encarga de
estas investigaciones.
1.1 Neurociencia
El preguntarse por el origen de las sensaciones, la capacidad de moverse, de
hablar, reír o llorar es una cuestión que el ser humano tiene por nacimiento. La
relación de estos fenómenos con el sistema nervioso ha sufrido muchos cambios
históricos hasta el surgimiento de una disciplina enfocada al esclarecimiento de la
estructura y función del sistema nervioso: la Neurociencia [1].
Uno de los sistemas del ser humano que es seriamente afectado por distintas
enfermedades es el sistema nervioso.
La rama de la ciencia que estudia el
funcionamiento del sistema nervioso es la “neurofisiología”.
6
1.1.1 Neurofisiología
La Neurofisiología es la rama de la fisiología que estudia el sistema nervioso.
En cualquier acción o conducta de todo organismo, está presente el sistema
nervioso. Cualquier cambio en su desarrollo es resultado de modificaciones
funcionales de dicho sistema. La neurofisiología se ocupa de revelar cómo funciona
este complicado sistema y cómo produce la variedad de modelos o de conductas que
manifiestan los organismos. Sin embargo, a pesar de los avances producidos en la
investigación, sobre todo en los aspectos bioquímicos y eléctricos, se tiene la
convicción de que es mucho más lo que se desconoce[2].
1.1.2 El sistema nervioso y las células
El sistema nervioso permite al organismo reaccionar frente a los continuos
cambios que se producen en el medio ambiente y en el medio interno. Además,
controla e integra las diversas actividades del organismo, como la circulación y la
respiración. El sistema nervioso se divide:
Estructuralmente, en sistema nervioso central (SNC), compuesto por el encéfalo y
la medula espinal, y el sistema nervioso periférico (SNP), que son los nervios y
neuronas que llevan los impulsos del cerebro a todo el cuerpo.
El tejido nervioso se compone de dos tipos principales de células: neuronas
(células nerviosas) y neuroglia (células de la glía), que sirven de soporte a las
neuronas.
7
Para poder monitorear los resultados de las pruebas es muy importante el
estudio de las neuronas; debido a que, son las responsables del cambio en la
conducta motora y la actividad eléctrica.
Las neuronas son las unidades estructurales y funcionales del sistema nervioso
especializadas para una rápida comunicación. Una neurona se compone del cuerpo
celular con prolongaciones denominadas dendritas y un axón, que lleva los impulsos
hacia y desde el cuerpo celular, respectivamente [3].
Figura 1.1: Neurona típica
1.1.3 Potencial eléctrico en las neuronas.
En esta tesis se estudiará ,sobre todo, el potencial electrico que tienen las
neuronas; ya que, en base a éste se podrá realizar un análisis del comportamiento
dependiendo del tipo de estímulo que se le aplique al sujeto en estudio. Se debe
recalcar que la carga eléctrica interior de la neurona es diferente a la del exterior;
esto crea un diferencial de potencial. Según el tipo de estímulo que recibe la
neurona, la diferencia de potencial puede aumentar (hiper polarización): se hace más
negativo el interior de la neurona.
8
Si el estímulo supera un umbral, la despolarización dispara el llamado
“Potencial de acción “.
Figura 1.2: Representación de la respuesta del axón ante diferentes estímulos
internos.
La ley del todo o nada indica que la neurona genera un impulso solo si se
supera el umbral(“todo”); y no lo genera si no se supera(“nada”).
1.1.3.1 Potencial de acciòn y potencial en reposo.
Es importante tener claros los conceptos de potencial de acción y potencial de
reposo; ya que son los que se simularán en la presente tesis. El potencial de reposo
existe cuando hay una distribución desigual de iones dentro y fuera de la neurona: la
neurona está polarizada inversamente. Mientras que el potencial de acción se
presenta cuando la neurona recibe un estímulo que cambia su distrubución de iones
y su polaridad. Cuando se alcanza un potencial de acción se producen, de forma
ordenada, movimientos de iones a través de la membrana de la neurona. Esto
origina cambios transitorios de potencial.[5].
9
Figura 1.3: Potenciales eléctricos en los diferentes canales de sodio y potasio
1.2 Sistema de telemetría.
Una vez estudiado lo que es un potencial de acción y un potencial en reposo;
es necesario medir y
transmitir dichas señales. Para realizar este proceso
deberán emplearse varios métodos; uno de estos es el sistema telemétrico. Se
conoce como telemetría al proceso de recolección, concentración, señalización y
envío de puntos
discretos (alarmas, contactos secos) y puntos analógicos
(voltajes) hacia un punto centralizado para su tratamiento. El punto donde se
adquieren los datos es llamado nodo; éste se conforma por el medidor y
el
transmisor.
Para poder realizar una medición de las señales obtenidas de las neuronas se
requiere emplear algún método. Uno de los principales métodos empleados es el
diseño de un sistema telemétrico. Los sistemas de telemetría son los encargados de
realizar mediciones en un punto remoto para luego transmitirlo a un centro de control.
El equipo utilizado en cualquier sistema de telemetría debe ser capaz de: medir
una magnitud física, producir una señal que pueda modificarse de alguna manera
10
para transportar los datos medidos y transmitir esta señal codificada por algún tipo de
canal de transmisión. La medición a distancia es, sin embargo, relativa; ya que, la
telemetría también se utiliza para obtener información en lugares cercanos pero de
acceso difícil, peligroso e incluso imposible [4].
1.2.1 componentes del sistema de telemetría.
Los sistemas de telemetría están compuestos por diferentes elementos, y
varían dependiendo de la aplicación; pero en general su estructura está constituida
por: nodos, los cuáles están encargados de hacer la medición de las variables
físicas, y de un centro de monitoreo y control.
En un nodo se encuentra básicamente lo siguiente:

Sensor.

Acondicionamiento de la señal generada por el sensor.

Sistema de procesamiento y/o almacenamiento.

Sistema de comunicación de datos
Figura 1.4: Descripción de las partes de un nodo.
11
1.2.2 Descripción de las partes de un nodo en la telemetría

Sensor: Se llama sensor al instrumento que produce una señal, usualmente
eléctrica, que refleja el Valor de una propiedad mediante una correlación definida
[4]
; un ejemplo serían los electrodos que reciben una señal eléctrica proveniente
de las neuronas del animal en estudio.
Ésta es la razón por la cuál en esta tesis el electrodo se encargará de extraer la
señal eléctrica proveniente de las neuronas del animal en estudio.

Acondicionamiento de la señal generada por el sensor: La señal producida por el
sensor la mayoría de las veces está en unos rangos que no pueden ser
directamente acoplados al sistema procesador o de almacenamiento; por lo que,
se hace necesario adecuarlos a niveles apropiados antes de ser procesados. La
manera de hacerlo es usando circuitos especiales para ponerlas en rango de
trabajo [4].
En el acondicionamiento que se realizará a las señales eléctricas obtenidas de
los electrodos es primordial: primero, una etapa de amplificación para el ajuste de la
sensibilidad del sistema; segundo, una etapa de filtrado para minimizar el ruido en las
señales debido a que las señales fisiológicas obtenidas se encuentran en el rango
de microvolts o milivolts.

Sistema de procesamiento y/o de almacenamiento: Es el encargado de recibir las
señales provenientes de los sensores, previo acondicionamiento, y de realizar
algún tipo de proceso para transmitirlo y/o almacenarlo, dependiendo de la
aplicación o de las necesidades del sistema
[4]
.
12
1.2.2.1 Convertidor Analógico Digital (ADC)
Hasta este momento el tipo de señales en el sistema telemétrico corresponde a
señales analógicas. Por esta razón se requiere una etapa encargada del
procesamiento digital; es decir, la conversión de la señal analógica a señal digital que
requiere el uso del convertidor Analógico-Digital (ADC).
El ADC posee un proceso de tres pasos; los cuales son:
Figura 1.5: Esquema básico del Convertidor Analógico-Digital
I.- Muestreo: Ésta es la conversión de una señal en tiempo continuo a una
señal en tiempo discreto obtenida tomando muestras de la señal en tiempo continuo
en instantes de tiempo discreto. Así xa(t) es la entrada al muestreador, la salida es
xa(nT) ≡ x(n), donde el intervalo de muestreo se denomina T.
II.- Cuantificación: Ésta es la conversión de una señal en tiempo discreto con
valores continuos a una señal en tiempo discreto con valores discretos (señal digital).
El valor de cada muestra de la señal se representa mediante un valor seleccionado
de un conjunto finito de valores posibles. La diferencia entre la muestra sin cuantificar
x(n) y la salida cuantificada xq(n) se denomina error de cuantificación.
13
III.- Codificación: En el proceso de codificación, cada valor discreto xq(n) se
representa mediante una secuencia binaria de n bits
[6].
1.2.2.1.1 Convertidores Delta-Sigma
Las señales obtenidas por los electrodos serán digitalizados en un ADC para luego
ser enviado a una unidad de procesamiento. Los convertidores delta-sigma, hoy en
día, son empleados en aplicaciones biomédicas donde es vital la obtención y
amplificación de señales en el orden de mV. Los convertidores delta-sigma se
destacan por su alta resolución y son ideales para la conversión de señales con un
ancho de banda amplio (desde tensión continua hasta una frecuencia de algunos
mega ciclos). Básicamente, en estos convertidores la señal de entrada es sobre
muestreada (oversampling) por un modulador y luego filtrada y decimada por un filtro
digital produciendo una conversión de muy alta resolución a tasas de muestreo
relativamente bajas.
La conversión propuesta por los convertidores delta-sigma permite que la
resolución pueda ser negociada por velocidad o consumo. Estos dispositivos
permiten que este comportamiento pueda ser programado. Entre las aplicaciones
típicas se encuentran: el audio, los procesos de control industrial y los instrumentos
médicos, entre otros.
14
Figure 1.6: Diagrama a bloques de un convertidor Delta-Sigma
Prácticamente todos los convertidores delta-sigma tienen entradas diferenciales.
Esto significa que, en realidad, la medición se toma por la diferencia de voltaje entre
las 2 entradas en vez de la diferencia entre un voltaje y tierra [7].

Sistema de comunicación de datos: una vez procesadas las señales producidas
por el sensor, éstas deben ser transmitidas por un canal que puede ser guiado, o
no, hacia un centro de control para ejecutar una acción predeterminada. Para
realizar el envío de datos debe usarse un protocolo que permita transmitir
diferentes señales en el caso de existir varios nodos que quieran acceder al
canal; eso dependerá de la arquitectura del sistema [4].
Este sistema pretende adquirir datos de cuatro señales diferentes por lo que
necesitará un protocolo o una cabecera de comunicación para cada canal.
15
1.2.2.2 Comunicación inalámbrica
Actualmente, uno de los inconvenientes que se han presentado al estudiar
animales es que se encuentran en condiciones desfavorables. El estar conectados a
algún dispositivo electrónico cableado afecta la comodidad del sujeto de estudio; por
ende, proporcionaría datos incorrectos. Una forma de eliminar esta perturbación es
utilizar una tecnología de comunicación inalámbrica reduciendo cualquier tipo de
incomodidad y obteniendo datos fieles.
El sistema presentado utilizará una comunicación inalámbrica para eliminar
cualquier tipo de estrés o incomodidad en el sujeto de estudio.
La comunicación inalámbrica o sin cables es aquella en la que los extremos de
la comunicación (emisor/receptor) no se encuentran unidos por un medio de
propagación físico; sino que, se utiliza la modulación de ondas electromagnéticas a
través del espacio.
La comunicación que se realiza a través de la tecnología inalámbrica utiliza
ondas de radiofrecuencia de baja potencia y una banda específica, de uso libre o
privada, para transmitir entre dispositivos; ésta facilita la operación en lugares donde
el transmisor o el receptor no se encuentran en una ubicación fija
1.2.2.2.1 Estándares más Comunes en las Redes Inalámbricas de Corto
Alcance.
Existen varios estándares o topologías de comunicación inalámbrica; como
pueden ser: HomeRF, bluetooth, ZigBee, RFID, y WiFi. En el trabajo se descartarán
16
los estándares ZigBee y RFID; ya que no son útiles para esta aplicación. En este
apartado analizaremos las ventajas, desventajas y funciones de estos tres tipos de
estándares: HomeRF, Bluetooth y WiFi.
1.2.2.2.1.1 HomeRF
El estándar HomeRF es una especificación que permite la interconexión de
dispositivos inalámbricos en un área pequeña. Con esta tecnología se puede acceder
a la red de tu casa u oficina desde un teléfono celular y se puede controlar
dispositivos o consultar a distancia los datos importantes para tu beneficio y acceder
al internet con solo conectarte; esto en el caso de contar con una red casera o de
oficina.
HomeRF es la tecnología que compite directamente con los productos de la
IEEE 802.11 y Bluetooth en la banda de 2.4 GHz. Entre las prestaciones que ofrece
este estándar de comunicaciones se encuentran los siguientes puntos:
 Modulación FSK (modulación en frecuencia).
 Velocidad de datos variables entre 800 Kbps y 1.6 Mbps.
 Utiliza la banda de 2.4 GHz.
 75 canales de 1 MHz para voz.
1.2.2.2.1.2 Bluetooth.
El estándar Bluetooth permite al usuario conectar de manera simple y fácil una
gran variedad de dispositivos de computación y de telecomunicaciones. Esta
tecnología es ideal para comunicaciones de corto rango debido a que: posee la
17
habilidad de interactuar entre dispositivos en un ambiente lleno de ruido por
interferencia, permite localizar y conectarse con otros dispositivos Bluetooth, requiere
de una baja potencia para su uso y es de muy bajo costo.
El estándar Bluetooth cuenta con la especificación de la industria de las
telecomunicaciones para trabajar en la banda de 2.4 GHz; la cuál, al ser una banda
sin necesidad de licencia, es muy útil para los dispositivos que utilizan la
comunicación inalámbrica de corto rango. Sin embargo al utilizar la banda de 2.4
GHz, se puede tener interferencia de otros protocolos que utilizan el mismo espectro
de frecuencia; como es el caso del protocolo IEEE 802.11 y HomeRF.
La tecnología Bluetooth cuenta con las siguientes características:
 Los dispositivos Bluetooth son adaptables globalmente.
 Tienen un bajo consumo de potencia.
 Pueden interconectarse varios dispositivos al mismo tiempo.
 Utiliza un sistema de encriptación para la seguridad de envió de datos.
1.2.2.2.1.3 WiFi (IEEE 802.11)
El estándar 802.11 es muy similar al 802.3 (Ethernet) con la diferencia que
tiene que adaptar todos sus métodos al medio “No Guiado” de transmisión. En este
estándar se encuentran las especificaciones tanto físicas como a nivel MAC.
Una red de área local utiliza ondas electromagnéticas para enlazar los equipos
conectados a la red en lugar de los cables coaxiales o de fibra óptica que se utilizan
en las LAN convencionales cableadas. El atractivo fundamental de este tipo de redes
18
es la facilidad de instalación y el ahorro que supone la supresión del medio de
transmisión cableado. Aun así sus prestaciones son menores en lo referente a la
velocidad de transmisión que se sitúa entre los 2 y los 10 Mbps frente a los 10 y
hasta 100 Mbps ofrecidos por una red convencional [1].
1.3 El Microcontrolador
Este sistema telemétrico inalámbrico necesitará un dispositivo que se encargue de la
codificación, decodificación, configuración, inicialización, transmisión y recepción de
las señales. Para que pueda ser de utilidad en la aplicación, se utilizará un
Microcontrolador que cuente con ciertas características específicas
Ciertas aplicaciones industriales requieren de determinados sistemas digitales
programables que permiten un control relativamente fácil de dicha aplicación. Los
microcontroladores son sistemas digitales inteligentes (programables). Estos incluyen
en un mismo chip todos los componentes más importantes de un sistema basado en
un microprocesador: CPU, memoria, puertos de E/S, etc. El Microcontrolador nació
cuando las técnicas de integración progresaron lo suficiente como para incluir en un
mismo chip un sistema programable completo. La estructura típica de un
Microcontrolador dispone de los siguientes elementos:
El CPU ejecuta y busca las instrucciones depositadas en memoria ROM. Además,
recibe las señales de reloj y sincronización necesarias de la unidad de reloj y las
peticiones de interrupción.

La unidad de reloj o de oscilación genera la señal cuadrada de reloj a partir de
un cristal de cuarzo externo.
19

El controlador de interrupciones puede aparecer como un bloque diferencial
integrado en la propia CPU, el responsable de transmitir las peticiones internas o
externas de interrupción hacia la CPU.

Memoria ROM que almacena el programa y datos constantes.

Memoria RAM que almacena variables modificables del sistema.

Periféricos como: timers o contadores, puerto serie, puerto paralelo, etc.
Cada fabricante define la estructura interna y juego de instrucciones ofertando una
gran variedad de modelos en función de los componentes internos, tamaño de la
memoria del programa, etc. [8].
Figura 1.7: Estructura típica de un microcontrolador
20
CAPÍTULO II: ANTECEDENTES.
El trabajo presentado a continuación es respaldado por una serie de
antecedentes en los cuáles se desarrolla un sistema telemétrico para la adquisición
de diferentes tipos de potenciales. En los trabajos presentados anteriormente, surge
el inconveniente de estudiar sujetos de manera alámbrica; es por esto que, muchos
investigadores en las áreas de diseño electrónico, medicina, biomedicina, etc. han
optado por utilizar sistemas capaces de transmitir y recibir señales fisiológicas de
manera inalámbrica. Sin embargo, existen también trabajos que enriquecen con una
gran cantidad de información la elaboración de la presente tesis, aunque estos
utilicen métodos alámbricos. En la mayor parte de los estudios (Ainsworth, et al.,
1977; Kubie, 1984; Jaeger, et al., 1990; Szabó, et al., 2001), los sistemas
desarrollados se han basado en el uso de dispositivos capaces de detectar la
actividad de varias unidades neuronales de manera simultánea, así como en reubicar
manualmente el arreglo de microelectrodos en caso de pérdida de la señal. El
inconveniente principal es que la información es transmitida de manera alámbrica
(Mountcastle, et al., 1991), lo cuál impone ciertas restricciones al movimiento del
animal en experimentación [1].
En la mayoría de los
trabajos mencionados, la finalidad es medir varios
potenciales eléctricos simultáneamente para su análisis e interpretación. Sin
embargo, algunos dispositivos no cuentan con la posibilidad de realizar un eficiente
estudio en las diferentes capas de las neuronas.
El trabajo realizado por el Doctor en ciencias Francisco José Heredia López
[9]
presenta un sistema para el análisis de señales neuronales adquiridas mediante el
uso de microelectrodos reposicionables, circuitos de amplificación, filtrado,
21
transmisión y recepción de señales que permite el análisis en una computadora; en
la cual se otorga la posibilidad de realizar modificaciones en los parámetros de los
circuitos de adquisición mencionados. Sin embargo, los datos que se adquirían
pasaban por varios circuitos diseñados específicamente para realizar una
determinada acción. En este trabajo se pretende utilizar dispositivos que cuenten con
la capacidad de realizar todas estas operaciones en un sistema embebido.
El Ing. Ayrton Estrella Alcocer
[11]
muestra una alternativa al sistema
presentado por el Dr. Francisco José Heredia López. Aporta un trabajo denominado:
“sistema para la adquisición de señales fisiológicas aplicable a la telemetría” El
sistema estudiado a continuación realiza la adquisición de señales fisiológicas de
manera embebida en un dispositivo capaz de realizar todas las etapas necesarias
para el acondicionamiento de dichas señales.
Este sistema realizaba la adquisición de 6 señales provenientes de las
neuronas de una rata por medio de unos electrodos posicionados en el cerebro de
dicho animal. Sin embargo, este sistema contaba con un inconveniente al realizar la
transmisión; ya que al realizar la adquisición de 6
señales y utilizar 24 bits de
resolución el sistema de transmisión/recepción quedaba en cierta forma “lento” en
comparación con el muestreo de las señales. Entonces para poder compensar este
tiempo necesitaba realizar distintos métodos que, en cierta forma, no eran factibles.
Tiempos y velocidades
UART
SPI
ADS1296 (mín @16kSPS)
ADS1296 (mín @8kSPS)
Velocidad (Mhz)
1
8
2.77
1.36
Período T (us)
1
0.125
0.361
0.735
Tiempo por cada paquete (us)
200
21
60.648
123.48
Tabla 1: Velocidades y tiempos mínimos de transmisión
22
DRDY
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Asumiento una frecuencia de muestreo de 16kSPS
Tiempo transcurrido (us)
Stored by SPI
0
60.648
Buffer 1
121.296
Buffer 2
181.944
Buffer 3
242.592
Buffer 4
303.24
Buffer 5
363.888
Buffer 6
424.536
Buffer 7
485.184
Buffer 8
545.832
Buffer 9
606.48
Buffer 10
667.128
Buffer 11
727.776
Buffer 12
788.424
Buffer 1
849.072
Buffer 2
909.72
Buffer 3
970.368
Buffer 4
1031.016
Buffer 5
1091.664
Buffer 6
UART Activity
Buffer 1
Buffer 1/Buffer 2
Buffer 2
Buffer 2/Buffer 3
Buffer 3
Buffer 4
Buffer 4/Buffer 5
Buffer 5
Buffer 5/ Buffer 6
Buffer 6
Tabla 1: Algoritmo de lectura y escritura de los buffers
Es por eso que, en este sistema únicamente se realizará la adquisición y
transmisión de datos utilizando 4 canales con una resolución de 16 bits; lo que
reduce
considerablemente
la
velocidad
de
transmisión
evitándose
dichos
inconvenientes. Además este sistema utiliza tecnología más económica y más
sencilla; por lo tanto, es más accesible al usuario.
Tomoya Yamamoto, et al (1984) reportan un sistema telemétrico implantable
en monos hecho con componentes discretos, el cuál podía enviar los potenciales
detectados por cuatro microelectrodos seleccionables mediante un interruptor
mecánico. La transmisión es por medio de señales FM y éstas se recibían en un
receptor comercial. P. Grohrock, U. Hdusler, U Jiirgens (1997) reportan un sistema
telemétrico para monitorear actividad neuronal y sonidos en monos con un
microdrive, el cuál permite la reubicación de los microelectrodos para localizar
nuevas unidades. Sin embargo, el ajuste se hace de manera manual y la transmisión
de la información detectada, tanto de las neuronas como de los aullidos, se transmite
23
por medio de modulación en frecuencia (FM). Para esto, se emplean receptores
comerciales, de muy alta calidad y modificados, ubicados dentro de la caja Faraday
donde se encuentra ubicado el animal en experimentación. Las señales entregadas
por los receptores son grabadas en cintas de video [1].
Xuesong Ye, Peng Wang, et al
[12]
, presenta un sistema telemétrico portátil
para estimulaciones cerebrales y actividades neuronales registrando el
libre
comportamiento de animales pequeños. Este sistema comprende tres módulos
principales: un “backpack”, un “headstage” y un “asistente personal digital portable”
(PDA). El headstage contiene amplificadores de instrumentación de precisión con
impedancia de entrada alta. El backpack está comprendido por dos partes: la primera
se encarga de ser el estimulador y registrador de la actividad neuronal mientras que
la otra se encarga de la transmisión/recepción vía bluetooth con una velocidad de
transmisión arriba de los 70kb/s.
Se realiza el muestreo de las actividades
neuronales en un comportamiento natural de una rata con 12 bits de resolución a
12000 muestras por segundo.
Figura 2.1: Diagrama a bloques del sistema de registro y estimulación
multicanal
24
Sin embargo, las señales que se adquieren son de una mínima parte del
cerebro. En nuestro sistema pretendemos realizar el muestreo en los dos polos del
cerebro. A través del uso de un par de electrodos en cada polo, se aumentará la
velocidad de transmisión obteniéndose más bits de datos.
Marcelo Haberman, et al
[10]
, expone el análisis de dos tendencias actuales en
el diseño de amplificadores de señales de EEG (electroencefalograma) aplicados a la
ICCs (interfaces cerebro-computadora). Hace uso de ADC de tecnología delta-sigma
en cada canal que permite acoplar las señales en continua sin los perjuicios del
offset de los electrodos. Además utiliza circuitos alimentados con fuentes simples de
5 o 3 V con tamaños reducidos y de montaje superficial, etc.
Hace uso del diseño del front-end que se encarga de:

Alimentación a baterías

Componentes con fuente simple

Tamaño reducido
La alimentación a baterías es obligatoria si se requiere una ICC portátil. La
alimentación de los componentes con fuente simple simplifica el diseño electrónico y
el tamaño reducido facilita la portabilidad de la interfaz que puede situarse cerca de
los electrodos.
Este sistema utiliza un convertidor delta-sigma ADS1256 de la “Texas
instruments” de 24 bits y entrada diferencial de ±5V. La señal es adquirida a una
frecuencia de 480 muestras por segundo.
25
Figura 2.2: Modulo para la adquisición de un canal de EEG.
El front- end amplifica la señal 12 veces para aprovechar el rango dinámico del
ADC y conseguir una resolución de .05uV.
Un Microcontrolador ADuC841 es el encargado de coordinar la conversión y
transmitir las muestras al módulo inalámbrico; que en este caso, es el circuito
bluetooth BR-SCN30 de Blue Radios.
La alimentación proviene de una batería de 9V regulada a 5V para la sección
analógica y a 3.3V para la sección digital [10].
Figura 2.3: Diagrama a boques del diseño de un Front-End
Como se puede notar, este sistema tiene algunas similitudes al trabajo presentado
en esta tesis. Sin embargo, las pruebas o experimentos se hacen a seres humanos
lo que podría presentar un riesgo; es por eso que, en nuestro trabajo se requiere
implementar un módulo similar pero a un nivel menor para poder realizar una
transpolación de los efectos presentados.
26
Otra diferencia es la velocidad de transmisión; ya que en el trabajo que
presentaremos, ésta es de 1mbps. De igual manera se realizará el muestreo de más
canales con una menor resolución de bits, lo que nos permitirá realizar el estudio de
una mayor parte del cerebro y se podrán obtener datos más completos.
B.S. Soto Cruz, et al (2009) presenta un trabajo denominado “Monitor de
Actividad Neuronal basado en la Innovación de Microelectrodos MEMS”, dicho
trabajo se basa en la búsqueda de monitores miniaturizados que permitan la
amplificación, visualización y el registro de las señales provenientes de una red
neuronal in vitro o in vivo que surgen como propuesta para la creación de
instrumentos portátiles de bajo costo. Las innovaciones en el campo de
microelectrodos que mejoran dichas características
es uno de los principales
objetivos del diseño de monitores MEMS en aplicaciones biológicas [10].
27
CAPITULO III: DISEÑO ELECTRONICO
3.1. Definición del problema a resolver
Anteriormente se había estudiado la problemática que existe al realizar estudios en
animales que se encuentran conectados de manera alámbrica a algún dispositivo
que se encargue de realizar la medición de ciertas señales fisiológicas, realizar este
tipo de estudio entrega datos que no son del todo correctos debido a los diversos
factores de incomodidad que podría presentar el animal. El desarrollo de un sistema
telemétrico inalámbrico reducirá considerablemente dichos factores para poder
realizar un correcto análisis de las señales obtenidas. El sistema telemétrico
inalámbrico a desarrollar cuenta con varias etapas que se comunican entre sí para
obtener una lectura eficiente de las señales neuronales del animal en estudio.
En nuestro sistema se pretende analizar diferentes capaz o niveles del área
neuronal a través del reposicionamiento de los electrodos utilizando unos motores
piezoeléctricos capaces de tener un grado mínimo de intrusión en el cerebro del
animal. Para lograr que el sistema telemétrico inalámbrico sea eficiente y confiable
es importante realizar una buena elección de dispositivo que cuente con la tecnología
adecuada para cada proceso.
3.2. Definición de las Variables de Entrada y Salida
El sistema telemétrico planteado cuenta con dos variables de entrada: la primera
viene a ser el potencial de acción (impulsos eléctricos que se generan en el axón
cuando la neurona responde a un estímulo) que es capturada por los
28
microelectrodos.
El potencial de acción es un evento rápido que se mide en el
orden de los ms, y puede tener amplitudes en el orden de los mV.
La otra variable se encuentra en los datos que contienen la información necesaria
para
cambiar
aquellos
parámetros
de
ganancia
e
información
para
el
reposicionamiento de los microelectrodos empleados durante las pruebas. Dicha
variable viene desde una computadora portátil capaz de mandar dicha información.
Las variables de salida para este sistema de igual manera son dos: en primera
instancia tenemos la información digitalizada de los potenciales de acción, esta
información será enviada de forma inalámbrica hacia la estación base de trabajo. Los
datos son transmitidos en bytes de información a través de un transmisor
inalámbrico. Otra variable de salida viene a ser el dato de control que contiene las
instrucciones necesarias para el movimiento de los motores piezoeléctricos
encargados del reposicionamiento de los microelectrodos y para modificar los
registros que controlan las variables de amplificación de la ganancia de las señales
eléctricas capturadas de la neurona.
Figura 3.1: Definición de las variables de entrada y de salida del sistema
29
El sistema se divide en varias etapas, necesarias para poder realizar un satisfactorio
análisis de las señales neuronales de un animal en estudio. La figura 3.2 muestra un
diagrama a bloques de las etapas del sistema telemétrico inalámbrico descrito en
este trabajo.
Figura 3.2: Diagrama a bloques del sistema telemétrico inalámbrico completo
3.3 Diseño del filtrado, amplificación y digitalización de las señales eléctricas
Para que los potenciales de acción sean transmitidos de manera inalámbricamente
a la estación base, deberán ser tratados adecuadamente. Es debido a esta razón
que la primera etapa consiste principalmente en el filtrado, la amplificación, y la
digitalización de las señales eléctricas de los microelectrodos.
En la actualidad existen circuitos integrados diseñados específicamente para la
medición de potenciales y dentro de un solo encapsulado, realiza la función de
filtrado, la amplificación y la digitalización de señales eléctricas de entrada, tal es el
caso del dispositivo a utilizar en este proyecto: el ADS1194.
30
Figura 3.3: Encapsulado TQFP-64 del ADS1194
Las principales ventajas de emplear el circuito integrado ADS1194 es que los tres
bloques principales (filtrado, amplificación y digitalización) se encuentran embebidos
en un mismo dispositivo lo que permite ahorrar corriente eléctrica y disminuir el
tamaño y peso de la unidad electrónica de la rata.
El ADS1194 es un dispositivo para la medición de biopotenciales, es de bajo
consumo, dispone de 4 canales para adquisición de señales eléctricas, cada canal
posee un
convertido analógico-digital de tipo delta-sigma (ΔΣ) con hasta un
resolución de 16bit y un amplificador de ganancia programable (PGA).
31
La figura 3.3 muestra el bloque funcional del ADS1194, donde únicamente se usaran
los bloques correspondientes al filtrado, la multiplexación de las entradas, los
bloques de amplificación, digitalización y la interfaz SPI.
Figura 3.4: Diagrama a bloques del ADS1194
32
En la figura 3.4 se muestra el diagrama a flujo que se utilizo para programar al
ADS1194 el cual se encuentra en la hoja de datos del fabricante.
Figura 3.5: Diagrama a flujo para la configuración del ADS1194
33
Para realizar la programación adecuada del ADS1194 fue necesario configurar los
siguientes registros internos a través de un microcontrolador utilizando la interfaz SPI
(Serial Peripheral Interface).

REGISTRO DE CONFIGURACIÓN 1 (CONFIG1= 00000000)
Figura 3.6: Registro de configuración CONFIG1
A través del registro CONFIG1 se deshabilito las salida de oscilación, y se
selecciono la tasa de muestreo que corresponde a 8kSPS. Para determinar la
tasa de muestreo requerida se cálculo de la siguiente manera, en base a
estudios previos se determino que la duración de las bioseñales a medir son
se alrededor de 2 ms, y que es necesario obtener 16 muestras de cada
impulso para no perder información [9].

REGISTRO DE CONFIGURACIÓN 3 (CONFIG3= 11000000)
Mediante este registro se habilito el voltaje de referencia interno y se configuro
a 2.4V, cabe resaltar que cuando se utilizan alimentación de 3V el voltaje de
34
referencia debe ser 2.4V mientras que si empleamos fuentes para los circuitos
analógicos de 5V el voltaje de referencia interno es 4V.
Figura 3.7: Registro de configuración CONFIG3

REGISTRO
DE
CONFIGURACIÓN
INDIVIDUAL
DE
LOS
CANALES
(CHnSET=00010000)
El registro CHnSET es uno de los principales ya que a través de este se
configura la ganancia programable y se determina el tipo de señal
correspondiente a cada uno de los 4 canales disponibles. Durante las pruebas
se utilizo ganancia unitaria y
las señales de entrada fueron de electrodo
normal.
35
Figura 3.8: Registro de configuración individual de los canales (CHnSET)
En la figura 3.9 se muestra el diseño de evaluación del ADS1194 que se realizo para
verificar el adecuado funcionamiento.
Figura 3.9: Diseño de la tarjeta de evaluación del ADS1194
36
Durante las pruebas el ADS1194 se conecto como sugiere el fabricante, empleando
una fuente de voltaje para los circuitos analógicos de +3V y una alimentación para
los circuitos digitales de +1.8V. Como se puede apreciar en la figura 3.10 los
capacitores de filtrados permiten tener una baja tolerancia al ruido inherente que se
pueda presentar en las señales de entrada.
Figura 3.10: Conexión del ADS1194 usando alimentación unipolar (+3V/+1.8V).
3.4 Microcontrolador 16LF1823
Se requiere de un dispositivo capaz de realizar el procesamiento de las señales
digitales que manda el ADS1194,
y que sea capaz de configurar a este. Para
realizar la configuración del dispositivo de adquisición de datos es necesario
modificar ciertos registros como se mencionó anteriormente en este capítulo, de igual
manera requiere de un dispositivo que cuente con la interfaz SPI y que tenga un reloj
interno capaz de realizar todo el proceso de adecuación de las señales sin ningún
37
inconveniente. Otro punto a analizar es que se requiere de un dispositivo con una
interfaz serial RS-232 para poder conectar dispositivos transceptores.
El dispositivo que se eligió fue el 16LF1823 del fabricante “Microchip”, ya que cuenta
con características específicas y útiles para este sistema que serán descritas en
breve. La tarea del Microcontrolador 16LF1823 es: configurar al ADS1194 utilizando
el protocolo SPI, recibir y almacenar los datos adquiridos por dicho dispositivo,
transmitirlos a una estación base de trabajo en donde otro Microcontrolador recibirá
dichos datos, y estará pendiente de recibir alguna señal de control para el
reposicionamiento de los microelectrodos.
Entre las características útiles de este Microcontrolador podemos mencionar:
 Oscilador interno de 32MHz
 Rango de frecuencias seleccionable entre 31kHz y 32MHz
 Voltaje de operación de 1.8V-3.6V
 Oscilador TImer 1
 Corriente de operación de 30uA/Mhz
 Convertidor analógico-digital de 10bits de resolución
 Convertidor digital-analógico de 5 bits de resolución
 Interfaz SPI, MSSP I2C y EUSART(RS-232)
Figura 3.11: Diagrama de pines del PIC16LF1823
38
3.5 Interfaz SPI
Una vez que el ADC ΔΣ finaliza el procesos de digitalización de la señal eléctrica,
entonces es requerido un protocolo de comunicación serial para la transmisión de los
datos.
La
interfaz
SPI
(Serial
Peripheral
Interface)
es
un
estándar
de
comunicaciones, usado principalmente para la transferencia de información entre
circuitos integrados en equipos electrónicos. El bus de interfaz de periféricos serie o
bus SPI es un estándar para controlar casi cualquier dispositivo electrónico digital
que acepte un flujo de bits serie regulado por un reloj.
Esta interfaz será la
encargada de leer la conversión de los datos además de leer y escribir los registros
de control del ADS1194. Esta interfaz serial consiste en 4 señales principales: CS,
SCLK, SDI, SDO. La señal de salida DRDY negada del ADS119A es usada como
una señal de estado que indica cuando los datos están listos, cuando el DRDY = 0
indica que nuevos datos están disponible.

SCLK (Serial Clock): Controla cuando los datos son enviados y cuando son
leídos.

CS (Chip Select): Selecciona al ADS1194 para la comunicación SPI, durante
la comunicación serial el CS debe mantenerse en estado bajo.

SDI (Serial Data Input): Mediante este pin los datos de control ingresan al
dispositivo.

SDO (Serial Data Output): A través de este pin los datos son enviados fuera
del dispositivo.
39
En la figura 3.11 se muestra la conexión del AD1194 con el PIC16LF1823 utilizando
la interfaz SPI.
Figura 3.12: Diagrama esquemático de la conexión SPI
Para poder hablar acerca de la comunicación inalámbrica es necesario saber la
velocidad mínima de transmisión de datos requerida para transmitir todos los datos
de información que nos proporciona el dispositivo.
El ADS1194 manda 16 bits de información en cada uno de sus canales + 3 bytes
de cabecera, por lo tanto:
40
3.6 Modulo transceptor DR3300
Como se explicó anteriormente es necesario contar con un dispositivo capaz de
transmitir información a una velocidad igual o mayor a la especificada anteriormente,
de igual manera debe ser pequeño y presentar un bajo consumo.
Figura 3.13: Modulo transceptor de radiofrecuencia DR3300
El modulo transceptor DR3300 es un dispositivo ideal para nuestra aplicación
ya que cuenta con las especificaciones mencionadas de consumo y tamaño. Este
módulo de radiofrecuencia utiliza el transceptor hibrido TR1100. El TR1100 es un
transceptor ideal para transmisión inalámbrica de datos a corta distancia donde el
espacio reducido, la potencia de consumo bajo y a un bajo costo. Emplea una
arquitectura de amplificador de secuencia hibrida (ASH, amplifier-sequenced hybrid)
para logra la mezcla única de sus características. El TR110 es optimizado para
transmitir por radio frecuencia datos a velocidades de 256 kbps hasta 1Mbps usando
una modulación de tipo ASK (Amplitude-shift keying). Este transceptor emplea un
41
filtrado de tipo sierra (SAW filter en inglés) para suprimir los harmónicos de salida. El
TR1100 opera a una frecuencia fo de 916.50 MHz con una velocidad de transmisión
de datos de 1 Mbps, el cual presenta un voltaje de alimentación unipolar (2.7 – 3.5
Vcc). El módulo DR330 incluye al dispositivo TR1100 y todos los componentes
necesarios de configuración en un una tarjeta ensamblada de circuito impreso, el
diagrama esquemático del DR3300 se muestra en la figura 3.14.
Figura 3.14: Diagrama esquemático del módulo
transceptor DR3300
La tabla 3 muestra la descripción de los pines necesarios que hay que tomar en
cuenta para transmitir y recibir la información en este trabajo.
42
Nombre
Pin 1 (AGC/VCC)
Descripción.
Para habilitar esta operación (requerida para una transmisión de
tipo ASK) un capacitor externo debe ser colocado entre este pin y
tierra. El capacitor establece el tiempo mínimo en el cual se
mantendrá el control automático de ganancia una vez que es
amarrado. Para un tiempo dado de tAGH, el valor del capacitor CAGC
se obtiene de la siguiente fórmula:
Para una operación con una velocidad de
transmisión de 1Mbps, se coloca una un capacitor
cerámico de 100pF en este pin.
Pin 2 (PK DET)
Este pin controla la operación de detección de pico. Un
capacitor externo colocado entre este pin y tierra establece el
tiempo de detección y decaimiento, el cual tiene un arreglo de
1:1000. Para una aplicación con una transmisión de 1Mbps, el
tiempo de detección se establece en 0.024 µs con un capacitor
de 100pF.
Pin 4 (RX DATA)
RX DATA es conectado directo al pin des salida de datos del
transceptor
Pin 5 (TX IN)
El pin TX IN está conectado al pin TXMOD del transceptor a
través de una resistencia de 4.7kΩ en la placa de circuito. Una
resistencia adicional debe ser colocada en serie entre la fuente
de modulación y el pin TX IN, dependiendo de la potencia de
transmisión y el pico de voltaje de modulación. Para calcular la
potencia de salida se tiene la siguiente ecuación:
Donde Po esta en mW, el pico del voltaje de
modulación VTXH está en volts y el resistor externo
de modulación RM es en kilo ohms.
PIN 6, PIN7 y PIN
10: Tierra
PIN 9: VCC
Pin 11 (CTR1) y PIN
12 (CTR0):
Este pin se conecta a tierra
Este pin se conecta a la fuente de voltaje positiva del circuito,
el rango de operación es de 2.7 a 3.5 Vdc. También es posible
usar el pin 1 como entrada de voltaje.
CTR1 y CTR0 seleccionan el modo de operación del
transceptor Si CTR1 y CTR0 están en un estado lógico alto
entonces colocan al módulo en su modo de recepción. Si
43
Pin 13: RFIO
Pin 14:RF GND
CTR1 y CTR0 están ambos en un estado bajo lógico,
establecen al módulo en su modo de bajo consumo de energía
(sleep mode). Si CTR1 está en alto y CTR0 está en estado
bajo, establecen al módulo en un modo de transmisión de tipo
ASK. Si CTR1 está en un estado bajo y CTR0 está en estado
alto entonces el modulo se pone en modo de transmisión de
tipo OOK. Estos pines siempre deben estar en un estado
lógico por lo cual se recomienda nunca dejar al aire alguno de
los pines
Es el pin de entrada/salida de radiofrecuencia. Es donde se
coloca la antena
Este pin es la tierra del RF usado en conjunto con el pin RFIO
Tabla 3: Descripción de pines del DR3300
Figura 3.15: Salida de pines del
DR3300
Para la transmisión se utilizara el diagrama de aplicación que muestra la hoja de
datos que se muestra en la figura 3.16, La resistencia R M de 3.3 KΩ la cambiamos
por una resistencia de 1KΩ ya que buscamos que el voltaje VTXH sea de
aproximadamente 2.5 V y así tener pulsos de transmisión con una forma detalla que
produzca que el Microcontrolador de la estación de trabajo pueda recibir la
información de manera más detallada, ya que voltajes más bajos producidos con
44
resistencias más grandes provoca pulsos con un tipo de filtrado que provoca que la
lectura de datos en la estación base no sea muy confiable.
Figura 3.16: Circuito de aplicación a 1Mbps
El circuito realizado para la transmisión se muestra en la figura 3.17: Se utilizó el
Microcontrolador PIC16LF1823 utilizando la interfaz serial con la que cuenta dicho
dispositivo, como se mencionó anteriormente la forma de configurar al DR3300 como
transmisor o receptor depende de los pines CTR0 y CTR1(véase tabla X).
Figura 3.17: Circuito esquemático para la transmisión de datos.
45
En cuanto al circuito de recepción de datos, se le agrego un disparador de Schmitt
utilizando el comparador LM311
para elevar el nivel de voltaje, ya que el dato
transmitido tiene un voltaje entre 2 y 3V lo que hace que entre en la zona de
incertidumbre, ya que este no identifica entre un nivel lógico alto y uno bajo, es por
eso que al utilizar el disparador a voltajes recibidos mayores a 0.7 que es el voltaje
de ruptura del diodo el voltaje que entra por la terminal RX del PIC será de 5V y este
lo reconocerá como un uno lógico. Y a voltajes menores de 0.7 el pic recibirá 0V
equivalentes a un cero lógico. Como se muestra en la figura 3.18.
Figura 3.18: Circuito esquemático para la recepción de datos.
Para poder realizar pruebas se realizaron los circuitos en un protoboard para realizar
la transmisión y recepción de los datos, se utilizó una tarjeta de desarrollo para poder
visualizar la información recibida de igual manera se contó con la ayuda de un
osciloscopio para observar y comparar los datos enviados y recibidos.
46
Figura 3.19: Circuito para la transmisión de datos utilizando el DR3300
Figura 3.20: Circuito para la recepción de datos utilizando el DR3300
47
3.7Modulo transceptor HC-05
Anteriormente se hablo acerca del DR3300 para poder transmitir la información de un
Microcontrolador a una estación base de trabajo. Sin embargo, esta operación se
realizara en todo momento y no será capaz de hacer una comunicación full dúplex,
es decir, que solo puede trasmitir si no está recibiendo nada y viceversa, por esa
razón es necesario un dispositivo eficiente y de fácil manejo que no interfiera con el
DR3300, es por ello que se eligió el Bluetooth HC-05.debido a su bajo consumo, su
fácil configuración y manejo.
Figura 3.21: Modulo transceptor
bluetooth HC-05
El núcleo de funcionamiento de este módulo es el chip de radiofrecuencia CSR
BC417, en algunas hojas de datos es también llamado “CSR Bluecore 04-External”,
el cual es un dispositivo semiconductor de tecnología CMOS.
48
Algunas de las características del CI (circuito integrado) son:
 Bajo consumo de potencia ya que cuenta con una potencia de salida de -4 a
+6 dBm.
 Sensibilidad de -80 dBm.
 Un rango de bit EDR hasta 3Mbps.
 Interface de tipo UART.
 Voltaje de entradas y salidas de 1.8 V a 3.6 V.
 Consumo de corriente máximo de 40 mA.
 Cuenta con una memoria interna de 48 Kbyte de RAM.
 Soporta una Memoria flash de 8Mbit externa.
Este módulo tiene la ventaja de contar con una antena integrada, cuenta con interfaz
UART con Baud Rate programable desde 4800 hasta 1382400. Este dispositivo
también tiene la cualidad de auto conexión con el último dispositivo con el cual fue
vinculado la última vez que funcionaba y permite la paridad por medio de código.
El módulo HC-05 tiene dos modos de trabajo el primero es el modo de ordenrespuesta, en el usuario puede programar los parámetros del dispositivo a través de
comandos “AT”. El segundo es el modo de conexión automática en el cual el
dispositivo funcionara con los valores iniciales para transmitir o recibir datos.
También cuenta con tres roles de trabajo: Maestro, Esclavo y modo bucle. En rol
Maestro el modulo tiene las cualidades para detectar, establecer conexión con los
dispositivos Bluetooth cercanos y transferir y/o recibir datos. En rol esclavo el modulo
tiene la cualidad pasivas, esto quiere decir que solo puede recibir datos. En el rol
49
Bucle el modulo puede realizar conexiones pasivas (solo con maestros), de tal
manera que puede enviar y recibir datos al dispositivo maestro.
La tabla 4 muestra la descripción de los pines necesarios que hay que tomar en
cuenta para transmitir y recibir la información en este trabajo.
Pin
ID
1
TXD
2
RXD
Descripción.
UART_TXD, TTL/CMOS level. Pin de salida de datos
UART_RXD, TTL/CMOS level. Pin de entrada de datos
Pin de Reset, si se conecta a un nivel lógico bajo el
11
RESET
dispositivo se reiniciara, cuando el modulo este en uso
es mejor dejar el pin al aire.
12
Vcc
Pin de Voltaje.
13
GND
Pin de GND
Este es un pin para conectar un LED externo, que
funciona como indicador del modo de trabajo, así como
31
LED1
también como indicador de conexión con otro
dispositivo. (dependiendo del modo de trabajo del HC05)
Switch para el modo de trabajo. Cuando se encuentra
en un nivel alto el modulo entrara al modo orden-
34
KEY
respuesta. Si el pin está en un nivel bajo en suspendido
en el aire, el modulo entrara en modo de trabajo de
conexión automática.
Tabla 4: Descripción de pines del modulo HC-05
50
En el presente trabajo se utilizó la tarjeta de desarrollo Arduino uno y el software
SSCOM32 “Serial_port_test” para configurar al módulo HC-05. La conexión de la
tarjeta Arduino con el modulo Bluetooth se muestra en la figura X, al conectar Rx del
módulo con Rx de la tarjeta y TX con TX se podrá configurar al bluetooth simulando
un puerto serie virtual a través del Arduino.
Figura 3.22: Diagrama de conexiones bluetooth- Arduino Uno
Como se mencionó anteriormente el bluetooth utiliza comandos AT para su
configuración, en la tabla 3.3 se describirán los comandos a utilizar para la
configuración de los módulos tanto esclavo como maestro, estos comandos se
ingresaran al software SSCOM32 esperando la respectiva respuesta “OK”.
51
Comando “AT”
AT
AT+ADDR?
AT+NAME=parámetro
Parámetro
OK, indica que ya entro en el modo AT
Este comando te devuelve la dirección MAC del
dispositivo, es la que le debes poner al otro dispositivo
para comunicarlo.
Con este comando le ingresas el nombre al bluetooth.
Ejemplo AT+NAME=Maestro
Este comando indica el rol del bluetooth, ya sea como
esclavo, maestro o modo bucle.
AT+ROLE=parámetro
0--- rol esclavo
1--- rol maestro
2--- rol bucle
Este comando se utiliza para establecer una
contraseña, si se requiere comunicar con otro bluetooth
AT+PSWD=parámetro
ambos deberán tener configurada la misma contraseña.
Ejemplo AT+ PSWD=1234
Este comando establece la velocidad de transmisión, el
parámetro 1 indica la velocidad en baudios y pueden ser
los siguientes:
4800
9600
19200
38400
57600
115200
AT+UART=parametro1
23400
,parametro2,parametr
460800
o3
921600
1382400
El parámetro 2 indica cuantos bits de parada tendrá:
0—1bit
1—2bits
El parámetro 3 indica si tendrá bit de paridad.
0—ninguno
AT+CMODE=
parámetro
AT+BIND= parámetro
Ejemplo AT+UART=9600,0,0
0-indica que se conectara con una dirección especifica
1—indica que se conectara con cualquier dirección.
En este comando se coloca la dirección MAC del otro
dispositivo, al que se quiere conectar.
Tabla 5: Comandos AT para la configuración del Bluetooth HC-05
52
Existen varias maneras para que el módulo HC-05 entre en modo de orden
respuesta, en cualquiera de ellas se tiene la misma funcionalidad, la única diferencia
se basa en el Baud Rate con el cual se programara al módulo (4800, 9600 o 38400)
teniendo en cuenta siempre las siguientes condiciones para transmisión por la
interfaz UART: 8 bits de datos, 1 bit de parada y sin bits de paridad y control de flujo.
El más sencillo de todos es para el Baud Rate de 9600, para ello es necesario
realizar los siguientes pasos:
1. Establecer el pin 34 (KEY) en un nivel lógico bajo.
2. Proveer de energía al módulo (Vcc y GND).
3. Establecer el pin 34 (KEY) en un nivel lógico Alto.
Para verificar que el modulo entro en modo de programación el pin 31 (LED1)
transmitirá una señal de 2 Hz, con el fin de que el LED externo parpadee
rápidamente.
Una vez que se ha entrado en el modo AT realizando dicha conexión es necesario
ingresar los comandos en el orden que se muestra en la tabla 5, en el software
SSCOM32 como se muestra en la figura 3.23.
Figura 3.23: Configuración por comandos AT
53
Una vez configurado nuestro dispositivo, se puede conectar por puerto serial a
nuestro Microcontrolador, el diagrama de conexiones se muestra en la figura 3.24.
Figura 3.24: Diagrama esquemático de las conexiones Bluetooth- PIC16LF1823
para la recepción de datos enviados desde la estación base.
Figura 3.25: Conexión de Arduino uno con el bluetooth para configuración.
54
CAPITULO IV
RESULTADOS Y CONCLUSIONES
4.1 RESULTADOS
Durante las pruebas realizadas se logró transmitir datos a una velocidad de 1 Mbps
utilizando dispositivos de radiofrecuencia con el protocolo UART, además se
desarrollo un programa en Matlab que permite visualizar los datos enviados; los
datos fueron recibidos de manera confiable.
Figura 4.1: Pruebas realizadas para la transmisión y recepción
de datos a 1Mbps utilizando el DR3300
Se desarrolló un programa para realizar las tareas básicas de control y modificación
de registros del dispositivo ADS1194, escrito completamente en lenguaje
ensamblador para el PIC18LF1823, para la recepción se programo un Arduino UNO
que enlaza el microcontrolador con la computadora. En la figura 4,2 se puede
observar el módulo de prueba que se desarrollo para el dispositivo ADS1194.
55
Figura 4.2: Módulos de pruebas para el ADS1194
En la figura 4.3 se muestra el modulo de prueba del transceptor DR3300 que se
realizo para hacer pruebas de transmisión y recepción.
Tabla 4.3: Módulos de pruebas para el transceptor DR3300
4.2 CONCLUSIONES
Aun se siguen realizadas pruebas con el dispositivo de adquisición de datos
ADS1194 y se determinó que los módulos de radiofrecuencia DR3300 cumplen con
las especificaciones de fabricante y que resultaron ideales para este proyecto.
De igual manera se continúa trabajando en la reducción del tamaño de los circuitos
requeridos, con el propósito de eliminar cualquier incomodidad en el roedor causadas
por el peso de las PCB y de esta forma obtener mediciones confiables. Al realizar
las pruebas con la trasmisión de datos se notó que el dispositivo bluetooth tenía una
56
mejor transmisión y recepción que el DR3300, sin embargo, este dispositivo no
puede enviar continuamente datos por mucho tiempo ya que después de un rato
pierde comunicación. El DR3300 tiene la ventaja de transmitir datos en todo
momento al activarlo pero tenía mucha interferencia, es por ello que se decidió
utilizar ambos dispositivos, uno para enviar en todo momento los datos (DR3300) y
otro para recibir el dato de la estación base en cualquier momento (HC-05).
57
REFERENCIA BIBLIOGRÁFICA.
[1].- Moguel Rodríguez, Luis Alonso, Comunicación inalámbrica para el monitoreo de
señales bioelectrónicas Tesis. Instituto Tecnológico de Mérida ,2012 ,126 h.
[2] Colaboradores de Wikipedia. Neurofisiología [en línea]. Wikipedia, La enciclopedia
libre,
2013
[fecha
de
consulta:
15
de
marzo
del
2013].<http://es.wikipedia.org/w/index.php?title=Neurofisiolog%C3%ADa&oldid=6439
9339>.
[3]
Tortosa
Moreno,
Avelina,
Sistema
Nervioso:
Anatomía
[EN
LINEA],<
http://infermeravirtual.blob.core.windows.net/infermeravirtual-publish/invar/cd3812a2edbb-4723-be65-f17f277f2926> [CONSULTA: 15 DE MARZO 2013].
[4] Rodríguez Prada, Alban y Salazar Gonzalez, Gabriel Leonard, sistema de
telemetría inalámbrica móvil de corto alcance aplicado a la medición de temperatura.
Diseño y construcción. Tesis, Universidad Industrial de Santander facultad de
ingenierías Físico-Mecanicas escuela de ingenierías Eléctrica, Electrónica y de
telecomunicaciones BUCARAMANGA.2003 ,95 h.
[5] Córdoba García, Francisco, Fundamentos biológicos del aprendizaje y la
memoria.[EN LINEA], <http://www.uhu.es/francisco.cordoba/asignaturas/FBAM/TE
MAS%20PDF/3-LA%20NEURONA.pdf>[CONSULTA: 15 DE MARZO 2013].
[6] Dr. Morales Mendoza Luis Javier. Teorema del Muestreo. [EN LÍNEA]
<http://www.dicis.ugto.mx/profesores/ljavier/documentos/Lec01%20%20Teorema%20
de%20Muestreo.pdf > [CONSULTA: 06 MARZO 2013]
[7]
Delta-Sigma.
[EN
LÍNEA]
<http://pablohoffman.com/cgi-
bin/twiki/bin/view/Oscusb/DocCap04Hardware> [CONSULTA: 13 MARZO 2013].
58
[8]
Molina,
Alberto,
Tema
3:
Microcontroladores.
[EN
LINEA].
<
http://blearning.itmina.edu.mx/dep/sada/carreras/Ingenieria%20en%20Sistemas%20
Computacionales/5to%20Semestre/Arquitectura%20de%20Computadoras/Arki_Com
p/microcontroladores.pdf> [consulta: Marzo 2013]
[9] Heredia López, Francisco J. Un sistema telemétrico para la captura de potenciales
de acción extracelulares, reposicionamiento de los microelectrodos y captura de la
actividad motora en ratas. Tesis (Doctor en ciencias, mención en Ingeniería
biomédica). Universidad Autónoma de Yucatán, 2009,191 h.
[10] Marcelo A. Haberman, Pablo García, Enrique Spinelli, Comparación de dos
amplificadores de EEG para interfaces Cerebro-Computadora, Memorias II jornadas
sobre interfaces cerebro computadora, Paraná – Entre Ríos Argentina, Págs. 24-27,
23 y 24 de abril de 2009, resumen de conferencias.
[11] Estrella Alcocer, Ayrton, Sistema para la adquisición de señales fisiológicas
aplicable a la telemetría, Tesis, Instituto Tecnológico de Mérida, 2012, 60h
[12] Xuesong Ye, Peng Wang, et al, A portable telemetry System for brain stimulation
and neuronal activity recording in freely behaving small animals, Journal of
Neuroscience Methods, Pags: 186-193, 02/07/2008, [RECURSO:EN LINEA],
<www.elsevier.com/locate/jneumeth>
59
ANEXO1
Código de programación en Matlab para la recepción de datos por puerto USB
function[x]=LecturaSerial1Mb
%*************************************************************************%
%
RECIBE LAS SEÑALES DEL PIC
%*************************************************************************%
x=zeros(1,100);
***Inicializa y abre el puerto serial***
clc; disp('Initializing')
SerialPIC = serial('COM5');
set(SerialPIC,'BaudRate',1000000,'DataBits',8,'Parity','none','StopBits',1,
...
'FlowControl','none','Timeout',500000,'InputBufferSize',1000000);
%Cantidad de bytes que puede guardar el buffer
fopen(SerialPIC);
%Abre el puerto
COM
disp('Serial Port "SerialPIC" Initialized and Opened');
pause(2);
%*************************************************************************%
%
***Lee datos de señal fisiologica simulada***
%*************************************************************************%
disp('Sending data request...');
disp('Reading serial bytes from buffer');
contador=1;
disp('Waiting For the first byte...');
contador=0;
posicion=1;
while(SerialPIC.BytesAvailable == 0)
end
disp('Read succesfull!!!...')
while(SerialPIC.BytesAvailable ~= 0 && posicion <= 10000)
x(posicion)=fread(SerialPIC,1,'uint8');
posicion=posicion+1;
if contador<255
contador=contador+1;
else
contador=1;
end
end
%*************************************************************************%
%
***CERRAR el puerto COM al finalizar***
%*************************************************************************%
fclose(SerialPIC);
delete(SerialPIC);
clear SerialPIC;
delete(instrfindall);
%Forza a eliminar y cerrar todos los COM
%Verifica si existen COM abiertos
disp('Serial Port "SerialPIC" is Closed');
end
60
ANEXO2
Código de programación para la transmisión de datos.
#INCLUDE <header_18F4550.c>
#FUSES HSPLL,NOWDT,USBDIV,PLL5,CPUDIV1,VREGEN,NOMCLR
#USE delay(clock=48000000)
#USE rs232(UART1,BAUD=1000000,XMIT=PIN_C6,RCV=PIN_C7,BITS=8,PARITY=N,STOP=1)
int8 variable=0;
int8 incomingbyte;
int1 bandera=0;
void main()
{
while (true)
{
if(!input(pin_a1)|| bandera==1)
{
variable++;
putc(variable);
bandera=1;
}
if(kbhit()) //SI HAY ALGO EN EL BUFFER DE USB
{
incomingbyte=getc(); // EL DATO DEL BUFFER LO IGUALO A "INCOMINGBYTE"
switch(incomingbyte)
{
case '1':
output_toggle(pin_b1);
break;
case '2':
output_toggle(pin_b2);
break;
case '3':
output_toggle(pin_b3);
break;
case '4':
output_toggle(pin_b4);
}
}
}
}
61
ANEXO3
Código de programación para la recepción de datos en la estación base.
#INCLUDE <header_18F4550.c>
#FUSES HSPLL,NOWDT,USBDIV,PLL5,CPUDIV1,VREGEN,NOMCLR
#USE delay(clock=48000000)
#include "usb/usb_cdc.h"
#USE rs232(UART1,BAUD=1000000,XMIT=PIN_C6,RCV=PIN_C7,BITS=8,PARITY=N,STOP=1)//
int8 incomingbyte;
void main()
{
usb_init(); //inicializa puerto usb
usb_wait_for_enumeration(); //espera a que este listo para comunicarse
delay_ms(500);
output_high(pin_d3);
while (true)
{
if(kbhit()==TRUE)
{
usb_cdc_putc_fast(getc());
}
if(usb_cdc_kbhit()) //SI HAY ALGO EN EL BUFFER DE USB
{
incomingbyte=usb_cdc_getc(); // EL DATO DEL BUFFER LO IGUALO A "INCOMINGBYTE"
switch(incomingbyte)
{
case '1':
putc('1');
break;
case '2':
putc('2');
break;
case '3':
putc('3');
break;
case '4':
putc('4');
break;
}
}
}
}
62
ANEXO 4
Descripción de pines del microcontrolador PIC16LF1823
Nombre
Descripción
RA0/AN0/CPS0/C1IN+/
DACOUT/TX(1)/CK(1)/ICSPDAT/
ICDDAT
Propósito general I/O; canal analógico digital
entrada 0;comparador entrada positiva; salida
convertidor digital a analógico; transmisor
USART ;reloj síncrono USART; datos I/O ICSP
RA1/AN1/CPS1/C12IN0Propósito general I/O; canal analógico digital
/VREF+/
entrada 1; comparador entrada negativa; A/D y
SRI/RX(1)/DT(1)/ICSPCLK/
entrada de referencia positiva del convertidor
ICDCLK
Digital-analógico; receptor USART. Reloj de
programación serial
RA2/AN2/CPS2/T0CKI/INT/
Propósito general I/O; canal analógico digital
C1OUT/SRQ/FLT0
entrada 2; entrada timer 0;interrupción externa
;salida comparador;
RA3/SS(1)/T1G(1)/VPP/MCLR
Entrada de propósito general, entrada TImer 1
voltaje de programación; Master Clear con pullup interno
RA4/AN3/CPS3/OSC2/
Propósito general I/O; canal analógico digital
CLKOUT/T1OSO/CLKR/SDO(1)/
entrada 3;resonador;salida Fosc/4 conexión
T1G(1)
oscilador TImer 1; salida de referencia del reloj;
salida de datos del SPI ; entrada de timer1
RA5/CLKIN/OSC1/T1OSI/T1CKI Propósito general I/O; entrada de reloj externo;
Timer 1; resonador
RC0/AN4/CPS4/C2IN+/SCL/
Propósito general I/O; canal analógico digital
SCK
entrada 4;comparador entrada positiva
RC1/AN5/CPS5/C12IN1-/SDA/
Propósito general I/O; canal analógico digital
SDI
entrada 5;comparador C1 o C2 de entrada
negativa; entrada/ salida I2C; entrada de datos
SPI;
RC2/AN6/CPS6/C12IN2-/P1D/
Propósito general I/O; canal analógico digital
SDO(1)/MDCIN1
entrada 6; entrada 6 del sensor capacitivo
comparador C1 o C2 de entrada negativa;
salida de PWM; salida de datos de SPI ; entrada
1 de modulador de portadora
RC3/AN7/CPS7/C12IN3-/P1C/
Propósito general I/O; canal analógico digital
SS(1)/MDMIN
entrada 7; entrada 7 del sensor capacitivo
63
RC4/C2OUT/SRNQ/P1B/CK(1)/
TX(1)/MDOUT
RC5/P1A/CCP1/DT(1)/RX(1)/
MDCIN2
VDD
VSS
comparador C1 o C2 de entrada negativa;
salida de PWM; salida de datos de SPI ; entrada
de fuente del modulador
Propósito general I/O; salida de comparador C2;
salida invertida del latch SR; salida PWM; reloj
síncrono USART; trasmisor asíncrono USART;
salida moduladora
Propósito general I/O; salida PWM;
captura/compara/pwm1;datos síncronos
USART; receptor síncrono USART; modulador
de entrada portadora 2
Fuente positiva
Referencia de tierra
64
ANEXO5:
Código de programación del ADS1194 utilizando MPLAB
;-----------------------------------------------------------------------------------------------------------;***************************************Transmisión_EUSART_2Mbps**************************
*******************
;-----------------------------------------------------------------------------------------------------------;PROGRAMA DISEÑADO PARA LEER DATOS DEL ADS1194 EN FORMATO SPI Y TRANSMITIRLOS
EN FORMATO UART
;--------------------------------------------------------------------------------------------------------------;*************************************BITS DE
CONFIGURACIÓN*****************************************************
;--------------------------------------------------------------------------------------------------------------__CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF
& _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
__CONFIG _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_ON
LIST
P=16LF1823
INCLUDE <P16LF1823.INC>
;-----------------------------------------------------------------------------------------------------------;************************************VARIABLES DEL
PROGRAMA**************************************************
;-----------------------------------------------------------------------------------------------------------CBLOCK
0X20
CONTADOR_AUX
CONTADOR_BYTES
DATO
;PRIMERA VARIABLE
ENDC
;-----------------------------------------------------------------------------------------------------------;***********************************DEFINICION DE
PUERTOS****************************************************
;-----------------------------------------------------------------------------------------------------------#DEFINE
UART_TX
PORTA,0
#DEFINE
UART_RX
PORTA,1
#DEFINE
DRDY
PORTA,2
#DEFINE
SPI_SCK
PORTC,0
#DEFINE
SPI_SDI
PORTC,1
#DEFINE
SPI_SDO
PORTC,2
#DEFINE
SPI_SS
PORTC,3
;-----------------------------------------------------------------------------------------------------------;******************************************DEFINICION DE
CONSTANTES******************************************
;-----------------------------------------------------------------------------------------------------------DUMMY
EQU
0X0F
RDATAC
EQU
0X10
SDATAC
EQU
0X11
RESETCMD
EQU
0X06
WCONFIG1
EQU
0X41
WCONFIG3
EQU
0X43
WCHSET
EQU
0X45
STARTCMD
EQU
0X08
;-------------------------------------------------------------------------------------------------------------;*****************************************CONFIGURACIÓN DE INTERFACES Y
RECURSOS*******************************
;-------------------------------------------------------------------------------------------------------------ORG
0x00
GOTO
Configura_Oscilador
ORG
0x04
GOTO
Servicio_Interrupcion
Configura_Oscilador
;{
BANKSEL
OSCCON
BSF
OSCCON,SPLLEN
;HABILITA 4XPLL
Espera_4xPll
;{
65
BTFSS
GOTO
OSCSTAT,PLLR
Espera_4xPll
;4XPLL READY?
;NO, ESPERA.
MOVLW
MOVWF
b'11110010'
OSCCON
;CONFIGURA OSCILADOR
;INTERNO CON FRECUENCIA DE 32
OSCSTAT,HFIOFR
Espera_Oscilador_Listo
;OSCILADOR LISTO?
;NO, ESPERA
;}
Mhz.
Espera_Oscilador_Listo
;{
BTFSS
GOTO
;}
;}
Configura_Pines
;{
BANKSEL
BSF
BSF
BCF
BCF
BANKSEL
CLRF
BANKSEL
CLRF
BANKSEL
CLRF
BANKSEL
MOVLW
APFCON
APFCON,RXDTSEL
APFCON,TXCKSEL
APFCON,SDOSEL
APFCON,SSSEL
PORTA
PORTA
LATA
LATA
ANSELA
ANSELA
TRISA
b'00000110'
;RX=RA1
;TX=RA0
;SDO=RC2
;SS=RC3
;SDI=RC1
;SCK=RC0
;
;Init PORTA
;Data Latch
;
;Make RA<5:0> digital
;CONFIGURA LOS PINES COMO ENTRADA Y
SALIDA
MOVWF
BANKSEL
CLRF
BANKSEL
CLRF
BANKSEL
CLRF
BANKSEL
MOVLW
TRISA
TRISC
b'00000010'
;CONFIGURA LOS PINES COMO ENTRADA Y
MOVWF
TRISC
;SS=S,SDO=S,SDI=E,SCK=S
PORTC
PORTC
LATC
LATC
;TX=S,RX=E,DRDY=E
;
;Init PORTC
;Data Latch
;
ANSELC
ANSELC
;Make RC<5:0> digital
SALIDA
;}
Configura_EUSART
;{
BANKSEL
BCF
BCF
BSF
CLRF
CLRF
INCF
BSF
BSF
;}
Configura_SPI
;{
BANKSEL
BCF
BCF
BANKSEL
BCF
BCF
MOVLW
XORWF
BSF
BAUDCON
BAUDCON,BRG16
TXSTA,SYNC
TXSTA,BRGH
SPBRGH
SPBRGL
SPBRGL
RCSTA,SPEN
TXSTA,TXEN
SSPSTAT
SSPSTAT,SMP
SSPSTAT,CKE
SSP1CON1
SSP1CON1,WCOL
SSP1CON1,CKE
b'00000001'
SSP1CON1
SSP1CON1,SSPEN
;TRANSFERENCIA 8 BITS
;ASINCRONO
;ALTA VELOCIDAD
;BAUD RATE DE
;1 Mbps
;HABILITA EL PUERTO
;HABILITA TX PARA TRANSMITIR
;MEDICION A LA MITAD DE LA ONDA
;TRANSMITIR EN EL CAMBIO DE "0" A "1"
;NO DETECCION DE COLISION
;SCK EN "0" CUANDO INACTIVO
;PUERTO SPI EN MODO MAESTRO
;CON BAUDRATE=FOSC/16.
66
;}
Configura_ADS
;{
;---------------------------------------------------------------------------------------------------------------------;*************************************CONFIGURACIÓN DEL "INTERNAL REFERENCE
BUFFER"**************************************
;---------------------------------------------------------------------------------------------------------------------;{
CALL
Retardo_1s
;ESPERA 1S PARA INICIALIZAR EL ADS
BANKSEL
SSP1BUF
MOVLW
RESETCMD
MOVWF
SSP1BUF
;ENVIA EL COMANDO RESET
CALL
Espera_SPI
CALL
Retardo_10us
BANKSEL
SSP1BUF
MOVLW
SDATAC
;DESHABILITA LECTURA CONTINUA
DE DATOS
MOVWF
SSP1BUF
;ENVIA EL COMANDO RESET
CALL
Espera_SPI
MOVLW
WCONFIG3
;ESCRIBE 1 REGISTRO A
MOVWF
SSP1BUF
CALL
Espera_SPI
MOVLW
0X00
;PARTIR DE CONFIG3
MOVWF
SSP1BUF
CALL
Espera_SPI
MOVLW
0XC0
;REFRENCIA INTERNA DE BUFFER
MOVWF
SSP1BUF
CALL
Espera_SPI
CALL
Retardo_160ms
;}
;--------------------------------------------------------------------------------------------------------------------------;*************************************CONFIGURACION DE LA RESOLUCION Y 8
ksps**********************************************
;-------------------------------------------------------------------------------------------------------------------------;{
BANKSEL
SSP1BUF
MOVLW
WCONFIG1
MOVWF
SSP1BUF
CALL
Espera_SPI
MOVLW
0X00
MOVWF
SSP1BUF
CALL
Espera_SPI
MOVLW
0X00
MOVWF
SSP1BUF
CALL
Espera_SPI
;}
;-------------------------------------------------------------------------------------------------------------------------;***************************CONFIG. DE LOS CANALES, CADA UNO A UNA ENTRADA,
DIFERENCIALES, GAIN=1***********************************
;-------------------------------------------------------------------------------------------------------------------------;{
MOVLW
WCHSET
MOVWF
SSP1BUF
CALL
Espera_SPI
MOVLW
0X03
MOVWF
SSP1BUF
CALL
Espera_SPI
MOVLW
d'5'
MOVWF
CONTADOR_AUX
Inicializa_Canal
MOVLW
0X10
MOVWF
SSP1BUF
CALL
Espera_SPI
DECFSZ
CONTADOR_AUX
GOTO
Inicializa_Canal
;}
;}
Configura_Interrupciones
;{
67
BANKSEL
OPTION_REG
;INTERRUPCIONES POR EL FLANCO
DE BAJADA DE DRDY
BCF
OPTION_REG,INTEDG
BANKSEL
INTCON
;HABILITA INTERRUPCIONES.
BSF
INTCON,INTE
BSF
INTCON,GIE
;}
;-------------------------------------------------------------------------------------------------------------------------;****************************************INICIA LECTURA CONTINUA DE
DATOS**************************************************
;-------------------------------------------------------------------------------------------------------------------------;{
BANKSEL
SSP1BUF
MOVLW
RDATAC
MOVWF
SSP1BUF
CALL
Espera_SPI
MOVLW
STARTCMD
MOVWF
SSP1BUF
CALL
Espera_SPI
;}
;-------------------------------------------------------------------------------------------------------------------------;*****************************************PROGRAMA PRINCIPAL AHORRO DE
BATERIA*********************************************
;-------------------------------------------------------------------------------------------------------------------------Principal
SLEEP
GOTO
Principal
;-------------------------------------------------------------------------------------------------------------------------;***************************************INTERRUPCION POR
DRDY**************************************************************
;-------------------------------------------------------------------------------------------------------------------------Servicio_Interrupcion
;{
BANKSEL
INTCON
BTFSC
INTCON,INTF
CALL
Lee_Dato
Fin_Interrupcion
BANKSEL
INTCON
BCF
INTCON,INTF
RETFIE
;}
Lee_Dato
;{
MOVLW
d'4'
MOVWF
CONTADOR_BYTES
Lee_Status
BANKSEL
SSP1BUF
MOVLW
DUMMY
MOVWF
SSP1BUF
CALL
Espera_SPI
DECFSZ
CONTADOR_BYTES
GOTO
Lee_Status
MOVLW
d'3'
MOVWF
CONTADOR_BYTES
BANKSEL
TXREG
MOVLW
'A'
MOVWF
TXREG
Lee_Canal_1
BANKSEL
SSP1BUF
MOVLW
DUMMY
MOVWF
SSP1BUF
CALL
Espera_SPI
CALL
Espera_TX
BANKSEL
SSP1BUF
MOVF
SSP1BUF,W
MOVWF
DATO
BANKSEL
TXREG
MOVF
DATO,W
MOVWF
TXREG
DECFSZ
CONTADOR_BYTES
68
GOTO
Lee_Canal_1
MOVLW
d'3'
MOVWF
CONTADOR_BYTES
MOVLW
'B'
MOVWF
TXREG
Lee_Canal_2
BANKSEL
SSP1BUF
MOVLW
DUMMY
MOVWF
SSP1BUF
CALL
Espera_SPI
CALL
Espera_TX
BANKSEL
SSP1BUF
MOVF
SSP1BUF,W
MOVWF
DATO
BANKSEL
TXREG
MOVF
DATO,W
MOVWF
TXREG
DECFSZ
CONTADOR_BYTES
GOTO
Lee_Canal_2
MOVLW
d'3'
MOVWF
CONTADOR_BYTES
MOVLW
'C'
MOVWF
TXREG
Lee_Canal_3
BANKSEL
SSP1BUF
MOVLW
DUMMY
MOVWF
SSP1BUF
CALL
Espera_SPI
CALL
Espera_TX
BANKSEL
SSP1BUF
MOVF
SSP1BUF,W
MOVWF
DATO
BANKSEL
TXREG
MOVF
DATO,W
MOVWF
TXREG
DECFSZ
CONTADOR_BYTES
GOTO
Lee_Canal_3
MOVLW
d'3'
MOVWF
CONTADOR_BYTES
MOVLW
'D'
MOVWF
TXREG
Lee_Canal_4
BANKSEL
SSP1BUF
MOVLW
DUMMY
MOVWF
SSP1BUF
CALL
Espera_SPI
CALL
Espera_TX
BANKSEL
SSP1BUF
MOVF
SSP1BUF,W
MOVWF
DATO
BANKSEL
TXREG
MOVF
DATO,W
MOVWF
TXREG
DECFSZ
CONTADOR_BYTES
GOTO
Lee_Canal_4
CALL
Espera_TX
RETURN
;}
----------------SUBRUTINAS DE
RETARDO********************************************************************
;------------------------------------------------------------------------------------------------------------------------------------Retardo_1s
;{
MOVLW
MOVWF
Espera_1s
CALL
DECFSZ
GOTO
d'126'
CONTADOR_AUX
Retardo_8ms
CONTADOR_AUX
Espera_1s
69
RETURN
;}
Retardo_160ms
;{
MOVLW
MOVWF
Espera_160ms
CALL
DECFSZ
GOTO
RETURN
;}
Retardo_8ms
;{
BANKSEL
MOVLW
MOVWF
BANKSEL
MOVLW
MOVWF
BCF
CALL
RETURN
;}
Retardo_1ms
;{
BANKSEL
MOVLW
MOVWF
BANKSEL
MOVLW
MOVWF
BCF
CALL
RETURN
;}
Retardo_10us
;{
BANKSEL
CLRF
BANKSEL
MOVLW
MOVWF
BCF
CALL
RETURN
;}
Espera_TMR0
;{
BANKSEL
BTFSS
GOTO
RETURN
;}
Espera_SPI
;{
BANKSEL
BTFSS
GOTO
RETURN
;}
Espera_TX
;{
BANKSEL
BTFSS
d'11'
CONTADOR_AUX
Retardo_8ms
CONTADOR_AUX
Espera_160ms
OPTION_REG
b'00000111'
OPTION_REG
TMR0
d'6'
TMR0
INTCON,T0IF
Espera_TMR0
OPTION_REG
b'00000111'
OPTION_REG
TMR0
d'22'
TMR0
INTCON,T0IF
Espera_TMR0
OPTION_REG
OPTION_REG
TMR0
d'216'
TMR0
INTCON,T0IF
Espera_TMR0
INTCON
INTCON,T0IF
Espera_TMR0
SSP1STAT
SSP1STAT,BF
Espera_SPI
PIR1
PIR1,TXIF
;LISTO PARA ENVIAR EL PRIMER
Espera_TX
;NO, ESPERE.
BYTE?
GOTO
RETURN
;}
END
70

Documentos relacionados