Está en la página 1de 8

Diseño

Integrado

6 Tecnología USB [ 7]

La Interfaz serie RS-232 está desapareciendo prácticamente de los


ordenadores personales y esto supone un problema, ya que muchas de las
aplicaciones con microcontroladores utilizan este bus para su comunicación con el PC.
La solución ideal es migrar a una interfaz USB. Es por ello que el microcontrolador
elegido para realizar muestra aplicación soporta este tipo de interfaz y es este el
principal motivo por el que en este proyecto se utiliza esta tecnología.

El USB es un estándar (1995) que define un bus utilizado para conectar


periféricos al ordenador. La principal característica que tiene es que la conexión es
muy sencilla, ya que utiliza un único conector para conectar a través de un bus serie
todos los dispositivos. En él se definen los conectores y los cables, una topología
especial tipo estrella para conectar hasta 127 dispositivos y protocolos que permiten la
detección y configuración automática de los dispositivos conectados.

La especificación de este estándar ha sido respaldada por las empresas


líderes mundiales en el campo de la informática: Intel, IBM, DEC, Microsoft; Compac,
NEC y Northem Telecom, empresas que garantizan su continuidad y utilización.

6.1 Medio Físico

Este medio de conexión es muy simple, ya que se trata de un cable en cuyo


interior encontramos sólo cuatro hilos, de los cuales, dos son para transmitir datos y
los otros dos para transmitir potencia; esquemáticamente la constitución
correspondería a algo como lo mostrado en la Fig. 34 Esquemático del USB:

Fig. 34 Esquemático del USB

Universidad de Sevilla Pág. 61


CAPITULO 6
Diseño Tecnología USB
Integrado

Los datos se transmiten de forma balanceada a velocidades entre 1.5Mbps y


600Mbps. Los dispositivos USB se clasifican en cuatro tipos según su velocidad de
transferencia de datos:

• Baja Velocidad (1.0): Velocidad binaria de 1.5Mbit/s (192KBytes/s).


Utilizado en su mayor parte por Dispositivos de Interfaz Humana (conocidos
como HID) como los teclados, los ratones y los joysticks.

• Velocidad Completa (1.1): Velocidad binaria de 12Mbit/s (1.5MBytes/s).


Estos dispositivos, dividen el ancho de banda de la conexión USB entre
ellos basándose en un algoritmo FIFO. Se utiliza para la conexión de
dispositivos que requieren un mayor ancho de banda (discos o CDROMS).

• Alta Velocidad (2.0): Velocidad binaria de 480Mbit/s (60MBytes/s).

• Súper Velocidad (3.0) Actualmente en fase experimental. Velocidad


binaria de 4.8Gbit/s (600MBytes/s). Esta especificación será lanzada a
mediados de 2008 por la compañía Intel, de acuerdo a información
recabada de Internet. Las velocidades de los buses serán 10 veces más
rápidas que la de USB 2.0 debido a la inclusión de un enlace de fibra óptica
que trabaja con los conectores tradicionales de cobre.

La señal se transmite codificada en un código autoreloj de No Retorno a Cero


Invertido (NRZI), para poder incluir junto con los datos información de sincronización.
Éstos, colectivamente utilizan señalización diferencial en half dúplex para combatir los
efectos del ruido electromagnético en enlaces largos. Los niveles de transmisión de la
señal varían de 0 a 0.3V para bajos (ceros) y de 2.8 a 3.6V para altos (unos) en las
versiones 1.0 y 1.1, y en ±400mV en Alta Velocidad (2.0).

Los dos aspectos fundamentales que motivaron la realización de este estándar


fueron la necesidad de configurar de una forma sencilla los periféricos conectados al
ordenador, así como la necesidad de aumentar el número de puertos disponibles.

6.2 Arquitectura

USB trabaja como interfaz para transmisión de datos y distribución de energía;


ha sido introducida en el mercado de PC´s y periféricos para mejorar las lentas
interfaces serie (RS-232) y paralelo. Esta interfaz de 4 hilos, 12 Mbps y "plug and
play", distribuye 5V para alimentación y transmite datos.

Es un bus basado en el paso de un testigo, semejante a otros buses como los


de las redes locales en anillo con paso de testigo, de forma que, el controlador USB
distribuye testigos por el bus. El dispositivo cuya dirección coincide con la que porta el
testigo responde aceptando o enviando datos al controlador.

