WikiCiencia - Informática y Computación - Hardware - Puertos USB

Firenox
PRINCIPALELECTRONICAINFORMATICATECNOLOGIANOTICIASDESTACADOS
 

Puertos USB

La falta de flexibilidad en la reconfiguración de todo computador, ha sido siempre el enemigo de todas las personas que sin conocer mucho de computación y hardware, desearían mantener actualizado su Computador. Ciertamente se ha tenido grandes progresos en este sentido, para esto, solo hay que nombrar adelantos en cuanto a interfaces gráficas se refiere; sabiendo que con Windows 95 es mucho mas sencillo configurar una computadora que con  DOS, y que las arquitecturas de BUS nueva como PCI, ISA P&P y PCMCIA se han constituido sujetos importante en todo proceso de reconfiguración. Sin embargo, no todo es auto configurable, basta mencionar ejemplos como, algunas tarjetas de video, tarjetas de red, y tarjetas que son fabricadas bajo la arquitectura ISA, la cual al no demandar altas velocidades de transferencia de datos sirve para abaratar costos.

Todo lo dicho anteriormente, nos sirve para empezar a comprender, que en estos momentos existe una nueva tecnología para facilitar, por ejemplo la reconfiguración de hardware, expansibilidad e interconexión del equipo con otros periféricos, etc. Este es el BUS SERIAL UNIVERSAL (USB).

Definición del bus serie universal

El bus universal en serie, consiste en una norma para bus periférico, desarrollado tanto por industrias de computación como de telecomunicaciones. USB  permite adjuntar dispositivos periféricos a la computadora rápidamente, sin necesidad de reiniciar la computadora ni de volver a configurar el sistema. Los dispositivos con USB se configuran automáticamente tan pronto como se han conectado físicamente. En las computadoras que cuentan con esta tecnología se puede observar dos conectores de este tipo. Además, se pueden unir dispositivos con USB en una cadena para conectar más de dos dispositivos a la computadora mediante otros periféricos USB que serán detallados mas adelante.

Descripción general de la tecnología USB

Las siglas USB corresponden a Universal Serial Bus, Bus Serie Universal, por lo que como su nombre indica, 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. 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 RTC e ISDN, etctera). En cuanto a la comodidad, el bus USB  se compacta en un cable de cuatro hilos, dos para datos, dos para alimentación. Esto supone un gran ahorro, tanto de espacio como de material. Deacuerdo a estos parámetros, una de las principales ventajas que se obtiene de USB es precisamente su diseño.

El USB organiza el bus en una estructura de árbol descendente, con múltiples dispositivos conectados a un mismo bus, en la que unos elementos especiales, llamados hubs(periférico que será descrito específicamente mas adelante), enrutan las señales en su camino desde un dispositivo al host o viceversa. Primero está el controlador del bus, Este es el interfaz entre el bus USB y el bus del ordenador. De él cuelgan los dispositivos USB. Los hubs, como son un dispositivo USB más, también cuentan. A un hub se puede conectar uno o más dispositivos, que a su vez pueden ser otros hubs, asi tenemos varios dispositivos conectados a un sólo controlador; como máximo alrededor de 126.

Ahora, es conveniente resaltar que todos los dispositivos deben seguir reglas de comportamiento básicas, estandarizadas. Por tanto, todos los dispositivos se configuran de la misma forma, y es mucho más fácil gestionar los recursos que proveen; sin embargo, esto no significa que todos los dispositivos son iguales, sino,  que todos tienen un sistema de configuración idéntico. Para proteger sus identidades, existe una clasificación estandarizada,(gestionada por el controlador) y en función de esa clasificación, los dispositivos se manejan de una forma u otra, siempre cumpliendo los estándares, permitiéndo entre otras cosas, una simplificación en la gestión de los dispositivos, ya que un mismo driver sirve para varios dispositivos de diferentes tipos, aparte de poder tener un número casi ilimitado de dispositivos idénticos en un mismo sistema (siempre se pueden añadir nuevos controladores). Además, el hecho de que no tengamos que tocar (inicialmente) nada en el hardware del dispositivo en sí y que todo sea configurable por software nos lleva a la llamada tecnología  Plug'n'Play (conectar y listo).

Objetivos del bus serie universal

Los objetivos de ésta no muy nueva tecnología, apuntan claramente hacia la vista del usuario, USB es una especificación que posibilita conectar dispositivos a una computadora de forma encadenada, sin tener que abrir en absoluto la caja de la computadora o tener que insertar tarjetas. Todo dispositivo USB tiene la capacidad de ser conectado al computador en pleno funcionamiento, sin tener que reiniciarlo, además la configuración del dispositivo nuevo es inmediata y completamente transparente al usuario, tras lo cual el dispositivo está listo para ser empleado sin tocar un tornillo, menos jumpers, canales, IRQ’s, etc. El proceso de conexión USB es tan sencillo como se muestra en la siguiente Figura.

Además, y quizás uno de los objetivos fundamentales de la USB, es que ha sido diseñada para que la PC y las comunicaciones remotas especialmente con MODEM, sean una sola unidad. Y es que las tendencias de computación actuales, apuntan a un mundo totalmente intercomunicado electrónicamente empleando uno de los dispositivos mas conocidos como es el computador personal y el medio de comunicación mas diseminado del mundo: el teléfono.

Puertos seriales, paralelos y su expansibilidad

Ha habido intentos de todos los tipos para ampliar las posibilidades de expansión para las  PC´s, desde aumentar el número de puertos serie y paralelo, hasta "buses" específicos como SCSI. El bus SCSI parecía ser la solución ideal, por velocidad y capacidad de transferencia y por el número de dispositivos conectables a la controladora SCSI, hasta 7 dispositivos en cadena y hasta 15 con Ultra Wide SCSI-2, pero su alto costo, junto con sus problemas de configuración, dieron lugar a la aparición del  USB y el FIREWIRE (IEEE 1394).

Aunque en estos tiempos, la tecnología ha avanzado de forma estratosférica, aun se observa la utilización de la transmisión serie en lugar de la paralela masiva; dado que un bus serie es mucho más fácil de cablear, mantener y fabricar, aunque este sea más lento (El puerto serie es capaz de transmitir hasta 112,5 KB/s y el puerto paralelo entre 600KB/s y 15MB/s). Esto de alguna manera implica que actualmente la mayoría de las computadoras, tienen un limite claro de expansibilidad, generalmente traen 4 ranuras PCI, 4 ISA, 2 puertos seriales y 1 paralelo. Un problema frecuente es contar con dos o mas dispositivos que requieren del puerto paralelo, por ejemplo: la impresora, un escáner, etc, mas aun, los puertos de las computadoras seriales y paralelos y de juegos, no son tipo PnP, esto queda demostrado por ejemplo: cuando un usuario va a una tienda y solicita un dispositivo, el vendedor pregunta si desea el mismo interno o externo, para puerto serial o paralelo, con tecnología ISA o PCI, y asi una serie de problemas. La tecnología USB ataca este problema frontalmente, brindando la posibilidad de conectar a una computadora, mas de un dispositivo, compatible y sencillamente. Sin embargo, la introducción de este bus, no marca un final drástico para los usuarios que poseen conectores serie RS-232 de 9 ó 25 pines, o bien centronic de 25 orificios; aun cuando los PC’s que están disponibles en el mercado, siguen manteniendo estos puertos con sus características habituales, aunque con los beneficios que se pueden obtener de esta tecnología(USB), hace prever la desaparición absoluta a través de los años; de todas formas ya existen en el mercado adaptadores de serie y paralelo a USB, como se muestra en la siguiente figura:

