dispositivo electrÓnico para apoyo de terapÍa de

82
IEL2-II-04-34 IEL2-II-04-12 1 DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE REHABILITACIÓN DEL PACIENTE CON HEMIPARESIA Alejandro Tello Molano Federico Escobar Informe de Proyecto de Grado Fredy Enrique Segura Quijano Asesor de Proyecto UNIVERSIDAD DE LOS ANDES DEPARTAMENTO DE INGENIERÍA ELECTRICA Y ELECTRÓNICA BOGOTÁ ENERO DE 2005

Upload: others

Post on 17-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

1

DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE REHABILITACIÓN DEL PACIENTE CON HEMIPARESIA

Alejandro Tello Molano

Federico Escobar

Informe de Proyecto de Grado

Fredy Enrique Segura Quijano

Asesor de Proyecto

UNIVERSIDAD DE LOS ANDES

DEPARTAMENTO DE INGENIERÍA ELECTRICA Y ELECTRÓNICA

BOGOTÁ

ENERO DE 2005

Page 2: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

2

CONTENIDO

Página

INTRODUCCIÓN 6

OBJETIVOS 8

1. MARCO TEÓRICO 9

1.1 DESCRIPCIÓN DEL ACV 9

1.1.1 DEFINICIÓN DEL PROBLEMA 9

1.1.2 TRATAMIENTO DE REHABILITACIÓN 13

1.1.3 DISPOSITIVOS EN EL MERCADO 14

1.2 DESCRIPCIÓN DEL SISTEMA 19

1.2.1 BLOQUES DEL SoC 19

1.2.2 CARACTERÍSTICAS DE LA PANTALLA 26

1.2.3 TARJETA DE DESARROLLO PARA EL SISTEMA COMPLETO 28

2. METODOLOGÍA DE SOLUCIÓN 43

2.1 ACERCAMIENTO AL IOIR 43

2.2 INVESTIGACIÓN DE ELEMENTOS EN EL MERCADO 47

2.3 PROTOTIPOS ELECTRÓNICOS 47

2.4 COMPROBACIONES DEL ELEMENTO 56

3. PRUEBAS Y RESULTADOS 57

3.1 CONFIGURACIÓN DE REGISTROS 57

3.2 RESULTADOS 64

Page 3: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

3

4. SOFTWARE UTILIZADO 66

5. DIAGRAMA CIRCUITAL 67

6. CONCLUSIONES 69

7. ANEXOS 70

7.1 PROGRAMA PARA GENERAR SEÑALES DE CONTROL 70

7.2 PROGRAMAS REALIZADOS EN VISUAL BASIC 6.0. 71

7.3 PROGRAMAS REALIZADOS EN LENGUAJE C. 81

8. REFERENCIAS 82

Page 4: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

4

LISTA DE FIGURAS

Página

Figura 1. Origen del accidente Cerebro Vascular. 10

Figura 2. Dispositivo Model 30014A Photoelectric Rotary Pursuit. 15

Figura 3. Dispositivo Model 20017 Automatic Tally Maze. 15

Figura 4. Dispositivo Schunfried VTS. 16

Figura 5. Diagrama de pines del LH79520. 18

Figura 6. Diagrama de bloques del LH79520. 19

Figura 7. Mapeo de memoria física. 20

Figura 8. Modos de operación del LH79520. 24

Figura 9. Diagrama de pines de la pantalla SX19V001-ZZA. 27

Figura 10. Diagrama de pines del CCFL. 27

Figura 11. Diagrama de pines del panel de toque. 28

Figura 12. Diagrama de bloques de la pantalla SX19V001-ZZA. 28

Figura 13. Tarjeta de desarrollo de la tarjeta RMS101 SBC. 29

Figura 14. Ubicación de componentes de la tarjeta RMS101 SBC. 30

Figura 15. Tabla de verdad de la SDRAM. 31

Figura 16. Diagrama de bloques de la SDRAM. 31

Figura 17. Diagrama de pines de la SDRAM. 32

Figura 18. Tabla de verdad de la flash. 33

Figura 19. Diagrama de bloques de la flash. 33

Figura 20. Diagrama de pines de la flash. 34

Figura 21. Tabla de verdad del ADS7843 en modo single ended. 35

Figura 22. Tabla de verdad del ADS7843 en modo differential. 35

Figura 23. Diagrama de pines del ADS7843. 35

Figura 24. Diagrama de una célula básica Boundary-Scan. 36

Page 5: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

5

Figura 25. Arquitectura de un componente JTAG. 36

Figura 26. Máquina de estados de la señal de control de un JTAG. 38

Figura 27. Un ejemplo de célula JTAG. 39

Figura 28. Célula usada como reloj. 39

Figura 29. Registro de corrimiento interno. 40

Figura 30. Registro de 1 solo bit. 41

Figura 31. Módulo Laberinto. 48

Figura 32. Módulo sensor de presión. 49

Figura 33. Módulo Luces Secuenciales. 50

Figura 34. Módulo Software. 51

Figura 35. Plantilla de Pirbhai del sistema global. 52

Figura 36. Diagrama de tiempo de las señales de la pantalla LCD. 53

Figura 37. Diagrama de flujo para señales de control y datos. 54

Figura 38. Diagrama de bloques de la FPGA 54

Figura 39. Diagrama de bloques del controlador de video del LCD. 55

Figura 40. Diagrama de bloques final del sistema. 56

Figura 41. Registros de Configuración utilizados en el proyecto. 61

Figura 42. Diagrama de flujo de el controlador de pantalla de toque. 64

Figura 43. Diagrama esquemático de la tarjeta que contiene al SoC. 67

Figura 44. Diagrama esquemático de la tarjeta que contiene memorias. 68

Page 6: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

6

INTRODUCCIÓN

Actualmente, gracias a los avances tecnológicos, se pueden encontrar en el

mercado una gran variedad de dispositivos electrónicos los cuales pueden llegar a

facilitar algunos procesos que se realizaban anteriormente de forma menos óptima.

Podemos encontrar ejemplos claros y sencillos al observar nuestro alrededor:

Computadores Portátiles, Calculadoras, Teléfonos celulares, entre otros.

El campo de la salud se ha visto ampliamente beneficiado por dichos

avances tecnológicos, mencionados anteriormente. De hecho, existen empresas

especializadas en fabricar dispositivos electrónicos, en pro de facilitar la vida de los

pacientes, tanto en la etapa de convalecencia, como en la parte de rehabilitación.

Sin embargo, debido a que vivimos en un país en vía de desarrollo, gran parte de

esta tecnología no esta a nuestro alcance, por a su elevado costo. Este es el claro

ejemplo de lo que sucede con el Instituto de Ortopedia Infantil Roosevelt (IOIR),

el cual ofrece a sus pacientes, terapias de rehabilitación, utilizando una tecnología

muy precaria, sin desmeritar los resultados que se pueden llegar a lograr de dicha

forma.

Basados en lo mencionado anteriormente, nos surgió la inquietud de realizar

un proyecto de grado enfocado en las necesidades que encontramos al asistir a

diferentes terapias de rehabilitación en el IOIR, utilizando las herramientas que

hemos adquirido a través del aprendizaje ofrecido por la Universidad de los Andes.

Además, nos dimos cuenta que podíamos obtener una ganancia adicional, debido a

que es un proyecto que involucra varias disciplinas: Medicina, Diseño Industrial y,

por supuesto, Ingeniería Electrónica. Pensamos que es una ganancia adicional,

puesto que en nuestra vida laboral deberemos desarrollar actividades

multidisciplinarias.

Page 7: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

7

Para dicho proyecto, ha sido de suma importancia tener en cuenta el factor

económico, para que esté al alcance de Instituciones, tales como el IOIR, las

cuales cuentan con recursos limitados. De hecho, después de investigar diferentes

empresas especializadas en fabricar este tipo de ayudas médicas, llegamos a la

conclusión que los precios son muy elevados para el presupuesto con el que

cuentan instituciones de salud en nuestro país. Además se debe tener en cuenta,

que dichos elementos son muy poco flexibles para cubrir las necesidades que se

presentan en el proceso de rehabilitación.

En el proceso de investigación, nos dimos cuenta que teníamos en nuestras

manos la capacidad suficiente de adaptar tecnología actual para suplir las

necesidades mencionadas anteriormente a un costo razonable y con alta

flexibilidad.

Después de asesorarnos con los doctores y terapeutas del IOIR, surgió la

idea de crear un componente enfocado a pacientes con Accidente Cerebro

Vascular, ya que es una lesión que aqueja a una gran parte de la población

mundial, generando secuelas, tanto a nivel mental como físico, como lo veremos

más adelante.

Page 8: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

8

OBJETIVOS

Objetivo general:

• Diseñar un dispositivo de bajo costo para la rehabilitación en terapia

ocupacional y del lenguaje, de pacientes con hemiparesia, mediante un

trabajo interdisciplinario entre diseño industrial, medicina e ingeniería

electrónica.

Objetivos Específicos:

1. Diseñar un dispositivo funcional tanto en la parte electrónica como en la

parte de diseño, que apoye la rehabilitación de pacientes con secuelas de

ACV en la parte de terapia ocupacional y del lenguaje.

2. Fabricar un prototipo de dispositivo electrónico para el fin mencionado.

3. Mejorar las habilidades cognitivas del paciente con ACV tales como:

seguimiento de instrucciones, atención y elementos para lecto-escritura,

manejo de lateralidad izquierda-derecha, arriba-abajo, entre otros.

4. Apoyar las medidas de terapia ocupacional como: manejo del espacio y el

renglón e integración bilateral del paciente, así como el tono muscular.

5. Realizar las comprobaciones del dispositivo a través de pruebas en

pacientes reales.

Page 9: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

9

1. MARCO TEÓRICO

1.1 DESCRIPCIÓN DEL ACV

1.1.1 DEFINICIÓN DEL PROBLEMA

El ACV (Accidente cerebro Vascular) “es la lesión neurológica aguda que se

produce como resultado de un infarto cerebral o de una hemorragia”1.

Según las estadísticas en EE.UU. ocurren 500 000 casos nuevos de ACV

entre los cuales 300 000 de ellos sobreviven con disfunciones neurológicas. Dichas

personas pueden presentar un gran número de secuelas dependiendo de la zona

del cerebro que ha sufrido dicho accidente.

Una vez ocurrido el ACV, el paciente entra en rehabilitación. La terapia

ocupacional y la terapia en fonoaudiología forman parte de esta rehabilitación. De

hecho, este tipo de terapia se realiza para que el paciente vuelva a aprender a

escribir, a leer, etc. Es decir que se busca que el paciente logre la mayor

autonomía posible.

En el mercado encontramos muchos dispositivos electrónicos, los cuales se

utilizan en dichas terapias de rehabilitación. Estos dispositivos se dividen en

diferentes grupos según el fin que cumplen.

Podemos hablar de dispositivos que sirven para evaluación. Hacen parte de

este grupo los dispositivos que evalúan la fuerza, el rango de los movimientos,

evaluación antropométrica, la sensibilidad, etc. 1 Acosta, Abel - Paiz, Marta - Jiménez, Mariel-Karatanasopuloz, Ricardo - Haydar, Yamila - Levy, Gustavo. Accidente cerebrovascular en terapia intensiva

Page 10: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

10

Existen otros tipos de dispositivos los cuales se utilizan para observar el

comportamiento motor y otros dispositivos que son herramientas cognitivas.

Como podemos observar, existen una gran variedad de dispositivos para la

rehabilitación de las secuelas del ACV. Sin embargo, dichos dispositivos tienen la

gran desventaja de ser muy costosos. Es debido a esto que nos hemos interesado

en el diseño, la fabricación y la evaluación de un tipo de dispositivo de bajo costo

que ayude en la rehabilitación de la hemiparesia (una de las secuelas del ACV).

Para poder llevar a cabo este dispositivo, además de la parte electrónica, debemos

tener en cuenta que debe tener una parte de diseño. Es por esto que pensamos

trabajar con el CIFAD (Centro de Investigaciones de la Facultad de Arquitectura y

Diseño) dirigido por el profesor Mario Pinilla y conformado por algunos estudiantes

de Diseño Industrial, para que nos ayuden y asesoren en lo que concierne a la

parte estética y física del dispositivo.

Figura 12

2 Tomado de http://www.tuotromedico.com/temas/accidente_cerebro_vascular.htm

Page 11: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

11

Definición: “El Accidente Cerebro Vascular (ACV) o Ictus es una enfermedad

que afecta a las arterias del cerebro o que llegan al cerebro. Por diversas causas

las células del cerebro quedan sin oxígeno y pierden su función, apareciendo

cuadros de parálisis de medio cuerpo, trastornos de habla, etc…”3

Causas: Los ACV pueden ser generados de dos formas: coágulos de sangre

y sangrado en el cerebro.

Los Coágulos De Sangre4: Una causa muy común de un accidente cerebro

vascular es la aterosclerosis en la cual se acumulan depósitos de grasa y plaquetas

en la pared de las arterias formando placas. Con el paso del tiempo, las placas

comienzan a bloquear lentamente el flujo de sangre. La placa en sí puede bloquear

la arteria lo suficiente para causar un accidente cerebro vascular.

Con frecuencia, la placa hace que la sangre fluya de manera anómala, lo

que produce un coágulo sanguíneo, el cual puede permanecer en el sitio del

estrechamiento e impedir que la sangre circule hacia todas las arterias más

pequeñas que irriga (este tipo de coágulo que no se desplaza se denomina

trombo). En otros casos, el coágulo puede viajar y detenerse en un vaso más

pequeño. (Un coágulo que viaja se denomina embolia).

Los accidentes cerebro vasculares causados por embolia tienen como causa

más común trastornos cardíacos. Una embolia se puede originar en un vaso

sanguíneo grande a medida que se ramifica desde el corazón. Igualmente, un

coágulo se puede formar en otra parte del cuerpo por diferentes razones y luego

viajar al cerebro y provocar un accidente cerebro vascular.

3 Tomado de http://www.tuotromedico.com/temas/accidente_cerebro_vascular.htm 4 Tomado de http://www.nlm.nih.gov/medlineplus/spanish/ency/article/000726.htm#Definición