Pág. 62 Universidad de Sevilla


CAPITULO 6
Tecnología USB Diseño
Integrado

Emplea una topología de estrellas apiladas que permite el funcionamiento


simultáneo de 127 dispositivos a la vez . En la raíz o vértice de las capas, está el
controlador anfitrión o host que controla todo el tráfico que circula por el bus. Esta
topología permite a muchos dispositivos conectarse a un único bus lógico sin que los
dispositivos que se encuentran más abajo en la pirámide sufran retardo.

El sistema de bus serie universal USB consta de tres componentes:


1. Controlador
2. Hubs o Concentradores
3. Periféricos

Cada segmento es una


conexión punto a punto entre el
host y un hub o entre el host y un
dispositivo que proporciona una
nueva facilidad al host tal como
una conexión RDSI, un micrófono
digital, un disco duro, etc. que en la
figura se identifica como función
encubriendo bajo esta
denominación una funcionalidad o
un dispositivo concreto. En la figura
se detalla esta estructura y se
presenta un elemento que puede
considerarse la conjunción de un
hub y una función, denominándolo
como dispositivo compuesto ya
que proporciona un modo de unión
y una funcionalidad añadida que en
ningún caso pueden separarse.

Fig. 35 Topología de una conexión USB

6.2.1 Controlador o HOST

Reside dentro del PC y es responsable de las comunicaciones entre los


periféricos USB y la CPU del PC. Es también responsable de la admisión de los
periféricos dentro del bus, tanto si se detecta una conexión como una desconexión.
Para cada periférico añadido, el controlador determina su tipo y le asigna una dirección
lógica para utilizarla siempre en las comunicaciones con el mismo.

Si se producen errores durante la conexión, el controlador lo comunica a la


CPU, que, a su vez, lo transmite al usuario. Una vez se ha producido la conexión
correctamente, el dispositivo envía información sobre el tipo o la clase a la que
pertenece, que modo de transferencia utilizará y cuales son sus necesidades de ancho

Universidad de Sevilla Pág. 63


CAPITULO 6
Diseño Tecnología USB
Integrado

de banda. El host reconocerá el equipo buscando en la lista de drivers5 del sistema


operativo y asignará al periférico los recursos del sistema que éste precise para su
funcionamiento.

El host de un USB tiene por tanto las funciones de:

• Detectar la conexión y desconexión de los dispositivos y


configurarlos.
• Controlar la transferencia de datos y de control que ocurren en
el bus.
• Servir como fuente de alimentación a los dispositivos.

6.2.2 Concentradores o hubs

Son distribuidores inteligentes de datos y alimentación, y hacen posible la


conexión a un único puerto USB de 127 dispositivos. De una forma selectiva reparten
datos y alimentación hacia sus puertas descendentes y permiten la comunicación
hacia su puerta de retorno o ascendente.

Un hub de 4 puertos, por ejemplo, acepta datos del PC para un periférico por
su puerta de retorno o ascendente y los distribuye a las 4 puertas descendentes si
fuera necesario. Los concentradores también permiten las comunicaciones desde el
periférico hacia el PC, aceptando datos en las 4 puertas descendentes y enviándolos
hacia el PC por la puerta de retorno.

Además del controlador, el PC también contiene el concentrador raíz. Este es


el primer concentrador de toda la cadena que permite a los datos y a la energía pasar
a uno o dos conectores USB del PC, y de allí a los 127 periféricos que, como máximo,
puede soportar el sistema. Esto es posible añadiendo concentradores adicionales. Por
ejemplo, si el PC tiene una única puerta USB y a ella le conectamos un hub o
concentrador de 4 puertas, el PC se queda sin más puertas disponibles. Sin embargo,
el hub de 4 puertas permite realizar 4 conexiones descendentes. Conectando otro hub
de 4 puertas a una de las 4 puertas del primero, habremos creado un total de 7
puertas a partir de una puerta del PC. De esta forma, es decir, añadiendo
concentradores, el PC puede soportar hasta 127 periféricos USB.

Los hub de las conexiones con sistema USB de alta velocidad son más
complejos que los utilizados en los sistemas HDI, ya que tienen que manejar el tráfico
de tres velocidades distintas, sin ser excluyentes entre ellas, para lo cual debe realizar
funciones de acoplamiento de las velocidades de los dispositivos más lentos.