En resumen, por ahora, las computadoras personales no han de sufrir ningún cambio particular dentro de la forma tradicional a la que se esta acostumbrado. La única diferencia notable se hallará en la parte posterior de las mismas, donde podremos encontrar los dos conectores USB. Los mismos que provienen de una ficha cuyo cable se inserta en una nueva ranura de la tarjeta madre. En las siguientes figuras se pueden observar, la ficha de 2 conectores y la tarjeta madre respectivamente.

Gama de dispositivos USB y su capacidad máxima de conectividad

Así como ha avanzado la tecnología en los distintos periféricos y elementos electrónicos, mejorando ya sea su resolución, sonido, etc. También los dispositivos de conexión han tenido que mejorar a la par de esto; es por eso que en sus primeras instancias USB (versión 1.0), fue diseñado para conectar periféricos como: módems, ratones, teclados, monitores, equipos estereofónicos, lectores de CD de baja velocidad a 4x o 6x, unidades de disquete, digitalizadores de imagen de baja resolución(scanner), teléfonos, conexiones ISDN, impresoras, unidades para almacenamiento en cinta, etc. En resumen toda clase de dispositivos existentes y los que vayan a crearse aprovechando las ventajas USB; la única condición, es que el dispositivo no requiera de rangos de transmisión superiores a los 12 Mbps,( también con la opción de transmisiones a 1,5 Mbps para dispositivos de baja velocidad, entre ellos los mouse) esto significa que las tarjetas de video, tarjetas de red a 100 Mbps y controladoras de discos duros particularmente, seguirían siendo tarjetas conectadas al interior de la PC. Dadas estas velocidades el Universal serial bus, es capaz de soportar hasta 127 dispositivos conectados directamente a la PC o Host USB, y el resto se Irán conectando entre si de forma encadenada o bien empleando Hub USB.

Así como se dijo anteriormente, la tecnología de conexión de los computadores a tenido que modificar su características, para poder entregar mayor calidad y a la vez poder subsistir en el mercado de la tecnología, frente a otros competidores, los cuales se aferran fuertemente a la misma arquitectura de conexión (IEEE 1394 Firewire, la que será revisada mas adelante).Estas modificaciones, en el caso de la USB se encuentran en la velocidad de transmisión, con la cual se plantea que en estos momentos los 12 Mbps, serian revisados para dar paso a una velocidad 20 y 30 veces mayor que esta, pudiendo así ofrecer compatibilidad con las aplicaciones de usuario más exigentes sin incrementar el costo o la complejidad con respecto al objetivo anterior.

A principio de 1999, el Grupo Promotor de USB 2.0, compuesto por Compaq, HP, Intel, Lucent, Microsoft, NEC y Philips, anunció un estimado de que la velocidad de USB 2.0 sería de 120 a 240 mega bits por segundo (Mbs), o 10 a 20 veces más rápida que la de USB 1.1. Este incremento más reciente en el objetivo de velocidad eleva la velocidad ahora a 360 a 480 Mbs, o 30 a 40 veces más rápida que la de USB 1.1. La velocidad objetivo revisada y significativamente más alta es el resultado de análisis realizados por el Grupo Promotor de USB 2.0 que concluyen que la velocidad se puede incrementar sin costo o complejidad adicionales con respecto al estimado anterior.

"Este logro en USB 2.0 impulsará aún más el gran momento por el que pasa USB en aplicaciones de usuario aún más exigentes, como la creación de imágenes y los juegos interactivos, y ofrecerá una ruta de actualización efectiva para los dispositivos periféricos USB de hoy", señaló Pat Gelsinger, vicepresidente y gerente general del Grupo de Productos de Escritorio de Intel.

Evolución del USB

El incremento en el ancho de banda de USB 2.0 hará posibles dispositivos periféricos para PC con mayor funcionalidad, incluidas conexiones de Internet de banda ancha más rápidas, cámaras para videoconferencias de mayor resolución, impresoras y escáneres de la siguiente generación y unidades de almacenamiento externo de alta velocidad. Asimismo, USB 2.0 hará más productivas las aplicaciones de hoy, como la reducción del tiempo para descargar un "rollo" de fotografías digitales de unos cuantos minutos en la versión anterior de USB a sólo unos segundos en USB 2.0. Como USB 2.0 es una evolución de la especificación USB 1.1 existente, será totalmente compatible con sistemas y periféricos USB actuales. Incluso con la nueva velocidad pretendida, USB 2.0 funcionará con cables y conectores existentes.

Se calcula que los primeros sistemas y dispositivos periféricos compatibles con la nueva especificación hagan su aparición en el mercado en la segunda mitad de este año (2000).

USB-IF y respaldo del bus serie universal

Cuando alguien menciona la palabra Intel, se tiene la seguridad de estar respaldados por la empresa más grande de fabricación de microprocesadores del mundo; el mencionar a Microsoft no es nada menos, todo el que haya tenido un mínimo roce con computadoras conoce este nombre, y sin duda todos han empleado algún software Microsoft; por su parte IBM es y ha sido siempre uno de los mayores colosos de la computación en el mundo, especialmente en equipos grandes y de alto rendimiento; DEC - Digital Equipment Corporation es otra de las mayores compañías del mundo que cubre muchos aspectos y productos de la computación; Compac es una empresa cuyos productos están distribuidos en todas partes del mundo, y varios de ellos son reconocidos por su calidad; NEC se ha especializado en equipos de imagen como monitores, digitalizadores y otros elementos para el diseño gráfico; finalmente Northern Telecom es una compañía que brinda servicios de telefonía de larga distancia, transmisión de datos por líneas telefónicas estándar, dedicadas, satélite e ISDN especialmente en Estados Unidos y hacia todo el mundo.

Son principalmente estas siete empresas de nivel mundial, y líderes en el mundo de la computación las que se han unido en un gran esfuerzo, y han dado vida finalmente al Bus Serial Universal. Con semejante respaldo, el avance de USB en el mercado es prácticamente imparable, y el conocimiento de esta tecnología resulta ser  una necesidad.

No ajeno a esto se encuentra el termino USB-IF, el cual incumbe particularmente a empresas dedicadas a desarrollar productos USB; de todas formas, vale aclarar que USB-IF proviene de las siglas en ingles Universal serial bus – Implementers Forum o Foro de desarrolladores USB. Esta es una organización sin fines de lucro que agrupa a cientos de empresas en el mundo, donde se ha discutido todas las particularidades de este Bus, y se planifican diversas políticas, incluyendo las de mercado.

En lo que a las empresas Apple y MACINTOSH se refiere, con su línea de computadores, hace algunos años atrás ha sido difícil implementar alguna versión de USB, dado que la arquitectura de esta línea es muy cerrada, pero como el auge de esta arquitectura ha sido lo bastante grande, recién este año se ha podido implementar bajo la línea de los IMAC, sacando al mercado gran cantidad de adaptadores, cables y elementos USB, que sean compatibles tanto con este fabricante como con los de PC’s.

Beneficios del bus serie universal

El trabajo involucrado dentro de la especificación USB es realmente completo, es un estudio realmente minucioso, que comprende aspecto tales como:

  • Arquitectura del Bus

  • Definiciones de protocolos

  • Tipos de transacciones

  • Administración del bus

  • Señales eléctricas

  • Especificaciones electrónicas

  • Conectores

  • Formas de transmisión

