jueves, 22 de julio de 2010

Protocolo USB (Universal Serial Bus)



El USB es un bus punto a punto es decir se trata de un sistema de comunicación entre dispositivos electrónicos-informáticos que sólo transmite una unidad de información a la vez.

Características del USB.

  • Todos los dispositivos USB deben tener el mismo tipo de cable y el mismo tipo de conector, más allá de la función que cumplan.
  • Los detalles de consumo y administración eléctrica del dispositivo deben ser completamente transparentes para el usuario.
  • El computador debe identificar automáticamente un dispositivo agregado mientras opera, y por supuesto configurarlo.
  • Los dispositivos pueden ser desconectados mientras el computador está en uso.
  • Deben poder compartir un mismo bus tanto dispositivos que requieren de unos pocos Kbps como los que requieren varios Mbps.
  • Más de 127 dispositivos diferentes pueden estar conectados simultáneamente y operando con un mismo ordenador sobre el Bus Serial Universal.
  • El bus debe permitir periféricos multifunción, es decir aquellos que pueden realizar varias tareas a la vez, como lo son algunas impresoras que adicionalmente son fotocopiadoras y máquinas de fax.
  • Capacidad para manejo y recuperación de errores producidos por un dispositivo cualquiera.
  • Soporte para la arquitectura Conectar y Operar (Plug&Play).
  • Bajo costo.
  • No se necesita un cable extra de alimentación - la mayoría de los periféricos USB obtienen la alimentación del bus USB, con lo cual no requieren un cable de alimentación adicional.
  • Más rápido: USB transfiere los datos 10 veces más rápido que los puertos serie tradicionales.

El protocolo USB se basa en el llamado paso de testigo (token). Este bus permite la conexión y la des-conexión en cualquier momento sin necesidad de apagar el equipo.

El bus USB puede trabajar en dos modos, a baja velocidad (1,5 Mbps, para dispositivos como teclados, ratones, que no barajan grandes cantidades de información) y a alta velocidad (12 Mbps, para dispositivos como unidades de CDROM, altavoces, módems e ISDN, etcétera).

Este protocolo tiene un sistema muy eficiente de recuperación de errores, empleando uno de los modelos más seguros como es el CRC (Código de Redundancia Cíclica). Y puede estar implementado al nivel de software y/o hardware de manera configurable.


A nivel eléctrico

El cable USB transfiere la señal y la alimentación sobre 4 hilos dos para datos y dos para alimentación.


A nivel de alimentación

El cable proporciona la tensión nominal de 5 V. Es necesario definir correctamente el diámetro del hilo con el fin de que no se produzca una caída de tensión demasiado importante en el cable. Una resistencia de terminación instalada en la línea de datos permite detectar el puerto y conocer su configuración (1,5 o 12 Mbits/s).

A nivel de señal

Se trata de un par trenzado con una impedancia característica de 90 Ω. La velocidad puede ser tanto de 12 Mbits/s como de 1,5 Mbits/s. La sensibilidad del receptor puede ser de, al menos, 200mV y debe poder admitir un buen factor de rechazo de tensión en modo común. El reloj se transmite en el flow de datos, la codificación es de tipo NRZI, existiendo un dispositivo que genera un bit de relleno (bit stuffing) que garantiza que la frecuencia de reloj permanezca constante. Cada paquete va precedido por un campo de sincronismo.

Consumo

Cada sección puede proporcionar una determinada potencia máxima siendo el PC el encargado de suministrar la energía. Además, el periférico puede estar autoalimentado (self powered).

Control de consumo

El ordenador gestiona el consumo, teniendo capacidad de poner en reposo (suspend) o en marcha a un periférico USB. En reposo, este reduce su consumo (si puede) quedándose la parte USB funcional. Esta gestión está orientada especialmente a los equipos portátiles.

La norma USB define 2 tipos de enlaces virtuales (pipe); stream y message.

Stream Pipes: se trata de un flujo sin formato USB definido, esto significa que se puede enviar cualquier tipo de dato. Este tipo de pipe soporta las transferencias bulk, isocronas, y interrupt. Además tanto el host como el dispositivo USB pueden controlar.

Message Pipes: este tipo de enlace virtual si tiene un formato USB definido y solo puede soportar la transferencia Control.

TIPOS DE TRANSFERECIA

El enlace virtual (pipe) puede ser de cuatro tipos:

Control: Modo utilizado para realizar configuraciones: existe siempre sobre el Punto terminal 0 (EndPoint 0). Todos los dispositivos USB deben soportar este tipo de transferencia.

Los datos de control sirven para configurar el periférico en el momento de conectarse al USB. Algunos drivers específicos pueden utilizar este enlace para transmitir su propia información de control. Este enlace no tiene pérdida de datos, puesto que los dispositivos de detección de recuperación de errores están activos a nivel USB.