Page 12: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

12

Las arritmias cardíacas, como la fibrilación auricular, se pueden asociar con

este tipo de accidente cerebro vascular y pueden contribuir a la formación de

coágulos. Otras causas de accidente cerebro vascular embólico incluyen

endocarditis (una infección de las válvulas cardíacas), o el uso de una válvula

cardiaca mecánica. Se puede formar un coágulo en la válvula artificial,

desprenderse y viajar hacia el cerebro; por esta razón, las personas con una

válvula cardiaca mecánica tienen que tomar anticoagulantes.

Sangrado En El Cerebro: Una segunda causa importante de accidente

cerebro vascular es el sangrado en el cerebro (accidente cerebro vascular

hemorrágico), que puede ocurrir cuando pequeños vasos del cerebro se debilitan y

se rompen. Algunas personas tienen defectos en los vasos sanguíneos del cerebro

que hacen que esto sea más probable. El flujo de sangre después de la ruptura del

vaso sanguíneo daña las células cerebrales.

Complicaciones: Las principales secuelas que presentan los pacientes que

han sufrido ACV son:

• Parálisis: Hemiplejia (Parálisis de un lado del cuerpo), hemiparesia

(debilidad en un lado del cuerpo). Dicha parálisis o debilidad puede afectar

ya sea un miembro o un lado de la cara o todo un lado del cuerpo.

• Déficit Cognitivo: Problemas de raciocinio, conciencia, atención, juicio y

memoria. Puede no tener conciencia de la parte de su cuerpo afectada.

• Déficit del lenguaje: Afasia (pérdida de las habilidades comunicativas

previamente aprendidas), disartria (alteración en el aspecto fonético del

lenguaje, en la cual se afecta la organización prosódica, el flujo sonoro, el

matiz fonético de los sonidos o la realización incorrecta de los signos fónicos

del aspecto sonoro del lenguaje.).

• Déficit emocional: Problemas para controlar emociones o expresar

emociones de manera inadecuada.

Page 13: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

13

• Dolor: Dolor central (Mezcla de calor, frío, ardor, hormigueo, falta de

sensibilidad, punzadas agudas y dolor intenso).

1.1.2 TRATAMIENTO DE REHABILITACIÓN5

• Fase inicial o aguda:

Debe acudirse lo antes posible a un Hospital, ya que el ahorro de tiempo

en comenzar el tratamiento mejora el pronóstico.

Control de la vía aérea, oxigenación y tensión arterial, para asegurar una

óptima oxigenación y perfusión de las células cerebrales.

Medicamentos que impidan la agregación plaquetaria (ácido

acetilsalicílico, ticlopidina, clopidogrel, dipiridamol, triflusal). En algunos

países se usan trombolíticos por vía intravenosa para revertir

rápidamente la obstrucción.

Si el problema es un embolismo a distancia (desde el corazón), se puede

precisar de una anticoagulación permanente.

Control de la hipertensión arterial.

Control de las complicaciones: convulsiones, edema cerebral, etc ...

Si el cuadro es hemorrágico puede precisar de su evacuación quirúrgica

(no en todos los casos).

• Fase de seguimiento:

En los cuadros de isquemia cerebral por arteriosclerosis de la arteria

carótida se realiza la endarterectomía de la arteria afectada. Esta

intervención se realiza a través de una incisión en el cuello, para acceder

hasta la arteria carótida, se abre y se realiza una limpieza de las placas

de ateroma que hay en su interior.

5 Tomado de http://www.tuotromedico.com/temas/accidente_cerebro_vascular.htm

Page 14: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

14

En los últimos años se han desarrollado técnicas endovasculares para

corregir la estenosis carótida sin necesidad de cirugía abierta. Son la

angioplastia transluminal percutánea y la colocación de stents. La

angioplastia es la dilatación de una arteria inflando un balón, a través de

un catéter especial insertado por punción percutánea, a través de la

arteria femoral. El paciente está despierto y puede regresar a su

domicilio en pocos días. El stents es una prótesis metálica, en forma de

muelle que se coloca en la zona estrechada y al ejercer presión sobre la

pared vascular mantiene la apertura de la luz.

Los aneurismas, malformaciones arteriovenosas, etc ... que provocan

una hemorragia intracerebral, pueden precisar una intervención

quirúrgica posterior o una técnica endovascular para su tratamiento

definitivo y evitar las recidivas.

Medicamentos antiagregantes o anticoagulantes como los mencionados

en la fase aguda. Se están investigando nuevos antitrombóticos cuyo

mecanismo de acción suma a su acción antiagregante efectos

anticoagulantes y fibrinolít icos.

Rehabilitación de las funciones afectadas, tanto motoras como de otro

orden.

Control de hipertensión arterial, hipercolesterolemia, tabaquismo,

diabetes, obesidad, etc ...

1.1.3 DISPOSITIVOS EN EL MERCADO

Para la rehabilitación de las funciones afectadas, se encuentran empresas

especializadas que producen diferentes tipos de dispositivos. Una de estas

empresas es Lafayette Instrument Company. Los dispositivos que fabrican están

divididos en: Cognitivos, De evaluación, De fisioterapia.

Page 15: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

15

Los dispositivos que más nos interesaron fueron6:

Model 30014A Photoelectric Rotary Pursuit

Model 30105A Replacement Stylus

Model 30108 Circle Template (Not Shown)

Model 30109 Square Template (Not Shown)

Model 30110 Triangle Template

(Estos 5 modelos corresponden a accesorios de un solo dispositivo)

Este dispositivo consiste de una luz que gira a

una velocidad determinada, por el terapeuta,

la cual el paciente tiene que seguir por medio

de un lápiz especial

Figura 2

Model 20017 Automatic Tally Maze

Como se puede apreciar, este dispositivo

consta de un laberinto cuya trayectoria tiene

que ser seguida por el paciente sin tocar los

bordes de dicho camino.

Figura 3

6 Tomado de Motor Behavior & Cognitive Tools ver Anexo cognitivcat.pdf

Page 16: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

16

Este dispositivo, llamado el

Schunfried VTS permite

aplicaciones asistida por

computador de un gran número de

pruebas de diagnóstico psicológico

y procedimientos de evaluación.

Figura 4

Como se puede apreciar, existen un sin número de sistemas tanto para la

rehabilitación como para la evaluación de pacientes. Sin embargo, como lo dijimos

anteriormente, estos sistemas tienen un costo bastante elevado.

Debido a que buscábamos desarrollar un sistema que fuera muy flexible,

empezamos a indagar sobre tecnología que estuviera saliendo al mercado. Fue de

esta manera como llegamos a los SoC (System-on-a-Chip). Esta es una tecnología

que está siendo muy utilizada actualmente pero ha sido poco implementada en La

Universidad de Los Andes. De esta manera, al utilizar la tecnología SoC, estamos

tratando de involucrar a los estudiantes para que empiecen a desarrollar sistemas

basados en dicha tecnología. Asimismo, decidimos utilizar una pantalla LCD de

toque a color para poder realizar actividades solo con hacer contacto con la

pantalla.

A continuación vamos a describir el corazón del proyecto, es decir el SoC,

para luego describir el funcionamiento de la pantalla LCD de toque que utilizamos.

La tecnología SoC se puede definir como la integración de todos los

componentes electrónicos necesarios para desarrollar un propósito específico,

Page 17: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

17

unificado en un solo circuito integrado. Entre las ventajas que presenta esta

tecnología están:

- Ahorro de espacio (Reducción de componentes).

- Ahorro de Potencia.

- Integración de funciones tanto digitales como análogas.

- Mejora en el desempeño (Mayor confiabilidad).

- Disminución en requerimientos de memoria (Memoria integrada).

Para llevar a cabo nuestro proyecto de grado, decidimos utilizar un SoC de

SHARP, LH795207. EL LH79520 es un SoC de 32 Bits totalmente integrado basado

en un microprocesador ARM720T como núcleo. Incluye además, un controlador de

pantalla LCD a color, un controlador de acceso directo a memoria (DMA),

controlador de interrupciones vectoriales, SRAM interna de 32KB y 8 puertos de

propósito general. Por ser un diseño estático, el voltaje de operación es bajo.

El núcleo basado en el microprocesador ARM720T provee un set de

instrucciones muy completo, e incluye memoria Cache (RAM), buffer de escritura,

unidad de manejo de memoria entre otros.

Este SoC consta también de interfaces Serial y Paralela, Contadores,

Temporizadores, Reloj en Tiempo Real, Temporizador Watchdog, PWM´s, soporte

de puerto infrarrojo y PLL integrado. Además soporta JTAG para simplificar

debugging.

En la Figura 5 podemos ver el diagrama de pines del LH79520

7 Tomado de SHARP Preliminary Data Sheet ver Anexo [email protected]

Page 18: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

18

Figura 5

En la Figura 6 podemos ver el diagrama de bloques

Page 19: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

19

Figura 6

1.2 DESCRIPCIÓN DEL SISTEMA:

1.2.1 BLOQUES INTERNOS DEL SoC

Procesador ARM720T:

El ARM720T contiene un bus avanzado de alto desempeño (AHB por sus

siglas en inglés Advanced High-Performance Bus), procesador RISC de 32-bit

ARM7TDMI, 8KB de memoria cache y una unidad de manejo de memoria (MMU

por sus siglas en inglés Memory Management Unit).

Page 20: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

20

La MMU del LH7950 ofrece el medio para acceder a las direcciones de la

memoria virtual (SDRAM externa) por medio de la memoria física (Memoria interna

del SoC). Cuando se habilita la MMU, se debe construir un código utilizando las

direcciones virtuales, de tal forma que la MMU las traduce a direcciones físicas.

Arquitectura de la memoria:

Este sistema consta de un controlador de SDRAM y un controlador de

memoria estática que facilita el manejo de memorias externas SDRAM, Flash,

SRAM, ROM, entre otras. Se tienen tres formas de mapear la memoria física por

medio de software como se puede apreciar en la Fig. 7

Figura 7

Controlador de SDRAM: Este controlador provee una interfase

entre el bus interno y los dispositivos externos de SDRAM.

Page 21: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

21

Controlador de memoria estática (SMC): Este controlador provee

una interfase entre el bus interno y los dispositivos externos.

Controlador de Acceso Directo a Memoria (DMA): El controlador

de DMA sirve como soporte para periféricos con esta

característica. El controlador de LCD contiene su propio puerto

DMA, conectado a la memoria para desplegar los datos.

Controlador de LCD a Color (CLCDC):

Este tipo de controlador provee todo las señales necesarias para conectar

directamente una gran variedad monitores LCD a color y monocromáticos.

Tiene soporte para STN monocromático y a color con interfaces de 4

y 8 bits.

Tiene soporte para monitores TFT a color.

Resolución programable hasta de 800x600.

15 niveles de escala de grises con monitores monocromáticos, 3

375 con monitores STN, 64K en monitores TFT.

1, 2 ó 4 Bits Por Píxel (BPP) para monitores STN monocromáticos.

1, 2, 4 u 8 Bits Por Píxel para monitores STN y TFT a Color.

Tiempos programables para diferentes tipos de monitores.

Paleta RAM de acceso rápido de 16 bits con 256 entradas.

Señales de reloj de píxel, Frame (“Pantallazo”) y Line (línea).

Señal AC bias para modo STN o señal de habilitación de datos para

modo TFT.

Algoritmo patentado para escala de grises.

Eventos de generación de interrupción.

FIFO´s dobles de 16 bits de ancho por 32 bits de largo, que sirven

como buffer para los datos de entrada.

Page 22: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

22

Interfase de Conversión de Periféricos de LCD (LCDICP):

La LCDICP sirve para convertir señales TFT que vienen del CLCDC a señales

HR-TFT. Existen dos modos de operación: Modo Bypass (Para manejar monitores

TFT, STN, CSTN) y modo HR-TFT.

Puerto Serial Sincrónico (SSP):

El SSP es una interfase para comunicación serial sincrónica con periféricos

esclavos que soporta protocolos para Motorola SPI, National Semiconductor

MICROWIRE, o interfase serial sincrónica de Texas Instruments.

Trasmisor y Receptor Universal Asincrónico (UART):

El LH79520 contiene 3 UART´s.

FIFO´s de 16 bytes separadas de transmisión y recepción para

reducir interrupciones en la CPU.

Generador programable para ajustar la velocidad de transmisión.

Detección de bit falso de Inicio.

Características de interfase serial programables.(Palabra de datos de

5, 6, 7 u 8 bits; detección y generación de paridad par, impar ó

nula.).

Modulador de Ancho de Pulso (PWM):

Tiene como características generales: Dos canales de salida independientes

con entradas de reloj separadas, hasta 16 bits de resolución, soporte de modo

sincrónico de programación, ancho de pulso (Ciclo útil), intervalo (frecuencia) y

polaridad programables.

Page 23: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

23

Controlador de Interrupciones Vectorizado (VIC):

Este controlador combina 20 interrupciones internas y 8 externas, las

enmascara y les asigna prioridades para luego ser enviadas a las entradas de

interrupción IRQ y FIQ del microprocesador.

Controlador de Alimentación, Reloj y Reset (RCPC):

El RCPC genera las diferentes señales de reloj que son necesarias para el

funcionamiento del LH79520. Asimismo, maneja la secuencia de encendido y la

secuencia de operación durante los modos de ahorro de energía.

Este Controlador permite por medio del software, seleccionar

individualmente cada una de las frecuencias de las diferentes señales de reloj que

se generan en el chip para configurar el modo más eficiente de operación.

Las características generales son:

Oscilador de cristal de 14.7456 MHz y PLL para la generación de la

señal de reloj.

Entrada externa de la señal de reloj si no se utilizan el oscilador de

cristal ni el PLL.

Oscilador de cristal de 32.768 KHz para generar un reloj de 1 Hz el

cual genera el reloj en tiempo real. (Real Time Clock)

Relojes controlados individualmente para los periféricos y la CPU.

El reloj de la UART se puede seleccionar entre 14.7546 MHZ ó un

reloj externo.

Relojes de la UART y del PWM preescalables.

Cinco modos globales de manejo de alimentación disponibles :

