SISTEMA DE CONTROL Y TARIFICACIÓN DE TIEMPO PARA … · 2020. 7. 29. · de asignación de tiempo,...

114
SISTEMA DE CONTROL Y TARIFICACIÓN DE TIEMPO PARA CONSOLAS DE VIDEOJUEGOS DIEGO FERNANDO FIGUEROA VILLEGAS UNIVERSIDAD CATÓLICA POPULAR DEL RISARALDA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA PEREIRA - 2010

Transcript of SISTEMA DE CONTROL Y TARIFICACIÓN DE TIEMPO PARA … · 2020. 7. 29. · de asignación de tiempo,...

  • SISTEMA DE CONTROL Y TARIFICACIÓN DE TIEMPO PARA CONSOLAS DE

    VIDEOJUEGOS

    DIEGO FERNANDO FIGUEROA VILLEGAS

    UNIVERSIDAD CATÓLICA POPULAR DEL RISARALDA

    FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

    PEREIRA - 2010

  • SISTEMA DE CONTROL Y TARIFICACIÓN DE TIEMPO PARA CONSOLAS DE

    VIDEOJUEGOS

    DIEGO FERNANDO FIGUEROA VILLEGAS

    PROYECTO DE GRADO

    Asesor GUILLERMO CÉSPEDES

    Ingeniero Electrónico

    UNIVERSIDAD CATÓLICA POPULAR DEL RISARALDA PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES

    PRACTICAS PROFESIONALES PEREIRA

    2010

  • DERECHOS DEL AUTOR

    Las bases fundamentales para el desarrollo de este proyecto se adquirieron en el transcurso del programa académico universitario, gracias al conocimiento y enseñanza de excelentes docentes, por este motivo es un deseo autorizar a la universidad Católica Popular del Risaralda a incluir el presente proyecto de grado dentro de su catalogo de consulta de la Biblioteca y permitir el acceso a todas las personas interesadas en su contenido, respetando la propiedad intelectual del mismo.

  • AGRADECIMIENTOS

    Agradezco los dos asesores que me acompañaron en el transcurso del desarrollo de presente proyecto, en primera instancia a James Andrés Barrera quien me aporto grandes ideas para el mejoramiento del proyecto y en segunda a Guillermo Céspedes, quien me brindo su conocimiento, apoyo y tiempo para llevar a cabo este proyecto. Agradezco a mis padres por su apoyo incondicional y a mis compañeros de estudio por su colaboración.

  • DEDICATORIA

    Este proyecto va dedicado a Dios, que me ha permitido llegar hasta el final de mi carrera universitaria, quien me ha llenado de fuerza y motivación en los malos momentos. Pero en especial va dedicado a mi familia, que siempre me ha apoyado en mis metas y sueños, que al igual que yo se han esforzado para sacar adelante mi carrera profesional, y que con su ejemplo y carácter han hecho de mí un ser humano integral.

  • RESUMEN

    Los centros de entretenimiento son una fuente de diversión tanto para jóvenes

    como adultos. En la actualidad hay una gran cantidad de estos centros dedicados

    a ofrecer servicios de entretenimiento basados en videojuegos.

    El presente proyecto está enfocado al servicio de renta o alquiler de consolas de

    videojuegos en los centros de entretenimiento, ya que una gran parte de estos

    utilizan métodos rudimentarios para realizar el control y tarifación del servicio.

    El objetivo principal es diseñar y construir un sistema computacional y electrónico

    que permita administrar, controlar y facturar el servicio de renta o alquiler de

    consolas de videojuegos.

    Con este proyecto se pretende ofrecer una solución a los problemas de control y

    administración de los centros de entretenimiento, automatizando las actividades

    de asignación de tiempo, tarificación y generación de reportes de venta.

    El control y la tarifación del servicio de alquiler de las consolas de videojuegos se

    logra a través de un circuito electrónico encargado de bloquear y desbloquear la

    señal de video entre la consola y el TV, de acuerdo al tiempo de uso programado

    en un software especial de computadora que se comunica con el dispositivo vía

    USB y ofrece entre otras, funcionalidades como: autenticación y asignación de

    privilegios de usuario, creación de consolas y tarifas, generación y consulta de

    reportes de venta.

    Palabras claves: consolas de videojuegos, microcontrolador, tarjeta de control, comunicación USB, Firmware, Software.

  • ABSTRACT

    Entertainment centers are a source of enjoyment for both young and old. Currently

    there are a lot of these centers are dedicated to providing entertainment services

    based on video games.

    This project is focused on the service of renting or leasing of video game consoles

    in entertainment centers, already a great part are using rudimentary methods for

    controlling and charging for the service.

    The main objective is to design and build a computer and electronic system that

    allows to manage, monitor and bill the service of renting or leasing of video game

    consoles.

    This project tries to provide a solution to the problems of management and control

    of the entertainment centers by automating the activities of time assignment,

    pricing and reporting of sales.

    Control and charging for the rental service video game consoles is achieved

    through an electronic circuit in charge of locking and unlocking the video signal

    between the console and TV, according to the time of use programmed into a

    special computer software that communicates to the device via USB and offers

    among others, features such as authentication and assignment privileges of user,

    creating consoles and fees, generation and query sales reports.

    Keywords: game consoles, microcontroller, control card, USB communication, Firmware, Software.

  • CONTENIDO

    Pág.

    INTRODUCCIÓN ................................................................................................... 15

    1. FORMULACIÓN DEL PROYECTO ................................................................. 17

    1.1. SITUACIÓN ACTUAL ............................................................................... 17

    1.2. DEFINICIÓN DEL PROBLEMA ................................................................ 17

    1.3. OBJETIVO GENERAL .............................................................................. 18

    1.4. OBJETIVOS ESPECÍFICOS ..................................................................... 18

    1.5. JUSTIFICACIÓN ....................................................................................... 19

    1.6. PLANTEAMIENTO DE LA HIPÓTESIS .................................................... 19

    1.7. IDENTIFICACIÓN DE VARIABLES .......................................................... 20

    1.8. PRESUPUESTO ....................................................................................... 21

    1.9. CRONOGRAMA DE ACTIVIDADES DEL PROYECTO ............................ 22

    2. MARCO CONTEXTUAL .................................................................................. 23

    2.1. DESCRIPCIÓN DEL CONTEXTO ............................................................ 23

    2.2. ESTADO DEL ARTE................................................................................. 23

    2.3. ORGANIZACIÓN QUE IMPACTARÁ EL PROYECTO ............................. 29

    2.3.1. Tipo de organización .......................................................................... 29

    2.3.2. Objeto social ...................................................................................... 29

    2.3.3. Servicios ............................................................................................. 29

    2.3.4. Organigrama general de un centro de entretenimiento ...................... 30

    3. MARCO TEÓRICO .......................................................................................... 31

    3.1. INTERFAZ DE COMUNICACIÓN ............................................................. 31

    3.1.1. Interfaz Bus Serial Universal (USB) ................................................... 31

    3.2. MICROCONTROLADORES ..................................................................... 43

    3.2.1. Gama de PICs .................................................................................... 45

  • 3.2.2. Arquitecturas de los Pics .................................................................... 47

    3.2.3. Registros ............................................................................................ 51

    3.2.4. Contador de programas ..................................................................... 52

    3.2.5. Puertos de entrada y salida E/S ......................................................... 52

    3.2.6. Interrupciones .................................................................................... 52

    3.2.7. Oscilador externo ............................................................................... 52

    3.2.8. Temporizador o TIMER ...................................................................... 53

    3.2.9. Programación en microcontroladores ................................................. 54

    3.2.10. Compilador PCW CCS para microcontroladores ............................ 58

    3.2.11. Software de simulación de circuitos Proteus ................................... 60

    3.3. CONECTORES ........................................................................................ 61

    3.3.1. RCA .................................................................................................... 61

    3.3.2. HDMI .................................................................................................. 62

    4. MODELO TEÓRICO ....................................................................................... 64

    4.1. REQUERIMIENTOS PARA EL DESARROLLO DEL SOFTWARE .......... 64

    4.2. SOLUCIÓN PROPUESTA ........................................................................ 64

    4.3. DISEÑO DE LA TARJETA DE CONTROL ............................................... 65

    4.4. COMPONENTES UTILIZADOS ................................................................ 68

    4.4.1. PIC18F4550 ....................................................................................... 68

    4.4.2. ULN2803 ............................................................................................ 70

    4.4.3. Comunicación USB ............................................................................ 72

    4.5. DESARROLLO DE LA TARJETA DE CONTROL ..................................... 73

    4.6. DESARROLLO DEL FIRMWARE PARA EL PIC18F4550 ........................ 76

    4.7. DESARROLLO DEL CIRCUITO IMPRESO .............................................. 81

    4.7.1. Bloque de control ............................................................................... 82

    4.7.2. Bloque de potencia ............................................................................. 85

    4.7.3. Bloque de switcheo ............................................................................ 87

    4.8. EL SOFTWARE PARA EL PC .................................................................. 87

  • 4.8.1. Requerimientos funcionales y no funcionales .................................... 88

    4.8.2. Requerimientos del sistema ............................................................... 89

    4.8.3. Caso de uso general del sistema ....................................................... 90

    4.8.4. Diseño y desarrollo del software ........................................................ 90

    4.8.5. Diseño de la base de datos ................................................................ 96

    5. CONCRECIÓN DEL MODELO ....................................................................... 99

    5.1. PRUEBAS DE RECONOCIMIENTO E INSTALACIÓN ............................ 99

    5.2. PRUEBAS DE COMUNICACIÓN Y FUNCIONAMIENTO ...................... 103

    5.3. PRUEBAS DE INTEGRACIÓN ............................................................... 105

    6. CONCLUSIONES .......................................................................................... 109

    7. RECOMENDACIONES ................................................................................. 111

    BIBLIOGRAFÍA .................................................................................................... 112

  • LISTA DE TABLAS

    Pág.

    Tabla 1. Presupuesto del proyecto ........................................................................ 21

    Tabla 2. Cronograma de actividades del proyecto ................................................. 22

    Tabla 3. Codificación numérica y de color de los conductores del cable USB ....... 36

    Tabla 4. Distribución de colores en RCA ............................................................... 62

    Tabla 5. Tipos y rata de transferencia en USB ...................................................... 74

    Tabla 6. Opciones de configuración del oscilador para la operación USB ............. 77

  • LISTA DE FIGURAS

    Pág.

    Figura 1. Organigrama de una organización dedicada al alquiler de consolas de

    videojuegos ............................................................................................................ 30

    Figura 2. Conector TIPO A y TIPO B, con sus correspondientes ranuras de

    inserción ................................................................................................................ 34

    Figura 3. Dimensiones en mm. de los conectores ................................................. 35

    Figura 4. Sección de un cable USB ....................................................................... 36

    Figura 5. Diagrama de pines de conector TIPO A y TIPO B .................................. 37

    Figura 6. Flujo de comunicaciones en USB ........................................................... 42

    Figura 7. Diagrama de un sistema microcontrolador. ............................................ 48

    Figura 8. Arquitectura von Neumann. .................................................................... 48

    Figura 9. Arquitectura de Harvard. ......................................................................... 49

    Figura 10. Esquema de un Oscilador ..................................................................... 53

    Figura 11. Ejemplo de simulación de circuitos en ISIS Proteus ............................. 60

    Figura 12. Ejemplo de diseño de circuitos impresos en ARES Proteus ................. 61

    Figura 13. Conexión general del sistema de control y tarifación ............................ 67

    Figura 14. Disposición de pines del microcontrolador PIC18F4550....................... 69

    Figura 15. Diagrama interno del integrado ULN2803 ............................................. 70

    Figura 16. Diagrama de una sección del integrado ULN2803 ............................... 71

    Figura 17. Conexión de transistores Darlington ..................................................... 71

  • Figura 18. Conexión de pines en el conector USB ................................................ 73

    Figura 19. Conexión del conector USB al PIC18F4550 ......................................... 73

    Figura 20. Conexiones detalladas entre en puerto USB y el PIC18F4550 ............ 75

    Figura 21. Conexiones detalladas con el ULN2803 ............................................... 75

    Figura 22. Esquema simplificado de la tarjeta de control desarrollado en

    PROTEUS 7.6 ........................................................................................................ 76

    Figura 23. Diagrama detallado de conexión del bloque de control. ....................... 83

    Figura 24. Top Layer del bloque de control ........................................................... 84

    Figura 25. Top Overlay del bloque de control ........................................................ 84

    Figura 26. Diagrama detallado de conexión del bloque de potencia...................... 85

    Figura 27. Top Overlay del bloque de potencia ..................................................... 86

    Figura 28. Top Layer del bloque de potencia ......................................................... 86

    Figura 29. Caso de uso general del software de control y tarifación...................... 90

    Figura 30. Interfaz validar usuario .......................................................................... 91

    Figura 31. Interfaz registrar usuario ....................................................................... 91

    Figura 32. Interfaz asignar tiempo ......................................................................... 92

    Figura 33. Interfaz cancelar tiempo ........................................................................ 92

    Figura 34. Interfaz consultar información ............................................................... 93

    Figura 35. Interfaz reporte de venta ....................................................................... 93

    Figura 36. Modelo relacional de la base de datos.................................................. 96

    Figura 37. Reconocimiento del dispositivo por parte del PC .................................. 99

    Figura 38. Solicitud de ubicación manual del driver del dispositivo ..................... 100

  • Figura 39. Ubicación manual del driver del dispositivo ........................................ 100

    Figura 40. Selección manual del driver del dispositivo ........................................ 101

    Figura 41. Instalación del driver del dispositivo ................................................... 101

    Figura 42. Notificación de driver instalado correctamente ................................... 102

    Figura 43. Reconocimiento del hardware en el administrador de dispositivos del

    PC ........................................................................................................................ 102

    Figura 44. Transmisión de datos al microcontrolador .......................................... 104

    Figura 45. Ejecución de tareas programadas en el microcontrolador .................. 104

    Figura 46. Escenario de prueba de integracion ................................................... 105

    Figura 47. Interconexión de los bloques de la tarjeta de control .......................... 106

    Figura 48. Interconexión de la consola de videojuegos y la tarjeta de control ..... 106

    Figura 49. Interconexión de todos los dispositivos............................................... 107

    Figura 50. Activación de la consola en el software del PC .................................. 107

    Figura 51. Verificación de la activación de la consola .......................................... 108

  • 15

    INTRODUCCIÓN

    En la actualidad los seres humanos buscan continuamente diferentes formas de

    diversión y entretenimiento ya que es prácticamente una necesidad que poseen

    tanto ricos como pobres, (ASSEL, 1999), a partir de esto se puede comprender

    porque la industria del entretenimiento obtiene tan altos márgenes de utilidad,

    pues no discrimina sexo, estrato socioeconómico ni lugar de nacimiento, debido a

    que es una necesidad innata en todo ser humano el poder tener un mínimo de

    recreación.

    En consecuencia se observa que existen diferentes formas en las que la industria

    del entretenimiento se manifiesta, como es el caso del cine, los deportes y por

    supuesto los videojuegos, este es un sector que presenta grandes crecimientos y

    se ha extendido prácticamente por todo el mundo incluso en países en vía de

    desarrollo, debido a que en el mercado compiten grandes empresas con altos

    presupuestos tales como SONY, MICROSOFT, NINTENDO, los cuales son

    creadores y distribuidores de videoconsolas. (aDeSe, 2009).

    Entendemos por videojuegos todo tipo de juego digital basado en la interacción de

    una o varias personas y un aparato electrónico, con independencia de su soporte

    (ROM interno, disco magnético u óptico, on-line) y plataforma tecnológica

    (máquina de bolsillo, videoconsola conectable al TV, teléfono móvil, máquina

    recreativa, microordenador, ordenador de mano, vídeo interactivo). (MARQUES

    PERE, 2001).

    En la actualidad las consolas de videojuegos tienen un papel importante en la

    recreación y aprovechamiento del tiempo libre para gran cantidad de niños y

    jóvenes, ya que a diferencia de las PCs no requieren gasto de horas de

    mantenimiento, reinstalación, resolución de problemas, remoción de virus y otras

    cuestiones. Debido a los altos precios de estos dispositivos combinados con los

    costos de cada videojuego se hace difícil su adquisición en los hogares de

    estratos medios y bajos.

    El interés de los jóvenes por la utilización de los videojuegos es evidente y se corrobora con sólo dar un vistazo al crecimiento de centros o salas de

  • 16

    videojuegos, donde se reúnen los jóvenes de manera individual o en grupos a jugar por horas. Como evidencia de esto solo en Bogotá la Cámara de Comercio registró durante los últimos tres años 3798 empresas en la categoría de “Otras actividades de esparcimiento", que corresponde a las salas de videojuegos. (ROMERO, 2007). Aprovechando esto, el proyecto será dirigido a este entorno en especial, ya que es

    un mercado que se expande rápidamente como medio de entretenimiento e

    interacción, dado que cada vez más los jóvenes prefieren acudir a dichos centros

    de entretenimiento a pasar su tiempo libre que tener acceso a un sistema de

    videojuegos propio por la escases de recursos y la rápida depreciación de los

    equipos por el avance de la tecnología en este campo. Así mismo cada usuario no

    tiene que preocuparse por el mantenimiento y reparación del los equipos si fuese

    necesario, ya que dicha operación le corresponde a la empresa.

    Con el fin de mejorar el control y la administración de los centros de

    entretenimiento que prestan el servicio de alquiler de consolas de videojuegos,

    este proyecto plantea diseñar y desarrollar un sistema que permita controlar y

    administrar el tiempo de uso de cada consola y llevar un reporte detallado y

    efectivo de las ventas generadas, con el propósito de optimizar el tiempo de uso

    de cada uno de estos dispositivos y realizar una tarificación eficiente de los

    servicios prestados, automatizando los métodos de conteo de tiempo y reporte de

    ventas.

    En este documento se presenta el diseño y construcción de un dispositivo

    electrónico para controlar el tiempo de uso de cada consola de videojuegos,

    utilizando un microcontrolador como parte central del circuito. Además de esto se

    plantea el desarrollo de una aplicación software que permite la administración y la

    comunicación con el dispositivo electrónico a través de una interfaz USB, que

    permite además de otras características, asignar el tiempo de alquiler de cada

    consola y almacenar en una base de datos los reportes de ventas generados.

  • 17

    1. FORMULACIÓN DEL PROYECTO

    1.1. SITUACIÓN ACTUAL

    En la actualidad la mayoría de los centros de entretenimiento dedicados a la renta

    de consolas de videojuegos llevan una administración, control y tarificación

    totalmente manual. Cuando un usuario solicita la prestación del servicio, un

    operario encargado desarrolla las siguientes labores:

    Ubica al usuario en la consola deseada o para la cual es compatible el

    juego seleccionado.

    Enciende la consola y los demás dispositivos audiovisuales manualmente y

    solicita al usuario el tiempo que va a utilizar el servicio.

    El operario revisa periódicamente un cronometro o un reloj para determinar

    cuándo se agota el tiempo solicitado por el usuario y le informa a este.

    Realiza el cálculo manualmente de acuerdo a la tarifa establecida para

    determinar el precio que debe cancelar el usuario.

    Registra la venta en hojas de cálculo o cuadernos de contabilidad con la

    fecha, hora y saldo cancelado.

    1.2. DEFINICIÓN DEL PROBLEMA

    El conteo del tiempo resulta ser rudimentario y poco exacto, ya que el operario

    debe estar revisando constantemente en un reloj el tiempo transcurrido de cada

    usuario que se encuentre utilizando el servicio en las consolas de videojuegos,

    para determinar cuándo culmina el tiempo asignado, lo que lleva a que el tiempo

    de uso de las consolas difiera con el tiempo real contratado y hace que el usuario

    se sienta insatisfecho con el servicio o que el centro de entretenimiento tenga

    perdidas por una mala contabilización y administración del tiempo.

    La tarificación se hace lenta e inefectiva, debido a que el cajero debe realizar el

    cálculo manual del dinero a cobrar, relacionando el tiempo de uso del servicio y la

    tarifa establecida por la empresa, provocando errores en las tarifas cobradas al

    usuario.

  • 18

    El reporte de ventas se hace manualmente estableciendo la fecha, tiempo, hora y

    saldo cancelado por cada usuario en formatos u hojas de cálculo. Para la consulta

    de ventas se debe hacer todo el proceso contable hasta el periodo fijado. Este

    proceso es lento, incompleto, inexacto y propenso a errores ya que el cajero se

    puede equivocar al momento de digitar los datos de cada venta o puede obviar u

    olvidar datos importantes en cada reporte generando desconfianza en las

    consultas de resultados de ventas de la empresa.

    1.3. OBJETIVO GENERAL

    Diseñar y construir un dispositivo electrónico el cual asistido por una aplicación

    software permita administrar, controlar y facturar el servicio de renta o alquiler de

    consolas de videojuegos.

    1.4. OBJETIVOS ESPECÍFICOS

    Conocer y analizar las variables que se presentan en el control y tarifación del servicio de alquiler de consolas de videojuegos.

    Buscar teorías o planteamientos que permitan solucionar los problemas de tarifación que presentan las salas de videojuegos

    Diseñar y construir un dispositivo electrónico que permita el control de las consolas de videojuegos de un centro de entretenimiento específico.

    Desarrollar una aplicación software que permita la comunicación con el dispositivo electrónico y origine la tarifación de cada consola de videojuegos.

  • 19

    1.5. JUSTIFICACIÓN

    El éxito en la prestación de servicios de entretenimiento enfocados a los

    videojuegos, está basado en las características de las videoconsolas y la

    capacidad de los videojuegos de recrear entornos y situaciones reales

    virtualmente. Esto ha llevado a que los centros de entretenimiento que prestan

    este servicio además de adquirir consolas de videojuegos con buenas

    características tecnológicas, requieran adoptar sistemas que les permitan controlar

    y tarificar de manera eficiente el servicio que se presta, sin dejar de lado el fin

    último que es brindar un ambiente de entretenimiento y recreación para los

    usuarios.

    La justificación de este proyecto radica en mejorar la gestión, control, asignación y

    tarifación del tiempo de uso de las videoconsolas, acelerando este proceso, al

    mostrar información detallada y exacta de ventas, generando menores retardos en

    la tarificación del servicio, automatizando actividades rutinarias y mejorando la

    calidad en la prestación del servicio.

    Por tal motivo se hace importante este proyecto con el fin de delegar tareas de

    rutina a una aplicación Software que en interacción con un dispositivo electrónico

    de control, administren eficientemente y tarifiquen de una manera exacta el tiempo

    de uso o alquiler de las videoconsolas, proporcionando rapidez y confiabilidad

    para los usuarios y la organización a la hora de prestar el servicio de

    entretenimiento.

    1.6. PLANTEAMIENTO DE LA HIPÓTESIS

    A través del presente proyecto se pretende:

    Mejorar el sistema de control y tarificación en los centros de entretenimiento

    que ofrecen el servicio de alquiler de consolas de videojuegos.

  • 20

    Automatizar las actividades de asignación de tiempo, tarificación,

    generación de reportes y control de videoconsolas en las salas de

    videojuegos.

    Controlar de manera eficiente los servicios que presta la organización,

    experimentando una notable mejoría en tiempo y costos, ya que la

    administración del uso de las videoconsolas se realizará por medio de un

    dispositivo electrónico que interactúa con un software especializado.

    1.7. IDENTIFICACIÓN DE VARIABLES

    Variables independientes

    Es aquella característica o propiedad que se supone ser la causa del fenómeno

    estudiado. En investigación experimental se llama así, a la variable que el

    investigador manipula (HAYMAN, 1991). Para el proyecto propuesto, las variables

    independientes son:

    Tiempo

    Costos

    Servicio de alquiler

    Variables dependientes

    En este proyecto se define como propiedad o característica que se trata de

    cambiar mediante la manipulación de la variable independiente (HAYMAN, 1991).

    La variable dependiente es el factor que es observado y medido para determinar el

    efecto de la variable independiente. Para el proyecto propuesto, las variables

    dependientes son:

    Eficiencia

    Tarifación

    Rentabilidad

  • 21

    1.8. PRESUPUESTO

    DESCRIPCIÓN CANTIDAD VALOR

    UNITARIO ($) VALOR TOTAL

    ($)

    Microcontrolador PIC18F4550 1 25000 25000

    Integrado ULN2803 1 2000 2000

    Regulador 7812 1 1000 1000

    Regulador 7805 1 1000 1000

    Relés 3 2000 6000

    Conector USB 1 1500 1500

    Cable USB 1 4000 4000

    Fuente 12v 1 12000 12000

    Conector para fuente 1 1500 1500

    Resistencias 4 100 400

    Diodos 3 150 450

    Leds 3 150 450

    Conector hembra RJ45 3 1500 4500

    Capacitores 2 200 400

    Capacitores cerámicos 2 300 600

    Conectores VGA 3 2000 6000

    Baquelas 2 5000 10000

    Oscilador 1 2000 2000

    Pulsador 2 500 1000

    Protoboard 1 15000 15000

    Cable USB 3 2000 6000

    Programador de PICs 1 95000 95000

    Papelería 1 70000 70000

    Transporte 1 120000 120000

    TOTAL 385800

    Tabla 1. Presupuesto del proyecto

  • 22

    1.9. CRONOGRAMA DE ACTIVIDADES DEL PROYECTO

    ACTIVIDADES ABRIL MAYO JUNIO JULIO AGOSTO SEPTIEMBRE OCTUBRE NOV.

    1º 2º 3º 4º 1º 2º 3º 4º 1º 2º 3º 4º 1º 2º 3º 4º 1º 2º 3º 4º 1º 2º 3º 4º 1º 2º 3º 4º 1º 2º

    Etapa de investigación sobre el proyecto

    Planteamiento del problema y análisis de requerimientos

    Diseño del software de control

    Codificación del software se control y tarifación

    Diseño del circuito electrónico

    Simulación del circuito electrónico

    Diseño del PCB del circuito electrónico

    Montaje del circuito electrónico

    Pruebas de comunicación entre en software y el dispositivo

    integración del software y el dispositivo

    Corrección de fallas del sistema

    Construcción del documento escrito del proyecto

    Elaboración del manual de uso del sistema

    Tabla 2. Cronograma de actividades del proyecto

  • 23

    2. MARCO CONTEXTUAL

    2.1. DESCRIPCIÓN DEL CONTEXTO

    El proyecto “sistema de control y tarificación de tiempo para consolas de

    videojuegos” se desarrolla para los centros de entretenimiento que presten el

    servicio de alquiler de consolas de videojuego.

    2.2. ESTADO DEL ARTE

    Antes del planteamiento del proyecto, se realizaron indagaciones y consultas de

    mercado para conocer el desarrollo de sistemas de tarifación y control de consolas

    de videojuego para salas de entretenimiento en otras partes, tanto a nivel nacional

    como internacional. Se identifico que al menos a través de internet había poca

    información en referencia a estos desarrollos. La escases de empresas que le

    apuntaran a desarrollos para controlar el servicio de alquiler de videoconsolas

    impulso el planteamiento y desarrollo del presente proyecto.

    En el transcurso del desarrollo del proyecto se continuó indagando el mercado y

    se identifico un avance importante en este campo, varias empresas especialmente

    las que desarrollan aplicaciones para el control y tarifación de cibercafé o salas de

    internet, han implementado servicios de valor agregado en sus aplicaciones,

    incorporando módulos para el control de videoconsolas, algunas mas

    especializadas desarrollan la parte hardware, otras solo hacen los módulos

    software compatibles con dispositivos que vienen desarrollando otras empresas.

    Se nota que el servicio de alquiler de consolas de videojuegos ha tomado

    importancia para estas empresas, y han mostrado interés en apuntarle a este

    mercado.

    A continuación se describen los desarrollos que se han venido dando en este

    campo:

  • 24

    ControlGAME (Argentina)

    Se crea dentro del área de servicio técnico de Airon Argentina, empresa dedicada

    a la atención e instalación de cibercafés, salas de juegos, locutorios, con 8 años

    de experiencia en el rubro. A pedido particular de un cliente se fabrica en el año

    2005 el primer bloqueador para consolas, este funcionaba con el software de

    gestión de cybers "cafesuite" y controlaba hasta 8 consolas debido a la limitación

    de cafesuite, de este bloqueador se fabricaron varias versiones, bloqueando los

    controles o bloqueando la señal de video, han sido implementados exitosamente,

    pero la dirección de Airon Argentina no estaba conforme con sus prestaciones, a

    pesar de que sus clientes estaban muy satisfechos con el bloqueador.

    (CONTROLGAME).

    Es así que se destina un sector exclusivo para la investigación y desarrollo de

    prototipos de un nuevo bloqueador que por lo menos soportara 32 consolas, e

    incrementara la seguridad y eficiencia de su antecesor. Por la parte de hardware

    en poco tiempo se creó el primer prototipo con todas las nuevas prestaciones, el

    inconveniente que se presentaba en ese momento era que software de gestión de

    cybers se elegiría para gestionarlo, "cafesuite" no tenia los requerimientos que

    Airon Argentina pretendía para su bloqueador, ya que solo soportaba 8

    bloqueadores, y su seguridad en cuanto a consolas es muy frágil y fácil de saltear.

    En un primer momento se pensó en desarrollar un software para la gestión de

    consolas, pero luego de analizar varios software de gestión de cybers, se eligió a

    cyberplanetsoft, que es un software especializado en la administración de cybers.

    El Hardware

    ControlGAME es un bloqueador de consolas de juegos, desarrollado

    especialmente para cibercafés y salas de juegos.

    Este dispositivo puede bloquear consolas de juegos, tipo Playstation, PS2, PS3,

    XBOX, XBOX360, GAMECUBE, etc.

  • 25

    ControlGAME es ampliable y puede controlar hasta 96 consolas dependiendo del

    software que lo gestiona. Su instalación es muy sencilla, en pocos minutos puede

    tener el control total de sus consolas.

    ControlGAME se conecta al puerto paralelo de la PC que tiene el software de

    gestión de consolas y a este se conectan los bloqueadores de video o joystick. A

    través de cable UTP CAT. 5 o superior con conectores RJ45, idéntico al cableado

    de red Ethernet.

    Se comercializa en dos versiones, controlGAME 8x y controlGAME 16x.

    El Software (Argentina)

    CyberPlanet es un sistema integral de gestión de Cibercafés desarrollado y

    depurado a lo largo de varios años. Está cuidadosamente diseñado de manera

    que no haga falta recurrir a la ayuda. Está compuesto por un Módulo Cliente

    (CyberClient) que se instala en las pcs clientes y un Módulo Servidor

    (CyberPlanet) que administra y controla el uso de las PCs cliente.

    (CYBERPLANETSOFT).

    Además de las funciones de tarifación, control de usuarios y de PCs, el software

    incluye un modulo para el control de consolas, compatible con el sistema

    ControlGAME.

    La empresa mencionada anteriormente se dedica solo al desarrollo de la parte

    hardware del sistema, y los hace compatible con aplicaciones desarrolladas por

    otras empresas, especialmente con CyberPlanet que está ubicada en el país de

    Argentina al igual que la empresa desarrolladora del dispositivo.

    Alcsoft (Argentina)

    Es una empresa desarrolladora de software integrado para la gestión de

    Cibercafés y salas en red. Está ubicada en Argentina y además cuenta con

  • 26

    empresas aliadas para la distribución de su producto en otros países como

    Venezuela, Chile y México. (ALCSOFT).

    El Hardware

    El tarifador de consolas o controlador de consolas, es un componente electrónico

    que interactúa entre el software ALC Lan manager Server y las consolas. Con este

    se puede controlar a través del bloqueo del video o de los mandos (Joystick) la

    tarifación tanto Pre-Pago como Post Pago.

    Permite controlar cualquier consola con salidas RCA (video analógico) HDMI

    (Video de alta definición): PlaySation, PS2, PS3, XBOX, XBOX360, GAMECUBE,

    etc. Con respecto a la cantidad de consolas que se pueden controlar, no hay

    límite, pueden controlarse desde 8 consolas en adelante.

    La conexión es sencilla y tiene la siguiente configuración:

    Desde el PC sale por puerto SERIAL un cable hacia un concentrador, de ese concentrador salen un par de cables (Cable telefónico) hacia el primer controlador. Siempre desde el último controlador que se coloque puede anexarse el siguiente y así sucesivamente. Sería como tener varios Switch conectado el primero al segundo, el segundo al tercero y así sucesivamente. El Software

    Lan Manager Server es el software que permite realizar el control de acceso a los

    equipos, seguridad, tarifación, cobro e informes de caja rentabilizando al máximo

    su tiempo. Lan Manager es un software cliente / servidor, esto significa que

    requiere de un ordenador central donde se instalara la versión Servidor y luego en

    cada uno de los equipos del Cibercafé se instalara la versión cliente. Además de

    esto gestiona la comunicación a través del puerto serial con el dispositivo

    controlador de consolas.

  • 27

    La anterior empresa desarrolla el sistema completo, tanto software como hardware

    para el control y tarifación de las salas de videojuegos, su desarrollo ya se

    extiende a varios países de sur y centro América, es una de las pocas empresas

    que desarrolla el sistema completo.

    Desarrollo a nivel nacional

    Como se puede identificar, las empresas más importantes que están

    incursionando en este mercado son las establecidas en otros países,

    principalmente en Argentina, tomando como referencia la información encontrada

    a través de la web y aprovechando la presencia de estas empresas en este medio.

    Puede ser que además de estas empresas existan muchas otras que aun no

    hacen presencia en internet y que es difícil encontrar información por otro tipo de

    medios.

    En Colombia a través de las consultas realizadas se encontraron muchos avisos

    publicitarios relacionados con la venta de dispositivos electrónicos para controlar y

    tarifar el servicio de alquiler de consolas de videojuegos, en ciudades como

    Bogotá, Barrancabermeja y Medellín.

    Indagando sobre la procedencia de estos productos para conocer si son

    desarrollos a nivel nacional o productos importados, se identifica a través de las

    características técnicas de los dispositivos que son las mismas ofrecidas por las

    empresas antes mencionadas, lo que lleva a deducir que la mayoría de los

    dispositivos ofrecidos a nivel nacional son importaciones y no desarrollos

    originales en el país.

    En la ciudad de Bogotá se encuentra una empresa llamada Tecelcom Cabinas

    Ltda. Es una empresa dedicada al desarrollo de productos de tecnología en

    electrónica, con más de 4 años de experiencia en el desarrollo de productos de

    ingeniería. (TECELCOM). Está enfocada especialmente a la tarifación de cabinas

    telefónicas, y actualmente está incursionando en la tarifación de salas de

    videojuegos, ofreciendo su producto Tecelcom Videojuegos.

  • 28

    Telcecom Videojuegos

    Es un software desarrollado para la administración de consolas de videojuegos,

    posee las siguientes características:

    Es un sistema compatible con cualquier tipo de consola de videojuegos

    existente en el mercado actual y futuro (XBOX, NINTENDO64,

    PLAYSTATION1, PLAYSTATION2, XBOX360, ETC).

    Tarificación en modo prepago y en modo de tiempo libre.

    Interfaz amigable y diseñada para cualquier tipo de pantalla.

    Basado en productos Microsoft para funcionar sobre cualquier plataforma

    Microsoft Windows 95, 98, ME, NT, 2000, XP, Vista o Superior.

    Protección de cada usuario con contraseña propia.

    Parpadeo en el televisor para avisar al usuario que el tiempo está por

    terminar.

    Manejo de inventario y reportes

    Manejo de hasta 22 consolas de videojuegos simultáneamente.

    Tres niveles de seguridad para la administración del software dependiendo

    de si es administrador o empleado del negocio.

    La empresa Tecelcom en su página web ofrece el sistema completo de tarifación y

    control de consolas de videojuegos, tanto software como hardware. Se realizo una

    cotización del producto para identificar el tipo de hardware que implementa la

    solución y para conocer el precio del producto, comprobando lo siguiente:

    El hardware que se ofrece es el mismo que desarrolla la empresa

    ControlGAME, y tiene las mismas características técnicas, con lo cual se

    puede deducir que este producto es importado y no propiamente

    desarrollado por la empresa en cuestión.

    El software si es un desarrollo propio de la empresa y es integrado con el

    hardware importado.

    El costo del sistema completo maneja varios precios de acuerdo al número

    de consolas a controlar y se detallan a continuación:

    Kit para 4 consolas $ 349.000

    Kit para 6 consolas $ 499.000

  • 29

    Kit para 10 consolas $ 799.000

    Kit para 14 consolas $ 1.099.000

    Kit para 18 consolas $ 1.499.000

    2.3. ORGANIZACIÓN QUE IMPACTARÁ EL PROYECTO

    2.3.1. Tipo de organización Salas o centros de entretenimiento dedicadas a la renta o alquiler de consolas de videojuegos. 2.3.2. Objeto social El proyecto se dirige a las empresas o centros de entretenimiento que tienen por objeto social la prestación de servicios de renta o alquiler de consolas de videojuegos, y que tienen como visión promover una cultura de entretenimiento utilizando productos actualizados y servicios dirigidos hacia el usuario, aprovechando la interacción con los videojuegos y generando un ambiente de diversión apropiado. 2.3.3. Servicios

    Empresas que ofrece los servicios de:

    Entretenimiento basado en videojuegos Interconexión en juegos virtuales a nivel local e internet Torneos en diferentes tipos de videojuegos

  • 30

    2.3.4. Organigrama general de un centro de entretenimiento

    Figura 1. Organigrama de una organización dedicada al alquiler de consolas de videojuegos

  • 31

    3. MARCO TEÓRICO

    3.1. INTERFAZ DE COMUNICACIÓN

    3.1.1. Interfaz Bus Serial Universal (USB)

    USB es una especificación de las empresas Compaq, Digital, IBM, Intel, Microsoft, NEC y Northern Telecom, que describe un canal serie que soporta una gran variedad de periféricos de media y baja velocidad, con soporte integral para transferencias en tiempo real (isócronas) como voz, audio y vídeo comprimido, y que permite mezclar dispositivos y aplicaciones isócronas y asíncronas. Entre los dispositivos USB más característicos tenemos teclados, ratones, scanners, impresoras, módems, placas de sonido, cámaras, mp3, etc. (MORENO, 2006). La arquitectura USB combina todas las ventajas de un estándar multiplataforma, incluyendo un costo inferior, una mayor compatibilidad y un número superior de periféricos disponibles. La implementación del USB elimina el uso de IRQ's, canales de DMA, etc. Así como la necesidad de abrir los gabinetes para instalar o quitar dispositivos. Los usuarios de PC's no tienen la necesidad de preocuparse sobre la correcta selección del puerto serie, la instalación de tarjetas de expansión o configurar los conmutadores DIP, jumpers o drivers. Cada día aparecen nuevas utilidades de mucha más potencia, con más posibilidades y mejor calidad gráfica, que hacen que las tareas que se realizan a diario requieran de más capacidad de rata de transmisión. Para que se puedan almacenar, transmitir o recibir dichas tareas, aparecen en el mercado periféricos y componentes de mayor capacidad, discos duros con más capacidad de almacenamiento, mejor calidad de video, procesadores rápidos, etc. pero también se necesita que la "vía" por la que se van a transmitir esos datos sea fiable y más rápida, de forma que se ajuste a los avances producidos.

  • 32

    Así surgió su evolución, USB 2.0, apodado USB de alta velocidad, con velocidades en este momento de hasta 480 Mb/seg, es decir, 40 veces más rápido que las conexiones mediante cables USB 1.1. USB 2.0 incorpora un nuevo modo de funcionamiento denominado high-speed (HS). Es compatible con dispositivos USB 1.1 y utiliza los mismos cables y conectores, sólo se necesitan nuevos hubs algo más sofisticados que los actuales, ya que tendrán que comunicarse tanto con dispositivos 2.0 como con los actuales 1.1 (FS y LS). Gracias a este incremento de velocidad de transferencia, USB puede competir con el actual FireWire (estándar IEEE 1394). FireWire nació en principio destinado para Mac y algunas cámaras digitales con una velocidad cercana a 400Mbit/s. En la actualidad se está introduciendo poco a poco en el PC y se espera que llegue a alcanzar una velocidad de 3,2Gb/s. 3.1.1.1. Especificaciones eléctricas

    La interfaz USB inicialmente contaba con dos velocidades de funcionamiento

    (USB 1.1): Low-Speed (1.5Mbps), y Full- Speed (12Mbps). (MORENO, 2006).

    Posteriormente, salió al mercado USB 2.0, totalmente compatible con USB 1.1, pero que además cuenta con modo High-Speed, llegando a tasas de transferencia de 480Mbps.

    USB utiliza un cable de 4 conductores, de los cuales 2 de ellos son de alimentación a los dispositivos, y los otros dos transmiten/reciben una señal de datos, en modo de tensión diferencial. Los conductores de alimentación se etiquetan como VBus y GND. Entregan una tensión continua de 5V y 500mA máximo. En función de las necesidades de alimentación eléctrica de los dispositivos, estos pueden tomar la alimentación de estas líneas, o bien tener una fuente de alimentación alternativa. (MORENO, 2006). Los conductores de transmisión/recepción de datos se etiquetan como D+ y D-. Como se ha mencionado anteriormente, el parámetro a medir es la tensión diferencial entre los dos hilos.

  • 33

    En modo High-Speed (480Mbps), cada hilo de tensión diferencial está conectado en sus extremos a una resistencia de pull-down, de valor 45ohms. Esta resistencia no es necesaria en los otros modos de velocidad. Los márgenes de tensión para los niveles lógicos son los siguientes: Nivel 1 diferencial: al menos 200 mV (D+) más positivo que (D-) Nivel 0 diferencial: al menos 200 mV (D-) más positivo que (D+) La comunicación es semiduplex, es decir, es bidireccional pero no se puede transmitir y recibir simultáneamente. En la transferencia de datos se utiliza codificación NRZI, que consiste en que la línea cambia de nivel si se transmite un 0 y no cambia si transmite un 1. Debido a la utilización de codificación NRZI, es muy fácil que transmisor y receptor se dé sincronicen tras el envío de varios „1‟ sucesivos; para solucionar esto se emplea el "bit stuffing", que consiste en la inserción de un cero tras la transmisión de 6 unos, para asegurar transiciones en la línea y permitir que el receptor se mantenga sincronizado. Los dispositivos disponen de transmisores diferenciales, receptores diferenciales y resistencias de terminación con los que pueden transmitir y detectar varios estados eléctricos distintos en la línea. El tipo de transmisores y receptores, así como las resistencias de terminación de los cables de datos difieren según la velocidad de transferencia del dispositivo (Low, Full o High Speed). (MORENO, 2006). En la interfaz USB se pueden distinguir distintos estados eléctricos en la línea: Transmisión/Recepción diferencial de bits: Estados DIFF0 y DIFF1, denominados también estados J y K.

    SE0 (Single-Ended 0): Ambas señales D+ y D- a 0V. Se utiliza para detectar la conexión/desconexión de dispositivos, para indicar el EOP (fin de paquete) y para generar reset.

  • 34

    IDLE: reposo o línea en alta impedancia, necesario para permitir transferencias semidúplex, detectar la conexión y desconexión de dispositivos y discriminar entre dispositivos FS y LS.

    SOP (principio de paquete) se indica mediante una transición IDLE a K.

    EOP (fin de paquete) se indica mediante una secuencia SE0 (2 bits) + J (1 bit) + IDLE.

    3.1.1.2. Especificaciones mecánicas

    Conectores: Hay dos tipos de conectores USB: los de TIPO A y TIPO B, con sus correspondientes ranuras de inserción. (USB, 1999). Sus principales diferencias se encuentran en la forma y la distribución de los contactos. Todos los host-USB deben tener la ranura de inserción correspondiente al conector tipo A. Las ranuras tipo B se encuentran ubicadas en dispositivos USB tales como impresoras, módems, escaners, etc. Otro tipo de dispositivos USB, como pueden ser ratones y teclados, en los cuales uno de los extremos de los cables viene directamente soldado al dispositivo, cuenta únicamente con un conector tipo A en el otro extremo del cable, que será introducido en la ranura tipo A ubicada en el host USB (en este ejemplo el PC).

    Figura 2. Conector TIPO A y TIPO B, con sus correspondientes ranuras de inserción

  • 35

    Cables: USB requiere de un cable de 4 conductores: dos encargados de la alimentación a +5V y 500mA max. (VBus y GND), y dos cables para envío y recepción de datos en señal diferencial (D+ y D-). La sección de los conductores de alimentación varía entre 20 y 26 AWG, y la de los de la señal diferencial es 28AWG. En LS (low speed_1.5Mbps) no es obligatorio que los conductores de señal estén trenzados entre sí. En F/H-S (full/high-speed_12/480Mbps) si es obligatorio. Estos requerimientos influyen en la distribución espacial de los conductores en el interior del cable USB, así como el grosor y la longitud máxima de éste.

    Figura 3. Dimensiones en mm. de los conectores

    En los dispositivos LS la longitud de un tramo de cable no podrá exceder los 3 metros, y en dispositivos FS no podrá ser mayor de 5 metros. Se podrá hacer uso de alargadores, pero para ello será necesario ubicar un repetidor entre cada tramo. Tanto en FS como en LS los cables de alimentación (VBus y GND) nunca estarán trenzados. Obligatoriamente para ambos, el cable deberá contar con un

  • 36

    apantallamiento metálico de aluminio poliéster y también con un cable trenzado de cobre de sección 28AWG, para que dote de rigidez al cable final.

    Figura 4. Sección de un cable USB

    Además, los cables FS cuentan con un segundo apantallamiento, que consiste en una malla de cobre estañada alrededor de todo el cable. Finalmente, y como última capa, se encuentra la cubierta exterior de PVC. Conexión del cable a los conectores: La conexión de los cables a los pines de los conectores se observa en la Tabla.

    Tabla 3. Codificación numérica y de color de los conductores del cable USB

  • 37

    En la siguiente figura se puede observar la disposición y distribución de los pines tanto para el conector tipo A como para el conector tipo B

    Figura 5. Diagrama de pines de conector TIPO A y TIPO B

    3.1.1.3. Tipos de dispositivos.

    Todos los dispositivos USB responden a un patrón. (AXELSON, 1999). Tienen los

    mismos elementos funcionales:

    Transceiver: Encargado de seleccionar la velocidad de comunicación del dispositivo (12 ó 1,5 Mbps).

    Function Interface Unit (FIU): Administración de datos basado en estado de colas FIFO y envío de interrupciones.

    FIFO‟s: El controlador tiene 8 buffers FIFO; 4 para transmisión y 4 para recepción.

    Serial Interface Engine (SIE): Trata la información y la serializa o de serializa. Además codifica en NRZI, controla CRC, maneja el protocolo de comunicación y la secuencia de paquetes.

    El sistema de bus USB consta de tres componentes principales:

    Controlador.

    Concentradores o hubs.

    Periféricos.

    Controlador. Reside dentro del PC y es responsable de las comunicaciones entre los periféricos USB y la CPU del PC. Es también responsable de la admisión de los periféricos dentro del bus, tanto si se detecta una conexión como una desconexión. Para cada periférico añadido, el controlador determina su tipo y le

  • 38

    asigna una dirección lógica para utilizarla siempre en las comunicaciones con el mismo. Si se producen errores durante la conexión, el controlador lo comunica a la CPU, que, a su vez, lo transmite al usuario. Una vez se ha producido la conexión correctamente, el controlador asigna al periférico los recursos del sistema que éste precise para su funcionamiento. El controlador también es responsable del control de flujo de datos entre el periférico y la CPU. Concentradores o hubs. Son distribuidores inteligentes de datos y alimentación, y hacen posible la conexión a un único puerto USB de 127 dispositivos. De una forma selectiva reparten datos y alimentación hacia sus puertas descendentes y permiten la comunicación hacia su puerta de retorno o ascendente. Los concentradores también permiten las comunicaciones desde el periférico hacia el PC, aceptando datos en las puertas descendentes y enviándolos hacia el PC por la puerta de retorno. (AXELSON, 1999). Además del controlador, el PC también contiene la concentradora raíz. Este es el primer concentrador de toda la cadena que permite a los datos y a la energía pasar a uno o dos conectores USB del PC, y de allí a los 127 periféricos que, como máximo, puede soportar el sistema. Esto es posible añadiendo concentradores adicionales. Periféricos. USB soporta periféricos de baja y media velocidad. Empleando dos velocidades para la transmisión de datos de 1,5 y 12 Mbps se consigue una utilización más eficiente de sus recursos. Los periféricos de baja velocidad tales como teclados, ratones no requieren 12 Mbps y empleando para ellos 1,5 Mbps, se puede dedicar más recursos del sistema a periféricos tales como monitores, impresoras, módems, scanner, equipos de audio, etc., que precisan de velocidades más altas para transmitir mayor volumen de datos o datos cuya dependencia temporal es más estricta. (AXELSON, 1999). 3.1.1.4. Tipos de transferencia de datos.

    El bus de comunicaciones USB soporta 6 tipos de transferencias de datos dependiendo del tipo de dispositivo y del ancho de banda requerido para la transferencia: (AXELSON, 1999).

    Transferencias asíncronas. Transferencias síncronas.

  • 39

    Transferencias isócronas. Transferencias control. Transferencias interrupción. Transferencias bulk.

    Transferencias asíncronas. En este modelo cabe entender que ambos equipos poseen relojes funcionando a la misma frecuencia, por lo cual, cuando uno de ellos desea transmitir, prepara un grupo de bits encabezados por un bit conocido como de arranque, un conjunto de 7 u 8 bits de datos, un bit de paridad (para control de errores), y uno o dos bits de parada. El primero de los bits enviados anuncia al receptor la llegada de los siguientes, y la recepción de los mismos es efectuada. El receptor conoce perfectamente cuántos bits le llegarán, y da por recibida la información cuando verifica la llegada de los bits de parada. Transferencias síncronas. En este tipo de transmisión, el sincronismo viaja en la misma señal, de esta forma la transmisión puede alcanzar distancias mucho mayores como también un mejor aprovechamiento de canal. En la transmisión asíncrona, los grupos de datos están compuestos por generalmente 10 bits, de los cuales 4 son de control. Evidentemente el rendimiento no es el mejor. En cambio, en la transmisión síncrona, los grupos de datos o paquetes están compuestos por 128 bytes, 1024 bytes o más, dependiendo de la calidad del canal de comunicaciones. De esta forma la señal puede viajar por muchos más kilómetros sin temor a perderse o no ser entendida por el receptor. Transferencias isócronas. Este tipo de transferencia sólo es utilizable por dispositivos FS (dispositivos de velocidad alta o media). Garantiza un acceso al bus USB con una latencia limitada, asegura una transmisión constante de los datos a través del puerto siempre y cuando se suministren datos, además en caso de que la entrega falle debido a errores no se intenta reenviar los datos. La información útil por paquete puede oscilar entre 1 y 1,023 bytes. En cada Trama se transfiere un paquete por cada conexión isócrona establecida. El sistema puede asignar como máximo el 90% del tiempo de trama para transferencias isócronas y de interrupción. En función de la cantidad de datos que se estén transmitiendo en un momento dado, en velocidad media, el porcentaje de

  • 40

    transmisión utilizado puede variar desde un 1% hasta un 69%, mientras que el porcentaje de velocidad alta varía entre un 1% y un 41%. Transferencias de control. Es el único tipo de transferencia que utiliza transmisión a base de mensajes, soporta por lo tanto comunicaciones de tipo configuración/comando/estado entre el software cliente y su función. Por lo tanto este tipo de transferencia está pensado para configurar, obtener información, y en general para manipular el estado de los dispositivos. El tamaño máximo de datos que se transmiten por el bus viene determinado por el dispositivo. El puerto USB puede estar ocupado durante la fase de envío de datos y la fase de estado, en esos casos se indica al ordenador que se encuentra ocupado, invitándole a intentarlo mas tarde. Si se recibe un mensaje de configuración y se encontraba en mitad de una transferencia de control, aborta la transferencia actual y pasa a la nueva que acaba de recibir. Normalmente no se inicia una nueva transferencia de control, hasta que no ha acabado la actual, si bien debido a problemas de transmisión, se puede considerar que se han producido errores y pasar a la siguiente. USB proporciona detección y recuperación, vía retransmisión, de errores en las transferencias de control. Detalles de las 3 transacciones: • Transacción de Configuración (Setup), en la que se envía al dispositivo un paquete que especifica la operación a ejecutar. Ocupa 8 bytes. • Cero o más Transacciones de Datos, en las que se transfieren los paquetes de datos en el sentido indicado por la transacción de configuración. La información útil por paquete puede ser de 8, 16, 32 ó 64 bytes para dispositivos FS, y de 8 bytes para dispositivos LS. • Transacción de Estado, en la que el receptor informa del estado final de la operación. Transferencias de interrupción. Aseguran una transacción (paquete) dentro de un periodo máximo (los dispositivos FS pueden solicitar entre 1 y 255 ms, y los LS entre 10 y 255 ms de periodo máximo de servicio). Este tipo de transferencia está diseñado para servicios que envían o reciben datos de forma infrecuente. Esta transferencia garantiza el máximo servicio para el puerto durante el periodo en el que envía. Incorpora detección de errores y retransmisión de datos. El tamaño de paquete de datos máximo es de 1024 bytes para alta velocidad, 64 bytes para velocidad media y 8 bytes para baja velocidad.

  • 41

    En ningún caso se precisa que los paquetes sean de tamaño máximo, es decir, no es necesario rellenar los paquetes que no alcancen el máximo. Cuando en una transferencia de interrupción se necesite transmitir más datos de los que permite el paquete máximo, todos los paquetes a excepción del último paquete deben de tener el tamaño máximo. De modo que la transmisión de un paquete se ha llevado a cabo cuando se ha recibido la cantidad exacta esperada o bien, se ha recibido un paquete que no alcanza el tamaño máximo. Transferencias bulk. Al igual que ocurre con las transferencias isócronas, este tipo de transferencias sólo son utilizables por dispositivos FS. La información útil por paquete puede ser de 8, 16, 32 ó 64 bytes. Está diseñado para dispositivos que necesitan transmitir grandes cantidades de datos en un momento determinado sin importar mucho el ancho de banda disponible en ese momento. Esta transferencia garantiza el acceso al USB con el ancho de banda disponible, además en caso de error se garantiza el reenvío de los datos. Por lo tanto este tipo de transferencia garantiza la entrega de los datos pero no un determinado ancho de banda o latencia. Se procesan por medio de un mecanismo "Good Effort", en el que el sistema aprovecha cualquier ancho de banda disponible y en el momento en que esté disponible. 3.1.1.5. Protocolo de comunicación. El protocolo de comunicaciones del bus USB entre el host y el dispositivo físico se realiza a través de tokens (testigos). De forma general toda función en principio está esperando a que el host le envíe un paquete, si este paquete es de tipo token entonces cambia el estado de la función iniciándose una transacción. También se debe de tener en cuenta, que cuando o bien el host, o bien una función se encuentran en un estado que no es el de reposo, aparecen los timeouts como otra causa de error. El controlador USB, que es el encargado de la comunicación entre los periféricos USB y la CPU del ordenador, va a ser el que transmita esos testigos con la dirección del dispositivo, los datos, etc. (USB, 1999). Arquitectura lógica y real: La arquitectura del sistema en la que se basa USB, se ilustra en la Figura.

  • 42

    Figura 6. Flujo de comunicaciones en USB

    El flujo de datos del bus USB desde un punto de vista lógico hay que entenderlo como una serie de endpoints, a su vez los endpoints se agrupan en conjuntos que dan lugar a interfaces, las cuales permiten controlar la función del dispositivo. Forma de transmisión: La forma en la que las secuencias de bits se transmiten en USB es la siguiente; primero se transmite el bit menos significativo, después el siguiente menos significativo y así hasta llegar al bit más significativo. Cuando se transmite una secuencia de bytes se realiza de la misma manera. 3.1.1.6. Configuraciones de sistemas.

    Si hay algo que hace de USB un bus revolucionario es que se basa en tecnología

    Plug & Play, gracias a la cual el ordenador es capaz de conocer que aparato es el

    qué ha sido conectado, detectando todo el dispositivo, aparte de saber el modo de

    la transferencia de datos, velocidad de la transmisión, y todos los parámetros que

    necesita conocer para poder comunicase con el dispositivo. Todo este proceso es

    realizado por el hardware del bus con apoyo software y es totalmente transparente

  • 43

    al usuario. Una vez detectado el dispositivo, el ordenador asigna una dirección

    USB única a cada aparato, con la que puede averiguar si éste es nuevo, o ya ha

    sido conectado alguna vez, y recoger la información necesaria para poder

    comunicarse con el terminal. Debido a que también existe un hub USB, el

    ordenador le asigna la dirección cero para reconocerlo. (FERNANDEZ, 2002).

    Cuando un dispositivo es retirado de un puerto USB, se desactiva dicho puerto y se le indica al dispositivo que está a punto de ser extraído del conector. Esta indicación es enviada por el Sistema de Software USB. Si el dispositivo a retirar es un hub USB, el Sistema Software USB lo desactiva y retoma el control del puerto. 3.2. MICROCONTROLADORES

    Al descubrir las ventajas que ofrecen los computadores, se dio un gran movimiento en cuanto al desarrollo de aplicaciones que siempre habían sido realizadas manualmente dando lugar a una nueva etapa de automatización, sin embargo una desventaja que cada vez se hacía más intensa fue el hecho de que una computadora siempre debería de disponer de una serie de dispositivos externos que muchas veces no eran necesarios. Un ejemplo de esto era la utilización de pantalla de video, cuando era suficiente con un LED o un Display, o el teclado y el ratón cuando era suficiente disponer de un único pulsante. (NAVARRO, 2005).

    Con base en las nuevas necesidades de las personas se da el origen del microcontrolador el cual es un circuito integrado o chip capaz de ejecutar un programa y que contiene muchas de las mismas cualidades que una computadora de escritorio, tales como la CPU, memoria de datos y programa, periféricos E/S y buses, pero no incluye ningún dispositivo de “comunicación con humanos”, como monitor, teclados o mouse. Sin embargo es necesario aclarar que no posee la misma capacidad que tiene un computador normal, a esto hace referencia a que posee muy poca memoria, son lentos, entre otras. Aún así poseen características únicas que hacen que ellos sean dispositivos muy populares hoy en día, una de ellas es su pequeño tamaño y que a pesar de no poseer las capacidades de un computador superan por mucho las exigencias del público. El microcontrolador tiene como objetivo ejecutar instrucciones, el conjunto de estas instrucciones se le llama programa. Estas instrucciones se almacenan en la

  • 44

    memoria de programa y cuando se leen se hace de manera secuencial. Las instrucciones son operaciones básicas, cómo sumar, restar, escribir en un puerto, activar un bit de un dato, entre otras. Son básicas pero si mezclamos estas operaciones se lograrán grandes aplicaciones. 3.2.1. Microcontrolador PIC (controlador de interfaz periférico)

    Los PIC son una familia de microcontroladores tipo RISC1 fabricados por Microchip2 Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instrument. Esta familia de microcontroladores ha tenido gran aceptación y desarrollo en los últimos años, gracias a que sus excelentes características, bajo coste, reducido consumo, pequeño tamaño, gran calidad, fiabilidad y abundancia de información, lo convierten en muy fácil, cómodo y rápido de utilizar. (MORTON, 2005). Las características más relevantes de los microcontroladores PIC son:

    La arquitectura del procesador sigue el modelo Harvard.

    Se aplica la técnica de segmentación ("pipe-line") en la ejecución de las instrucciones.

    El formato de todas las instrucciones tiene la misma longitud.

    Procesador RISC (Computador de Juego de Instrucciones Reducido).

    Arquitectura basada en un banco de registros.

    Prácticamente todos los PIC se caracterizan por poseer unos mismos recursos mínimos.

    Modelo de arquitectura cerrada y abierta.

    Diversidad de modelos de microcontroladores.

    Amplio margen de alimentación y corrientes de salida elevadas.

    Herramientas de soporte potentes y económicas.

    1 RISC: Reduced Instruction Set Computer

    2 Microchip: es una empresa fabricante de microcontroladores, memorias y semiconductores

    analógicos, situada en Chandler, Arizona, EE. UU

  • 45

    3.2.1. Gama de PICs

    Existe una gran cantidad de aplicaciones que se pueden construir alrededor de los microcontroladores PIC, estas aplicaciones tienen diferentes exigencias en cuanto a los recursos y la cantidad de elementos externos que se van a utilizar, es por eso que la familia PIC se divide en cuatro gamas, que podemos llamar mini, baja, media y alta. Las principales diferencias entre estas gamas radica en el número de instrucciones y su longitud, el número de puertos y funciones, lo cual se refleja en el encapsulado, la complejidad interna y de programación, y en el número de aplicaciones, claro está entre más baja sea la gama el microcontrolador será más económico y con menos funcionalidades. (ARANGO & ARENAS, 2010). Gama mini: con encapsulado de 8 pines, tiene como principal característica su reducido tamaño. Se alimentan con un voltaje de corriente continua comprendido entre 2,5 V y 5,5 V, y consumen menos de 2 mA cuando trabajan a 5 V y 4 MHz. El formato de sus instrucciones puede ser de 12 o de 14 bits y su repertorio es de 33 o 35 instrucciones. (MORTON, 2005) . A pesar de tener solo 8 pines, se pueden destinar hasta 6 de ellos como E/S para los periféricos porque disponen de un oscilador interno R-C, lo cual es una de su principales características (los dos restantes corresponden a la alimentación) Los modelos 12C5xx pertenecen a esta gama, siendo el tamaño de las instrucciones de 12 bits; mientras que los 12C6xx son de la gama media y sus instrucciones tienen 14 bits. Los modelos 12F6xx poseen memoria Flash para el programa y EEPROM para los datos. Algunos modelos disponen de conversores Analógico/Digital de 8 bits incorporados. Gama baja o básica: consiste en una serie de PIC de recursos limitados, pero con una de la mejores relaciones coste/prestaciones de la familia. Sus versiones están encapsuladas con 18 y 28 patitas y pueden alimentarse a partir de una tensión de 2,5 V, lo que les hace ideales en las aplicaciones que funcionan con pilas teniendo en cuenta su bajo consumo (menos de 2 mA a 5 V y 4 MHz). Tienen un repertorio de 33 instrucciones cuyo formato consta de 12 bits. Al igual que todos los miembros de la familia PIC16/17, los componentes de la gama baja se caracterizan por poseer los siguientes recursos: Sistema “Power On Reset”, Perro guardián (Watchdog o WDT), Código de protección, etc. (MORTON, 2005) Gama media: es la más variada y completa de los PIC. Abarca modelos con

  • 46

    encapsulado desde 18 hasta 68 pines, cubriendo varias opciones que integran abundantes periféricos. Dentro de esta gama se halla el famoso PIC16F84, quizás el modelo más utilizado en la historia de los microcontroladores, aunque ya se lo considera obsoleto. (MORTON, 2005) En esta gama sus componentes añaden nuevas prestaciones a las que poseían los de la gama baja, haciéndoles más adecuados en las aplicaciones complejas. Poseen comparadores de magnitudes analógicas, convertidores A/D, puertos serie y diversos temporizadores. El repertorio de instrucciones es de 35, de 14 bits cada una y compatible con el de la gama baja. Sus distintos modelos contienen todos los recursos que se precisan en las aplicaciones de los microcontroladores de 8 bits. También dispone de interrupciones y una pila de 8 niveles que permite el anidamiento de subrutinas. Encuadrado en la gama media también se halla la versión PIC14C000, que soporta el diseño de controladores inteligentes para cargadores de baterías, pilas pequeñas, fuentes de alimentación y UPS y cualquier sistema de adquisición y procesamiento de señales que requiera gestión de la energía de alimentación. Los PIC 14C000 admiten cualquier tecnología de las baterías como Li-Ion, NiMH, NiCd, Ph y Zinc. Gama alta: dispone de chips con 58 instrucciones de 16 bits en el repertorio y que disponen de un sistema de gestión de interrupciones vectorizadas muy potente. También incluyen variados controladores de periféricos, puertos de comunicación serie y paralelo con elementos externos, un multiplicador hardware de gran velocidad y mayores capacidades de memoria, que alcanza los 8 k palabras en la memoria de instrucciones y 454 bytes en la memoria de datos. Quizás la característica más destacable de los componentes de esta gama es su arquitectura abierta, que consiste en la posibilidad de ampliación del microcontrolador con elementos externos. Para este fin, algunos pines comunican con el exterior las líneas de los buses de datos, direcciones y control, a las que se pueden conectar memorias o controladores de periféricos. Esta facultad obliga a estos componentes a tener un elevado número de pines, comprendido entre 40 y 84. Esta filosofía de construcción del sistema es la que se empleaba en los microprocesadores y no suele ser una práctica habitual cuando se emplean microcontroladores. Esta gama se utiliza en aplicaciones muy especiales, con grandes requerimientos. (MORTON, 2005)

  • 47

    3.2.2. Arquitecturas de los Pics

    3.2.2.1. Arquitecturas cerradas En esta arquitectura el microcontrolador tiene unos recursos específicos que no se pueden modificar de ninguna manera. Cada modelo de microcontrolador se construye con una determinada CPU, cierta capacidad de memoria de datos, cierto tipo y capacidad de memoria de instrucciones, un número de E/S y un conjunto de recursos auxiliares muy concreto. La aplicación a la que se destina debe encontrar en su estructura todo lo que precisa, de lo contrario no servirá en el objetivo de la aplicación. La empresa microchip que fabrica los microcontroladores PIC ha escogido principalmente este modelo de arquitectura. (ARANGO & ARENAS, 2010). 3.2.2.2. Arquitecturas abiertas En esta arquitectura el microcontrolador además de tener una estructura interna específica, permiten ampliaciones para emplear sus líneas de E/S para sacar al exterior los buses de datos, direcciones y control, con los que se posibilita la ampliación de la memoria y las E/S con circuitos integrados externos. (ARANGO & ARENAS, 2010). Microchip dispone de modelos PIC con arquitectura abierta, sin embargo, esta alternativa se escapa de la idea de un microcontrolador incrustado y se asemeja a la solución que emplean los clásicos microprocesadores. (MORTON, 2005). 3.2.2.3. Arquitecturas abiertas En esta arquitectura el microcontrolador además de tener una estructura interna específica, permiten ampliaciones para emplear sus líneas de E/S para sacar al exterior los buses de datos, direcciones y control, con los que se posibilita la ampliación de la memoria y las E/S con circuitos integrados externos. Este tipo de soluciones se asemeja a los clásicos microprocesadores. (ARANGO & ARENAS, 2010).

  • 48

    Otras de las ventajas a la hora de implementar un microcontrolador en un circuito hacen referencia a la reducción notable del número de componentes y, en consecuencia, disminuye el número de averías, el volumen y el peso de los equipos, entre otras. Un sistema con microcontrolador dispone de una memoria donde se almacena el programa que gobierna el funcionamiento del mismo que, una vez programado y configurado, sólo sirve para realizar la tarea asignada.

    Dispositivo de

    Entrada

    MicrocontroladorDispositivo de

    SalidaPrograma

    Figura 7. Diagrama de un sistema microcontrolador.

    En la figura se muestra el esquema de un sistema microcontrolador donde los dispositivos de entrada equivalen a tener un teclado, interruptor, sensor u otro y los dispositivos de salida hacen referencia a LEDs, parlante, interruptores de potencia, relés, luces, en fin una gran variedad de dispositivos que puedan imaginar.

    Debido a la necesidad de conseguir altos rendimientos en el procesamiento de estas instrucciones, se ha optado por emplear los procesadores con arquitectura Harvard en vez de los tradicionales que emplean una arquitectura de von Neumann. Esta última es identificaba porque la CPU se conectaba con una memoria única, donde se almacenaban los datos e instrucciones, a través de un sistema de buses.

    CPUMEMORIA

    Instrucciones y

    Datos

    Figura 8. Arquitectura von Neumann.

    En la arquitectura Harvard se divide la memoria de las instrucciones y datos, quedando de esta forma dos memorias totalmente independientes con su propio

  • 49

    sistema de bus para el acceso. Esta división, además de propiciar el paralelismo, permite la adecuación del tamaño de las palabras y los buses a los requerimientos específicos de las instrucciones y de los datos implementados en el microcontrolador.

    CPUMEMORIA DEINSTRUCCIONESMEMORIA

    DE DATOS

    Figura 9. Arquitectura de Harvard.

    Los microcontroladores modernos cuentan con un procesador de Arquitectura RISC, Computadora con Conjunto de Instrucciones Reducido, cuyas características principales son instrucciones de tamaño fijo y solo las instrucciones de carga y almacenamiento acceden a la memoria de datos.

    El microcontrolador está diseñado para que en su memoria de programa se almacene todas las instrucciones de control, las cuales deben estar grabadas permanentemente. Para tal propósito existen diferentes clases de memorias tales como la ROM3 con máscara, la EPROM4, OTP5, EEPROM6 y la FLASH. (ARANGO & ARENAS, 2010).

    Memoria ROM con máscara: Esta memoria se conoce simplemente como ROM y se caracteriza porque la información contenida en su interior se almacena durante su construcción y no se puede alterar. Son memorias ideales para almacenar microprogramas, sistemas operativos, tablas de conversión y caracteres. Memoria EPROM: Este tipo de memoria a diferencia de la ROM no se programa durante el proceso de fabricación, en vez de ello la programación la efectúa el usuario y la información se puede borrar y volver a grabar varias veces.

    3 ROM: Read Only Memory

    4 EPROM: Erasable Programmable Read Only Memory

    5 OTP: One Time Programmable

    6 EEPROM: Electrical EPROM

  • 50

    Memoria OTP: Es una memoria no volátil, de sólo lectura y programable una sola vez por el usuario. La grabación se realiza mediante un sencillo grabador controlado por un programa desde un PC. La versión OTP: es recomendable cuando es muy corto el ciclo de diseño del producto, o bien, en la construcción de prototipos o serie muy pequeñas. Memoria EEPROM: Es una memoria de sólo lectura, programable y borrable eléctricamente a diferencia de la EPROM que ha de borrarse mediante rayos ultravioleta. Tanto la programación como el borrado, se realizan eléctricamente desde el propio grabador y bajo el control programado de un PC, y puede hacerse con el microcontrolador instalado en el circuito. Es muy cómoda y rápida la operación de grabado y la de borrado. Memoria FLASH: Es un memoria no volátil, de bajo consumo, que se puede escribir y borrar en circuito al igual que las EEPROM, pero que suelen disponer de mayor capacidad. Son recomendables para aplicaciones en las que es necesario modificar el programa a lo largo de la vida del producto.

    Memoria STACK: Esta es una memoria interna dedicada y con un tamaño limitado, separada de la memoria de datos y de la de programa, la cual no es accesible al programador ya que es utilizada exclusivamente por el microcontrolador para guardar las direcciones de retorno de subrutinas e interrupciones.

    Estas direcciones son guardadas bajo el concepto de pila, es decir que el primer dato en entrar es el último en salir. Las posiciones en la pila son limitadas y sólo se pueden anidar dos niveles de subrutinas, en otras palabras, el programa principal puede llamar una subrutina y esta a su vez llama a otra subrutina, pero esta última no puede hacer mas llamados. Todo esto se hace para evitar el desbordamiento de la memoria del STACK.

    Los datos que manejan los programas varían continuamente, y esto exige que la memoria que los contiene deba ser de lectura y escritura, por lo que la memoria

  • 51

    RAM7 estática (SRAM8) es la más adecuada, aunque sea volátil. (ARANGO & ARENAS, 2010).

    Hay microcontroladores que disponen como memoria de datos una de lectura y escritura no volátil, del tipo EEPROM. De esta forma, un corte en el suministro de la alimentación no ocasiona la pérdida de la información, que está disponible al reiniciarse el programa.

    A excepción de los pines destinados para recibir la alimentación, el cristal de cuarzo, que regula la frecuencia de trabajo, y provocar el Reset, los pines restantes sirven para soportar la comunicación con los periféricos externos al microcontrolador.

    3.2.3. Registros

    Los PICs utilizan una arquitectura basada en registros, es decir, todos los objetos del sistema cómo los puertos de E/S, temporizadores, posiciones de memoria, entre otros están implementados físicamente cómo registros. (ARANGO & ARENAS, 2010).

    Existen dos tipos de registros:

    Registros de propósito general: puertos de E/S, contadores, etc.

    Registros de propósito especial: registros de funcionamiento y configuración.

    Todos los registros se encuentran ubicados en una posición específica de la memoria.

    7 RAM: Random Access Memory

    8 SRAM: Static Random Access Memory

  • 52

    3.2.4. Contador de programas

    Otro aspecto importante para resaltar es el contador de programas (PC) el cual contiene la dirección de la próxima instrucción a ejecutar y se incrementa de manera secuencial cuando cada instrucción es ejecutada. (ARANGO & ARENAS, 2010).

    Existen algunas instrucciones que pueden cambiar secuencia lineal de la ejecución, las cuales son conocidas como instrucciones de control, dentro de estas instrucciones se encuentran las GOTO y las CALL las cuales pueden hacer que se asigne un valor constante al PC logrando de este manera que el programa salte a cualquier dirección de la memoria.

    3.2.5. Puertos de entrada y salida E/S

    Un aspecto esencial en los microcontroladores son los puertos E/S con los que se comunica con los dispositivos externos, tales como: pantallas LCD, teclados, servomotores, memorias externas, LEDs, pulsadores, switches, displays, entre otros. La cantidad de puertos depende de la gama del microcontrolador, así como también la gama define si estos puertos son análogos, digitales o multiplexados. (ARANGO & ARENAS, 2010).

    3.2.6. Interrupciones

    Estas interrupciones hacen referencia a la detención del programa en un momento dado para realizar una rutina específica que atienda la causa de la interrupción. Cuando esta interrupción ha sido atendida en su totalidad se libera la subrutina y se vuelve al programa principal en el punto donde se detuvo. (ARANGO & ARENAS, 2010).

    3.2.7. Oscilador externo

    Todo microcontrolador necesita de un circuito externo que le indique a qué velocidad debe funcionar. Este circuito se conoce cómo oscilador o reloj, el cual

  • 53

    juega un papel esencial en el buen funcionamiento del sistema. (ARANGO & ARENAS, 2010).

    Existen cuatro tipos de osciladores que pueden utilizar los microcontroladores:

    RC: Oscilador con resistencia y condensador.

    XT: Cristal de Cuarzo.

    HS: Cristal de alta velocidad.

    LP: Cristal para baja frecuencia y bajo consumo de potencia.

    Cuando se va a realizar la compilación del programa que será quemado en el microcontrolador es importante definir qué tipo de oscilador se va a utilizar y a que frecuencia va a trabajar.

    Generalmente se utilizan cristales de 4 MHz, internamente esta frecuencia se divide en 4, lo que hace que la frecuencia efectiva de trabajo sea de 1 MHz, por lo que cada instrucción se atenderá en un microsegundo. El cristal debe ir acompañado de dos condensadores y se conecta de la siguiente manera:

    Figura 10. Esquema de un Oscilador

    3.2.8. Temporizador o TIMER

    Una exigencia de las aplicaciones de control es la regulación estricta de los tiempos de duran las diversas acciones que realiza el sistema. El dispositivo destinado a cumplir este objetivo es conocido cómo temporizador o timer, y consiste básicamente en un contador ascendente o descendente que determina

  • 54

    un tiempo determinado entre el valor que se le carga y el desbordamiento o paso por 0. (ARANGO & ARENAS, 2010).

    La cantidad de TIMERs o temporizadores, depende de la gama del microcontrolador que estamos manejando, por ejemplo la gama baja maneja dos y el resto de gamas puede manejar más temporizadores.

    Existen dos temporizadores básicos:

    Principal: Este timer se encarga del control de tiempos de las operaciones del sistema.

    Watchdog (Perro Guardián): Tiene a su cargo vigilar que el programa no se cuelgue y dejen de ejecutarse las instrucciones de manera secuencial cómo lo ha previsto el diseñador. Para lograrlo el perro guardián revisa la CPU cada cierto tiempo para verificar que todo esté corriendo normalmente, en caso de encontrar un bucle infinito o esperando un acontecimiento que no sucede, el perro guardián reinicializa el microcontrolador.

    3.2.9. Programación en microcontroladores

    3.2.9.1. Resumen de histórico de los lenguajes de programación

    3.2.9.1.1. Código máquina. Primera generación de lenguajes

    El código máquina es el lenguaje de programación que entiende directamente la computadora o máquina. Este lenguaje de programación utiliza el alfabeto binario, es decir, el 0 y el 1. Con estos dos únicos dígitos, conocidos como bits, forma lo que se conoce como cadenas binarias (combinaciones de ceros y unos) son con las que se escriben las instrucciones que el microprocesador de la computadora entiende nuestras peticiones. Fue el primer lenguaje de programación. Este tipo de lenguaje de programación dejo de utilizarse por su gran dificultad. (ARANGO & ARENAS, 2010).

  • 55

    Sólo se ha utilizado por los programadores en los inicios de la informática. Su incomodidad de trabajo y por la facilidad para cometer errores hace que sea impensable para ser utilizado hoy en día. Pero cualquier programa de ordenador debe, finalmente, ser convertido a este código para que un ordenador pueda ejecutar las instrucciones de dicho programa. Un