Bulk: Este modo se utiliza para la transmisión de importantes cantidades de información. Como el tipo control, este enlace no tiene pérdida de datos. Este tipo de transferencia es útil cuando la razón de transferencia no es critica como por ejemplo, el envió de un archivo a imprimir o la recepción de datos desde un escáner.

En estas aplicaciones, la transferencia es rápida, pero puede esperar si fuera necesario. Solo los dispositivos de media y alta velocidad utilizan este tipo de transferencia.

Interrupt, modo utilizado para transmisiones de pequeños paquetes, rápidos, orientados a percepciones humanas (ratón, punteros).

Este tipo de transferencia es para dispositivos que deben recibir atención periódicamente y lo utilizan los dispositivos de baja velocidad.

Este tipo de transmisión garantiza la transferencia de pequeñas cantidades de datos. El tiempo de respuesta no puede ser inferior al valor especificado por la interfaz. El ratón o cualquier otro dispositivo apuntador es una aplicación típica de este modo de transmisión.

Isochronous o Flujo en tiempo real: modo utilizado para la transmisión de audio o video comprimido. Este tipo de transmisión funciona en tiempo real. Este es el modo de mayor prioridad.

La transmisión de la voz es un ejemplo de esta aplicación. Si ésta no se transmite correctamente, pueden llegar a oírse parásitos (glich) y la aplicación puede detectar ciertos.

Enumeración

Cuando se conecta un dispositivo USB a la PC se produce el Proceso de Enumeración, el cual consiste en que el host le pregunta al dispositivo que se presente y le diga cuáles son sus parámetros, tales como:

  • Consumo de energía expresada en unidades de Carga
  • Numero y tipos de Puntos terminales
  • Clase del producto.
  • Tipo de transferencia
  • Razón de escrutinio, etc.

El proceso de enumeración es inicializado por el host cuando detecta que un nuevo dispositivo que ha sido adjuntado al Bus. El host le asigna una dirección al dispositivo adjuntado al bus y habilita su configuración permitiendo la transferencia de datos sobre el bus.

Terminología USB

Host: Dispositivo maestro que inicia la comunicación (Generalmente la computadora).

Hub: Dispositivo que contiene uno o más conectores o conexiones internas hacia otros dispositivos usb, el cual habilita la comunicación entre el host y con diversos dispositivos. Cada conector representa un puerto USB.

Puerto USB: Cada host soporta solo un bus, cada conector en el bus representa un puerto USB por lo tanto sobre el bus puede haber un varios conectores , pero solo existe una ruta y solo un dispositivo puede transmitir información a un tiempo.

Driver: es un programa que habilita aplicaciones para poderse comunicar con el dispositivo. Cada dispositivo sobre el bus debe tener un driver, algunos periféricos utilizan los drivers que trae Windows.

Puntos terminales (Endpoints): Es una localidad específica dentro del dispositivo. El Endpoint es un buffer que almacena múltiples bytes, típicamente es un bloque de la memoria de datos o un registro dentro del micro controlador. Todos los dispositivos deben soportar el punto terminal 0. Este punto terminal es el que recibe todo el control y la peticiones de estado durante la enumeración cuando el dispositivo esta sobre el bus.

Tuberías (Pipes): Es un enlace virtual entre el host (la PC) y el dispositivo USB, este enlace configura los parámetros asociados con el ancho de banda que tipo de transferencia se va a utilizar.

Referencias

http://www.i-micro.com/pdf/articulos/usb.pdf

http://html.rincondelvago.com/usb.html



jueves, 27 de mayo de 2010

Hola Mundo en Java


Hola, en el siguiente vídeo se muestra la manera de crear nuestra primer aplicación en Java el clásico Hola Mundo.



Gracias

viernes, 21 de mayo de 2010

Video Streaming



El video streaming se refiere a la incorporación de sonido y video en tiempo real por internet. Este tipo de tecnología permite que se almacenen en un búfer lo que se va escuchando o viendo. El streaming hace posible escuchar música o ver videos sin necesidad de ser descargados previamente.

Algunos de los protocolos empleados por tecnologías streaming son UDP y RTSP los cuales hacen que las entregas de paquetes de datos desde el servidor a quien reproduce el archivo se hagan con una velocidad mucho mayor que la que se obtiene por TCP y HTTP. Esta eficiencia es alcanzada por una modalidad que favorece el flujo continuo de paquetes de datos.

Cuando TCP y HTTP sufren un error de transmisión, siguen intentando transmitir los paquetes de datos perdidos hasta conseguir una confirmación de que la información llegó en su totalidad. Sin embargo, UDP continúa mandando los datos sin tomar en cuenta interrupciones, ya que en una aplicación multimedia estas pérdidas son casi imperceptibles.



