Documentos de Académico
Documentos de Profesional
Documentos de Cultura
VIDEOJUEGOS
PROYECTO DE GRADO
Asesor
GUILLERMO CSPEDES
Ingeniero Electrnico
AGRADECIMIENTOS
DEDICATORIA
RESUMEN
Los centros de entretenimiento son una fuente de diversin tanto para jvenes
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 mtodos rudimentarios para realizar el control y tarifacin del servicio.
El objetivo principal es disear y construir un sistema computacional y electrnico
que permita administrar, controlar y facturar el servicio de renta o alquiler de
consolas de videojuegos.
Con este proyecto se pretende ofrecer una solucin a los problemas de control y
administracin de los centros de entretenimiento, automatizando las actividades
de asignacin de tiempo, tarificacin y generacin de reportes de venta.
El control y la tarifacin del servicio de alquiler de las consolas de videojuegos se
logra a travs de un circuito electrnico encargado de bloquear y desbloquear la
seal 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 va
USB y ofrece entre otras, funcionalidades como: autenticacin y asignacin de
privilegios de usuario, creacin de consolas y tarifas, generacin y consulta de
reportes de venta.
Palabras claves: consolas de videojuegos, microcontrolador, tarjeta de control,
comunicacin 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
Pg.
INTRODUCCIN ................................................................................................... 15
1. FORMULACIN DEL PROYECTO ................................................................. 17
1.1.
1.2.
1.3.
1.4.
1.5.
JUSTIFICACIN ....................................................................................... 19
1.6.
1.7.
1.8.
PRESUPUESTO ....................................................................................... 21
1.9.
2.2.
2.3.
2.3.1.
2.3.2.
2.3.3.
Servicios ............................................................................................. 29
2.3.4.
3.1.1.
3.2.
MICROCONTROLADORES ..................................................................... 43
3.2.1.
3.2.2.
3.2.3.
Registros ............................................................................................ 51
3.2.4.
3.2.5.
3.2.6.
Interrupciones .................................................................................... 52
3.2.7.
3.2.8.
3.2.9.
Programacin en microcontroladores................................................. 54
3.2.10.
3.2.11.
3.3.
CONECTORES ........................................................................................ 61
3.3.1.
RCA.................................................................................................... 61
3.3.2.
HDMI .................................................................................................. 62
4.2.
4.3.
4.4.
4.4.1.
PIC18F4550 ....................................................................................... 68
4.4.2.
ULN2803 ............................................................................................ 70
4.4.3.
4.5.
4.6.
4.7.
4.7.1.
4.7.2.
Bloque de potencia............................................................................. 85
4.7.3.
4.8.
4.8.1.
4.8.2.
4.8.3.
4.8.4.
4.8.5.
5.2.
5.3.
LISTA DE TABLAS
Pg.
LISTA DE FIGURAS
Pg.
Figura 39. Ubicacin manual del driver del dispositivo ........................................ 100
Figura 40. Seleccin manual del driver del dispositivo ........................................ 101
Figura 41. Instalacin del driver del dispositivo ................................................... 101
Figura 42. Notificacin de driver instalado correctamente ................................... 102
Figura 43. Reconocimiento del hardware en el administrador de dispositivos del
PC ........................................................................................................................ 102
Figura 44. Transmisin de datos al microcontrolador .......................................... 104
Figura 45. Ejecucin de tareas programadas en el microcontrolador .................. 104
Figura 46. Escenario de prueba de integracion ................................................... 105
Figura 47. Interconexin de los bloques de la tarjeta de control .......................... 106
Figura 48. Interconexin de la consola de videojuegos y la tarjeta de control ..... 106
Figura 49. Interconexin de todos los dispositivos............................................... 107
Figura 50. Activacin de la consola en el software del PC .................................. 107
Figura 51. Verificacin de la activacin de la consola.......................................... 108
INTRODUCCIN
En la actualidad los seres humanos buscan continuamente diferentes formas de
diversin y entretenimiento ya que es prcticamente 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 mrgenes de utilidad,
pues no discrimina sexo, estrato socioeconmico ni lugar de nacimiento, debido a
que es una necesidad innata en todo ser humano el poder tener un mnimo de
recreacin.
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 prcticamente por todo el mundo incluso en pases en va 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 interaccin de
una o varias personas y un aparato electrnico, con independencia de su soporte
(ROM interno, disco magntico u ptico, on-line) y plataforma tecnolgica
(mquina de bolsillo, videoconsola conectable al TV, telfono mvil, mquina
recreativa, microordenador, ordenador de mano, vdeo interactivo). (MARQUES
PERE, 2001).
En la actualidad las consolas de videojuegos tienen un papel importante en la
recreacin y aprovechamiento del tiempo libre para gran cantidad de nios y
jvenes, ya que a diferencia de las PCs no requieren gasto de horas de
mantenimiento, reinstalacin, resolucin de problemas, remocin de virus y otras
cuestiones. Debido a los altos precios de estos dispositivos combinados con los
costos de cada videojuego se hace difcil su adquisicin en los hogares de
estratos medios y bajos.
El inters de los jvenes por la utilizacin de los videojuegos es evidente y se
corrobora con slo dar un vistazo al crecimiento de centros o salas de
15
16
SITUACIN ACTUAL
1.2.
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 cundo 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 contabilizacin y administracin del tiempo.
La tarificacin se hace lenta e inefectiva, debido a que el cajero debe realizar el
clculo 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.
17
OBJETIVO GENERAL
OBJETIVOS ESPECFICOS
Conocer y analizar las variables que se presentan en el control y tarifacin
del servicio de alquiler de consolas de videojuegos.
Buscar teoras o planteamientos que permitan solucionar los problemas de
tarifacin que presentan las salas de videojuegos
Disear y construir un dispositivo electrnico que permita el control de las
consolas de videojuegos de un centro de entretenimiento especfico.
Desarrollar una aplicacin software que permita la comunicacin con el
dispositivo electrnico y origine la tarifacin de cada consola de
videojuegos.
18
1.5.
JUSTIFICACIN
Por tal motivo se hace importante este proyecto con el fin de delegar tareas de
rutina a una aplicacin Software que en interaccin con un dispositivo electrnico
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 organizacin a la hora de prestar el servicio de
entretenimiento.
1.6.
PLANTEAMIENTO DE LA HIPTESIS
19
1.7.
IDENTIFICACIN DE VARIABLES
Variables independientes
Es aquella caracterstica o propiedad que se supone ser la causa del fenmeno
estudiado. En investigacin 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 caracterstica que se trata de
cambiar mediante la manipulacin 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
Tarifacin
Rentabilidad
20
1.8.
PRESUPUESTO
DESCRIPCIN
CANTIDAD
VALOR
UNITARIO ($)
VALOR TOTAL
($)
Microcontrolador PIC18F4550
25000
25000
Integrado ULN2803
2000
2000
Regulador 7812
1000
1000
Regulador 7805
1000
1000
Rels
2000
6000
Conector USB
1500
1500
Cable USB
4000
4000
Fuente 12v
12000
12000
1500
1500
Resistencias
100
400
Diodos
150
450
Leds
150
450
1500
4500
Capacitores
200
400
Capacitores cermicos
300
600
Conectores VGA
2000
6000
Baquelas
5000
10000
Oscilador
2000
2000
Pulsador
500
1000
Protoboard
15000
15000
Cable USB
2000
6000
Programador de PICs
95000
95000
Papelera
70000
70000
Transporte
120000
120000
TOTAL
Tabla 1. Presupuesto del proyecto
21
385800
1.9.
MAYO
JUNIO
JULIO
AGOSTO
SEPTIEMBRE
OCTUBRE
NOV.
ACTIVIDADES
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 investigacin sobre el
proyecto
Planteamiento del problema
y anlisis de requerimientos
Diseo del software de
control
Codificacin del software
se control y tarifacin
Diseo del circuito
electrnico
Simulacin del circuito
electrnico
Diseo del PCB del circuito
electrnico
Montaje del circuito
electrnico
Pruebas de comunicacin
entre en software y el dispositivo
integracin del software y
el dispositivo
Correccin de fallas del
sistema
Construccin del documento
escrito del proyecto
Elaboracin del manual
de uso del sistema
Tabla 2. Cronograma de actividades del proyecto
22
2. MARCO CONTEXTUAL
2.1.
23
ControlGAME (Argentina)
Se crea dentro del rea de servicio tcnico de Airon Argentina, empresa dedicada
a la atencin e instalacin de cibercafs, salas de juegos, locutorios, con 8 aos
de experiencia en el rubro. A pedido particular de un cliente se fabrica en el ao
2005 el primer bloqueador para consolas, este funcionaba con el software de
gestin de cybers "cafesuite" y controlaba hasta 8 consolas debido a la limitacin
de cafesuite, de este bloqueador se fabricaron varias versiones, bloqueando los
controles o bloqueando la seal de video, han sido implementados exitosamente,
pero la direccin 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 investigacin 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 gestin de
cybers se elegira para gestionarlo, "cafesuite" no tenia los requerimientos que
Airon Argentina pretenda para su bloqueador, ya que solo soportaba 8
bloqueadores, y su seguridad en cuanto a consolas es muy frgil y fcil de saltear.
En un primer momento se pens en desarrollar un software para la gestin de
consolas, pero luego de analizar varios software de gestin de cybers, se eligi a
cyberplanetsoft, que es un software especializado en la administracin de cybers.
El Hardware
ControlGAME es un bloqueador de consolas
especialmente para cibercafs y salas de juegos.
de
juegos,
desarrollado
Este dispositivo puede bloquear consolas de juegos, tipo Playstation, PS2, PS3,
XBOX, XBOX360, GAMECUBE, etc.
24
25
El Software
Lan Manager Server es el software que permite realizar el control de acceso a los
equipos, seguridad, tarifacin, cobro e informes de caja rentabilizando al mximo
su tiempo. Lan Manager es un software cliente / servidor, esto significa que
requiere de un ordenador central donde se instalara la versin Servidor y luego en
cada uno de los equipos del Cibercaf se instalara la versin cliente. Adems de
esto gestiona la comunicacin a travs del puerto serial con el dispositivo
controlador de consolas.
26
27
Telcecom Videojuegos
Es un software desarrollado para la administracin de consolas de videojuegos,
posee las siguientes caractersticas:
Es un sistema compatible con cualquier tipo de consola de videojuegos
existente en el mercado actual y futuro (XBOX, NINTENDO64,
PLAYSTATION1, PLAYSTATION2, XBOX360, ETC).
Tarificacin en modo prepago y en modo de tiempo libre.
Interfaz amigable y diseada 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.
Proteccin de cada usuario con contrasea 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 simultneamente.
Tres niveles de seguridad para la administracin del software dependiendo
de si es administrador o empleado del negocio.
La empresa Tecelcom en su pgina web ofrece el sistema completo de tarifacin y
control de consolas de videojuegos, tanto software como hardware. Se realizo una
cotizacin del producto para identificar el tipo de hardware que implementa la
solucin 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 caractersticas tcnicas, con lo cual se
puede deducir que este producto es importado y no propiamente
desarrollado por la empresa en cuestin.
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 nmero
de consolas a controlar y se detallan a continuacin:
28
2.3.
2.3.3. Servicios
29
30
3. MARCO TERICO
3.1.
INTERFAZ DE COMUNICACIN
31
3.1.1.1.
Especificaciones elctricas
Los mrgenes de tensin para los niveles lgicos son los siguientes:
Nivel 1 diferencial: al menos 200 mV (D+) ms positivo que (D-)
Nivel 0 diferencial: al menos 200 mV (D-) ms positivo que (D+)
33
3.1.1.2.
Especificaciones mecnicas
Conectores: Hay dos tipos de conectores USB: los de TIPO A y TIPO B, con sus
correspondientes ranuras de insercin. (USB, 1999).
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).
34
35
Conexin del cable a los conectores: La conexin de los cables a los pines de
los conectores se observa en la Tabla.
36
3.1.1.3.
Tipos de dispositivos.
Todos los dispositivos USB responden a un patrn. (AXELSON, 1999). Tienen los
mismos elementos funcionales:
Transceiver: Encargado de seleccionar la velocidad de comunicacin del
dispositivo (12 1,5 Mbps).
Function Interface Unit (FIU): Administracin de datos basado en estado de
colas FIFO y envo de interrupciones.
FIFOs: El controlador tiene 8 buffers FIFO; 4 para transmisin y 4 para
recepcin.
Serial Interface Engine (SIE): Trata la informacin y la serializa o de
serializa. Adems codifica en NRZI, controla CRC, maneja el protocolo de
comunicacin y la secuencia de paquetes.
asigna una direccin lgica para utilizarla siempre en las comunicaciones con el
mismo. Si se producen errores durante la conexin, el controlador lo comunica a la
CPU, que, a su vez, lo transmite al usuario. Una vez se ha producido la conexin
correctamente, el controlador asigna al perifrico los recursos del sistema que ste
precise para su funcionamiento. El controlador tambin es responsable del control
de flujo de datos entre el perifrico y la CPU.
3.1.1.4.
Transferencias iscronas.
Transferencias control.
Transferencias interrupcin.
Transferencias bulk.
La informacin til por paquete puede oscilar entre 1 y 1,023 bytes. En cada
Trama se transfiere un paquete por cada conexin iscrona establecida. El
sistema puede asignar como mximo el 90% del tiempo de trama para
transferencias iscronas y de interrupcin. En funcin de la cantidad de datos que
se estn transmitiendo en un momento dado, en velocidad media, el porcentaje de
39
En ningn caso se precisa que los paquetes sean de tamao mximo, es decir, no
es necesario rellenar los paquetes que no alcancen el mximo. Cuando en una
transferencia de interrupcin se necesite transmitir ms datos de los que permite
el paquete mximo, todos los paquetes a excepcin del ltimo paquete deben de
tener el tamao mximo. De modo que la transmisin 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 tamao mximo.
Transferencias bulk. Al igual que ocurre con las transferencias iscronas, este
tipo de transferencias slo son utilizables por dispositivos FS. La informacin til
por paquete puede ser de 8, 16, 32 64 bytes. Est diseado para dispositivos
que necesitan transmitir grandes cantidades de datos en un momento determinado
sin importar mucho el ancho de banda disponible en ese momento.
3.1.1.5.
Protocolo de comunicacin.
El flujo de datos del bus USB desde un punto de vista lgico 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 funcin del dispositivo.
3.1.1.6.
Configuraciones de sistemas.
Si hay algo que hace de USB un bus revolucionario es que se basa en tecnologa
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 transmisin, y todos los parmetros 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
42
3.2.
MICROCONTROLADORES
43
44
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 nmero de
instrucciones y su longitud, el nmero de puertos y funciones, lo cual se refleja en
el encapsulado, la complejidad interna y de programacin, y en el nmero de
aplicaciones, claro est entre ms baja sea la gama el microcontrolador ser ms
econmico y con menos funcionalidades. (ARANGO & ARENAS, 2010).
Gama baja o bsica: consiste en una serie de PIC de recursos limitados, pero
con una de la mejores relaciones coste/prestaciones de la familia. Sus versiones
estn encapsuladas con 18 y 28 patitas y pueden alimentarse a partir de una
tensin 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
guardin (Watchdog o WDT), Cdigo de proteccin, etc. (MORTON, 2005)
En esta gama sus componentes aaden nuevas prestaciones a las que posean
los de la gama baja, hacindoles ms adecuados en las aplicaciones complejas.
Poseen comparadores de magnitudes analgicas, convertidores A/D, puertos serie
y diversos temporizadores.
46
3.2.2.1.
Arquitecturas cerradas
3.2.2.2.
Arquitecturas abiertas
3.2.2.3.
Arquitecturas abiertas
47
Microcontrolador
Dispositivo de
Entrada
Dispositivo de
Salida
Programa
MEMORIA
CPU
Instrucciones y
Datos
48
MEMORIA DE
INSTRUCCIONES
CPU
MEMORIA
DE DATOS
Memoria ROM con mscara: Esta memoria se conoce simplemente como ROM y
se caracteriza porque la informacin contenida en su interior se almacena durante
su construccin y no se puede alterar. Son memorias ideales para almacenar
microprogramas, sistemas operativos, tablas de conversin y caracteres.
49
Memoria OTP: Es una memoria no voltil, de slo lectura y programable una sola
vez por el usuario. La grabacin se realiza mediante un sencillo grabador
controlado por un programa desde un PC.
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 slo
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 varan continuamente, y esto exige que la
memoria que los contiene deba ser de lectura y escritura, por lo que la memoria
50
3.2.3. Registros
Los PICs utilizan una arquitectura basada en registros, es decir, todos los objetos
del sistema cmo los puertos de E/S, temporizadores, posiciones de memoria,
entre otros estn implementados fsicamente cmo registros. (ARANGO &
ARENAS, 2010).
7
8
51
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
tambin la gama define si estos puertos son anlogos, digitales o multiplexados.
(ARANGO & ARENAS, 2010).
3.2.6. Interrupciones
52
(ARANGO &
53
3.2.9.1.
54
Un detalle a tener en cuenta es que el cdigo mquina es distinto para cada tipo
de procesador. Lo que hace que los programas en cdigo mquina no sean
portables entre distintas mquinas.
55
Puesto que el ensamblador es una representacin textual pero exacta del cdigo
mquina; cada programa slo funcionar para la mquina en la que fue concebido
el programa; es decir, no es portable.
56
En los aos 70 se empez a utilizar ste trmino para hablar de lenguajes en los
que apenas hay cdigo y en su lugar aparecen indicaciones sobre qu es lo que el
programa debe de obtener. Se consideraba que el lenguaje SQL (muy utilizado en
las bases de datos) y sus derivados eran de cuarta generacin. Los lenguajes de
consulta de datos, creacin de formularios, informes, son lenguajes de cuarto
nivel. (ARANGO & ARENAS, 2010).
57
3.2.10.
3.2.10.1.
58
3.2.10.2.
Utilidades adicionales
El entorno PCW incluye, adems del IDE y del compilador, una serie de utilidades
adicionales con las que se amplan las posibilidades de ste, y que se encuentran
en los mens View y Tools de la barra de mens, veamos algunas de ellas:
Monitor del puerto serie: Consiste en un terminal que monitoriza la
entrada y la salida del puerto serie del computador.
Seleccin de dispositivos (Device Selection Tool): Esta utilidad consta de
una base de datos con los dispositivos que puede programar el
compilador, incluyendo todas sus caractersticas hardware, de manera
que se puede emplear para buscar aquellos dispositivos que cumplan
una serie de propiedades comunes.
Editor de dispositivos (Device Editor): Este programa tambin emplea la
base de datos de dispositivos, y permite editar los componentes para
modificar sus caractersticas hardware, as como aadir nuevos
dispositivos o eliminar algunos de ellos.
Conversor numrico: Esta utilidad realiza conversiones entre los tipos de
datos unsigned, signed, hex y float.
Extraccin de datos de calibrado: Esta opcin permite leer los datos de
calibracin existentes en la memoria de programa de un determinado
dispositivo. Estos datos contienen informacin particular de cada
microcontrolador a su salida de fbrica, y se refieren a posibles
problemas especiales que pudieran haber tenido lugar durante el
desarrollo y fabricacin. Mediante esta opcin es posible leer estos datos
y grabarlos en un fichero .H o .C que incorporar una directiva #ROM
para dicho dispositivo, con lo que cada vez que se programe el
microcontrolador se incluirn estos datos de calibrado.
Desensamblador: Esta opcin lee un fichero en Cdigo mquina y lo
traduce a su equivalente en Ensamblador, con lo que se podra insertar
este cdigo en un programa en C, mediante las directivas #ASM y
#ENDASM.
59
3.2.11.
60
3.3.
CONECTORES
3.3.1. RCA
El conector RCA es un tipo de conector elctrico comn en el mercado
audiovisual. El nombre "RCA" deriva de la Radio Corporation of America, que
introdujo el diseo en los 1940.
Ambos conectores (macho y hembra) tienen una parte intermedia de plstico, que
hace de Aislante elctrico.
Un problema del sistema RCA es que cada seal necesita su propio cable. Otros
tipos de conectores son combinados, como el euro conector (SCART), usado
exclusivamente en Europa.
61
La seal de los RCA no es balanceada por lo que corresponde generalmente a 10dBV. Esto hace que no se utilicen profesionalmente.
Izquierda/Mono
Blanco
Derecho
Rojo
Center
Verde
Envolvente izquierdo
Azul
Envolvente derecho
Gris
Castao claro
Subwoofer
Purpura
Audio digital
S/PDIF
Naranja
Video analgico
Compuesto
Amarillo
Verde
Pb
Azul
Pr
Rojo
Rojo
Audio analgico
Video
componente
(YPbPr)
por
Video
por G
componente (RGB)
Verde
Azul
Tabla 4. Distribucin de colores en RCA
3.3.2. HDMI
High-Definition Multi-media Interface (HDMI) Interfaz multimedia de alta definicin
es una norma de audio y vdeo digital cifrado sin compresin apoyada por la
industria para que sea el sustituto DRM del euro conector. HDMI provee un
interfaz entre cualquier fuente DRM de audio y vdeo digital como podra ser un
sintonizador TDT, un reproductor de Blu-ray, un ordenador (con Windows, Linux,
62
El HDMI tipo A es compatible hacia atrs con un enlace simple DVI, usado por los
monitores de ordenador y tarjetas grficas modernas. Esto quiere decir que una
fuente DVI puede conectarse a un monitor HDMI, o viceversa, por medio de un
adaptador o cable adecuado, pero el audio y las caractersticas de control remoto
HDMI no estarn disponibles. Adems, sin el uso de HDCP, la calidad de vdeo y
la resolucin podran ser degradadas artificialmente por la fuente de la seal para
evitar al usuario final ver o, mayormente, copiar contenido protegido. El HDMI tipo
B es, de forma similar, compatible hacia atrs con un enlace trial DVI.
63
4. MODELO TERICO
4.1.
4.2.
SOLUCIN PROPUESTA
64
65
66
67
Para el firmware se utilizaron como base los ejemplos y descriptores USB que trae
el programa CCS C, adaptndolos a la necesidad del proyecto, fundamentalmente
los archivos VID&PID, necesarios para reconocer el dispositivo USB al ser
conectado al computador.
De la parte del PC se deben instalar los Drivers para Windows que ofrece
Microchip, los cuales sirven de puente entre el software y el firmware.
68
70
71
72
.
Figura 18. Conexin de pines en el conector USB
4.5.
73
El protocolo de transmisin utilizado fue el tipo Bulk, se seleccion por las ventajas
que se mencionan en la siguiente grafica.
74
75
4.6.
76
necesita hacer uso del mdulo PLL interno del PIC. Para ello se utiliza el fuse
HSPLL. Como el mdulo PLL requiere una oscilacin de entrada de 4 Mhz se
debe utilizar el divisor 1:5 indicado con el fuse PLL5 para obtener los 20:5 = 4 Mhz
requeridos.
A partir de este punto slo queda esperar a recibir un comando proveniente del
PC. Esto se detecta con usb_kbhit() que al devolver true indicar que se tiene algo
pendiente de recibir. Y se va a recoger mediante usb_get_packet() quedando
disponible en recbuf.
78
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,NOPBADEN
#use delay(clock=48000000)
#define USB_HID_DEVICE FALSE
//deshabilitamos el uso de las directivas HID
#define USB_EP1_TX_ENABLE USB_ENABLE_BULK //turn on EP1(EndPoint1) for IN bulk/interrupt
transfers
#define USB_EP1_RX_ENABLE USB_ENABLE_BULK //turn on EP1(EndPoint1) for OUT bulk/interrupt
transfers
#define USB_EP1_TX_SIZE 5
//size to allocate for the tx endpoint 1 buffer
#define USB_EP1_RX_SIZE 5
//size to allocate for the rx endpoint 1 buffer
/////////////////////////////////////////////////////////////////////////////
//
// Include the CCS USB Libraries. See the comments at the top of these
// files for more information
//
/////////////////////////////////////////////////////////////////////////////
#include <pic18_usb.h> //Microchip PIC18Fxx5x Hardware layer for CCS's PIC USB driver
#include <PicUSB.h>
//Configuracin del USB y los descriptores para este dispositivo
#include <usb.c>
//handles usb setup tokens and get descriptor reports
#define CTR1
PIN_D0
//Controlador 1
#define CTR2
PIN_D1
//Controlador 2
#define CTR3
PIN_D2
//Controlador 3
#define CTR4
PIN_D3
//Controlador 4
#define CTR5
PIN_D4
//Controlador 5
#define CTR6
PIN_D5
//Controlador 6
#define CTR7
PIN_D6
//Controlador 7
#define CTR8
PIN_D7
//Controlador 8
#define CTR_ON output_high
#define CTR_OFF output_low
#define comando recibe[0]
#define param1 recibe[1]
#define param2 recibe[2]
#define param3 recibe[3]
#define param4 recibe[4]
#define eco
enva[0]// Hace un eco del comando recibido
#define result1 enva[1]
#define result2 enva[2]
#define result3 enva[3]
#define result4 enva[4]
void main(void) {
int8 recibe[5];
int8 envia[5];
//declaramos variables
CTR_OFF(CTR1);
CTR_OFF(CTR2);
CTR_OFF(CTR3);
CTR_OFF(CTR4);
CTR_OFF(CTR5);
79
CTR_OFF(CTR6);
CTR_OFF(CTR7);
CTR_OFF(CTR8);
usb_init();
//inicializamos el USB
usb_task();
//habilita periferico usb e interrupciones
usb_wait_for_enumeration();
//esperamos hasta que el PicUSB sea configurado por el host
while (TRUE)
{
if(usb_enumerated())
//si el PicUSB est configurado
{
if (usb_kbhit(1))
//si el endpoint de salida contiene datos del host
{
usb_get_packet(1, recibe, 5); //recibe el paquete de tamao 5 bytes del EP1 y almacenamos en recibe
eco = comando; //Regresa el comando recibido
result1 = param1*2;
result2 = param2*2;
result3 = param3*2;
result4 = param4*2;
switch (comando)
{
case 1:// Enciende controlador 1
CTR_ON(CTR1);
break;
case 2:// Enciende controlador 2
CTR_ON(CTR2);
break;
case 3:// Enciende controlador 3
CTR_ON(CTR3);
break;
case 4:// Enciende controlador 4
CTR_ON(CTR4);
break;
case 5:// Enciende controlador 5
CTR_ON(CTR5);
break;
case 6:// Enciende controlador 6
CTR_ON(CTR6);
break;
case 7:// Enciende controlador 7
CTR_ON(CTR7);
break;
case 8:// Enciende controlador 8
CTR_ON(CTR8);
break;
case 9:// Apaga controlador 1
CTR_OFF(CTR1);
break;
case 10:// Apaga controlador 2
CTR_OFF(CTR2);
break;
case 11:// Apaga controlador 3
CTR_OFF(CTR3);
80
break;
case 12:// Apaga controlador 4
CTR_OFF(CTR4);
break;
case 13:// Apaga controlador 5
CTR_OFF(CTR5);
break;
case 14:// Apaga controlador 6
CTR_OFF(CTR6);
break;
case 15:// Apaga controlador 7
CTR_OFF(CTR7);
break;
case 16:// Apaga controlador 8
CTR_OFF(CTR8);
break;
}
usb_put_packet(1, enva, 5, USB_DTS_TOGGLE); //enviamos el paquete de tamao 5 bytes del EP1
al PC
}// Fin if (usb_kbhit(1))
}// Fin if(usb_enumerated())
}// Fin while (TRUE)
}
4.7.
Para el desarrollo del circuito impreso se us el software Proteus ARES 7.6 SP0.
El cual a partir del esquemtico permite disear los diagramas para el circuito
impreso. Los diagramas desarrollados fueron:
Top Layer
Top Overlay
El circuito impreso se divide en tres bloques:
Bloque de control
Bloque de potencia
Bloque de switcheo
81
Los puertos A, B, C y E del microcontrolador se dejaron con regletas tipo SIP para
que el usuario los use de acuerdo a sus requerimientos. El puerto D se dej
habilitado para la conexin con la etapa de potencia del circuito.
La tarjeta est diseada para ser alimentada con una fuente externa, el bloque de
control se alimenta con un voltaje de 5v y la etapa de potencia a 12v. Otra opcin
era alimentar el bloque de control a travs del puerto USB, este mtodo se
descart, ya que se necesitan dos voltajes de alimentacin 5v y 12v, y el puerto
USB solo ofrece 5v, y dependiendo de consumo del circuito algunas Board de PC
no pueden garantizar el voltaje y la corriente mnima para el correcto
funcionamiento del hardware.
82
83
84
85
86
EL SOFTWARE PARA EL PC
87
No funcionales
Sistema de fcil manejo y entrenamiento por parte de los usuarios
El sistema manipulado por una sola persona.
El sistema debe arrojar mensajes de error claros con el fin de identificar de
forma fcil el problema.
88
89
90
Validar usuario
Registrar usuario
91
Asignar tiempo
Cancelar tiempo
92
Consultar informacin
93
94
95
MPUSBCLOSE(HANDLE)
Cierra una determinada unin.
handle: Input: Identifica la pipe del Endpoint que se va a cerrar.
MPUSBClose (myOutPipe)
96
4.8.5.2.
97
98
99
100
101
102
103
104
PRUEBAS DE INTEGRACIN
105
Ejecucin:
La primera actividad fue realizar la interconexin entre los tres bloques que
componen el dispositivo y comprobar la conectividad entre estos.
106
107
108
6. CONCLUSIONES
Utilizando el microcontrolador PIC18F4550 es posible implementar una
comunicacin satisfactoria entre la tarjeta de control y el software del PC
haciendo uso de la tecnologa USB.
Se hace ms prctico utilizar la tecnologa USB en comparacin con la
serial y paralela en proyecto desarrollado, ya que ofrece mayores tasas de
transferencia y su conexin es ms fcil gracias a la tecnologa Plug and
Play.
Se desarroll el firmware del microcontrolador utilizando el lenguaje de
programacin de alto nivel CCS C con el software PCWH Compiler, ya que
este ofrece todas la libreras necesarias para el manejo del PIC18Fxx5x y la
comunicacin USB haciendo ms fcil la tarea de programacin.
Se implement una comunicacin bidireccional masiva, bulk transfers, entre
el PIC18F4550 y el Software del PC va USB 2.0 a full speed; ya que esta
configuracin es la que ofrece mayor rata de transferencia de datos.
Para trabajar el mdulo USB del microcontrolador en Full Speed se requiere
de una frecuencia de oscilacin de 48 Mhz, esto no implica que sea
necesario usar un cristal de este valor, debido a que en la etapa de
investigacin se encontr que es posible ajustar la frecuencia de oscilacin
mediante el postscaler del microcontrolador.
Se desarroll el Software del PC utilizando el leguaje de programacin
orientado a objetos C Sharp, que permite la reutilizacin y extensin de
cdigo fuente, facilita la creacin de prototipos y programas visuales, agiliza
el desarrollo del Software y permite abstraccin, relacionando el sistema
con el mundo real.
La utilizacin de IDE (Entornos de Desarrollo Integrado) se convierte en una
herramienta prctica para la codificacin de aplicaciones Software para PC,
ya que simplifica el proceso de generacin de cdigo fuente y diseo de
interfaces.
109
110
7. RECOMENDACIONES
Para el correcto funcionamiento del dispositivo se debe tener en cuenta la
versin del sistema operativo Windows para instalar el Driver
correspondiente.
El sistema permite controlar las seales de video a travs de conectores
RCA, comn en la mayora de las consolas de videojuegos, si se desea
controlar otro tipo de sistema como el HDMI, solo se debe reemplazar el
modulo de Swicheo del dispositivo.
Para la correcta programacin del microcontrolador se debe leer y estudiar
la hoja de datos (Datasheet) del dispositivo.
Se debe tener en cuenta que para utilizar la tecnologa USB el
microcontrolador debe trabajar a una frecuencia de oscilacin de 48Mhz
El proceso de instalacin del Driver se debe efectuar la primera vez que se
conecta el dispositivo al PC o cuando se cambia de puerto USB.
Si se desea ampliar la funcionalidad del dispositivo electrnico, solo es
necesario reprogramar el microcontrolador, y utilizar los puertos disponibles
por medio de las regletas tipo SIP de modulo de control.
Se recomienda realizar primero la conexin de la fuente de alimentacin al
dispositivo y luego la conexin USB para garantizar el reconocimiento de
este en el PC.
Se recomienda alimentar elctricamente el hardware con una fuente de 12
a 18 voltios, con una corriente de entre 1 y 2 amperios.
111
BIBLIOGRAFA
112
113
114