Pero todo esto se puede traducir en beneficios tangibles para el usuario, como los siguientes:

  • Fácil expansión de periféricos en la PC, no debe hacer falta, mas que conectar el periférico y emplearlo (sin abrir la computadora).

  • Bajo costo para aplicaciones que demandan velocidades por los 12 Mbps, particularmente aplicaciones multimediales: micrófonos, parlantes, teléfonos, etc.

  • Soporte completo para transmisión en tiempo real de voz, audio, y video.

  • Flexibilidad de protocolos para transmisiones mixtas isocronicas y asincrónicas (las cuales serán analizadas mas adelante, ya que es el eje de transmisión de USB).

  • Cómoda integración de dispositivos de tecnología y fabricantes diferentes.

  • Soporte para plataformas diversas de la línea de las PC’s compatibles (como ya se vio, algunos problemas para MACINTOSH)

  • Posibilitar la producción de nuevos dispositivos capaces de aprovechar sus ventajas.

Las funciones del USB y el host USB

Dentro de la terminología USB, el computador o la PC que soporta este tipo de bus, se denomina Host USB; mientras que por su parte y dentro de la misma terminología, todo periférico y/o dispositivo, se denomina Función USB, además de esta significación, no existe ningún otro termino oculto dentro de estas dos denominaciones.

Hodt USB:

A diferencia de los dispositivos y los hubs, existe tan solo un host dentro del sistema USB, que como ya dijimos es el computador mismo, particularmente una porción del mismo denominado Controlador USB del Host. Este tiene  la misión de hacer de interfaz entre el computador mismo y los diferentes dispositivos. Existen algunas particularidades respecto a este controlador. Su implementación es una combinación de hardware y software todo en uno, es decir Firmware. Puede proveer de uno o dos puntos de conexión iniciales, denominados Hub raíz, a partir de los cuales y de forma ramificada iran conectándose los periféricos.

FUNCIONES USB:

Dentro de la terminología USB, todos los dispositivos que pueden ser conectados a este bus, a excepción de los Hubs, se denominan Funciones. Son funciones típicas: el ratón, el monitor, altoparlantes, MODEM, etc.

Las funciones o dispositivos periféricos, son capaces de recibir y transmitir información, ya sea del usuario o de control. El común denominador de todas las funciones USB es su cable y el conector del mismo, diseñado y fabricado de acuerdo a las especificaciones del bus, por lo que no cabe preocuparse por la compatibilidad entre equipos de diferentes fabricantes; solamente hay que recordar la empresas que respaldan esta tecnología.

Un aspecto interesante de las funciones, es que pueden ser a la vez nuevos hubs. La siguiente figura muestra un esquema en el que la PC tiene tres puertos, la siguiente función que puede ser un monitor 4, el siguiente 3 y adicionalmente un Hub, provee 4 puertos mas, es un esquema tan sencillo, donde existen 14 puertos disponibles para todo tipo de periférico, entre los que podemos citar: ratón,  tablilla digitalizadora, lápiz óptico, teclado impresora, un teléfono ISDN, etc.

Host USB - Hardware y software:

El computador o Host USB trabaja con los diferentes dispositivos valiéndose del controlador de host compuesto por una parte de hardware y otra de software, de esta forma conjunta, el host es responsable al nivel de hardware, de los siguientes aspectos dentro del sistema USB:

detectar tanto la conexión de nuevos dispositivos USB al sistema como la remoción de aquellos ya conectados, y por supuesto, configurarlos y ponerlos a disposición del usuario, tarea que involucra acciones por software.

Administrar y controlar el flujo de datos entre el host y los dispositivos USB, es decir el movimiento de información generada por el mismo usuario.

Administrar y regular los flujos de control entre el host y los dispositivos USB, es decir la información que se mueve con el objeto de mantener el orden dentro de los elementos del sistema.

Recolectar y resumir estadísticas de actividad y estado de los elementos del sistema.

Proveer de una cantidad limitada de energía eléctrica para aquellos dispositivos que pueden abastecerse con tan solo la energía proveniente del computador (teclado, ratón son dos ejemplos claros).

Por otra parte, a nivel de software las funciones del controlador de Host se incrementan y complican:

  • Enumeración y configuración de los dispositivos conectados al sistema

  • Administración y control de transferencias isocrónicas de información

  • Administración y control de transferencias asincrónicas

  • Administración avanzada de suministro eléctrico a los diferentes dispositivos

  • Administración de la información del bus y los dispositivos USB

Características y arquitectura general del USB

En los anteriores párrafos, se había hablado de algunos beneficios que esta tecnología entregaba tanto al usuario como a las empresas fabricantes, pero las características de USB son muchas mas, aunque algunas revisten ciertos términos técnicos, vale la pena enumerar todas las características de este Bus:

  • 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 una misma computadora 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

Vale la pena mencionar que todos los puntos citados anteriormente  son características disponible del Bus Serial Universal, es decir que los usuarios pueden beneficiarse de absolutamente todas estas capacidades. Es importante destacar que esta especificación y como lo veremos en el siguiente punto, no es un trabajo superfluo, ya que ha sido estudiado hasta el detalle máximo.(basta nuevamente recordar el gran soporte de esta tecnología).

Características principales:

Plug and Play

El puerto USB, y por tanto todos los dispositivos con conexión USB, son verdaderamente Plug.n play,  es decir, el dispositivo es detectado automáticamente al conectarlo al equipo y el sistema operativo instala el driver adecuado o nos pide el disco de instalación. Aún más, no es necesario apagar, ni siquiera re iniciar, el equipo para conectar o desconectar los dispositivos, cargándose y descargándose automáticamente de memoria el driver correspondiente.

Hot plugginn (conectar en caliente)

No es necesario apagar, ni siquiera reinicial, el equipo para instalar o desinstalar un dispositivo USB. Algo especialmente interesante si olvidamos conectar un dispositivo al encender el equipo o si simplemente no tenemos suficientes conectores para todos los dispositivos USB. Además, esto permite conservar recursos de memoria, pues cada dispositivo conectado requiere un driver residente, que de este modo sólo se carga cuando se necesita y se descarga al dejar de necesitarlo.

Recursos del dispositivo

Quizá una de las mayores ventajas para los equipos actuales es el hecho de que el puerto USB solamente necesita una IRQ y una dirección de memoria y todos los dispositivos conectados a él, solamente necesitan una ID para su identificación (como en el bus SCSI) dentro de la cadena de 127 dispositivos, sin necesitar más recursos. Si tenemos en cuenta que los puertos estándar (dos serie, un paralelo, un PS/2 para ratón, uno para teclado, un puerto para joystick) consumen 5 IRQs, algunas DMA y múltiples direcciones de memoria, al utilizar dispositivos USB nos estamos ahorrando valiosos recursos del sistema.

Simplicidad

El manejo de los dispositivos USB se hace por software, concretamente por el propio sistema operativo, por lo que los dispositivos USB son más fáciles de fabricar y por tanto más baratos. Además, USB es una tecnología abierta por la que no hay que pagar derechos, lo que siempre abarata los costos de fabricación.

Dispositivos

Se puede conectar hasta un total de 127 dispositivos en cadena o utilizando HUBs USB (concentradores de puertos USB), y cada dispositivo puede tener un cable de hasta 5 metros de longitud, frente a 1 metro para el puerto serie y 4 metros para el puerto paralelo. Además, conectándolos en cadena, el último dispositivo puede estar a 635 metros del ordenador.

Actualmente se encuentran en el mercado monitores, teclados, ratones, cámaras, joysticks, módem, escáneres, impresoras e incluso altavoces (sin necesidad de tarjeta de sonido) con conexión USBN, dispositivos de almacenamiento unidad ZIP, unidad LS-120, CD-ROMs, discos duros externos, etc.