La entrega de datos desde el servidor a quien ve la página pueden estar sujetas a demoras conocidas como lag, (retraso, en inglés) un fenómeno ocasionado cuando los datos escasean (debido a interrupciones en la conexión o sobrecarga en el ancho de banda). Por tanto, los reproductores multimedia precargan, o almacenan en el buffer, que es una especie de memoria, los datos que van recibiendo para así disponer de una reserva de datos, con el objeto de evitar que la reproducción se detenga. Esto es similar a lo que ocurre en un reproductor deCD portátil, que evita los saltos bruscos y los silencios ocasionados por interrupciones en la lectura debidos a vibraciones o traqueteos, almacenando los datos, antes de que el usuario tenga acceso a ellos.

Software

Para hacer llegar a cada usuario la información, hace falta un formato determinado que aplique, o no, compresión y que será el que almacene la información en un fichero.

Hay muchos formatos de archivos para elegir al crear secuencias de vídeo. Los formatos más comunes son:

1. Windows Media

2. RealMedia

3. Quicktime

4. MPEG (en particular, MPEG-4)

5. Adobe Flash

Quicktime

El formato Quicktime (ficheros MOV) fue creado por Apple para el uso en computadoras Macintosh, aunque se ha extendido a otras plataformas.

Video para Windows

Los ficheros AVI (Audio y Video Intercalado) son el formato estándar de video que fue desarrollado por Microsoft Windows y por lo tanto uno de los más populares.

Real Video

Es un flujo de datos continuo que permite a un archivo estándar de video, tal como puede ser MPEG, ser visualizado a través de Internet.

Windows Media Video

El formato .wmv (Windows Media Video) es una extensión que no tiene diferencia con los archivos .asf. Estos usan el formato de fichero estándar de Windows Media. Los ficheros con extensión .asf normalmente son utilizados en contenidos basados en Windows Media usando las Herramientas Windows Media 4.0.

Formato Avanzado de Secuencias

ASF fue desarrollado por Microsoft en 1996, es uno de los primeros formatos de ficheros designados específicamente para el streaming. Este formato está optimizado para enviar secuencias multimedia a través de una red, es el recomendado para ello, pues, tiene la capacidad de adaptarse a anchos de bandas variables y cambios en las condiciones de la red, es un estándar abierto que admite la entrega de datos a través de una gran variedad de protocolos y redes.

Tipos de transmisiones.

Hay tres tipos de transmisiones: Unicast y Multicast.

Broadcast: Donde los datos se distribuyen por todo los segmentos de la red, incluso en aquellas donde no hay receptores del mensaje. Una sola copia del mensaje sale del emisor, sin importar el número de receptores que haya. Ejemplo del uso de este tipo de transmisión lo constituyen las emisiones de televisión y radio.

Unicast (el más habitual en Internet): Donde se envían los datos sólo a aquellas partes de la red donde hayan usuarios interesados en recibirlos. En este sentido es más eficiente que el broadcast. Sin embargo, el emisor tiene que enviar una copia para cada receptor, sobrecargando la red con copias de los mismos datos.

Multicast: combina los mejores aspectos de los dos anteriores. Los datos sólo se envían una vez desde el servidor, sin importar el número de receptores, y estos datos sólo se envían a aquellas partes de la red donde haya usuarios interesados en recibirlos. Por tanto la red no está sobrecargada con un mismo envío.

Ejemplo:

La solución de streaming Video LAN incluye dos programas:

VLC media player que puede ser utilizado como un servidor y como cliente para escuchar y recibir flujos de red. VLC es capaz de escuchar todo lo que puede leer.


VLS (Video LAN Server), que puede transmitir archivos MPEG-1, MPEG-2 y MPEG-4, DVD, canales de satélite digital, canales de televisión digital terrestre y vídeo en vivo sobre la red en unicast o multicast. La mayor parte de la funcionalidad VLS se encuentran ahora VLC.

La red en la que configurar la solución VideoLAN puede ser tan pequeño como un interruptor de Ethernet de 10/100 Mb o hub, y grande como en toda la Internet.
La solución de streaming VideoLAN ha soporte completo de IPv6.

Ejemplos de ancho de banda necesarios son:

· 0,5 a 4 Mbit / s para un flujo MPEG-4,

· 3 a 4 Mbit / s para un flujo MPEG-2 leer de una tarjeta de satélite, una tarjeta de televisión digital o una tarjeta de codificación-2 de MPEG,

· 6 a 9 Mbit / s para un DVD.


jueves, 20 de mayo de 2010

Pasos para la instalación de JDK en Windows



Hola hoy explicare la manera de instalar el JDK en Windows y que pasos debemos seguir para poder compilar.

Bien el primer paso es descargar la aplicación y empezar a instalarla en mi caso yo tengo la versión jdk-6-windows-i586.

Nos aparece la primera pantalla de Bienvenida y después los términos de la licencia aceptamos


