DESCRIPCIÓN DE LA CIRCUITERÍA CAPÍTULO 3 DESCRIPCIÓN DE LA CIRCUITERÍA 3.1 BLOQUE 1 - EL CY7C63000A COMO MICROCONTROLADOR ADDE MOUSE USB En este capítulo tres, lo que se busca es dar una explicación detallada de cómo es que se diseñó y construyó el proyecto desde el punto de vista del hardware. Debido a esto empezaremos dando una explicación de cómo es que este microcontrolador USB se puede implementar como un mouse USB. El lector se podrá cuestionar el porqué de la utilización de un mouse USB si lo que se busca es un touchscreen. La respuesta a esta bien fundamentada inquietud es que debido a que una de las cosas que se busca en este proyecto es explotar la característica plug & play de la interfaz USB, y como ya se explicó en el capítulo dos de este trabajo de titulación, esta característica depende de que el servidor USB contenga el controlador necesario para cualquier dispositivo que se conecte, Cuando no los tiene, debido a que es un dispositivo muy especial o no genérico, el usuario debe de instalarlos manualmente. Por eso, para evitarnos esta instalación y poder utilizar un controlador existente en el servidor, se utilizará y explicará como es que el CY7C63000A se puede implementar como un mouse USB (ya que es el dispositivo más semejante en funcionalidad a un touchscreen) para que al momento de conectarse, el servidor USB lo configure como un mouse y no exista ningún problema con los controladores. Además, el 1 CAPÍTULO 3 objetivo de esta sección es conocer la naturaleza de las señales que el µC 8751 requerirá entregarle al microcontrolador USB, para lograr esto, se explicará como se implementa un mouse USB con el CY7C6300A. 3.1.1 BREVE DESCRIPCIÓN DE UN SISTEMA DE MOUSE Los mouse opto-mecánicos son los mas populares debido a que proveen una relativa alta resolución y trabaja en un rango variado de superficies. Un mouse opto-mecánico típico tiene una resolución en el rango de 200 hasta 400 dpi. Las dimensiones mecánicas del hardware del mouse determinan la máxima resolución que se puede obtener. Básicamente, un mouse opto-mecánico consta de una bola de hule que es acoplada a dos barras giratorias como se muestra en la figura 3-1. El estabilizador es una rueda que provee el tercer punto de apoyo para la bola del mouse. Figura 3-1.- Montaje de un mouse opto-mecánico. Una barra gira dependiendo del movimiento en el eje X mientras que la otra gira dependiendo del eje Y. Existe una rueda dentada al final de cada barra giratoria, además se instala un LED en uno de los lados de la rueda dentada y en el otro lado se posicionan dos foto transistores como se muestra en la figura 3-2. 2 DESCRIPCIÓN DE LA CIRCUITERÍA Figura 3-2.- Detalle Opto Mecánico La salida de los fototransistores permiten al mouse detectar el movimiento de la rueda dentada, así como también la dirección del movimiento. Por ejemplo, dada una posición inicial, la salida de los fototransistores debido a un movimiento a la izquierda de la rueda dentada se ilustra en la figura 3-3a. De una manera similar, dada la misma posición inicial, la salida de los fototransistores debido a un movimiento a la derecha de la rueda dentada se ilustra en la figura 3-3b. Figura 3-3.- Rueda dentada moviéndose a la izquierda (a) y a la derecha (b). Exactamente de la misma forma funciona para detectar si la rueda se mueve tanto como hacia enfrente como hacia atrás. Por lo tanto, de las salidas de los fototransistores, el microcontrolador del mouse determina la dirección y calcula la distancia cuando el usuario mueve el mouse. 3.1.2 ADAPTACIÓN DEL SISTEMA PARA TOUCHSCREEN La manera en que se utiliza este microcontrolador de mouse en el proyecto de titulación es muy sencilla, se basa en seguir utilizando el chip microcontrolador de mouse USB con el programa de aplicación de mouse, solo que ahora las señales de entrada a este micro son generadas por otro microcontrolador, el µC 8751. Por lo que las dos señales mostradas en la figura 3-3, son de gran importancia para nuestro proyecto, ya que son éstas 3 CAPÍTULO 3 las que se van a generar con el µC 8751 cuando éste haya procesado las coordenadas obtenidas desde la malla, mandará las señales que representan el movimiento hacia el microcontrolador de mouse USB, en pocas palabras la bola de hule se simulará con el µC8751. Después el microcontrolador del mouse realizará el cálculo y dirección del desplazamiento y mandará los datos a la computadora vía su sistema USB para que se actualice la posición del apuntador del mouse. Dado lo anterior, en nuestro proyecto todo el hardware descrito en la sección 3.1.1 se elimina y sólo se conserva el microcontrolador el cual seguirá trabajando como mouse, solo que sus entrada de datos que antes eran generadas por los fototransistores y todo el acoplamiento, ahora serán generadas por el µC 8751. El botón izquierdo del mouse también se suprime conectando un bit de un puerto del 8751 al bit de conmutación del chip USB. La figura 3-4 ilustra lo anterior. Figura 3-4.- Entrada del CY7C63000A proveniente del 8751 y no del hardware del mouse. Por lo tanto el hardware requerido para este bloque del proyecto se reduce enormemente, sólo se requiere del hardware que necesite el microcontrolador para funcionar y aparte de esto, una pequeña interfaz para acoplar impedancias(descrita en la sección 3.2.2) entre el microcontrolador de mouse USB y el µC 8751. Debido a que el CY7C63000A se encontrará funcionando como un mouse USB, al momento de conectar el proyecto completo a la computadora, esta lo reconocerá como un mouse, por lo tanto lo configurará y utilizará como tal, de esta forma el dispositivo completo será enteramente plug & play . 4 DESCRIPCIÓN DE LA CIRCUITERÍA 3.1.3 IMPLEMENTACIÓN DEL HARDWARE Como se explicó en la sección pasada, el hardware necesario para este bloque es mínimo, sólo se requiere implementar el microcontrolador con los dispositivos eléctricos que requiere para su funcionamiento, con esto se reduce al máximo el costo económico para este primer bloque del hardware. Los dispositivos que requiere este microcontrolador USB realmente son pocos, y se presentaron de manera general en la descripción de este microcontrolador en la sección 2.9, enseguida toda la implementación del hardware de este bloque es mencionada: Circuito RC en CEXT.- Empezamos mencionando al circuito temporizador RC que se conecta en el pin CEXT del CY7C63000A formado por R1 y C1. El tiempo de wakeup se establece en alrededor de 20ms para conseguir un buen balance entre el tiempo de respuesta de wake-up y el ahorro de energía. Para generar el tiempo necesario para la interrupción se implementa el RC con R1= 2MΩ ±5% y C1 = 0.01µF @ 50V ±5%. Resonador Cerámico de 6 MHz.- Seguimos con el resonador cerámico de 6 MHz el cual se tiene que utilizar con el µC para que éste funcione, debe ser conectado a las entradas de reloj del micro Xtalin y Xtalout, cabe recordar que esta frecuencia del reloj se duplica internamente en el chip para tener así un frecuencia de trabajo de 12 MHz. Resistencia de pull-up.- Como ya se vio en el capítulo dos, la especificación USB para dispositivos de low-speed establece que la línea D- debe de cargarse después de un reset de 0 a 2.0 volts en 2.5s, debido a que la capacitancia total entre el chip y el final del cable USB de baja velocidad es menor a 250pF, se implementa en el pin D- del CY7C63000A una resistencia de precisión de 7.5KΩ ±1% conectada a +5V del VBus. 5 CAPÍTULO 3 Capacitor de Bypass.- La especificación USB señala que el valor del VBus debe ser de 5V ±330mV, por lo que demanda la utilización de un capacitor electrolítico de un valor de C2 = 4.7µF @ 50V±10% el cual estabilice el valor de este voltaje sobre todo cuando se conectan o desconectan otros dispositivos de la red USB ya que esto provoca variaciones en el VBus. Cable y conectores USB.- Por último, se implementa la conexión del µC a la computadora por medio de un cable USB no blindado de 1.5mts de longitud el cual contiene cinco hilos, dos pares trenzados mas un hilo de tierra física, un par es 28 AWG (para señalización) y otro par es 30 AWG (para alimentación). En un extremo del cable se implementa un conector USB serie A upstream y del otro un conector para PCB de 5 slots. Todos estos dispositivos más el chip del microcontrolador forman la implementación de hardware completa de esta primera etapa y se ilustra en el diagrama eléctrico mostrado en la Figura 3-5. Figura 3-5.- Diagrama eléctrico del hardware del CY7C63000A. 6 DESCRIPCIÓN DE LA CIRCUITERÍA El circuito impreso diseñado para esta sección del hardware se ilustra en la figura 3-6a, en la figura 3-6b se muestra el hardware implementado en esta sección ya montado sobre la tarjeta con el circuito impreso. Por lo tanto esta sección se encuentra lista y funcional para acoplarse con la siguiente etapa, desde el punto de vista del hardware. (a) (b) FIGURA 3-6.- Circuito impreso bloque 1 (a) y montaje de los dispositivos sobre la tarjeta(b). 3.1.4 CARACTERÍSTICAS ELÉCTRICAS ¿?! CAPÍTULO 3. DESCRIPCIÓN DE LA CIRCUITERÍA 3.1 Bloque 1 - El CY7C63000A como microcontrolador de mouse USB 3.1.1 Breve descripción de un sistema de mouse USB (requerimientos de señales) 3.1.2 Adaptación del sistema para touchscreen 3.1.3 Implementación del Hardware (incluyendo la salida USB a la computadora y pista) 3.1.4 Características eléctricas (consumo y manejo de energía) 7 CAPÍTULO 3 3.2 BLOQUE 2 – EL µC 87C51 COMO DECODIFICADOR DE 0000COORDENADAS 3.2.1 BREVE DESCRIPCIÓN DEL µC 87C51 El microcontrolador 87C51 pertenece a la familia 51 de microcontroladores de Intel. Fue diseñado por Intel pero hoy en día es manufacturado por Intel, Philips, Siemens, AMD entre otros. La arquitectura de esta familia está optimizada para aplicaciones orientadas al control y procesos industriales en tiempo real de pequeña y mediana envergadura. Este modelo en particular es construido con la tecnología CMOS, esdecir, con transistores MOS complementarios de bajo consumo, lo cual conlleva un consumo bajo de energía, rapidez en la programación y un cuidado mas riguroso en el manejo e instalación del dispositivo debido a su alta sensibilidad eléctrica. Básicamente este microcontrolador cuenta con: CPU de 8 bits. Dos contadores-temporizadores. 128 bytes de RAM. 4 Kbytes de EEPROM. 4 puertos de 8 bits bidireccionales de entrada y salida.(P0,P1,P2 y P3) 5 fuentes de Interrupción con niveles de prioridad: o 2 interrupciones externas. o 2 interrupciones de los timers. o 1 interrupción de la comunicación en serie. Un puerto EIA-232 con comunicación asíncrona full-duplex. Cabe mencionar que como salida los drivers del Puerto 0 pueden soportar una cargabilidad, es decir, un número de entradas aplicadas a sus pines de salida, de 8 cargas TTL-LS, el resto de los puertos sólo admiten 4 cargas TTL-LS. Para lograr lo anterior se requiere implementar resistencias de pull-up de 10KΩ en cada pin del puerto 0. 8 DESCRIPCIÓN DE LA CIRCUITERÍA En la figura 3-7 se ilustra la identificación de los pines del µC 87C51 en su presentación en el formato de 40 pin DIP. Figura 3-7.- Patillaje del µC 87C51 empaquetado en 40 pin DIP 3.2.2 Implementación del Hardware. El hardware requerido para que el µC 87C51 opere en single chip es: 3.2 Bloque 2 - El µC 8751 como decodificador de coordenadas 3.2.1 Breve descripción del 8751 3.2.2 Implementación de Hardware 3.2.3 Interfaz con el CY7C63000A 3.2.4 Características eléctricas (consumo y manejo de energía) 3.3 Bloque 3 - Diseño y construcción de la malla de infrarrojos 3.3.1 Diseño del circuito básico del sensor 3.3.2 Alcances y limitaciones del sensor 3.3.3 Resolución 3.3.4 Construcción de la malla de infrarrojos 9 CAPÍTULO 3 3.3.5 Características eléctricas y desempeño (Consumos y potencia, radiaciones e interferencias) 3.3.6 Fuente de poder de la malla 3.3.7 Cubierta de la malla 3.4 Conjunción de los 3 bloques (diagrama eléctrico y circuito impreso) Lo que va para el glosario de este capítulo Resolución: La resolución es el movimiento más pequeño que un mouse puede detectar y se mide en puntos por pulgada (DPI por sus siglas en ingles: dots per inch). Hardware: PCB: AWG: (SE REPITE) PLUG & PLAY: (SE REPITE) 10