Activo, Espera, Inactivo, Detenido 1 y Detenido 2.

Page 24: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

24

Figura 8

Las frecuencias de la CPU y del Bus se pueden cambiar en cualquier

momento.

Selección de la salida del reloj.

Reset por Hardware (nRESETIN) y reset por software.

Reloj en Tiempo Real (RTC):

El RTC provee una función básica de alarma o un contador con una base

tiempo larga. Esto se logra ya que se genera una señal de interrupción una vez se

hayan contado un número de ciclos del RTC. Cada ciclo del RTC equivale a 1

segundo gracias a la entrada del RTC de 1Hz.

Temporizador Watchdog:

El temporizador watchdog protege al hardware de errores de

funcionamiento. Es un temporizador programable el cual se reinicia por medio de

software en intervalos periódicos. Si no se puede reiniciar el temporizador, se

genera una interrupción FIQ. Si no se puede atender la interrupción FIQ, se

reinicia todo el sistema.

Temporizador:

El LH79520 contiene dos temporizadores, y cada uno de estos

temporizadores contienen a su vez otros 2 temporizadores de 16 bits programables

Page 25: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

25

independientemente. Es decir que se tienen en total 4 temporizadores

programables independientes.

Sistema de Configuración de Entrada/Salida:

Los registros del IOCON permiten que el usuario controle directamente la

multiplexación de pines.

Entradas/Salidas de Propósito General:

EL LH79520 provee hasta 64 bits de entradas/salidas programables. Este

SoC consta de 8 puertos desde el puerto A hasta el H cada uno de 8 bits, los

cuales están multiplexados con otras señales.

Características Eléctricas del LH79520:

• Voltaje DC de alimentación del microprocesador: 1.8 V.

• Voltaje DC de alimentación de Entadas/Salidas: 3.3 V.

• Frecuencia de la señal del reloj: 14.7456 MHz.

• Corriente Activa (Ejecutando una aplicación típica): 55 mA.

• Corriente en modo Stand by (Ejecutando una aplicación típica): 35

mA.

• Corriente en modo Sleep: 5.5 mA.

• Corriente en modo Stop1: 500 uA.

• Corriente en modo Stop2: 34uA.

Page 26: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

26

1.2.2 CARACTERÍSTICAS DE LA PANTALLA

Como vimos anteriormente este SoC tiene un controlador para manejo de

LCD, el cual es compatible con la pantalla que se uso en el proyecto, la cual fue

una Hitachi SX19V001-ZZA8, esta tiene las siguientes características:

Resolución de (640 x 3 (R,G,B)) (ancho) x 480 (alto) píxeles

Tamaño del modulo: 197.0 mm (ancho) x 145.0 mm (alto) x 11.0 mm

(profundo).

Tamaño del LCD: 181.0 mm (ancho) x 143.0 mm (alto).

Voltaje lógico de alimentación del circuito: 3.3 V.

Corriente lógica de alimentación del circuito: 16 mA.

Voltaje de alimentación para manejar el cristal líquido: 36.6 V.

Corriente de alimentación para manejar el cristal líquido: 20 mA.

La pantalla necesita un Inversor para la lámpara fluorescente de cátodo frío

(CCFL) Además de esto incluye un panel sensible al tacto, el cual es resistivo y de

4 cables (four wire resistance).

8 Tomado de SX19V001-ZZA ver Anexo SX19V001ZZA.pdf

Page 27: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

27

Diagrama de pines de la pantalla es:

Figura 9

Diagrama de pines del CCFL:

Figura 10

Page 28: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

28

Diagrama de pines del panel de toque:

Figura 11

El diagrama de bloques de la pantalla es:

Figura 12

1.2.3 TARJETA DE DESARROLLO PARA EL SISTEMA COMPLETO

Al seleccionar el SoC LH79520, llegamos a la conclusión que la mejor

decisión, era desarrollar una tarjeta de desarrollo, el cual quedo conformado por:

Page 29: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

29

SDRAM MT48LC4M32B2 de 1Mega x 32 bits x 4 bancos.

Memoria flash TC58FVM6T2AFT-65 de 64 Mbits.

Controlador de panel de toque ADS7843.

Puerto JTAG.

2 puertos seriales RS232 (Para aplicación y pruebas seriales).

Esta tarjeta de desarrollo se baso en la tarjeta RMS101 SBC de Revely9, la

cual tiene las siguientes características:

Salida análoga VGA.

Puerto serial RS232.

Puerto PS/2.

SDRAM.

Tarjeta de sonido.

Ranura para tarjeta multimedia.

Figura 13 9 Tomado de Anexo RMS101 SBC Technical Manual ver Anexo RMS101 SBC Technical Manual 1-04.pdf

Page 30: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

30

Figura 14

SDRAM MT48LC4M32B210:

La SDRAM de 128Mb es una memoria dinámica de acceso aleatorio, CMOS

de alta velocidad, contiene 134.217.728 bits. Internamente esta configurada por 4

bancos DRAM con interfase sincrónica (todas las señales son evaluadas en flanco

positivo de la señal de reloj). Cada uno de los bancos de 33.554.432 bits esta

divido entre 4.096 filas por 256 columnas de 32 bits.

Para acceder a la memoria primero se debe enviar un comando de ACTIVE,

luego del cual se envía el comando de READ o WRITE. El comando ACTIVE se usa

para seleccionar el banco y la fila a ser accedido (BA0, BA1 seleccionan el banco,

10 Tomado de SYNCHRONOUS DRAM ver Anexo SDRAM

Page 31: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

31

A0-A11 seleccionan la fila). Los bits de direcciones contenidos en el comando

READ o WRITE, son usados para seleccionar la columna de inicio para el acceso.

La SDRAM de 128Mb esta diseñada para operar a 3.3 V, sistemas de

memoria de baja potencia. Tiene varios modos de operación, ellos son: Auto

refresco, ahorro de energía y apagado.

Figura 15 Tabla de verdad de la SDRAM

Figura 16 Diagrama de bloques de la SDRAM

Page 32: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

32

Figura 17 Diagrama de pines de la SDRAM

Memoria flash TC58FVM6T2AFT-6511:

La memoria flash de 67.108.864 bits, 3.0 V, es una memoria programable

de solo lectura y se puede borrar de manera eléctrica. Esta divida en 8.388.608

palabras x 8 bits o en 4.194.304 palabras x 16 bits. Esta memoria tiene: comandos

de lectura y operaciones de programación y borrado para permitir fácil

interconexión con microprocesadores. Los comandos están basados en el estándar

JEDEC. Las operaciones de programación y borrado son ejecutadas

automáticamente en el chip. La TC58FVM6T2AFT-65 también presenta operaciones

simultaneas de lectura y escritura, para poder leer un dato mientras se ejecuta una

operación de escritura o borrado.

11 Tomado de CMOS FLASH MEMORY ver Anexo FLASH.pdf

Page 33: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

33

Figura 18 Tabla de verdad de la flash

Figura 19 Diagrama de bloques de la flash

Page 34: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

34

Figura 20 Diagrama de pines de la flash

Controlador de panel de toque ADS784312:

El ADS7843 es un conversor análogo digital (ADC) de 12 bits de muestreo,

con una interfase serial sincrónica e interruptores de baja resistencia para

conducción al panel de toque. La disipación de potencia típica es de 750 uW, a una

tasa de 125 KHz y 2.7 V de alimentación. El voltaje de referencia ( REFV ) puede

variar desde 1 V hasta CCV+ , entregando un rango de voltaje inicial

correspondiente a 0 V hasta REFV . El dispositivo incluye un modo de apagado, el

cual reduce la disipación de potencia típica hasta por debajo de 0.5 uW.

La baja potencia, alta velocidad e interruptores externos, hacen que el

ADS7843 sea un dispositivo ideal para sistemas tales como paneles de toque

resistivos.

El ADS7843 tiene 2 modos de funcionamiento: single-ended y el differential.

En el modo single ended la disipación de potencia es menor, esto se debe a que

12 Tomado de TOUCH SCREEN PANEL ver Anexo ads7843.pdf

Page 35: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

35

sólo en la adquisición de datos los interruptores internos están encendidos, pero

este modo tiene un porcentaje mas elevado de error. En el modo differential la

disipación de potencia es mayor ya que durante el proceso completo de conversión

el ADS7843 esta con los interruptores internos encendidos, pero su porcentaje de

error es menor.

Figura 21 Tabla de verdad del ADS7843 en modo single ended

Figura 22 Tabla de verdad del ADS7843 en modo differential

Figura 23 Diagrama de pines del ADS7843

Puerto JTAG13:

La arquitectura JTAG se compone por células de memoria llamadas

Boundary-Scan.

13Tomado de http://www.chez.com/jtag

Page 36: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

36

Figura 24

Cada elemento de memoria puede capturar datos por su puerto de entrada,

actualizar datos por su salida, examinar serialmente los datos de su vecino y

comportarse de forma transparente.

Estos elementos de memoria Boundary-Scan están configurados en un

registro de corrimiento de entrada/salida.

Figura 25

En la figura 25 podemos observar la arquitectura de un componente JTAG

con la norma IEEE 1149.1. Esta figura nos muestra los siguientes elementos:

Page 37: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

37

Cuatro pines de prueba: Test Data In (TDI), Test Data Out (TDO),

Test Mode Select (TMS), Test Clock (TCK). Además existe un pin

opcional: Test Reset (TRST). Estos pines conforman el Test Access

Port.

Una célula JTAG de cada uno de los pines de entrada y salida del

componente la cual está unida de manera interna a un registro

Boundary-Scan serie.

Una máquina de estados que controla el TAP por medio del TCK y el

TMS.

Un registro de instrucciones (IR) de n bits (n=2) el cual guarda las

instrucciones actuales.

Un registro de Bypass de 1 bit (Bypass).

Un registro opcional de identificación de 32 bits el cual puede ser

cargado con un código de identificación del componente.

Un solo registro puede ser conectado desde el TDI hacia el TDO

seleccionando dicho registro por medio del registro de instrucciones (IR).

Test Access Port:

Como lo dijimos anteriormente, este puerto tiene 4 señales y una señal

adicional opcional:

• Test Data In (TDI): Señal de prueba de entrada la cual tiene 1

como por valor por defecto.

• Test Data Out (TDO): Señal de prueba de salida la cual tiene Z

como valor por defecto. Esta señal solo está activa durante el

corrimiento.

• Test Mode Select (TMS): Señal de entrada de control serial la cual

tiene 1 como valor por defecto.

Page 38: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

38

• Test Clock(TCK): Señal de reloj.

• Test Reset (TRST): Señal activa baja que controla la puesta en

cero del TAP.

TMS, TCK y TRST pertenecen a una máquina de estados la cual genera los

cambios de estado de la señal de control. Estas señales también permiten

controlar el registro de instrucciones y los diferentes registros de datos.

En la Figura 26 se puede apreciar la máquina de estados. La señal que

permite el cambio de estados es TMS y este cambio de estados esta sincronizado

con los flancos de subida del reloj.

Figura 26

Page 39: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

39

El registro Boundary-Scan:

Al observar las células JTAG nos damos cuenta que están interconectadas

para formar el registro Boundary-Scan. El registro Boundary-Scan se selecciona por

medio del registro de instrucciones escogiendo una de las siguientes instrucciones:

Instructions ExTest, Sample/Preload o Intest las cuales explicaremos más

adelante.

Supongamos que tenemos la célula JTAG de la figura 27.

Figura 27

Esta célula solo permite capturar y realizar corrimiento. Esta célula podría

ser utilizada para el reloj, por ejemplo.

Figura 28

Page 40: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

40

La célula de la figura 28 es una célula de entrada/salida clásica la cual

permite tres modos de operación: capture, corrimiento y update. Este tipo de

arquitectura permite tener Flip-Flops tipo D individuales para las funciones de

corrimiento y para la función de mantener el dato. Los datos se pueden transferir a

través del registro Boundary-Scan sin interferir con el valor de la función de

mantener el dato. Esto se hace por medio del puerto de datos de salida por

intermedio del multiplexor de salida.

El registro de Instrucciones:

Este registro está compuesto por un registro de corrimiento, el cual puede

estar conectado al TDI o al TDO y una sección de almacenamiento que guarda las

instrucciones actuales tal como se ve en la figura 29.

Figura 29

La señal de control del registro de instrucciones se deriva del TAP y permite

ya sea realizar corrimientos en los valores de entrada/salida hacia el registro de

corrimiento del registro de instrucciones o ya sea cargarlos directamente hacia la

sección de almacenamiento.

El tamaño del registro de instrucciones debe ser de por lo menos 2 bits para

permitir las diferentes instrucciones: Bypass, Sample/Preload, ExTest. La

Page 41: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

41

instrucción de Bypass permite de pasar a través de los componentes con 1 bit de

corrimiento. Todos los bits deben de ser 1 para que sea ejecutada. La instrucción

de ExTest selecciona el registro de Boundary-Scan desconectando el componente

JTAG y configura las conexiones para los diferentes tipos de test. Todos los bits

deben de ser igual a 0 para poder ejecutarla. La instrucción de Sample/Preload

selecciona el registro de Boundary-Scan pero sin desconectar el JTAG.

El IEEE 1149.1 permite un cierto número de instrucciones opcionales las

cuales son:

• Intest instrucción que selecciona el registro de Boundary-Scan para

prepararlo para el test del núcleo interno.

• Idcode la cual selecciona el registro de identificación que está entre TDI

y TDO para prepararlo para la carga del código Idcode y para la lectura

a través de puerto TDO.

• Rubinst es la instrucción que inicializa una rutina de test interna y carga

el resultado en el registro que se encuentra entre TDI y TDO.

El registro Bypass:

Este es un registro de 1 solo bit el cual se selecciona con la instrucción

bypass que proviene de la función de corrimiento. Este registro no tiene salida

paralela.

Figura 30

Page 42: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

42

El registro de instrucciones:

Este registro opcional es de 32 bits que contiene las operaciones de

corrimiento y de captura. Una vez que la operación de captura ha sido realizado, el

código de identificación de 32 bits puede ser cargado a través TDO para una

inspección.

Page 43: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

43

2. METODOLOGÍA DE SOLUCIÓN