5
Programa que interactúa con un dispositivo específico o un determinado software para su correcto
funcionamiento y ejecución de instrucciones. Éste contiene la información necesaria para mediar entre el
programa y el dispositivo. En los ordenadores personales se suele instalar como archivos .dll (librerías
dinámicas).

Pág. 64 Universidad de Sevilla


CAPITULO 6
Tecnología USB Diseño
Integrado

6.2.3 Periféricos

USB soporta periféricos de baja y media velocidad. Empleando dos


velocidades para la transmisión de datos de 1.5 y 12 Mbps se consigue una utilización
más eficiente de sus recursos. Los periféricos de baja velocidad tales como teclados,
ratones, joysticks, y otros periféricos para, no requieren 12 Mbps. Empleando para
ellos 1,5 Mbps, se puede dedicar más recursos del sistema a periféricos tales como
monitores, impresoras, módems, equipos de audio..., que precisan de velocidades
más altas para transmitir mayor volumen de datos o datos cuya dependencia temporal
es más estricta .

6.3 Descriptores

Tal como se describió en la transferencia de control, cuando un dispositivo se


conecta por primera vez el controlador de host envía un paquete notificándole el
número que le ha asignado, esta es la enumeración que va desde 1 a 127 y en base a
esto (el numero asignado) se puede leer el descriptor de fichero, que contiene la
estructura de datos sobre el dispositivo y sus propiedades.

Un Descriptor es una estructura de datos que identifica toda la información


descriptiva del dispositivo al sistema Existen cinco descriptores estándar:

1. Descriptor de Dispositivo. Describe información de carácter general sobre el


dispositivo USB y es único por dispositivo. Tiene la información que se aplica
al dispositivo y a todas sus posibles configuraciones.

2. Descriptor de Configuración. Describe información sobre una configuración


especifica (potencia requerida, si el dispositivo tiene o no alimentación propia,
etc..), ya que un dispositivo puede tener varios descriptores de configuración.
Cada configuración tiene una o mas interfaces y cada interfaz puede tener 0 o
mas puntos finales denominados endpoints (un endpoint es la representación
lógica de una parte de hardware del dispositivo que interactúa con el sistema
USB).

3. Descriptor de Interfaz. Describe un interfaz especifico dentro de una


configuración. Es la unión de dos puntos finales en un grupo funcional que
realizan una tarea única, como impresora, scanner, fax... cada uno constituye
una interfaz. Un interfaz puede incluir configuraciones alternativas que
permiten a los endpoint variar después de que el dispositivo haya sido
configurado; por ejemplo sobre un dispositivo multifunción tal como una
videocámara puede tener tres configuraciones alternativas, según se activen,
la cámara solo, el micrófono solo o ambos a la vez.

4. Descriptor de endpoint. Definen los requisitos de transmisión de cada


dispositivo, es decir, el tipo de transferencia. El endpoint cero se usa para las
transferencias de control y no hay descriptor para este. La dirección de los

Universidad de Sevilla Pág. 65


CAPITULO 6
Diseño Tecnología USB
Integrado

datos es siempre desde el punto de vista del host (IN:del periférico al host,
OUT: del host al periférico)

5. Descriptores de cadenas. Son opcionales y proporcionan información


adicional tal como el nombre acerca del fabricante, del dispositivo o el numero
de serie. Estos descriptores son legible por las personas en formato Unicode.

Los descriptores de dispositivo y de interfaz contienen campos para su


clasificación: clase, sub-clase y protocolo. Estos campos son usados por el sistema
operativo para asociar un dispositivo o un interfaz a un driver genérico, especificado
para esa clase. La definición de clases de dispositivos e interfaces y su
estandarización permite el desarrollo de drivers genéricos que permiten manejar
múltiples implementaciones basadas en ese estándar.

Fig. 36 Estructura de descriptores.

6.4 Flujo de Comunicación

El funcionamiento de la comunicación USB se explica atendiendo al diagrama


de capas de la Fig. 37 que muestra cómo fluye la información entre las diferentes
capas a nivel lógico y real.

El diagrama 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 sucede realmente la transmisión. 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.

Pág. 66 Universidad de Sevilla


CAPITULO 6
Tecnología USB Diseño
Integrado

Fig. 37 Flujo de comunicaciones entre un dispositivo USB y HOST

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.

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.

Universidad de Sevilla Pág. 67


CAPITULO 6
Diseño Tecnología USB
Integrado

Pág. 68 Universidad de Sevilla

También podría gustarte