Lo que se debe olvidar a la hora de comprar un dispositivo USB es  que cada dispositivo puede funcionar como HUB, es decir, incluir uno o más conectores USB, de modo que podamos conectar un dispositivo a otro en cadena, y así, por ejemplo un teclado, puede incluir dos conectores USB, uno para el ratón y otro para el joystick, de igual modo el monitor puede servir de HUB y permitir conectar a él por ejemplo los altavoces, o el teclado, al cual a su vez se conectan el ratón y el joystick, etc. Hay que tener en cuenta que muchos dispositivos USB actuales no son más que conversiones de dispositivos existentes por lo que mucho aún no implementan su uso como HUBs, por lo que quizás valga la pena esperar un poco a que haya más dispositivos disponibles.

Velocidad

El puerto serie es capaz de transmitir hasta 112,5 KB/s y el puerto paralelo entre 600KB/s y 15MB/s, pero el puerto USB es capaz de llegar a alcanzar entre 1,5MB/s y 12MB/s, por lo que es la conexión ideal para módem de 56K, escáneres (como alternativa de similar costo a los de puerto paralelo), CD-ROMs externos, dispositivos de copia de seguridad externos, etc. Sin embargo, para dispositivos de almacenamiento (especialmente discos duros externos), conexiones de red, cámaras, etc. quizás sea interesante también mostrar, la nueva versión del estándar de conexión, FIREWIRE (IEEE 1394), que maneja transferencias entre 100MB/s y 400MB/s, que permite conectar hasta 63 dispositivos y un cable de 4.5 metros por dispositivo, permitiendo al igual que el  USB la conexión en caliente. El puerto USB no esta destinado a desaparecer (de hecho no hay en el mercado placas con este conector pues los chipsets actuales no lo soportan), sin que se destinará a cierto tipo de dispositivos que requieren una transferencia de datos baja o media (teclados, ratones, joysticks, etc.) mientras que el bus FIREWIRE se destinará a dispositivos que requieren una alta transferencia (escáneres, impresoras, disco duro,  DVD, etc.). Sin embargo, no hay que olvidar, que USB esta modificando sus características, para poder absorber velocidades hasta los 480 Mbps, lo cual dará una dura pelea al estándar IEEE 1394 (del cual se hablará mas adelante)

Plataforma

Para poder utilizar dispositivos USB, hay recordar que el sistema operativo instalado en nuestro equipo debe soportar este nuevo bus. Windows 95 en sus versiones OSR2.1 y OSR2.5 detecta el puerto  USB y soporta dispositivos USB (la versión OSR2.0 también añadiendo el SUPLEMENTO USB), pero es realmente con el sistema operativo Windows 98 que los ya abundantes dispositivos USB no han dado problemas de instalación y funcionamiento, no dejando de lado las ultimas versiones de Windows NT.

Si queremos que los dispositivos USB funcionen, además en la BIOS de nuestra tarjeta madre debemos habilitar la opción ASSIGN USB IRQ - ENABLED. Si queremos utilizar un teclado USB con nuestro equipo, debemos habilitar USB KEYBOARD SUPPORT VIA BIOS  en vez  de VIA OS si queremos utilizar el teclado cuando "Reiniciamos equipo en modo MS-DOS" para ejecutar programas de diagnóstico. Si no lo hacemos así, por ejemplo, no accederemos a la BIOS del sistema al pulsar SUPR/DEL, ni anularemos el test de memoria al pulsar ESC, ni accederemos al "Menú de inicio" al pulsar F8, aunque el teclado funcionará correctamente en Windows 9X.

Uno de los problemas del puerto USB es que suministra solamente 500 miliamperios de electricidad para los dispositivos conectados, que aunque es suficiente potencia para la mayoría de los dispositivos que se conectan a este puerto, resulta escaso cuando conectamos varios dispositivos sin fuente de alimentación propia. Lo que sí podemos hacer es comprar un HUB USB con toma de alimentación eléctrica, para proporcionar la potencia necesaria a aquellos dispositivos que lo requieran (especialmente escáneres e impresoras).

Los Hub's USB

Los Hubs son elementos claves dentro de la arquitectura Conectar y utilizar de USB. Adicionalmente, simplifican de gran manera la sencillez de la interconexión de dispositivos al computador. Las siguientes Figuras muestran hubs USB disponibles en el mercado.

 

Bajo una óptica eléctrica e informática, los hubs son concentradores cableados que permiten múltiples conexiones simultáneas. Su aspecto más interesante es la concatenación, función por la que a un hub se puede conectar otro y otro, ampliando la cantidad de puertos disponibles para periféricos

El hub USB tiene la capacidad de detectar si un periférico ha sido conectado a uno de sus puertos, notificando de inmediato al Controlador de Host en el computador, proceso que desata la configuración del equipo nuevo; adicionalmente, los hubs también son capaces de detectar la desconexión de un dispositivo, notificando al Controlador de Host que debe remover las estructuras de datos y programas de administración (drivers) del dispositivo retirado.

Otra de las funciones importantes de los hubs es la de aislar a los puertos de baja velocidad de las transferencias a alta velocidad, proceso sin el cual todos los dispositivos de baja velocidad conectados al bus entrarían en colapso. La protección de los dispositivos lentos de los rápidos ha sido siempre un problema serio dentro de las redes mixtas, como es USB.

El hub está compuesto por dos partes importantes: El Controlador del Hub y el Repetidor del Hub. El Repetidor del Hub tiene la función de analizar, corregir y retransmitir la información que llega al hub, hacia los puertos del mismo. Mantiene una memoria consistente en varios registros de interfaz que le permiten sostener diálogos con el host y llevar adelante algunas funciones administrativas además de las meramente operativas; mientras que el Controlador de Hub puede asemejarse a una pequeña CPU de supervisión de las múltiples funciones que deben desempeñar un hub.

Funcionamiento general de un hub USB

Las tarjetas madre de las computadoras “modernas” tienen normalmente dos conectores estandarizados que sirven para conectar dos dispositivos USB, pero para conectar hasta 127 dispositivos necesitamos utilizar HUBS (concentradores) USB con varios puertos, hasta llegar a totalizar como máximo 127 dispositivos, de modo que un dispositivo USB se puede conectar directamente al conector de la tarjeta madre o a un conector de HUB, sin variar para nada su funcionamiento. De hecho, algunos dispositivos pueden funcionar como HUBs al tener conectores USB incorporados, como los teclados. También podemos conectar un dispositivo a un hub, que a su vez esté conectado a otro hub que está conectado al conector de la tarjeta madre y el funcionamiento del dispositivo será igual que estando conectado directamente al conector de la tarjeta madre. El cable de los dispositivos USB es un cable de 4 hilos con una longitud máxima de 5 metros por dispositivo o HUB, con lo que los dispositivos conectados no tienen por qué estar amontonados encima de una mesa.

Descripción del sistema

La siguiente Figura  muestra la estratificación del sistema USB. El mismo está compuesto por tres áreas claramente demarcadas: (1) el host USB,  (2) los dispositivos USB y, (3) toda la interconexión USB.

La interconexión USB es la manera en la cual los dispositivos USB se conectan y comunican con el host, esto incluye: la topología del bus o el modelo de conexión entre los dispositivos USB y el host; los modelos de flujo de datos, es decir la forma en la que la información se mueve en el sistema entre sus diversos elementos; la planificación USB que define la secuencia en la cual los dispositivos accederán al bus; finalmente, las relaciones entre capas del modelo, y las funciones de cada capa. Este último punto es conveniente aclararlo. El software al igual que todo sistema, a medida que crece se hace más complejo, razón por la cual cuando se lo desarrolla, se procede a subdividirlo en programas más pequeños, cada uno con una tarea específica, pero a los ojos del usuario sigue siendo un todo, aunque en determinados momentos porciones del mismo estén trabajando y otras no, de a cuerdo a las necesidades de operación del momento. Por ejemplo, dentro de un procesador de texto, un determinado momento estará funcionando el editor, otro el corrector, el módulo de almacenamiento en disco, etc.