2.1 ACERCAMIENTO AL IOIR

Asistir a las diferentes áreas de rehabilitación para una observación inicial y

así poder orientar el diseño del dispositivo según los requerimientos que se puedan

detectar en los pacientes. Además, con este acercamiento también se busca

diferenciar las diferentes secuelas que presentan los pacientes que han sufrido de

un ACV, para poder cumplir con los objetivos planteados. Los resultados obtenidos

luego de este acercamiento fueron:

Sujeto:

Isabel: Sufrió hemiparesia en el lado derecho de su cuerpo luego

de un post operatorio para la extirpación de un tumor. Las secuelas de esto

fueron:

1. Parálisis facial.

2. Perdida de fuerza y precisión en la mano derecha.

3. Problemas respiratorios a causa de la separación de la

cuerdas vocales, por lo cual el aire sale más rápido al hablar

produciendo fatiga.

Elsi: Tiene secuelas del accidente cerebrovascular (ACV) las

cuales son:

1. Hemiparesia (debilidad de un lado del cuerpo)

2. Disartria (Problemas para construir frases).

3. Problemas en la extremidad inferior derecha.

4. Problemas de pronunciación.

Jaime: Sufre de Ataxia de Friedrich, enfermedad degenerativa de

origen neurológico que genera incoordinación.

Page 44: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

44

Gladis: Tiene secuelas del ACV las cuales son:

1. Presenta Disartria.

2. Déficit cognitivo (problemas de raciocinio, conciencia,

atención, juicio y memoria).

3. Hemiparesia

4. Déficit emocional (problemas para controlar sus emociones o

expresar emociones inapropiadas en determinadas

situaciones).

Edilberto: Tiene secuelas del ACV las cuales son:

1. Presenta afasia (problemas para comprender), además

pronuncia repetitivamente la palabra “ok”.

2. Déficit cognitivo.

3. Hemiparesia.

Clara: Tiene secuelas del ACV las cuales son:

1. Presenta afasia.

2. Déficit cognitivo.

3. Hemiplejia.

Obdulia: Tiene secuelas del ACV las cuales son:

1. Déficit cognitivo.

2. Hemiplejia.

3. Negación de su estado.

Abraham: Tiene secuelas del ACV las cuales son:

1. Presenta afasia.

2. Déficit cognitivo.

3. Presenta disartria.

4. Hemiplejia.

Page 45: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

45

María Helena: Secuela de meningitis:

1. Presenta disartria.

2. Déficit cognitivo.

Contexto:

Instituto Roosevelt – Terapia ocupacional

Objeto:

Técnicas de facilitación neuromuscular:

1. Masaje descendente en manos: Sirve para distensionar la

Hemiplejia en la mano.

2. Masaje ascendente en manos: Sirve para incrementar el tono

(tonificar) muscular debido a la debilidad producida por la

hemiparesia.

Ejercicios de motricidad gruesa (movimientos relacionados con la

articulación del hombro) y fina (coordinación, agarre, precisión en manos):

1. Dibujos sobre plano inclinado: se trabaja tanto motricidad

gruesa (al extender el brazo para dibujar) como fina (al

colorear y dibujar).

2. Crayolas adaptadas rudimentariamente con espuma para

facilitar agarre en trabajos de motricidad fina.

3. Rompecabezas: se realiza trabajo a nivel de motricidad

gruesa (al alcanzar las piezas) y a nivel de motricidad fina (al

encajar las piezas).

4. Trabajo con pesas en muñecas: ayuda a fortalecer los

músculos superiores del brazo.

Trabajo cognitivo:

1. Rompecabezas: se trabaja la percepción, la concentración.

Page 46: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

46

2. Ejercicios de escritura basados en raciocinio. (i.e. buscar

objetos que empiecen por cierta letra y escribir el nombre de

dichos objetos).

Contexto:

Instituto Roosevelt –Fonoaudiología

Objeto:

SPC: Símbolos Pictográficos para la Comunicación no vocal.

Movimientos Articulatorios:

1. Sacar e introducir la lengua.

2. Mover la lengua dentro de la boca cerrada siguiendo un

patrón.

3. Inflar las mejillas y no dejar que se salga el aire al

oprimirlas.

Movimientos para coordinación fonorespiratoria (coordinar hablar

y respirar evitando fatigas y grandes pausas):

1. Soplar vela.

2. Repetir el “Padre Nuestro”.

3. Utilización de Espirómetro.

4. Ejercicios de respiración repitiendo letra “G”.

5. Ejercicios de respiración con pesas en las manos.

Incrementar velocidad del habla y mejorar habilidades

interactivas:

1. Realizar lecturas en voz alta y luego comentar sobre ellas.

2. Generar y responder preguntas.

Page 47: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

47

Conciencia fonológica: Discriminar sonidos para facilitar

reproducirlos.

1. Estrategia utilizando tablero y fichas con letras para formar

las palabras (Se utiliza lenguaje concreto ya que se utiliza en

pacientes con afasia).

2.2 INVESTIGACIÓN DE ELEMENTOS EN EL MERCADO

Investigación de los distintos elementos existentes en el mercado, para así,

establecer las funciones del elemento que se va a diseñar y poder hacerlo muy

funcional en términos de la rehabilitación del paciente14.

2.3 PROTOTIPOS ELECTRÓNICOS

Diseño de prototipo electrónico en base a los resultados obtenidos en las

etapas de acercamiento e investigación. Es importante aclarar que en el diseño del

prototipo se debe tener en cuenta varios factores:

Ser de bajo costo.

De fácil replicación.

Debe ser muy funcional.

Para lograr esta etapa, seguimos con la tutoría de Mario Pinilla y se llevo

acabo el método de ”Lluvia de Ideas”, del cual surgió el primer dispositivo, la

descripción de este es:

14 Ver anexos Cognitivcat.pdf , Evalcat.pdf, Physiocat.pdf y Motor_Behavior_Product_review.pdf

Page 48: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

48

Módulos:

1. Laberinto.

2. Sensor de Presión.

3. Luces Secuenciales.

4. Software

Descripción de Módulos:

Laberinto: Consta de una cuadricula a la cual se le sobreponen

acetatos con diferentes tipos de laberintos, variando el grado de

dificultad. Por medio de un teclado integrado se ingresará el número

del laberinto que se piensa utilizar. Dicho dispositivo tendrá un

display en donde aparecerá el número de errores cometidos además

de medir el tiempo utilizado para realizar la prueba.

Figura 31

Page 49: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

49

Sensor de Presión: El sensor de presión se incorporaría en la

parte superior del modulo tomando así una medida más exacta de

toda la presión ejercida por la mano. Una vez ejercida la presión,

esta medida se desplegaría en el display incorporado en el

dispositivo. Este sensor serviría para que el médico evalúe al

paciente.

Figura 32

Luces secuenciales: Estas luces secuenciales se pensaron

incorporar en la parte que involucra la mano. En dicha parte irían

unas luces secuenciales que se prenderían de forma aleatoria. Dicha

secuencia tendrá que ser repetida por el paciente. Además cada

secuencia tendrá un grado de dificultad según el paciente.

Page 50: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

50

Figura 33

Software: El dispositivo tendría un puerto por medio del cual se

podría conectar a un computador. Dicho computador tendría un

software con el cual se podrán realizar otro tipo de ejercicios.

(Rompecabezas, ejercicios de lógica). Estos juego finalmente se

realizaron como un anexo y nos basamos en el test de Frostig15 para

realizar 4 subpruebas16 de este, e implementarlas como ejercicios de

rehabilitación para los pacientes, además de un juego de laberinto

con varios niveles. Como estos juegos necesitaban imágenes,

finalmente decidimos usar estas mismas para cargar la memoria

flash, que tiene nuestro kit de desarrollo.

15 Ver Anexo Test de Frostig. 16 Ver Anexo juegos.zip

Page 51: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

51

Figura 34

Luego de analizar el aporte electrónico de este dispositivo, nos dimos

cuenta que no cumplía con los objetivos. Por esta razón se descartó y de nuevo

recurrimos a la lluvia de ideas, de la cual surgió la idea de usar un panel sensible al

tacto. Sin embargo complementamos esta idea y llegamos a una pantalla LCD a

color que incorporaba un panel sensible al tacto.

Basados en este último dispositivo se generó la siguiente plantilla de

Pirbhai:

Page 52: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

52

Figura 35 Plantilla de Pirbhai del sistema global

En un principio, comenzamos a realizar pruebas basándonos en la

arquitectura FPGA. Se buscaba generar todas las señales de control y de datos

utilizando una tarjeta XSA V1.2 la cual tiene una FPGA Xilinx Spartan XC2S50.

En la Figura 36 podemos apreciar el diagrama de tiempo de las señales que

son necesarias para manejar la pantalla LCD.

Page 53: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

53

Figura 36 Diagrama de tiempos de las señales de la pantalla LCD17

Teniendo en cuenta este diagrama de tiempos, se diseñó un diagrama de

flujos para generar las señales de reloj.(CL1 y CL2) y enviar los datos a la pantalla

(Ver Figura 37).

17 Tomado de SX19v001-ZZA, ver Anexo SX19V001ZZA.PDF.

Page 54: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

54

Figura 37 Diagrama de flujo para señales de control y datos.

Este diagrama de flujos se basó en el siguiente diagrama de bloques para la

FPGA:

Figura 38 Diagrama de bloques de la FPGA

Page 55: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

55

El diagrama de bloques de todo el sistema se muestra en la figura 39.

Figura 39 Diagrama de bloques del controlador de video del LCD.

Basados en este sistema se generaron las señales por medio del programa

conta (Ver anexo 7.1), teniendo como prueba los resultados del analizador lógico

el cual fue usado para corroborar los tiempos exactos de encendido y apagado de

la pantalla. Pero dado que no se tenía una memoria ROM, para poder desplegar

imágenes la pantalla no fue encendida. Según el planteamiento inicial las gráficas

generadas para el despliegue en la pantalla, se tomarían de los programas

diseñados en Visual Basic 6.0 (Ver Anexo 7.2 para los programas realizados en

Visual Basic 6.0).

Finalmente, nos dimos cuenta que existía un SoC que incorporaba los

bloques anteriormente mencionados y que además tenía otras características que

en un futuro podrían ser utilizadas para complementar el diseño original, como por

Page 56: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

56

ejemplo la salida de audio digital. Sin embargo el diagrama de bloques no varió

mucho como se puede ver en la figura 40.

Figura 40 Diagrama de bloques final del sistema

2.4 COMPROBACIONES DEL ELEMENTO

Esto se logró sometiendo el elemento a pruebas en pacientes reales del

IOIR, con los resultados obtenidos en estas pruebas se podría llegar a otra etapa,

la cual sería de mejoras al elemento para verificar su efectividad, y así observar la

evolución del paciente.

Page 57: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

57

3. PRUEBAS Y RESULTADOS

3.1 CONFIGURACIÓN DE REGISTROS

Para poder llegar a las pruebas definitivas primero debemos describir como

se hizo la programación del SoC. El lenguaje que se usó para la programación fue

lenguaje C. El LH79520 tiene registros de configuración de 32 bits cada uno18, los

cuales al ser programados, cambian las características iniciales de funcionamiento

del SoC. Para nuestro caso en especial, los registros utilizados dependían de la

función a realizar.

Para nuestro proyecto, necesitamos utilizar los siguientes Bloques del SoC:

el controlador de LCD a color, el trasmisor y receptor universal asincrónico (UART),

el controlador de SDRAM, el controlador de memoria estática, el controlador de

alimentación, reloj y reset y el sistema de configuración de entrada/salida. Estos

bloques se deben configurar según su aplicación, por medio de registros:

Controlador de LCD a color:

Este tipo de controlador provee todo las señales necesarias para conectar

directamente una gran variedad de monitores LCD a color y monocromáticos:

Tiene soporte para STN monocromático y a color con interfaces de 4 y 8 bits,

tiene soporte para monitores TFT a color, resolución programable hasta de

800x600, 15 niveles de escala de grises con monitores monocromáticos, 3 375

con monitores STN, 64K en monitores TFT, 1, 2 ó 4 Bits Por Píxel (BPP) para

monitores STN monocromáticos, 1, 2, 4 u 8 Bits Por Píxel para monitores STN y

TFT a Color, tiempos programables para diferentes tipos de monitores, paleta RAM

de acceso rápido de 16 bits con 256 entradas, señales de reloj de píxel, Frame

(“Pantallazo”) y Line (línea), señal AC bias para modo STN o señal de habilitación 18 Tomado de LH79520 User´s Guide Manual ver Anexo LH79520 User's Guide.pdf

Page 58: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

58

de datos para modo TFT, algoritmo patentado para escala de grises, eventos de

generación de interrupción y FIFO´s dobles de 16 bits de ancho por 32 bits de

largo, que sirven como buffer para los datos de entrada.

Los registros programados de este bloque fueron:

-- Registro Timing0 del LCD:

-- Registro Timing1 del LCD:

-- Registro Timing2 del LCD:

-- Registro de control del LCD:

Trasmisor y receptor universal asincrónico (UART):

El LH79520 contiene 3 UART´s con las siguientes características: FIFO´s de

16 bytes separadas de transmisión y recepción para reducir interrupciones en la

CPU, generador programable para ajustar la velocidad de transmisión, detección

de bit falso de inicio, características de interfase serial programables.(Palabra de

datos de 5, 6, 7 u 8 bits; detección y generación de paridad par, impar ó nula.).

Los registros programados de este bloque fueron:

-- Registro de datos de la UART.

-- Registro de estado de recepción de la UART.

-- Registro de borrado de banderas de estado de la UART.

-- Registro de banderas de la UART.

-- Registro de división entera de la tasa de baudios de la UART.

-- Registro de línea de control de la UART.

-- Registro de control de la UART.

Page 59: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

59

Controlador de SDRAM:

Este controlador provee una interfase entre el bus interno y los dispositivos

externos de SDRAM.

Los registros programados de este bloque fueron:

-- Registro de configuración 0.

-- Registro de configuración 1.

-- Registro de refresco del temporizador.

Controlador de memoria estática:

Este controlador provee una interfase entre el bus interno y los dispositivos