Ahora nos aparece una pantalla en la que nos pregunta que vamos a instalar dejamos seleccionada la opción por default y continuamos.

Se instala y después aparece una pantalla en la que nos pregunta sobre las características que deseamos instalar y dejamos la opción por default y continuamos.

Se instala y al final aparece una pantalla solo para finalizar la instalación.


Bien ahora que ya está instalado hay que configurar Java para que pueda compilar

Nos vamos a la dirección en donde se instalo Java y copiamos la dirección, en mi caso es C:\Archivos de programa\Java\jdk1.6.0\bin

Nos vamos a inicio damos clic derecho en mi PC y damos clic en propiedades

Nos vamos a la pantalla opciones avanzadas y seleccionamos Variables de entorno.


Buscamos la variable Path y damos clic en modificar.


En el valor de la variable pegamos la dirección que copiamos y aceptamos



Ahora verificamos que todo haya quedado correctamente ejecutando en consola el comando javac y debe aparecer una pantalla como la siguiente.

y con esto queda listo.


Realidad Aumentada



La realidad aumentada (RA) es el término que se usa para definir una visión directa o indirecta de un entorno físico del mundo real, cuyos elementos se combinan con elementos virtuales para la creación de una realidad mixta a tiempo real. Consiste en un conjunto de dispositivos que añaden información virtual a la información física ya existente. Esta es la principal diferencia con la realidad virtual, puesto que no sustituye la realidad física, sino que sobreimprime los datos informáticos al mundo real.

Software

Para fusiones coherentes de imágenes del mundo real, obtenidas con cámara, e imágenes virtuales en 3D, las imágenes virtuales deben atribuirse a lugares del mundo real. Ese mundo real debe ser situado, a partir de imágenes de la cámara, en un sistema de coordenadas. Dicho proceso se denomina registro de imágenes. Este proceso usa diferentes métodos de visión por ordenador, en su mayoría relacionados con el seguimiento de vídeo. Muchos métodos de visión por ordenador de realidad aumentada se heredan de forma similar de los métodos de odometría visual.

D.A.R.T. (Designer’s Augmented Reality Toolkit)

El Designer’s Augmented Reality Toolkit (DART) es un conjunto de herramientas de software que apoyan el diseño y aplicación rápidas de las experiencias de realidad aumentada y aplicaciones. DART está diseñado para facilitar el diseño completo y el proceso de desarrollo, desde el concepto inicial a través de pruebas y experiencias de contenido para la entrega del producto final. DART empasizes, la creación de contenido no estructurado y las pruebas rápidas las primeras experiencias, promover el diseño iterativo temprano en el proceso de creación. DART se basa en parte superior de Macromedia Director, con lo que AR autoría a una amplia variedad de diseñadores.

Página oficial


Software Libre para Realidad Aumentada


ARToolKit Librería GNU GPL que permite la creación de aplicaciones de realidad aumentada, desarrollado originalmente por Hirokazu Kato en 1999 y fue publicado por el Hit Lab de la Universidad de Washington. Actualmente se mantiene como un proyecto de código abierto alojado en SourceForge con licencias comerciales disponibles en ARToolWorks.


Página oficial

BuildAR

BuildAR es una aplicación de software que le permite crear escenas simples de la realidad aumentada en el escritorio.


BuildAR proporciona una interfaz gráfica de usuario que simplifica el proceso de creación de escenas de AR, que te permite experimentar la realidad aumentada de primera mano sobre su ordenador de sobremesa. Todo lo que necesitas es un PC, una cámara web y algunos patrones impresos.

Página oficial




viernes, 7 de mayo de 2010

Creacion de un blog en webs.com


Hola que tal, dentro de las varias opciones que existen en la red para la creación de un blog hoy les mostrare como crear uno con webs.com.

Bien para la creación de un blog en dicho portal primero accedemos a la página oficial del sitio www.webs.com

Una vez en el sitio la primera pagina que aparece te pide que selecciones el tipo de blog que desea crear y damos clic en
Get Started

Después nos aparecerá una página en donde debemos colocar nuestros datos como son una dirección de correo electrónico valida, una contraseña, después debemos colocar nuestro nombre, fecha de nacimiento y sexo.

Después debemos de colocar la dirección que queremos para nuestro sitio así como el nombre y la categoría del nuestro blog.

Como parte final en esta página nos el sitio nos proporciona una serie de plantillas las cuales le podemos aplicar a nuestro blog para darle mayor presentación.


Una vez elegida la plantilla y que todos los datos sean correctos damos clic en la opción Continue to Next Step y ahora pasamos a una página en la que vamos a elegir las paginas que queremos tener en nuestro blog.

Después de elegir solo bastara con dar un clic en la opción Create my Site para tener nuestro blog listo.



T.S.U. Juan Manuel Perez García