Dentro del mundo de las redes y la transmisión de datos, los programas de comunicaciones sufren el mismo proceso de estructuración, aunque el término cambia un poco. Cada porción de código o programa que cumple una tarea específica se denomina capa.

Arquitectura general

El Bus Serial Universal está dado esencialmente por un cable especialmente diseñado para  la transmisión de datos entre la computadora (cuyo nombre dentro de la terminología USB es host), y diferentes periféricos, que pueden acceder simultáneamente al mismo con el fin de recibir o transmitir datos. Todos los dispositivos conectados acceden al canal o medio para transmitir sus datos de a cuerdo a las normas de administración del host regido por un protocolo que consecutivamente va dando la posibilidad de transmitir a cada periférico, el protocolo USB se parece de cierta forma al protocolo Token Ring.

La arquitectura del bus garantiza la posibilidad de que los periféricos sean conectados y desconectados del host mientras este y otros periféricos están operando normalmente, característica a la que se denomina Conectar y Desconectar Dinámico o simplemente En Caliente, sin perjuicio para ningún dispositivo en funcionamiento

Todos los dispositivos USB responden también a un mismo patrón estandarizado, que más allá de las características propias de cada fabricante, comprende los mismos elementos funcionales.

Estos son:

TRANSCEIVER: El cable USB está compuesto por solo cuatro cables: Vbus, D+, D- y GND. La información y los datos se mueven por los cables D+ y D-, con dos velocidades: 12Mbps o 1.5Mbps, un problema serio de comunicaciones si no existe un dispositivo capaz de manejar esta situación. Este es el Transceiver, fabricado dentro del mismo chip controlador de periférico, y puede verse como la interfaz misma de un dispositivo externo contra el resto del sistema.

SERIAL INTERFACE ENGINE - SIE.- El SIE tiene la función de serializar y deserializar las transmisiones, además maneja los protocolos de comunicación, las secuencias de paquetes, el control CRC y la codificación NRZI.

FUNCTION INTERFACE UNIT - FIU.- Este elemento administra los datos que son transmitidos y recibidos por el cable USB. Se basa y apoya en el contenido y estado de los FIFOs (a continuación).  Monitorea los estados de las transacciones, los buffer FIFO, y solicita atención para diversas acciones a través de interrupciones contra el CPU del host.

FIFOs.- (primero en entrar – primero en salir), El controlador 8x930Ax,(se vera mas adelante) tiene un total de 8 buffer tipo FIFO, cuatro de ellos destinados a la transmisión y cuatro destinados a la recepción de datos. Tanto para la transmisión como para la recepción, los buffer soportan cuatro tareas o funciones, numeradas de 0 a 3. La función 0 tiene reservado en el buffer en espacio de 16 bytes, y se dedica a almacenar información de control relacionada a las transferencias. La función 1 es configurable para disponer de más de 1025 bytes, y finalmente las funciones 2 y 3 disponen cada una de 16 bytes. Estas tres últimas funciones se emplean para el control de interrupciones y transmisiones tanto isocrónicas como las bulk (Ambos términos serán explicados más adelante).

Es importante destacar que el controlador del periférico es totalmente programable, empleando el conjunto de instrucciones MCS51 o MSC251, ambos productos de Intel que ha de ser más de interés de las empresas fabricantes de dispositivos externos USB.

Este controlador adicionalmente posee las siguientes características: Capacidades de puerto serial mejorado, contadores de tiempo de 16 bits, un clock, 4 puertos de entrada y salida de 8 bits, y dos modos de ahorro de energía: inactivo y de bajo consumo. No vale la pena explicar en detalle cada uno de estos, solo hay que entender que estos elementos son capaces de brindarle a todo puerto serial, capacidades de transferencia realmente importantes.

Conectores USB de Seria "A" y serie "B"

Existen dos tipos de conectores dentro del Bus Serial Universal. El conector Serie A está pensado para todos los dispositivos USB que trabajen sobre plataformas de PCs. Serán bastante comunes dentro de los dispositivos listos para ser empleados con host PCs, y lo más probables es que tengan sus propios cables con su conector serie A. Sin embargo, esto no se dará en todos los casos, existirán dispositivos USB que no posean cable incorporado, para los cuales el conector Serie B será una característica. Sin embargo este no es un problema, ya que ambos conectores son estructuralmente diferentes e insertarlos de forma equívoca será imposible por la forma de las ranuras. La primera figura  muestra los diferentes tipos de conectores USB, y la Figura siguiente las respectivas ranuras.

Topología del Bus

La forma física en la que los elementos se interconectan dentro del sistema USB, puede asemejarse a la topología estrella estratificada piramidalmente. El centro de cada estrella es un hub, un dispositivo que por un lado se conecta al computador o a otro hub y por otro lado, permite conectar al mismo varios dispositivos o en su defecto nuevos hubs.

Esta disposición significa que los computadores con soporte para USB han de tener tan solo uno o dos conectores USB, pero ello no representa poder contar con tan solo dos dispositivos de esta clase, quien sabe un ratón y un teclado. Muchos dispositivos USB han de traer conectores USB adicionales incorporados, por ejemplo un monitor puede tener 3 ó 4 conectores USB donde pueden ir el teclado, el ratón, y algún otro dispositivo. Por su parte el teclado puede tener otros más, y así sucesivamente hasta tener más de 127 dispositivos, todos funcionando simultáneamente.

Aún así, existirán dispositivos específicos destinados a ampliar la cantidad de conectores, estos se denominan hubs, y su funcionamiento como apariencia física está muy cercana a la de los hubs de redes Ethernet. Un hub de 8 puertos o conectores, puede ser acoplado a uno de los puertos USB del computador, ampliando la cantidad de dispositivos que se pueden emplear.

Funcionamiento básico y ámbito de aplicación

Todo el sistema USB es inteligente, esto significa que una vez que se ha insertado un nuevo dispositivo al sistema, el bus automáticamente determina que recursos del host requiere, incluyendo controladores de software (drivers), ancho de banda necesario (el ancho de banda se refiere a la capacidad del canal de comunicaciones que requiere un dispositivo cualquiera para enviar sus datos. Mientras más información manipule el dispositivo, más ancho de banda necesitará, y a la inversa). El mismo proceso se da al remover un dispositivo del equipo, ya que el host automáticamente elimina todos los componentes asociados al mismo con el fin de disponer de los recursos otorgados en su momento para futuros dispositivos.

Este mismo proceso, hace que la configuración y manipulación del software o hardware, sea prácticamente mínima para el usuario, proporcionando una gran ayuda en lo que la  interconexión de dispositivos al computador, pudiendo ser utilizado en cualquier lugar físico en que se tenga esta tecnología.

Controladores (drivers) de hardware

Las últimas versiones del sistema operativo Windows 95 trae una gran cantidad de controladores para una gama amplia de dispositivos USB, por lo tanto, lo más probable es que el mismo sistema operativo reconozca y configure el dispositivo de forma inmediata y transparente. (aunque de todas maneras se han detectado fallas de funcionamiento); Adicionalmente el sistema operativo Windows 98, trae especiales refuerzos en cuanto a cantidad de controladores para dispositivos USB y calidad de funcionamiento se refiere. Aunque estos sistemas operativos nunca soportaran  a todos, ni mucho menos controladores de dispositivos que se fabricarán en el futuro, razón por la cual, Windows 95/98 solicitará el disquete o CD de instalación, para aquellos periféricos que no pueda configurar adecuadamente.