externos.

Los registros programados de este bloque fueron:

-- Registro de configuración del banco 0.

Controlador de alimentación, reloj y reset:

El RCPC genera las diferentes señales de reloj que son necesarias para el

funcionamiento del LH79520. Asimismo, maneja la secuencia de encendido y la

secuencia de operación durante los modos de ahorro de energía.

Este Controlador permite por medio del software, seleccionar

individualmente cada una de las frecuencias de las diferentes señales de reloj que

se generan en el chip para configurar el modo más eficiente de operación.

Page 60: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

60

Las características generales son: Oscilador de cristal de 14.7456 MHz y PLL

para la generación de la señal de reloj, entrada externa de la señal de reloj si no

se utilizan el oscilador de cristal ni el PLL, oscilador de cristal de 32.768 KHz para

generar un reloj de 1 Hz el cual genera el reloj en tiempo real (Real Time Clock),

relojes controlados individualmente para los periféricos y la CPU, el reloj de la

UART se puede seleccionar entre 14.7546 MHZ ó un reloj externo, relojes de la

UART y del PWM preescalables, cinco modos globales de manejo de alimentación

disponibles : Activo, Espera, Inactivo, Detenido 1 y Detenido 2, las frecuencias de

la CPU y del Bus se pueden cambiar en cualquier momento, selección de la salida

del reloj y reset por Hardware (nRESETIN) y reset por software.

Los registros programados de este bloque fueron:

-- Registro de Control de reset, alimentación y reloj.

-- Registro de preescalamiento.

-- Registro de control de reloj de periféricos 2.

-- Registro de selección de reloj de periféricos 2.

-- Registro de control del reloj AHB.

Sistema de configuración de entrada/salida:

Los registros del IOCON permiten que el usuario controle directamente la

multiplexación de pines.

Los registros programados de este bloque fueron:

-- Registro de multiplexación de interfase con la memoria.

-- Registro de multiplexación de interfase con la pantalla LCD.

Page 61: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

61

En la Figura 41 se pueden ver los registros a configurar para nuestro

proyecto y sus funciones respectivas, además del bloque del SoC, al cual cada uno

pertenece.

Figura 41. Registros de Configuración utilizados en el proyecto.

Lo primero fue generar una función que configurara los registros que

controlan las señales de reloj, CL1,CL2 y multiplexación de pines. La función es

videoinit (Ver anexo 7.3)

Nombre del Bloque Nombre del Registro Definición del Registro

Timing0 del LCDConfigura tiempos horizontales de Front Porch, Back Porch,Synchronization Pulse Width, Pixeles por Línea

Timing1 del LCDConfigura tiempos verticales de Front Porch, Back Porch,Synchronization Pulse Width, Líneas por Pantalla

Timing2 del LCDConfigura la generación de los relojes del controlador del LCDa color para la pantal la LCD

Control de LCDConfigura el modo de operac ión del controlador del LCD acolor

Datos de la UART Doble uso: Almacenar datos a transmitir por la UART, leerdatos recibidos por la UART

Estado de recepción de la UART Devuelve el estado de las banderas, asociados con los datosque se acaban de leer del regis tro de datos

Bor rado de banderas de estado de la UART Reinicia las banderas de estadoBanderas de la UART Contiene estado de operaciones de la UART y de la FIFO

Divisón entera de la tasa de baudios de la UARTEn este registro se ingresa el valor entero por el cual se divideel reloj de 14.7456MHZ, para obtener la tasa de baudiosdeseada

Línea de control de la UART Configura el número de bits a enviarControl de la UART Habilita o deshabilita los periféricos de al UART

Configuración0 Configura el funcionamiento de la SDRAM

Configuración1Contiene un bit de solo lec tura, del estado del controlador dela SDRAM y otros campos para la configurac ión de los Buffersde escr itura y lectura del controlador

Refresco del temporizadorEstablece el intervalo de tiempo de refresco como func ión delreloj AHB

CONTROLADOR DE MEMORIA ESTÁTICA

(FLASH)Configuracón del banco 0

Indica como funciona la memoria externa manejada por el

CS0

Control de Reset, alimentac ión y relojHabilita el PLL y maneja el bloqueo de escr itura, la seleccióndel reloj y los modos de alimentac ión.

Preescalamiento de relojLos valores almacenados en este registro, seleccionan ladiv isión en frecuenc ia para producir el HCLK.

Selecc ión de reloj de periféricos 2 Determina la señal de reloj que al imenta el CLCDC

Control de reloj de periféricos 2 Activa o desactiva los relojes aliementados a los periféricosCLCDC y SSP

Control de reloj AHBActiva y desactiva los relojes para los dispositivos conectadosal AHB

Multiplexación de interfase con la memoriaReconfigura los pines de interfase con la memoria como pinesde entrada/salida de propós ito general

Multiplexación de interfase con la pantal laReconfigura los pines de entrada/salida de propósito generalcomo pines de interfase con la pantalla LCD

SISTEMA DE CO NFIGURACIÓN DE

ENTRADA/SALIDA (IOCON)

CONTROLADOR DE LCD A COLOR (CLCDC)

TRANSMISOR Y RECEPTOR UNIVERSAL ASINCRÓ NICO (UART)

CONTROLADOR DE MEMORIA DINÁMICA

(SDRAM)

CONTROLADOR DE ALIMENTACIÓN, RELOJ

Y RESET (RCPC)

Page 62: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

62

Una vez se han configurados los registros de manera que podamos obtener

las señales correctas para manejar la pantalla de LCD, necesitamos configurar los

registros para obtener las señales necesarias que controlan la memoria SDRAM.

Esta función tiene el nombre de InitSDRAM (Ver anexo 7.3)

Secuencia de inicialización:

1. Esperar 100us. En esta parte, lo que se hace es igualar al registro

SDRCCONFIG1 a 0x03 de tal forma que se genera un NOP. Esto se

realiza dos veces para poder cumplir con este retardo. Además, se

forzan los bits 2 y 3 de tal forma que se deshabilita la escritura y la

lectura en la SDRAM mientras se configura.

2. Esperar 200us. Esto se lleva a cabo por medio de la función

Memtimer, la cual genera un retardo en milisegundos igual al

parámetro de entrada.

3. Se configura el registro SDRCCONFIG en 0x01 de tal forma que la

SDRAM se auto-precargue.

4. Configurar el registro SDRCREFTIMER para que la memoria se

refresque cada 16 ciclos de reloj.

5. Esperar 250 us.

6. Configurar el registro SDRCREFTIMER con el valor operacional para

que la memoria se refresque cada 800 ciclos de reloj.

Page 63: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

63

7. Se configura de nuevo el SDRCCONFIG1 para habilitar el modo

SDRAM.

8. Se espera hasta que la SDRAM esté lista. Se configura el

SDRCCONFIG0 de manera que cumpla con las especificaciones de la

SDRAM. En nuestro caso, el número que escribimos en este registro

es 0x01A40088.

9. Esperar hasta que la SDRAM esté lista.

10. Configurar SDRCCONFIG1 asignándole 0X0C de tal forma que se

pone los bits M e I en operación normal y se habilita la lectura y la

escritura de la SDRAM.

11. Se espera hasta que la SDRAM esté lista.

12. Finalmente se genera un retardo de 100us antes de utilizar la

memoria.

Antes de comenzar con el direccionamiento para la lectura y escritura de los

datos, debemos programar la memoria Flash externa, esto se hace configurando

sólo el registro SMCBCR0 del SoC.

Por ultimo configuramos los registros de la UART, para controlar el

controlador de pantalla de toque, bajo el siguiente diagrama de flujo:

Page 64: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

64

Figura 42. Diagrama de flujo del controlador de pantalla de toque

3.2 RESULTADOS

Las gráficas que se obtuvieron al realizar los programas en Visual Basic 6.0

sirven para ser almacenadas en la memoria Flash y cargarlas en la memoria

SDRAM para ser luego desplegadas en la pantalla y poder realizar las actividades

propuestas. Estos programas tuvieron el visto bueno por parte del grupo médico y

los pacientes del IOIR en cuanto a complejidad, actividades propuestas, colores e

interfase gráfica.

En cuanto al diseño de la tarjeta de desarrollo, nos hemos dado cuenta que

su flexibilidad es muy alta gracias a que el SoC posee características que pueden

ser utilizadas en el desarrollo de nuevos proyectos.

Page 65: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

65

Nos hemos dado cuenta que la tecnología SoC facilita mucho el diseño de

cualquier tipo de aplicación debido a que incorporan una gran cantidad de bloques

que se adaptan fácilmente a la gran mayoría de diseños. Esto se pudo comprobar,

haciendo un paralelo con la tecnología FPGA, ya que esta, aunque es flexible,

exige mayor tiempo de diseño y el lenguaje de programación (VHDL) es mas

limitado que el lenguaje de programación del SoC (C ).Aunque el SoC es mas

limitado en cuanto a recursos, debido a que sus bloque internos no son

reconfigurables, este presenta ventajas en cuanto a consumo de potencia, tamaño

y eficiencia.

Page 66: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

66

4. SOFTWARE UTILIZADO

Para poder programar los registros utilizamos el lenguaje C. Una vez

realizados estos programas, la plataforma que usamos para compilar los

programas fue Cygwin (existe también un programa llamado vide con una

interfase gráfica para Windows) por medio de la cual generamos los archivos que

se programaron en el SoC. Luego, usamos la aplicación OcDemon para trabajar

con el protocolo JTAG y poder subir los programas al SoC, utilizando como

interfase física un Wiggler. Este último es un buffer bidireccional que protege el

puerto paralelo del computador, debido a que estamos enviando y recibiendo

datos.

Para la programación de las diferentes subpruebas y el juego del laberinto,

se uso el lenguaje Basic. El programa que se utilizo fue Visual Basic v6.0.

Para generar las señales de encendido y apagado de la pantalla y envío de

datos a esta, por medio de la FPGA, el lenguaje usado fue VHDL. El programa que

se utilizó fue Xilinx ISE 6.

Page 67: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

67

5. DIAGRAMA CIRCUITAL

El resultado final de la tarjeta de desarrollo consta de básicamente de dos

tarjetas de doble capa las cuales se unen por cuatro conectores. En una tarjeta se

encuentran el SoC y la parte de alimentación además de los puertos seriales y

JTAG, como se puede ver en el diagrama esquemático (Figura 43).

Figura 43. Diagrama esquemático de la tarjeta que contiene al SoC

En la otra tarjeta se encuentran las memorias SDRAM y Flash y el

controlador de la pantalla de tacto. Esto se realizó de esta forma para que se

aproveche al máximo las ventajas del SoC y se le puedan interconectar otro tipo

de circuitos para otras aplicaciones. El diagrama esquemático de la otra tarjeta se

puede observar en la Figura 44.

Page 68: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

68

GND

LCDVD1

D25

LCDVD4

D31

nBLE2

CLKOUT

D0

VDD

D0

A10

SDCLK

A24

R17

10K

D11

DQM1

GNDGND

C14

10p

D5

D12

DQM1

D18

LCDVD9

D3

A2

VDD

VDD

D27

A0

SDCK

E

DQM1

R6

10K

DQM0

nDCS1

LCDLP

DQM0

VDD

D3

LCDVD11

D7

TDO

A2

DQM2

DEOT1

A6D6

C15

1n

D24

INT3

SSICLK

nBLE3

LCDVD4

A9

XTALOUT

A19

LCDVD0

U2

TC58FVM6T2AFT-65

25242322212019188765432148171691013

4737

2746

29313335384042443032343639414345

112628

121514

A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15A16A17A18A19A20A21

nBYTEVDD

VSS1VSS2

D0D1D2D3D4D5D6D7D8D9

D10D11D12D13D14D15

nWEnCEnOE

nRSTRY/nBY

nWP

D14A8

C4100n

LCDVD5

LCDCLK

Y+

D15

JP112

DREQ0DACK1

INT3X-

D6

C11100n

D19

LCDVD6

LCDVD16

nBLE1

nOE

A19

C7100n

nTRST

D10

A23

D5

X+

C13100n

TMS

D23

D14

VDD

D8

D17

D27

LCDVD7

GND

C3100n

nWE

R3100K

12

JP2 12

JP4 12

nRESETI

D1

D7

D31

D0

A13A3

D29

CLKSEL

TEST1

D21

CLKIN

D8

C5100n

A8

A6

AMP528P1123456789101112131415

16171819202122232425262728 FLM

GNDCL1GNDCL2GND

D0D1D2D3D4D5D6D7DISP.OFF

VDDVDDGNDVLCDGNDTS1TS2NCNCNCNCNCNC

INT1

A20

LCDVD7

D26

nDCS0

nRESETI

GND

A20

SDCKE

A14 D13

VDD

A4

nRESETO

A5

D28

A6

D26

GND

GND

D1

D30

GND

D23

A18

JP5 12

LCDENAB

DEOT0

A4

D13

GND

LCDVD2

UORXD

nRESETO

C6100n

A1

A5

A12

DQM3

nWE

A7

R7

100K

VDD

R5

100K

A2

A1

A18

GND

nRAS

DQM2

A8

A11A9

A4

C1100n

A12

GND

VDD

LCDLP

D3

SSIFRM

A10

VCC

SSIOUT_U2TXD

SDCLK

LCDFP

VDD

D6

nDCS0

LCDVD3

DQM3

A0

X+

D13

A11

SDCLK

D20

A22

LCDVD1

LCDVD8

D1

VLCDD11

U6A

74HC141 2

J11

CON40A

1 23 45 67 89 1011 1213 1415 1617 1819 2021 2223 2425 2627 2829 3031 3233 3435 3637 3839 40

nCS5

X-

R1100K

12

D4

LCDVD12

VDD

TEST2

D5

D22

A1

J12

CON40A

1 23 45 67 89 10

11 1213 1415 1617 1819 2021 2223 2425 2627 2829 3031 3233 3435 3637 3839 40

nCS1

U1RXD

LCDVDDEN

LCDVD14

Y+

U3

AMP5 16P

123456789

10111213141516 NC

NCNCNC

X+Y+X-Y-NC

NCNCNCNCNCNCNC

LCDVD17

LCDVD6

A21

LCDCLK

GND

M2

BSS84/PLP

1

23

U6B

74HC143 4

D2

SSIEN

VDD

D9D12

A25

GND

XTAL32OUT

LCDVD3

LCDVD15

nOEnCS6

VDD

VDD

J9

CON40A

1 23 45 67 89 1011 1213 1415 1617 1819 2021 2223 2425 2627 2829 3031 3233 3435 3637 3839 40

D12

INT0

C2100n

ADS7843?

12345678 9

10111213141516

+VccX+Y+X-Y-GNDIN3IN4 VRef

+VccPENIRQ

DOUTBUSY

DINCS

DCLK

D22

GND

R2100K

12

LCDVD10

A16

SDCKE A22

A9

SDCL

K

D8

A21

TDI

D21

nBLE0

VDD

INT1

VDD

D16

D25

A17

A15

D4

LCDVD5

D9

D30

A3

nCS0

XTAL32IN

D2

VDD

D1

D1N1190

D29

LCDVDDEN

R8

100K

TCLK

LED

U1TXD

GND

R4100K

12

D18

nCAS

GND

nCS2

nCS3GND

A13

CONECTORVLCD1

conectorVLCD

1234

VLCDNCNCGND

D24

nDWE

U0TXD

D9D10

A16

A7

D4

LCDVD13

A17

C12100n

C8100n

U1

MT48LC4M32B2

2526276061626364656624

1918

2017

22236867

16712859

14

21

3057697073

1 3 9 15 29 35 41 43 49 55 75 81

24578101113747677798082838531333436373940424547485051535456

6 12 32 38 44 46 52 58 72 78 84 86

A0A1A2A3A4A5A6A7A8A9A10

/RAS/CAS

/CS/WE

BA0BA1CLKCKE

DQM0DQM1DQM2DQM3

NC1

A11

NC3NC4NC5NC6NC7

VDD1

VDD2

VDD3

VDD4

VDD5

VDD6

VDD7

VDD8

VDD9

VDD1

0VD

D11

VDD1

2

DQ0DQ1DQ2DQ3DQ4DQ5DQ6DQ7DQ8DQ9

DQ10DQ11DQ12DQ13DQ14DQ15DQ16DQ17DQ18DQ19DQ20DQ21DQ22DQ23DQ24DQ25DQ26DQ27DQ28DQ29DQ30DQ31

VSS1

VSS2

VSS3

VSS4

VSS5

VSS6

VSS7

VSS8

VSS9

VSS1

0VS

S11

VSS1

2

LCDVD2

JP3 12

D15

GND

VDD

A12

INT2

nWP

VLCD

A13

D28

CLKEN

nCS4

D11

GND

DREQ1

A5

INT0

LCDVD0

D16

Y-

nDWE

nDCS

0

D2

nRAS

A15

D10

D15

LCDCLKIN

J10

CON40A

1 23 45 67 89 10

11 1213 1415 1617 1819 2021 2223 2425 2627 2829 3031 3233 3435 3637 3839 40

D17

SSIIN U2RXD

D7

C9100n

nWP

LCDFP

D20

nCAS INT2INT4

A7

nCS0

Y-

C10100n

XTALIN

UOTXD

U0RXD

nTESTA

D14

D19A10

DACK0

A3

A11

GND

A14

Figura 44. Diagrama esquemático de la tarjeta que contiene memorias.

Page 69: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

69

6. CONCLUSIONES

Al ser un proyecto interdisciplinario, pudimos ver desde distintos puntos de

vista la manera de abordar los problemas y de solucionarlos. Esto ha sido muy

valioso, debido a que a futuro, nuestro entorno estará lleno de personas cuya

forma de ver las cosas será totalmente distinta a la nuestra.

Tuvimos bastantes dificultades para poder compilar los programa del SoC

debido a que la plataforma necesaria para dicho fin es poco conocida dentro de la

Universidad de los Andes, por lo cual esperamos que nuestro proyecto incentive la

aplicación de este tipo de tecnología y además se dispongan de los distintos

elementos para poder ser llevado a cabo. Es este el caso de los componentes

superficiales, que para poder ser soldados necesitan gran exactitud y la

Universidad no cuenta con recursos tales como soldadura líquida y hornos.

Actualmente, los sistemas embebidos están desplazando poco a poco