Los sistemas operativos ganan en simplicidad. Los drivers para USB están definidos por capas, de forma que la gestión del bus, la configuración básica de los dispositivos, su manejo, etc... lo lleva el sistema operativo, mientras que cada driver específico sólo maneja los dispositivos con los que pueda tratar. De esta forma, tendremos una serie de módulos apilados con unas misiones específicas, que no interfieren la una con la otra.

El driver está organizado por la ya comentada estructura de capas. La parte principal es el USBD, o Universal Serial Bus Driver (gestor del USB). Aquí están contenidas todas las llamadas que los drivers necesitarán para acceder a sus dispositivos.

Debajo de esta capa está el HCD, el Host Controller Driver, que es la parte del sistema USB que se dedica a hablar con cada controlador en particular (esto es necesario ya que así se da soporte a todo tipo de controladores, aunque inicialmente solo existen dos, los UHCI y los OHCI (acrónimos que significan Host Controller Interface -interfase del controlador-, universal para la U y Open -abierto- para la O).

Por encima del USBD, y como driver está el HUBD, el driver de los hubs, que es parte obligada del sistema USBD, ya que es parte activa de la gestión de la configuración de los dispositivos. Esta parte consta de un demonio en activo dentro del mismo núcleo llamado khubdd (Kernel Hub Driver Daemon, demonio en el núcleo del driver de hubs). Este demonio se dedica a esperar a que ocurra algo en los puertos de los hubs donde se conectan los dispositivos, y cuando algo ocurre, lo notifica al USBD, que actúa en consecuencia, lanzando secuencias de desconexión, configuración, desconfiguración, cambio de configuración o forma de trabajo, etc ... en los dispositivos.

Los drivers actúan de una forma similar al HUBD. Un driver, cuando se carga o inicializa, se registra a sí mismo en el sistema USB. Cuando se conecta un dispositivo, se recorre la lista de drivers registrados en busca del que pueda ser más conveniente para este. Cuando se encuentra, se le pide que configure el dispositivo. Si no lo logra, se busca otro; si no se encuentra ninguno, se pedirá que se cargue un módulo con un driver para ese dispositivo. En caso de que no haya ninguno, se dará por imposible y se dejará el dispositivo como no configurado y esperando a que se cargue un driver que lo pueda configurar.

Características "Must have"

El término "Must Have" (Debe Tener), está rutinariamente mencionado en este informe. Está claro que el término hace referencia a la capacidad que debe tener una computadora para soportar el bus USB. 

Adicionalmente, el sistema operativo más difundido en el mundo Windows 95/98, que es distribuido con los mismos equipos por una gran cantidad de fabricantes, viene provisto por todos los controladores (drivers) necesarios para poder manipular este bus sin ningún tipo de problema. El resultado son PCs que están saliendo al mercado con uno o dos puertos USB en su parte posterior listos para ser empleados, como se observa en la siguiente figura.

Por supuesto, estas computadoras incluyen los puertos habituales mientras la transición hacia USB se va desarrollando.

Literalmente, todos los fabricantes del mundo han arrancado su producción de dispositivos y computadoras USB, nuevos modelos, vistosas publicidades para equipos como joysticks digitales, teclados, altoparlantes, monitores, etc., pueden ser vistos por todos los rincones de Internet, especialmente en los sitios web de aquellas empresas que venden por esta vía.

Un aspecto más, no todos los sistemas operativos Windows 95 instalados en todas las computadoras del mundo tiene la misma versión, aunque todos ellos presenten como portada ese logo. La especificación USB es soportada por los sistemas operativos Windows 95 cuya versión sea la 4.00.950B o superior (como se señalo anteriormente). Para averiguar este dato, se debe hacer clic con el botón derecho del ratón sobre el icono Mi PC del escritorio, y seleccionar la opción Propiedades.

Modelo lógico funcional del USB

El diagrama de la Figura anterior, ilustra el flujo de datos USB a partir de tres niveles lógicos: entre el Software Cliente y la Función, el Controlador USB y el dispositivo, y finalmente la capa física, donde la transmisión realmente sucede. Es importante entender que este modelo es muy parecido al OSI, el estándar de redes, y su comprensión radica en el hecho de que si bien existe un solo canal físico, pero los datos son manejados en cada punto por unidades homólogas o idénticas, tal como si estuviesen sosteniendo una comunicación directa. Por esta razón se las denomina Capas Lógicas.

El nivel superior lógico es el agente de transporte de datos que mueve la información entre el Software Cliente y el dispositivo. Existe un Software Cliente en el host, y un Software De Atención al mismo en cada una de las funciones o periféricos USB. A este nivel, el host se comunica con cada uno de los periféricos en alguna de las varias formas posibles de transmisión que soporta USB. El Software Cliente solicita a los dispositivos diversas tareas y recibe respuestas de ellos a través de esta capa.

La capa lógica intermedia es administrada por el Software de Sistema USB, y tiene la función de facilitarles las tareas particulares de comunicación a la capa superior, cabe decir, administra la parte del periférico con la que la capa superior desea comunicarse, maneja la información de control y comando del dispositivo, etc. Su objetivo es permitir a la capa superior concentrarse en las tareas específicas tendientes a satisfacer las necesidades del usuario, adicionalmente gestiona el control interno de los periféricos.

El acceso al bus es bajo la modalidad de Ficha o Token, lo que involucra siempre complejidad de protocolos, especialmente si agregamos dos velocidades posibles: 12Mbps ó 1.5Mbps. Todos estos algoritmos y procesos son administrados por el Host USB, reduciendo la complejidad del periférico, y lo más importante, el costo final de los dispositivos USB.

La capa física del modelo lógico USB comprende los puertos físicos, el cable, los voltajes y señales, el hardware y funcionamiento del hardware. Esta capa tiene el objetivo de liberar a las capas superiores de todos los problemas relacionados a la modulación, voltajes de transmisión, saltos de fase, frecuencias y características netamente físicas de la transmisión.  

Electrónica y transmisión del USB

Interfase física (eléctrica)

El interfaz de Bus Universal en Serie (USB) se identifica con este icono que se encuentra en la parte posterior de la computadora:

Los pines del conector se identifican a continuación.

Conector

Pin

Señal

1

+5V

2

Datos -

3

Datos +

4

A Tierra

El Bus Serial Universal transfiere señales de información y energía eléctrica a través de 4 cables, cuya disposición se muestra en las siguientes figuras.

 

Por su parte las señales se mueven sobre dos cables y entre segmentos comprendidos entre un par de dispositivos USB, con rangos de velocidad de 12Mbps o 1.5Mbps, para transmisiones de alta y baja velocidad respectivamente. Ambos modos de transmisión son controlados automáticamente por medio de los dispositivos USB de manera transparente al usuario. Es importante notar que siempre ha sido un serio problema manejar velocidades diferentes de transmisión de datos por un mismo cable, y esto no sería posible sin que todos los dispositivos estén preparados para tal efecto.

Los pulsos de reloj o sincronismo son transmitidos en la misma señal de forma codificada bajo el esquema NRZI (Non Return To Zero Invert), uno de los más interesantes sistemas de codificación de información que no vale la pena mencionarlo ahora por su complejidad  eléctrica-electrónica.

Los otros dos cables VBus y GND tienen la misión de llevar suministro eléctrico a los dispositivos, con una potencia de +5V para VBus. Los cables USB permiten una distancia que va de los pocos centímetros a varios metros, más específicamente 5 metros de distancia máxima entre un dispositivo USB y el siguiente. La Figura siguiente muestra el detalle.

Es importante indicar que los cables USB tienen protectores de voltaje a fin de evitar cualquier daño a los equipos, son estos mismos protectores los que permiten detectar un dispositivo nuevo conectado al sistema y su velocidad de trabajo.

Protocolo del bus

Toda transferencia de datos o transacción que emplee el bus, involucra al menos tres paquetes de datos. Cada transacción se da cuando el Controlador de Host decide qué dispositivo hará uso del bus, para ello envía un paquete al dispositivo específico. Cada uno de los mismos tiene un número de identificación, otorgado por Controlador de Host cuando el computador arranca o bien cuando un dispositivo nuevo es conectado al sistema. De esta forma, cada uno de los periféricos puede determinar si un paquete de datos es o no para sí. Técnicamente este paquete de datos se denomina Paquete Ficha o Token Packet. Una vez que el periférico afectado recibe el permiso de transmitir, arranca la comunicación y sus tareas específicas; el mismo informará al host con otro paquete que ya no tiene más datos que enviar y el proceso continuará con el siguiente dispositivo.

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. De hecho si el control es al nivel de hardware, no vale la pena activar el control por software, ya que sería duplicar tareas innecesariamente.

Transmisión del USB

Transmisión asincrónica

Las distintas formas de transmisión de datos a distancia siempre fueron seriales, ya que el desfase de tiempos ocasionada por la transmisión paralela en distancias grandes impide pensar en esta última como apta para cubrir longitudes mayores a algunos pocos metros.

Sobre ello, la transmisión serial ha topado con el problema de que la información generada en el transmisor sea recuperada en la misma forma en el receptor, para lo cual es necesario ajustar adecuadamente un sincronismo entre ambos extremos de la comunicación. Para ello, tanto el receptor como el transmisor deben disponer de relojes que funcionen a la misma frecuencia y posibilite una transmisión exitosa. Como respuesta a este problema surgió la transmisión asincrónica, empleada masivamente años atrás para la comunicación entre los equipos servidores conocidos como hosts y sus terminales.

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 conocer perfectamente cuántos bits le llegarán, y da por recibida la información cuando verifica la llegada de los bits de parada. El esquema de los datos se muestra en la Figura siguiente.

Se denomina transmisión asincrónica no porque no exista ningún tipo de sincronismo, sino porque el sincronismo no se halla en la señal misma, mas bien son los equipos mismos los que poseen relojes o clocks que posibilitan la sincronización. La sincronía o asincronía siempre se comprende a partir de la señal, no de los equipos de transmisión o recepción.

Transmisión sincrónica:

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 asincrónica, 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 sincrónica, 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.

Las transmisiones sincrónicas ocupan en la actualidad gran parte del mundo de las comunicaciones seriales, especialmente las que emplean el canal telefónico.

Transmisiones isocrónicas:

Inicialmente vale la pena aclarar el origen de este término tan extraño, ISO(algún) CRONOS(tiempo). La transmisión isocrónica ha sido desarrollada especialmente para satisfacer las demandas de la transmisión multimedial por redes, esto es integrar dentro de una misma transmisión, información de voz, video, texto e imágenes. La transmisión isocrónica es una forma de transmisión de datos en la cual los caracteres individuales están solamente separados por un número entero de intervalos, medidos a partir de la duración de los bits. Contrasta con la transmisión asincrónica en la cual los caracteres pueden estar separados por intervalos aleatorios. La transferencia isocrónica provee comunicación continua y periódica entre el host y el dispositivo, con el fin de mover información relevante a un cierto momento. La transmisión isocrónica se encarga de mover información relevante a algún tipo de transmisión, particularmente audio y video.

Transmisión bulk:

La transmisión Bulk, es una comunicación no periódica, explosiva típicamente empleada por transferencias que requieren usar todo el ancho de banda disponible o en su defecto son demoradas hasta que el ancho de banda completo esté disponible. Esto implica particularmente movimientos de imágenes o video, donde se requiere de gran potencial de transferencia en poco tiempo.

USB permite dos tipos más de transferencias de datos:

Transmisiones de control:

Es un tipo de comunicación exclusivamente entre el host y el dispositivo que permite configurar este último, sus paquetes de datos son de 8, 16, 32 o 64 bytes, dependiendo de la velocidad del dispositivo que se pretende controlar.

Transmisiones de interrupción:

Este tipo de comunicación está disponible para aquellos dispositivos que demandan mover muy poca información y poco frecuentemente. Tiene la particularidad de ser unidireccional, es decir del dispositivo al host, notificando de algún evento o solicitando alguna información. Su paquete de datos tiene las mismas dimensiones que el de las transmisiones de control.

Conjunto integrado de chips:

Un trabajo tan importante como representa USB tiene que de manera alguna mantener compatibilidad hacia atrás, es decir por algún tiempo, los otros tipos de dispositivos que en la forma de tarjetas se insertan a la tarjeta madre, deben trabajar de forma conjunta con el bus USB.

Entre las empresas desarrolladoras de USB, ya antes mencionadas, existen más de 250 otras empresas menores que fabrican semiconductores, computadoras, periféricos y software, todas trabajando por  poner en el mercado la mayor cantidad posible de elementos USB. En todos los casos, la estructura esquemática de los buses es la que se muestra en el esquema siguiente.

 

El conjunto de chips PCI de Intel, incluye un controlador de sistema, unidades de control de buses y un chip muy particular desarrollado para integrar las partes: el 82371SB PCI IDE/ISA Xcelerator - PIIX3. El conjunto PCI provee de un puente entre  la memoria principal de la computadora y el caché L2, con un ancho de bus de 64 bits para todo tipo de transferencias.

Además de esto, el PIIX3 permite la interconexión entre el bus PCI y el bus ISA, permitiendo el acceso de los datos al bus USB. Al ser USB un bus serial, y los internos a la computadora son paralelos, hace falta un serializador y deserializador, que en este caso es el denominado Serial Interface Engine -- SIE, elemento que maneja los protocolos de comunicación USB, la programación de secuencia de paquetes, la detección y generación de señales, el control CRC (Código de Redundancia Cíclica), la codificación NRZI, y la identificación de los periféricos con los identificadores del paquete de datos.

En realidad la parte más importante de la estructura de la arquitectura de buses incluyendo al nuevo USB radica en el PIIX3 y el SIE, dos elementos básicos en el movimiento de datos entre los buses.

Chips controladores de USB

Cada uno de los chips controladores USB de Intel tiene una función específica, asi es que cuando el mercado  se vea saturado de diferentes dispositivos USB, se presenten algunas diferencias relacionadas al aspecto del controlador interno del dispositivo. Realmente no es imposible memorizar todos los nombres de los principales controladores disponibles de Intel, así que a manera de referencia vamos a mencionarlos:

El 8x930Ax USB Peripheral Controller, ha sido diseñado para periféricos de PCs, incluyendo joysticks digitales, cámaras y algunos dispositivos relacionados a telefonía.

El 8x930Hx USB Hub Controller, ha sido diseñado para brindar soporte a aquellos dispositivos que además de cumplir su objetivo propio, tienen la función de trabajar como hubs. Entre estos se incluyen monitores, impresoras, teclados, etc. Este controlador también puede dar soporte a hubs natos.

El 8x931Ax USB Peripheral Controller, desarrollado también para dispositivos con capacidades complementarias de hub. Este es capaz de soportar 9 múltiples conexiones. Por cierto que este controlador es mejor que el primero.

El hecho de que la más grande empresa de fabricación de microprocesadores del planeta esté fabricando no solamente chips controladores USB, sino también tarjetas madres propias para la tecnología USB está delatando un cambio realmente importante, seguido muy de cerca por todas las empresas relacionadas a computación del mundo que desean mantenerse en el mercado.

IEEE 1394 versus USB

IEEE 1394 Firewire

1394 es el estándar del bus serie definido por IEEE (The Institute of Electrical and Electronic Engineers) denominado así por ser el número del estándar acordado.

Sus principales características son:

  • Velocidad de transferencia de 400 Mega bits por segundo

  • Hasta 63 dispositivos en la misma conexión

  • Permite la conexión en caliente al computador

Captura directa de imágenes desde cámaras digitales que tengan este interfaz al computador, sin necesidad de convertir las imágenes y sin perder calidad.

FIRE WIRE, es el interfaz desarrollado por Apple, estándar oficial (IEEE 1394),  ideal para periféricos de alta velocidad y especialmente diseñado para dispositivos multimedia.

Este interfaz permite la conexión del dispositivo al ordenador en caliente,  sin necesidad de reiniciar el equipo, sin necesidad de asignar ID o utilizar terminadores.

Diferencias entre 1394, Fire Wire e I-Link

1394 es el estándar del bus serie definido por IEEE (The Institute of Electrical and Electronic Engineers) denominado así por ser el número del estándar acordado, Fire Wire es el estándar 1394 desarrollado por Apple e i-Link la iniciativa 1394 desarrollada por Sony, por lo que se podría decir que no se diferencian técnicamente en nada.

Esto quiere decir que todos los productos con especificación IEEE 1394, independientemente de la denominación que tengan son compatibles con el estándar especificado.

1394 es el interfaz de audio y video digital que permite la conexión al ordenador en caliente, esto es, sin necesidad de reiniciar el equipo al conectar el dispositivo. Tampoco son necesarios identificadores ni terminadores. Es la forma más sencilla de conexión al ordenador.

IEEE 1394, se dio a conocer debido sobre todo a la lista de tecnologías contenidas en Windows 98, es un nuevo bus que permite conectar hasta 63 dispositivos con una velocidad de datos media-rápida. En el fondo es similar al USB, pero, como se verá más adelante, tiene diferencias tanto en aplicaciones como en prestaciones.

Lo mejor de todo es el tipo de cosas que se pueden conectar. Éstas incluyen discos duros, DVD-ROMs y CD-ROMs de alta velocidad, impresoras, escáneres y la novedad: cámaras de fotos digitales, videocámaras DV, televisiones, etc. Gracias al 1394, se podrán conectar cámaras digitales y de DV sin la necesidad de incómodas tarjetas que vienen opcionalmente con estos aparatos.

En el siguiente diagrama, se mostrará físicamente el conector IEEE 1394.

1394 vs USB

Mucha gente confunde el 1394 y el Universal Serial Bus (USB). Ambos son tecnologías que persiguen un mismo método de conectar múltiples periféricos a un ordenador. Ambos permiten que los periféricos sean añadidos o desconectados sin la necesidad de reiniciar. Ambos usan cables ligeros y flexibles con un empleo sencillo, y conectores duraderos.

Pero allí terminan las asimilaciones. Aunque los cables de 1394 y USB pueden parecer a la vista lo mismo, la cantidad de datos que por ellos viaja es bastante diferente. Como muestra la tabla de abajo, la velocidad y la capacidad de transferencia marca la principal distinción entre estas dos tecnologías:

 

IEEE 1394 Firewire

USB

Número máximo de dispositivos

63

127

Cambio en caliente (agregar o quitar dispositivos sin tener que reiniciar el ordenador)

Hot plaggin.

Hot plaggin.

Longitud máxima del cable entre dispositivos

4,5 metros

5 metros

Velocidad de transferencia de datos

200 Mbps – 400 Mbps

12 Mbps (1,5 Mb/s)

Tipos de ancho de banda

400 Mbps (50MB/s)
800 Mbps (100MB/s)
1 Gbps+ (125MB/s+)

Ninguno

Implementación en Macintosh

Sí (FIRE WIRE)

No

Conexión de periféricos interna

No

Tipos de dispositivos conectables

- Videocámaras DV
- Cámaras digitales de alta resolución
- HDTV (TV de alta definición)
- Cajas de conexiones
- Discos duros
- Unidades DVD-ROM
- Impresoras
- Escáneres

- Teclados
- Ratones
- Monitores
- Joysticks
- Cámaras digitales de baja resolución
- Unidades CD-ROM de baja velocidad
- Módems

Hoy por hoy, el 1394 ofrece una transferencia de datos 16 veces superior a la ofrecida por el USB. Eso es porque el USB fue diseñado para no prevenir futuros aumentos de velocidad en su capacidad de transferencia de datos. Por otro lado, el 1394 tiene bien definidos otros tipos de ancho de banda, con velocidad incrementada a 400 Mbps (50 MB/s)  y posiblemente 800 Mbps (100 MB/s), y 1 Gbps+ (125 MB/s) y más allá en los próximos años. Tantos incrementos en la capacidad de transferencia de datos serán requeridos para los dispositivos que la requieren, tales como HDTV, cajas de mezclas digitales y sistemas de automatización caseros que planean incorporar interfaces 1394.

La mayoría de los analistas industriales esperan que los conectores 1394 y USB coexistirán pacíficamente en los ordenadores del futuro. Reemplazarán a los conectores que podemos encontrar hoy en las partes de atrás de los PC's. USB se reservará para los periféricos con un pequeño ancho de banda (ratones, teclados, módems), mientras que el 1394 será usado para conectar la nueva generación de productos electrónicos de gran ancho de banda. Aunque hay que recordar algunos párrafos mas atrás, se hablaba de la evolución de la que estaba siendo objeto el bus serie universal.

Glosario

Plug & Play : Los dispositivos son detectados automáticamente por el sistema operativo, el cuál carga los drivers correspondientes para el funcionamiento del dispositivo.

Hot plugging : no es necesario apagar el computador para conectar cualquier periférico,          es decir conectado en caliente.

USB: Bus serie universal, tecnología de conexión.

IEEE: Instituto de Ingenieros Eléctricos y Electrónicos.

FIREWIRE: estándar de conexión especificado por Apple.

I-LINK: estándar de conexión especificado por Sony.

DRIVERS: Programas o software, que es capaz de controlar un dispositivo, para su correcto funcionamiento.

HUBS: dispositivo que permite la conexión de otros dispositivos a la vez, dado por sus numerosas entradas o puertas.

BUS:    Circuito de interconexión eléctrica para transmitir información.

BYTE: Conjunto de 8 bits. Representa un carácter en lenguaje binario.

BIT: Dígito binario, unidad mínima de información de los dos estados 0/1. Abreviación de Binary Digit que puede ser 0 o 1. Es la unidad básica de almacenamiento y proceso de una computadora. 8 bits = 1 byte.

FIRMWARE: Conjunto de programas de sólo lectura que contienen el algoritmo para una función específica. Algoritmo o pequeño programa de bajo nivel grabado en un EEPROM para uso del procesador. También se llama Microcode.

INTERFASE: Circuitos físicos (hardware) o lógicos (software) que  manejan, traducen y acoplan la información de forma tal que sea entendible para dos sistemas diferentes

IRQ: Canal de interrupción. Línea directa entre el microprocesador y la tarjeta periférica para que ésta solicite atención del CPU.

ISA: Arquitectura de 16 bits para tarjetas y dispositivos

PROTOCOLO: Conjunto de reglas establecidas para fijar la forma en que se realizan las transacciones.

TOPOLOGÍA: Descripción de las conexiones físicas de la red, el cableado y la forma en que éste se interconecta.

 

WikiCiencia - CC 2000-2008 - Algunos derechos reservados - Términos y Condiciones

Firenox