tecnologías tales como microcontroladores, FPGA`s, entre otros. Esto lo pudimos

comprobar ya que redujimos costos y tiempo de diseño. Asimismo, nos dimos

cuenta, que es más fácil configurar bloques predeterminados que diseñar estos

mismos.

Page 70: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

70

7. ANEXOS

7.1 PROGRAMA PARA GENERAR LAS SEÑALES DE CONTROL, CON LENGUAJE VHDL library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity conta is Port ( clk : in std_logic; reset : in std_logic; enable : in std_logic; clk1 : out std_logic; pulse2 : out std_logic); end conta; architecture Behavioral of conta is signal contador : std_logic; signal aux : std_logic; type estados is (s0, s1, s2); SIGNAL State : estados; begin process(clk, reset) variable cont: integer range 0 to 242; begin if reset = '1' then aux <= '0'; State <= s0; cont := 0; contador <= '1'; elsif clk'event and clk = '1' then case State is when s0 => pulse2 <= '0'; cont := 0; if enable = '1' then State <= s1; else State <= s0; end if; when s1 => pulse2 <= '1'; cont := 1; contador <= not(contador); clk1 <= contador; aux <= not(aux); if aux >= '1' then aux <= '0' ; if enable = '1' then State <= s2; else State <= s0; end if; else State <= s1; end if; when s2 => cont := cont + 1; contador <= not(contador); clk1 <= contador; if enable = '1' then

Page 71: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

71

if cont >= 241 then State <= s1; else pulse2 <= '0'; State <= s2; end if; else State <= s0; end if; when others => pulse2 <= '0'; cont := 0; State <= s0; end case; end if; end process; end Behavioral;

7.2 PROGRAMAS REALIZADOS EN VISUAL BASIC 6.0

Laberinto:

Option Explicit Public i As Integer Public Error As Integer Dim Var As Integer Dim Nivel As String Dim archivo As String Dim Mens_feli As Integer Dim Mens_error As Integer Private Sub Abajo_Click() Rutina i, "Abajo" End Sub Private Sub Arriba_Click() Rutina i, "Arriba" End Sub Private Sub Derecha_Click() Rutina i, "Derecha" End Sub Private Sub Form_Load() Var = 0 Timer1.Enabled = False i = 1 archivo = App.Path Izquierda.Enabled = False Derecha.Enabled = False Abajo.Enabled = False Arriba.Enabled = False While i < 22 If i = 1 Or i = 2 Or i = 6 Or i = 7 Then Image1(i).Picture = LoadPicture(archivo & "/" & "Up.bmp") ElseIf i = 3 Or i = 4 Or i = 5 Or i = 8 Or i = 9 Or i = 10 Or i = 16 Or i = 17 Or i = 18 Or i = 19 Or i = 20 Then Image1(i).Picture = LoadPicture(archivo & "/" & "Right.bmp") ElseIf i = 13 Then Image1(i).Picture = LoadPicture(archivo & "/" & "Left.bmp") ElseIf i = 11 Or i = 12 Or i = 14 Or i = 15 Then

Image1(i).Picture = LoadPicture(archivo & "/" & "Down.bmp") End If i = i + 1 Wend i = 1 Error = 0 Label1 = Error Text1 = "" End Sub Private Sub Inicio_Click() Izquierda.Enabled = True Derecha.Enabled = True Abajo.Enabled = True Arriba.Enabled = True Timer1.Interval = 1 Timer1.Enabled = True Timer1.Interval = 1000 Image1(0).Picture = LoadPicture(archivo & "/" & "Inicio_opri.bmp") End Sub Private Sub Izquierda_Click() Rutina i, "Izquierda" End Sub Private Sub Rutina(Cont As Integer, Flecha As String) If Flecha = "Arriba" Then Select Case Cont Case 1 To 2 Image1(i).Picture = LoadPicture(archivo & "/" & "Up_opri.bmp") Cont = Cont + 1 i = Cont GoTo eti Case 6 To 7

Page 72: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

72

Image1(i).Picture = LoadPicture(archivo & "/" & "Up_opri.bmp") Cont = Cont + 1 i = Cont GoTo eti Case Else GoTo eti2 End Select ElseIf Flecha = "Abajo" Then Select Case Cont Case 11 To 12 Image1(i).Picture = LoadPicture(archivo & "/" & "Down_opri.bmp") Cont = Cont + 1 i = Cont GoTo eti Case 14 To 15 Image1(i).Picture = LoadPicture(archivo & "/" & "Down_opri.bmp") Cont = Cont + 1 i = Cont GoTo eti Case Else GoTo eti2 End Select ElseIf Flecha = "Derecha" Then Select Case Cont Case 3 To 5 Image1(i).Picture = LoadPicture(archivo & "/" & "Right_opri.bmp") Cont = Cont + 1 i = Cont GoTo eti Case 8 To 10 Image1(i).Picture = LoadPicture(archivo & "/" & "Right_opri.bmp") Cont = Cont + 1 i = Cont GoTo eti Case 16 To 20

Image1(i).Picture = LoadPicture(archivo & "/" & "Right_opri.bmp") Cont = Cont + 1 i = Cont GoTo eti Case Else GoTo eti2 End Select ElseIf Flecha = "Izquierda" Then Select Case Cont Case 13 Image1(i).Picture = LoadPicture(archivo & "/" & "Left_opri.bmp") Cont = Cont + 1 i = Cont GoTo eti Case Else GoTo eti2 End Select End If eti2: Mens_error = MsgBox("ERROR, INTENTELO DE NUEVO", vbCritical, "Error") Error = Error + 1 eti: Label1 = Error If i = 21 Then Timer1.Enabled = False Mens_feli = MsgBox("FELICITACIONES, HAS TERMINADO EN " & Var & " SEGUNDOS", vbExclamation, "¡FELICITACIONES!") Beep Izquierda.Enabled = False Derecha.Enabled = False Abajo.Enabled = False Arriba.Enabled = False Form_Load End If End Sub Private Sub Salir_Click() End End Sub Private Sub Text1_Change() Nivel = Text1 End Sub Private Sub Timer1_Timer() Var = Var + Timer1.Interval / 1000 Label2 = Var & " Seg" End Sub

• Cuenta Cuadros Option Explicit Dim Tiempo1 As Integer Dim Tiempo2 As Integer Private Felicitaciones As String Private Error As String Dim Nivel As Integer Private Hab As Boolean Private Errores_Var As Integer Private Sub Check1_Click()

If Hab = True Then Hab = False Else: Hab = True End If End Sub Private Sub Form_Load() Dim i As Integer Tiempo_Nivel.Visible = False Tiempo_Nivel_Eti.Visible = False

Nivel = 0 Nivel_Text = Nivel Tiempo1 = 0 Tiempo_Nivel = 0 & " Seg" Tiempo_Tot = 0 & " Seg" Timer1.Enabled = False 'Inicio.Enabled = False Timer2.Interval = 0 Timer2.Enabled = False While i < 10 Numeros(i).Enabled = False

Page 73: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

73

Shape1(i).Shape = 1 Shape1(i).Top = 0 Shape1(i).Left = 0 Shape1(i).Width = 0 Shape1(i).Height = 0 i = i + 1 Wend End Sub Private Sub Inicio_Click() Dim i As Integer Errores_Var = 0 Errores = Errores_Var Timer1.Interval = 1 Timer1.Enabled = True Timer1.Interval = 1000 Timer2.Interval = 1 Timer2.Enabled = True Timer2.Interval = 1000 Rutina If Hab = True Then Tiempo_Nivel.Visible = True Tiempo_Nivel_Eti.Visible = True End If While i < 10 Numeros(i).Enabled = True i = i + 1 Wend i = 0 End Sub Private Sub Nivel_x_Nivel_Click() If Hab = False Then Hab = True Else: Hab = True End If End Sub Private Sub Nivel_Text_Click() Nivel = Nivel_Text End Sub Private Sub Numeros_Click(Index As Integer) If (Nivel_Text = 0 And Index = 2) Or (Nivel_Text = 1 And Index = 3) Or (Nivel_Text = 2 And Index = 3) Or (Nivel_Text = 3 And Index = 4) Or (Nivel_Text = 4 And Index = 5) Or (Nivel_Text = 5 And Index = 5) Or (Nivel_Text = 6 And Index = 4) Or (Nivel_Text = 7 And Index = 4) Then Felicitaciones = MsgBox("FELICITACIONES, LO HAS LOGRADO!", vbExclamation, "FELICITACIONES") Timer2.Enabled = False Tiempo2 = 0 If Hab = True Then Rutina Else Form_Load End If Else

Error = MsgBox("LO SIENTO, INTENTALO DE NUEVO", vbCritical, "ERROR") Errores_Var = Errores_Var + 1 Errores = Errores_Var End If End Sub Private Sub Reini_Click() Tiempo1 = 0 Tiempo_Nivel = 0 & " Seg" Tiempo_Tot = 0 & " Seg" Tiempo2 = 0 Form_Load End Sub Private Sub Salir_Click() End End Sub Private Sub Timer1_Timer() Tiempo1 = Tiempo1 + Timer1.Interval / 1000 Tiempo_Tot = Tiempo1 & " Seg" End Sub Private Sub Rutina() Dim i As Integer If Nivel = 0 Then Timer2.Enabled = True While i < 10 If i = 0 Then Shape1(i).Shape = 1 Shape1(i).Top = 30 Shape1(i).Left = 500 Shape1(i).Width = 2000 Shape1(i).Height = 2000 Shape1(i).FillColor = vbYellow ElseIf i = 1 Then Shape1(i).Shape = 1 Shape1(i).Top = 400 Shape1(i).Left = 3000 Shape1(i).Width = 1500 Shape1(i).Height = 1500 Shape1(i).FillColor = vbBlue Else Shape1(i).Shape = 1 Shape1(i).Top = 0 Shape1(i).Left = 0 Shape1(i).Width = 0 Shape1(i).Height = 0 End If Nivel_Text = Nivel i = i + 1 Wend Nivel = 1 GoTo Fin ElseIf Nivel = 1 Then Timer2.Enabled = True While i < 10 If i = 0 Then Shape1(i).Shape = 1 Shape1(i).Top = 1000 Shape1(i).Left = 5000 Shape1(i).Width = 1000 Shape1(i).Height = 1000

Shape1(i).FillColor = vbRed ElseIf i = 1 Then Shape1(i).Shape = 1 Shape1(i).Top = 400 Shape1(i).Left = 2000 Shape1(i).Width = 500 Shape1(i).Height = 500 Shape1(i).FillColor = vbWhite ElseIf i = 2 Then Shape1(i).Shape = 1 Shape1(i).Top = 2050 Shape1(i).Left = 100 Shape1(i).Width = 1800 Shape1(i).Height = 1800 Shape1(i).FillColor = &HC0C0FF ElseIf i = 3 Then Shape1(i).Shape = 2 Shape1(i).Top = 2050 Shape1(i).Left = 3000 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = &HFF8080 Else Shape1(i).Shape = 0 Shape1(i).Top = 0 Shape1(i).Left = 0 Shape1(i).Width = 0 Shape1(i).Height = 0 End If Nivel_Text = Nivel i = i + 1 Wend Nivel = 2 GoTo Fin ElseIf Nivel = 2 Then Timer2.Enabled = True While i < 10 If i = 0 Then Shape1(i).Shape = 1 Shape1(i).Top = 3000 Shape1(i).Left = 5000 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = &HFF00FF ElseIf i = 1 Then Shape1(i).Shape = 2 Shape1(i).Top = 400 Shape1(i).Left = 1000 Shape1(i).Width = 500 Shape1(i).Height = 500 Shape1(i).FillColor = vbWhite ElseIf i = 2 Then Shape1(i).Shape = 1 Shape1(i).Top = 2050 Shape1(i).Left = 2000 Shape1(i).Width = 800 Shape1(i).Height = 800

Page 74: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

74

Shape1(i).FillColor = &HC0C0FF ElseIf i = 3 Then Shape1(i).Shape = 2 Shape1(i).Top = 1 Shape1(i).Left = 6000 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = &HFFFF00 ElseIf i = 4 Then Shape1(i).Shape = 1 Shape1(i).Top = 1 Shape1(i).Left = 1 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = &HFF80FF Else Shape1(i).Shape = 0 Shape1(i).Top = 0 Shape1(i).Left = 0 Shape1(i).Width = 0 Shape1(i).Height = 0 End If Nivel_Text = Nivel i = i + 1 Wend Nivel = 3 GoTo Fin ElseIf Nivel = 3 Then Timer2.Enabled = True While i < 10 If i = 0 Then Shape1(i).Shape = 1 Shape1(i).Top = 1500 Shape1(i).Left = 100 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = &HC0C000 ElseIf i = 1 Then Shape1(i).Shape = 2 Shape1(i).Top = 1800 Shape1(i).Left = 1500 Shape1(i).Width = 500 Shape1(i).Height = 500 Shape1(i).FillColor = vbWhite ElseIf i = 2 Then Shape1(i).Shape = 1 Shape1(i).Top = 2550 Shape1(i).Left = 200 Shape1(i).Width = 400 Shape1(i).Height = 400 Shape1(i).FillColor = &HC0C0FF ElseIf i = 3 Then Shape1(i).Shape = 2 Shape1(i).Top = 1500 Shape1(i).Left = 5000 Shape1(i).Width = 1000 Shape1(i).Height = 1000

Shape1(i).FillColor = &HFFFF00 ElseIf i = 4 Then Shape1(i).Shape = 1 Shape1(i).Top = 1 Shape1(i).Left = 6000 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = &HFF80FF ElseIf i = 5 Then Shape1(i).Shape = 1 Shape1(i).Top = 1 Shape1(i).Left = 3000 Shape1(i).Width = 200 Shape1(i).Height = 200 Shape1(i).FillColor = &HC0E0FF ElseIf i = 6 Then Shape1(i).Shape = 3 Shape1(i).Top = 3000 Shape1(i).Left = 3000 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = &HFFFFC0 End If Nivel_Text = Nivel i = i + 1 Wend Nivel = 4 GoTo Fin ElseIf Nivel = 4 Then Timer2.Enabled = True While i < 10 If i = 0 Then Shape1(i).Shape = 1 Shape1(i).Top = 1250 Shape1(i).Left = 100 Shape1(i).Width = 900 Shape1(i).Height = 900 Shape1(i).FillColor = &HFF80FF ElseIf i = 1 Then Shape1(i).Shape = 1 Shape1(i).Top = 450 Shape1(i).Left = 4000 Shape1(i).Width = 500 Shape1(i).Height = 500 Shape1(i).FillColor = vbRed ElseIf i = 2 Then Shape1(i).Shape = 1 Shape1(i).Top = 2550 Shape1(i).Left = 200 Shape1(i).Width = 400 Shape1(i).Height = 400 Shape1(i).FillColor = vbWhite ElseIf i = 3 Then Shape1(i).Shape = 2 Shape1(i).Top = 200 Shape1(i).Left = 5000

Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = vbGreen ElseIf i = 4 Then Shape1(i).Shape = 1 Shape1(i).Top = 3000 Shape1(i).Left = 3000 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = vbBlue ElseIf i = 5 Then Shape1(i).Shape = 1 Shape1(i).Top = 2000 Shape1(i).Left = 3000 Shape1(i).Width = 200 Shape1(i).Height = 200 Shape1(i).FillColor = &HC0E0FF ElseIf i = 6 Then Shape1(i).Shape = 3 Shape1(i).Top = 3000 Shape1(i).Left = 3000 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = &HFFFFC0 End If Nivel_Text = Nivel i = i + 1 Wend Nivel = 5 GoTo Fin ElseIf Nivel = 5 Then Timer2.Enabled = True While i < 10 If i = 0 Then Shape1(i).Shape = 1 Shape1(i).Top = 10 Shape1(i).Left = 4000 Shape1(i).Width = 800 Shape1(i).Height = 800 Shape1(i).FillColor = &HFF80FF ElseIf i = 1 Then Shape1(i).Shape = 1 Shape1(i).Top = 250 Shape1(i).Left = 5000 Shape1(i).Width = 800 Shape1(i).Height = 800 Shape1(i).FillColor = &HFFFF& ElseIf i = 2 Then Shape1(i).Shape = 2 Shape1(i).Top = 3100 Shape1(i).Left = 2150 Shape1(i).Width = 600 Shape1(i).Height = 600 Shape1(i).FillColor = vbWhite ElseIf i = 3 Then Shape1(i).Shape = 1 Shape1(i).Top = 680

Page 75: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

75

Shape1(i).Left = 1500 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = &HC0E0FF ElseIf i = 4 Then Shape1(i).Shape = 1 Shape1(i).Top = 3000 Shape1(i).Left = 3000 Shape1(i).Width = 200 Shape1(i).Height = 200 Shape1(i).FillColor = vbRed ElseIf i = 5 Then Shape1(i).Shape = 2 Shape1(i).Top = 1000 Shape1(i).Left = 400 Shape1(i).Width = 200 Shape1(i).Height = 200 Shape1(i).FillColor = &HC0C0C0 ElseIf i = 6 Then Shape1(i).Shape = 3 Shape1(i).Top = 200 Shape1(i).Left = 3000 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = &HFFFFC0 ElseIf i = 7 Then Shape1(i).Shape = 1 Shape1(i).Top = 500 Shape1(i).Left = 500 Shape1(i).Width = 100 Shape1(i).Height = 100 Shape1(i).FillColor = &HFF0000 End If Nivel_Text = Nivel i = i + 1 Wend Nivel = 6 GoTo Fin ElseIf Nivel = 6 Then Timer2.Enabled = True While i < 10 If i = 0 Then Shape1(i).Shape = 2 Shape1(i).Top = 350 Shape1(i).Left = 2100 Shape1(i).Width = 600 Shape1(i).Height = 600 Shape1(i).FillColor = &HE0E0E0 ElseIf i = 1 Then Shape1(i).Shape = 1 Shape1(i).Top = 999 Shape1(i).Left = 6000 Shape1(i).Width = 800 Shape1(i).Height = 800 Shape1(i).FillColor = &HC0C0FF

ElseIf i = 2 Then Shape1(i).Shape = 2 Shape1(i).Top = 2000 Shape1(i).Left = 150 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = &HFFC0FF ElseIf i = 3 Then Shape1(i).Shape = 1 Shape1(i).Top = 680 Shape1(i).Left = 3550 Shape1(i).Width = 2000 Shape1(i).Height = 2000 Shape1(i).FillColor = &HFFC0FF ElseIf i = 4 Then Shape1(i).Shape = 1 Shape1(i).Top = 3100 Shape1(i).Left = 3100 Shape1(i).Width = 700 Shape1(i).Height = 700 Shape1(i).FillColor = vbRed ElseIf i = 5 Then Shape1(i).Shape = 2 Shape1(i).Top = 1000 Shape1(i).Left = 400 Shape1(i).Width = 200 Shape1(i).Height = 200 Shape1(i).FillColor = &HC0C0C0 ElseIf i = 6 Then Shape1(i).Shape = 3 Shape1(i).Top = 200 Shape1(i).Left = 3000 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = &HFFFFC0 ElseIf i = 7 Then Shape1(i).Shape = 1 Shape1(i).Top = 500 Shape1(i).Left = 500 Shape1(i).Width = 500 Shape1(i).Height = 500 Shape1(i).FillColor = &HFF0000 ElseIf i = 8 Then Shape1(i).Shape = 2 Shape1(i).Top = 1000 Shape1(i).Left = 500 Shape1(i).Width = 900 Shape1(i).Height = 400 Shape1(i).FillColor = &HC0C0& ElseIf i = 9 Then Shape1(i).Shape = 3 Shape1(i).Top = 200 Shape1(i).Left = 200 Shape1(i).Width = 150 Shape1(i).Height = 150

Shape1(i).FillColor = &H80FF80 End If Nivel_Text = Nivel i = i + 1 Wend Nivel = 7 GoTo Fin ElseIf Nivel = 7 Then Timer2.Enabled = True While i < 10 If i = 0 Then Shape1(i).Shape = 1 Shape1(i).Top = 3000 Shape1(i).Left = 2500 Shape1(i).Width = 800 Shape1(i).Height = 800 Shape1(i).FillColor = &HFFFF& ElseIf i = 1 Then Shape1(i).Shape = 2 Shape1(i).Top = 3000 Shape1(i).Left = 2500 Shape1(i).Width = 800 Shape1(i).Height = 800 Shape1(i).FillColor = &HC0C0FF ElseIf i = 2 Then Shape1(i).Shape = 1 Shape1(i).Top = 10 Shape1(i).Left = 6500 Shape1(i).Width = 800 Shape1(i).Height = 800 Shape1(i).FillColor = &HFF00& ElseIf i = 3 Then Shape1(i).Shape = 1 Shape1(i).Top = 3500 Shape1(i).Left = 6400 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = &H80FF80 ElseIf i = 4 Then Shape1(i).Shape = 2 Shape1(i).Top = 3500 Shape1(i).Left = 6400 Shape1(i).Width = 1000 Shape1(i).Height = 1000 Shape1(i).FillColor = vbRed ElseIf i = 5 Then Shape1(i).Shape = 0 Shape1(i).Top = 2000 Shape1(i).Left = 5000 Shape1(i).Width = 800 Shape1(i).Height = 1000 Shape1(i).FillColor = &HC0C0C0 ElseIf i = 6 Then Shape1(i).Shape = 0 Shape1(i).Top = 200

Page 76: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

76

Shape1(i).Left = 3000 Shape1(i).Width = 1000 Shape1(i).Height = 1500 Shape1(i).FillColor = &HFFFFC0 ElseIf i = 7 Then Shape1(i).Shape = 1 Shape1(i).Top = 3000 Shape1(i).Left = 500 Shape1(i).Width = 500 Shape1(i).Height = 500 Shape1(i).FillColor = &HFF0000 ElseIf i = 8 Then

Shape1(i).Shape = 2 Shape1(i).Top = 2000 Shape1(i).Left = 1000 Shape1(i).Width = 900 Shape1(i).Height = 400 Shape1(i).FillColor = &HFFC0FF ElseIf i = 9 Then Shape1(i).Shape = 3 Shape1(i).Top = 200 Shape1(i).Left = 200 Shape1(i).Width = 150 Shape1(i).Height = 150 Shape1(i).FillColor = &H80FF80

End If Nivel_Text = Nivel i = i + 1 Wend Nivel = 0 GoTo Fin End If Fin: End Sub Private Sub Timer2_Timer() Tiempo2 = Tiempo2 + Timer2.Interval / 1000 Tiempo_Nivel = Tiempo2 & " Seg" End Sub

• Subprueba 2 Nivel 25 Option Explicit Dim archivo As String Dim Mens_feli As Integer Dim Mens_error As Integer Dim Var As Integer Public Error As Integer Private Sub Form_Load() Var = 0 Error = 0 Label2 = Error boton1.Enabled = False boton2.Enabled = False boton3.Enabled = False boton4.Enabled = False boton5.Enabled = False Timer1.Enabled = False archivo = App.Path End Sub Private Sub boton1_Click() boton1.Picture = LoadPicture(archivo & "/" & "gr1_opr.bmp") Mens_error = MsgBox("ERROR, INTENTELO DE NUEVO", vbCritical, "Error") Error = Error + 1 Label2 = Error End Sub Private Sub boton2_Click() boton2.Picture = LoadPicture(archivo & "/" & "gr2_opr.bmp") Mens_error = MsgBox("ERROR, INTENTELO DE NUEVO", vbCritical, "Error") Error = Error + 1 Label2 = Error End Sub Private Sub boton3_Click() boton3.Picture = LoadPicture(archivo & "/" & "gr3_opr.bmp") Mens_error = MsgBox("ERROR, INTENTELO DE NUEVO", vbCritical, "Error")

Error = Error + 1 Label2 = Error End Sub Private Sub boton4_Click() boton4.Picture = LoadPicture(archivo & "/" & "gr4_opr.bmp") Mens_feli = MsgBox("FELICITACIONES, HAS TERMINADO EN " & Var & " SEGUNDOS", vbExclamation, "¡FELICITACIONES!") Label2 = Error Timer1.Enabled = False boton1.Enabled = False boton2.Enabled = False boton3.Enabled = False boton4.Enabled = False boton5.Enabled = False boton1.Picture = LoadPicture(archivo & "/" & "gr1.bmp") boton2.Picture = LoadPicture(archivo & "/" & "gr2.bmp") boton3.Picture = LoadPicture(archivo & "/" & "gr3.bmp") boton4.Picture = LoadPicture(archivo & "/" & "gr4.bmp") boton5.Picture = LoadPicture(archivo & "/" & "gr5.bmp") Form_Load End Sub Private Sub boton5_Click() boton5.Picture = LoadPicture(archivo & "/" & "gr5_opr.bmp") Mens_error = MsgBox("ERROR, INTENTELO DE NUEVO", vbCritical, "Error") Error = Error + 1 Label2 = Error End Sub Private Sub Inicio_Click() boton1.Enabled = True boton2.Enabled = True boton3.Enabled = True boton4.Enabled = True boton5.Enabled = True Timer1.Interval = 1 Timer1.Enabled = True Timer1.Interval = 1000 End Sub

Page 77: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

77

Private Sub Salir_Click() End End Sub

Private Sub Timer1_Timer() Var = Var + Timer1.Interval / 1000 Label1 = Var & " Seg" End Sub

• Subprueba 4 nivel 18

Option Explicit Dim archivo As String Dim Mens_feli As Integer Dim Mens_error As Integer Dim Var As Integer Public i As Integer Public j As Integer Public Error As Integer Public Aciertos As Integer Private Sub boton_Click(Index As Integer) If Index = 0 Then i = 1 ElseIf Index = 1 Then i = 2 ElseIf Index = 2 Then i = 3 ElseIf Index = 3 Then i = 4 ElseIf Index = 4 Then i = 5 ElseIf Index = 5 Then i = 6 ElseIf Index = 6 Then i = 7 ElseIf Index = 7 Then i = 8 ElseIf Index = 8 Then i = 9 ElseIf Index = 9 Then i = 10 End If Rutina i End Sub

Private Sub Form_Load() Var = 0 Error = 0 Aciertos = 0 Label2 = Error Label5 = Aciertos j = 0 While j < 10 boton(j).Enabled = False j = j + 1 Wend archivo = App.Path End Sub Private Sub Inicio_Click() j = 0 While j < 10 boton(j).Enabled = True j = j + 1 Wend Timer1.Interval = 1 Timer1.Enabled = True Timer1.Interval = 1000 End Sub Private Sub Salir_Click() End End Sub Private Sub Timer1_Timer() Var = Var + Timer1.Interval / 1000 Label1 = Var & " Seg" End Sub Private Sub Rutina(sel As Integer) If sel = 1 Or sel = 3 Or sel = 4 Or sel = 6 Then Mens_feli = MsgBox("FELICITACIONES, ACERTASTE", vbExclamation, "¡FELICITACIONES!") Label2 = Error Aciertos = Aciertos + 1 Label5 = Aciertos If sel = 1 Then boton(0).Picture = LoadPicture(archivo & "/" & "gr1_opr.bmp") End If

Page 78: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

78

If sel = 3 Then boton(2).Picture = LoadPicture(archivo & "/" & "gr3_opr.bmp") End If If sel = 4 Then boton(3).Picture = LoadPicture(archivo & "/" & "gr4_opr.bmp") End If If sel = 6 Then boton(5).Picture = LoadPicture(archivo & "/" & "gr6_opr.bmp") End If If Aciertos = 4 Then j = 0 Mens_feli = MsgBox("FELICITACIONES, HAS TERMINADO EN " & Var & " SEGUNDOS", vbExclamation, "¡FELICITACIONES!") Timer1.Enabled = False While j < 10 boton(j).Enabled = False j = j + 1 Wend boton(0).Picture = LoadPicture(archivo & "/" & "gr1.bmp") boton(1).Picture = LoadPicture(archivo & "/" & "gr2.bmp") boton(2).Picture = LoadPicture(archivo & "/" & "gr3.bmp") boton(3).Picture = LoadPicture(archivo & "/" & "gr4.bmp") boton(4).Picture = LoadPicture(archivo & "/" & "gr5.bmp") boton(5).Picture = LoadPicture(archivo & "/" & "gr6.bmp") boton(6).Picture = LoadPicture(archivo & "/" & "gr7.bmp") boton(7).Picture = LoadPicture(archivo & "/" & "gr8.bmp") boton(8).Picture = LoadPicture(archivo & "/" & "gr9.bmp") boton(9).Picture = LoadPicture(archivo & "/" & "gr10.bmp")

Form_Load End If Else Error = Error + 1 Label2 = Error Label5 = Aciertos Mens_error = MsgBox("ERROR, INTENTELO DE NUEVO", vbCritical, "Error") If sel = 2 Then boton(1).Picture = LoadPicture(archivo & "/" & "gr2_opr.bmp") End If If sel = 5 Then boton(4).Picture = LoadPicture(archivo & "/" & "gr5_opr.bmp") End If If sel = 7 Then boton(6).Picture = LoadPicture(archivo & "/" & "gr7_opr.bmp") End If If sel = 8 Then boton(7).Picture = LoadPicture(archivo & "/" & "gr8_opr.bmp") End If If sel = 9 Then boton(8).Picture = LoadPicture(archivo & "/" & "gr9_opr.bmp") End If If sel = 10 Then boton(9).Picture = LoadPicture(archivo & "/" & "gr10_opr.bmp") End If End If End Sub

• Subprueba 6 nivel 10 Option Explicit Dim archivo As String Dim Mens_feli As Integer Dim Mens_error As Integer Dim Var As Integer Public i As Integer Public Error As Integer

Public Aciertos As Integer Private Sub Form_Load() Var = 0 Error = 0 Label2 = Error

Page 79: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

79

boton1.Enabled = False boton2.Enabled = False boton3.Enabled = False boton4.Enabled = False boton5.Enabled = False Timer1.Enabled = False archivo = App.Path End Sub Private Sub boton1_Click() i = 1 Rutina i End Sub Private Sub boton2_Click() i = 2 Rutina i End Sub Private Sub boton3_Click() i = 3 Rutina i End Sub Private Sub boton4_Click() i = 4 Rutina i End Sub Private Sub boton5_Click() i = 5 Rutina i End Sub Private Sub Inicio_Click() boton1.Enabled = True boton2.Enabled = True boton3.Enabled = True boton4.Enabled = True boton5.Enabled = True Timer1.Interval = 1 Timer1.Enabled = True Timer1.Interval = 1000 End Sub Private Sub Salir_Click() End End Sub Private Sub Timer1_Timer() Var = Var + Timer1.Interval / 1000 Label1 = Var & " Seg" End Sub

Private Sub Rutina(sel As Integer) If sel = 2 Then Label2 = Error boton2.Picture = LoadPicture(archivo & "/" & "gr2_opr.bmp") Mens_feli = MsgBox("FELICITACIONES, HAS TERMINADO EN " & Var & " SEGUNDOS", vbExclamation, "¡FELICITACIONES!") Timer1.Enabled = False boton1.Enabled = False boton2.Enabled = False boton3.Enabled = False boton1.Picture = LoadPicture(archivo & "/" & "gr1.bmp") boton2.Picture = LoadPicture(archivo & "/" & "gr2.bmp") boton3.Picture = LoadPicture(archivo & "/" & "gr3.bmp") boton4.Picture = LoadPicture(archivo & "/" & "gr4.bmp") boton5.Picture = LoadPicture(archivo & "/" & "gr5.bmp") Form_Load Else Error = Error + 1 Label2 = Error Mens_error = MsgBox("ERROR, INTENTELO DE NUEVO", vbCritical, "Error") If sel = 1 Then boton1.Picture = LoadPicture(archivo & "/" & "gr1_opr.bmp") End If If sel = 3 Then boton3.Picture = LoadPicture(archivo & "/" & "gr3_opr.bmp") End If If sel = 4 Then boton4.Picture = LoadPicture(archivo & "/" & "gr4_opr.bmp") End If If sel = 5 Then boton5.Picture = LoadPicture(archivo & "/" & "gr5_opr.bmp") End If End If End Sub

Page 80: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

80

• Subprueba 8 nivel 7 Option Explicit Dim archivo As String Dim Mens_feli As Integer Dim Mens_error As Integer Dim Var As Integer Public i As Integer Public Error As Integer Public Aciertos As Integer Private Sub Form_Load() Var = 0 Error = 0 Label2 = Error boton1.Enabled = False boton2.Enabled = False boton3.Enabled = False boton4.Enabled = False Timer1.Enabled = False archivo = App.Path End Sub Private Sub boton1_Click() i = 1 Rutina i End Sub Private Sub boton2_Click() i = 2 Rutina i End Sub Private Sub boton3_Click() i = 3 Rutina i End Sub Private Sub boton4_Click() i = 4 Rutina i End Sub Private Sub boton5_Click() i = 5 Rutina i End Sub Private Sub Inicio_Click() boton1.Enabled = True boton2.Enabled = True boton3.Enabled = True boton4.Enabled = True Timer1.Interval = 1 Timer1.Enabled = True Timer1.Interval = 1000

End Sub Private Sub Salir_Click() End End Sub Private Sub Timer1_Timer() Var = Var + Timer1.Interval / 1000 Label1 = Var & " Seg" End Sub Private Sub Rutina(sel As Integer) If sel = 4 Then Label2 = Error boton4.Picture = LoadPicture(archivo & "/" & "gr4_opr.bmp") Mens_feli = MsgBox("FELICITACIONES, HAS TERMINADO EN " & Var & " SEGUNDOS", vbExclamation, "¡FELICITACIONES!") Timer1.Enabled = False boton1.Enabled = False boton2.Enabled = False boton3.Enabled = False boton1.Picture = LoadPicture(archivo & "/" & "gr1.bmp") boton2.Picture = LoadPicture(archivo & "/" & "gr2.bmp") boton3.Picture = LoadPicture(archivo & "/" & "gr3.bmp") boton4.Picture = LoadPicture(archivo & "/" & "gr4.bmp") Form_Load Else Error = Error + 1 Label2 = Error Mens_error = MsgBox("ERROR, INTENTELO DE NUEVO", vbCritical, "Error") If sel = 1 Then boton1.Picture = LoadPicture(archivo & "/" & "gr1_opr.bmp") End If If sel = 2 Then boton2.Picture = LoadPicture(archivo & "/" & "gr2_opr.bmp") End If If sel = 3 Then boton3.Picture = LoadPicture(archivo & "/" & "gr3_opr.bmp")

Page 81: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

81

End If If sel = 4 Then boton4.Picture = LoadPicture(archivo & "/" & "gr4_opr.bmp")

End If End If End Sub

7.3 PROGRAMAS REALIZADOS EN LENGUAJE C • Función Videoinit

void VideoInit(PWORD pV1, PWORD pV2) { HRTFTSETUP = 0x0000; HRTFTCONT = 0x0000; // Set up LCD I/O Pins LCDMUX = 0x1f7dbd5d; // Setup LCD Controller RCPCCTRL = 0x00000263;

HCLKPRE = 0x00000003; //50 MHz para reloj PERCLKCTRL2 &= 0xfffffffe; PERCLKSEL2 &= 0xfffffffe; LCDCLKPRE = 0x00000000; LCDTIMING0 = 0x0505039c; LCDTIMING1 = 0x000001df; LCDTIMING2 = 0x00EF0001; LCDCONTROL = 0x00000801; // STN, 1 bit/pix, GO !! }

• Función InitSDRAM

#define SDRAM_INIT_NOP 0x03 #define SDRAM_INIT_MODE 0x02 #define SDRAM_INIT_PALL 0x01 #define SDRAM_INIT_NORMAL 0x0c #define SDRAM_STATUS 0x20 static void Memtimer (WORD wDuration); void InitSDRAM(void) { volatile WORD tmp; MEMMUX |= 0x00ff; AHBCLKCTRL &= 0xfffffffd; Memtimer (200); SDRCCONFIG1 = SDRAM_INIT_NOP; SDRCCONFIG1 = SDRAM_INIT_NOP; Memtimer (200); SDRCCONFIG1 = SDRAM_INIT_PALL; Memtimer (250); SDRCREFTIMER = 16;

Memtimer (250); SDRCREFTIMER = 800; Memtimer (250); SDRCCONFIG1 = SDRAM_INIT_MODE; while (SDRCCONFIG1 & SDRAM_STATUS); SDRCCONFIG0 = 0x01a40088; while (SDRCCONFIG1 & SDRAM_STATUS); SDRCCONFIG1 = SDRAM_INIT_NORMAL; while (SDRCCONFIG1 & SDRAM_STATUS); Memtimer (100); } static void Memtimer (WORD wDuration) { volatile WORD wTemp, wTime; for (wTime=0; wTime < wDuration; wTime++) { for (wTemp=0 ; wTemp < 500; wTemp++); }

Page 82: DISPOSITIVO ELECTRÓNICO PARA APOYO DE TERAPÍA DE

IEL2-II-04-34 IEL2-II-04-12

82

8. REFERENCIAS Acosta, Abel - Paiz, Marta - Jiménez, Mariel-Karatanasopuloz, Ricardo -

Haydar, Yamila - Levy, Gustavo. Accidente cerebrovascular en terapia intensiva

Motor behaviour and cognitive tools, Lafayette Instruments Company, Lafayette, IN, 2001.

www.revely.com, Revely Microsistems LH79520 System-On-Chip User´s Guide, SHARP Microelectronics of

the Americas, Carnas, WA, 2002-2004. Customer’s Acceptance Specifications, Kaohsiung Hitachi Electronics Co.

LTD, Kaohsiung, Taiwan, 2000. Synchronous DRAM, Micron Technology Inc, 2002. Cmos flash memory, Toshiba America Inc, New York, NY, 2003. Touch Screen Controller, Texas Instruments Incorporated, Dallas, TX,

2003.