USB (Universal Serial Bus): uma visão geral

USB (Bus serie universal): descripción general

comunicación USB

Imagem mostrando comunicação em USB

Figura 1: Imagen que muestra la comunicación USB

Mientras que la comunicación C en USB consideramos tres partes:

a) Host que puede ser una computadora/PC/portátiles

b) Cable y conector USB

c) Dispositivos periféricos, p.e. Teclados, mouse, reproductor de audio, etc.

Los sistemas USB constan de una computadora personal (PC) conocida como host y varios dispositivos periféricos, como un mouse, un teclado y un sistema de audio. El host en sí contiene dos componentes, el controlador del host y el concentrador raíz. Un controlador de host es un componente de hardware contenido dentro de una computadora host. El controlador Host convierte los datos al lenguaje comprensible por el SISTEMA OPERATIVO y también gestiona la comunicación en el bus. El controlador de host USB tiene un concentrador incorporado llamado concentrador raíz . Un concentrador es un punto de conexión común que permite que varios dispositivos se conecten a la red. Un centro contiene varios puertos . El concentrador raíz conecta los controladores host al dispositivo periférico y actúa como la primera capa de interfaz para USB en un sistema. Los puertos visibles en el panel posterior del sistema son los puertos del concentrador raíz. Estos puertos son parte del hub raíz y a su vez se pueden conectar al hub externo, aumentando así la cantidad de dispositivos USB que se pueden conectar al host. Se puede utilizar un concentrador externo para ampliar las conexiones a un máximo de 127 dispositivos.

Siempre que se conecta o desconecta un dispositivo USB , primero se detecta en el concentrador raíz, que a su vez pasa información al controlador host. USB es un protocolo semidúplex en el que todos los datos pasan a través de una interfaz de dos cables llamada D+ (D plus) y D- (D menos).

El anfitrión es responsable de las siguientes tareas:

1. Detectar conexión y extracción de dispositivos USB

2. Proporcionar y administrar energía para los dispositivos conectados

3. Monitorear la actividad en el autobús y comenzar el proceso de enumeración.

4 . Gestione el flujo de datos entre el host y los dispositivos.

Imagem esquemática mostrando vários dispositivos conectados ao USB

Figura 2: Imagen esquemática que muestra varios dispositivos conectados a USB

Cuando hablamos de transferencia de datos a través de USB, siempre utilizamos el punto de vista del anfitrión como referencia. Por ejemplo, si hay una transferencia IN, significa que el host recibirá los datos. Una transferencia OUT significa que el host transmitirá datos.

Comunicación USB Parte I (tubos y terminales)

CONCEPTO DEL TUBO Y PUNTO FINAL

Los puertos se utilizan para conectarles dispositivos periféricos como ratones, teclados o dispositivos de audio. A cada dispositivo se le asigna una dirección específica utilizada durante el proceso de comunicación por parte del host. Estos dispositivos están conectados al concentrador raíz y, a su vez, al host mediante tuberías. Una tubería es una conexión lógica entre el host y el punto final y el software del cliente la utiliza para transferir datos. Define varios parámetros, como la dirección del flujo de datos, la longitud del ancho de banda asignado al dispositivo y el tipo de transferencia que se producirá. Hay dos tipos de canales en USB: uno es el canal de transmisión y el otro es el canal de mensajes.

· Tubos de flujo : son tubos de comunicación unidireccionales que se utilizan para la mayoría de las transferencias de datos. Estas tuberías no tienen un formato USB definido. Podemos enviar cualquier tipo de datos por un extremo y recuperarlos por otro extremo. Los datos fluyen secuencialmente y tienen una dirección predefinida, DENTRO o FUERA. Los tubos de flujo admiten transferencias masivas, isócronas y de interrupción y están controlados por el host o el dispositivo.

· Canales de mensajes : son canales de comunicación bidireccionales y se utilizan únicamente para enviar/recibir mensajes cortos. Estos tubos tienen un formato USB definido. Están controlados por el host y se inician mediante una solicitud enviada por el host. Los datos se transfieren en la dirección deseada según la solicitud. Sólo admiten transferencias de control.

Una vez que comprendamos los canales, aprenderemos sobre los distintos tipos de transferencia de datos. Dependiendo del tipo de datos debemos decidir qué tipo de tubería utilizar.

Hay cuatro tipos diferentes de transferencia de datos USB.

1. Transferencia de control – Se utiliza para enviar comandos a dispositivos para realizar consultas. Esta transferencia utiliza canales de mensajería.

2. Transferencias interrumpidas : se utiliza para enviar pequeñas cantidades de datos que requieren un retraso mínimo garantizado. Utiliza tubos de flujo.

3. Transferencia masiva : se utiliza para transferir grandes cantidades de datos sin garantía de tiempo y utiliza Stream Pipes.

4. Transferencias isócronas : se utiliza para transferir datos que requieren una velocidad de entrega fija, ya que es capaz de tener un ancho de banda de bus fijo y carece de corrección de errores. Como no hay corrección de errores, no hay retrasos en la transferencia de datos. Estas transferencias utilizan tuberías Stream.

Uma visão geral da comunicação USB

Fig. 3: Descripción general de la comunicación USB

Entre el dispositivo y el host hay un búfer direccionable que se conoce como punto final. Un punto final es un terminal eléctrico que generalmente consta de un conjunto de registros de memoria que almacena temporalmente datos en dispositivos periféricos USB al momento de la entrada o salida. Un terminal almacena datos recibidos del host y mantiene los datos que se transmitirán al host. Un dispositivo USB puede tener múltiples terminales y cada terminal tiene un canal asociado. Se accede a cada terminal con una dirección de dispositivo asignada por el host y un número de terminal asignado por el dispositivo. Los puntos finales suelen venir en pares, por ejemplo, Punto final 1 de entrada y Punto final 1 de salida. Un conjunto de puntos finales, Punto final 0 de entrada. Es La salida del punto final 0 siempre está activada y se utiliza para comandos básicos a todos los dispositivos USB.

Imagem mostrando a relação entre host USB e dispositivos

Figura 4: Imagen que muestra la relación entre el host USB y los dispositivos

La siguiente figura muestra todo el sistema USB. Intentemos comprender qué sucede exactamente cuando se conecta un dispositivo periférico al puerto USB y cuáles son los procesos que ocurren entre el host y el dispositivo periférico.

Diagrama de blocos mostrando o sistema USB completo

Figura 5: Diagrama de bloques que muestra el sistema USB completo

Comunicación USB Parte II

ADJUNTAR EVENTO

Cuando se conecta cualquier dispositivo al puerto USB de la PC, este, a su vez, se conecta al concentrador raíz. Esto se conoce como evento de conexión y la eliminación del dispositivo se conoce como evento de desconexión. El concentrador raíz detecta el dispositivo mediante el monitoreo de los voltajes del puerto. Un concentrador tiene una resistencia desplegable en las líneas D+ y D-. En la condición inicial, D+ y D- tienen el mismo potencial de 0 V debido a las resistencias de 15 kohm que se encuentran en el lado del host. Ahora, cuando se conecta un cable, una resistencia pull-up está en D+ o D- según lo especificado por el fabricante del dispositivo, por lo que si se detecta un cambio de voltaje en la línea D-, entonces es un dispositivo de baja velocidad y el cambio de voltaje está en D+, es un dispositivo de alta velocidad. Una vez detectada la velocidad se inicia el proceso de ENUMERACIÓN.

NUMERACIÓN- Es un proceso mediante el cual el host asigna una dirección a cada dispositivo periférico que permite la comunicación con dispositivos USB.

El proceso de enumeración se puede dividir en 2 fases: Fase 1 , donde el host aprende sobre el dispositivo recién llegado leyendo los descriptores y carga el controlador de dispositivo apropiado y FASE 2, donde el controlador del dispositivo configura el dispositivo y lo prepara para la transferencia de datos .

PASO 1-ASIGNACIÓN DE DIRECCIONES

El host reconoce el dispositivo recién conectado a través de cambios en el voltaje del puerto. A todos los dispositivos en el bus USB se les asignará una dirección de host única. Pero cuando cualquier dispositivo comienza a comunicarse con el host, siempre comienza a comunicarse utilizando la dirección 00H. Un terminal de dispositivo es una parte de un dispositivo USB con dirección exclusiva que es una fuente o un sumidero de información.

Después de que el host recopila la información inicial sobre el dispositivo, envía una solicitud al concentrador para restablecer el dispositivo recién conectado. Esto se hace tirando de las líneas D+ y D- al suelo. Mantener estas líneas bajas durante más de 2,5 nudos provoca la condición de reinicio. El concentrador mantiene este estado de reinicio durante 10 ms. Se asigna una nueva dirección a cada dispositivo periférico una vez que se sale del estado de reinicio y el dispositivo responde a la solicitud del host mediante transferencias de control a través de la dirección 00h. Los dispositivos USB se enumeran de forma secuencial en lugar de simultáneamente.

ETAPA 2- RECOPILACIÓN DE INFORMACIÓN DE DESCRIPTORES

En la siguiente parte, el host comienza a aprender más sobre el dispositivo utilizando descriptores de dispositivo. La información sobre un dispositivo USB se almacena en segmentos de su ROM (memoria de solo lectura). Cada vez que se conecta un periférico, el host solicitará una serie de estructuras de datos del dispositivo que le informarán de sus capacidades. Estas estructuras de datos se denominan "descriptores". Hay cuatro tipos de descriptores en USB, cada uno con una función específica. La siguiente figura ofrece una imagen clara de los descriptores.

Uma análise mais detalhada dos descritores USB

Figura 6: Una mirada más cercana a los descriptores USB

De la figura anterior tenemos el descriptor del dispositivo, el siguiente es el descriptor de configuración, seguido de la interfaz y, por último, el descriptor del punto final. Por lo tanto, después del descriptor de dispositivo, el host solicita el descriptor de configuración, el descriptor de interfaz y el descriptor de punto final. Cada uno de estos descriptores contiene información necesaria para la comunicación entre el host y los dispositivos periféricos, como se describe a continuación.

Descriptores de dispositivos : contienen información general sobre el dispositivo que es globalmente aceptada y común en todas partes. Un dispositivo USB sólo puede tener un descriptor de dispositivo. Por ejemplo, cuando se conecta una cámara al puerto USB, los descriptores del dispositivo enviarán información del host, como la especificación USB, los protocolos admitidos, la identificación del proveedor, la identificación del PIN, la cantidad de configuraciones que un dispositivo puede adoptar y el número de serie si es un regalo.

Descriptores de configuración : considere un dispositivo periférico multifuncional, como una cámara de video con un micrófono interno. A veces simplemente usamos una cámara de video, como cuando hacemos clic en fotos, o usamos un micrófono para grabar sonido. En alguna otra situación en la que nos interese la grabación de vídeo utilizaremos cámara y micrófono. Ambas disposiciones tendrán diferentes requisitos para su funcionamiento y se denominan configuraciones. La primera configuración requiere menos energía y la segunda requerirá más energía. Este es sólo un ejemplo de dónde hay diferentes configuraciones en un solo dispositivo; Puede haber otros dispositivos que tendrán otra configuración. Una configuración puede verse como una colección de recursos periféricos. Por lo tanto, los descriptores de configuración especifican valores como la cantidad de energía que utiliza una configuración determinada, en segundo lugar, si es autoalimentada o alimentada por bus, y el número máximo de interfaces involucradas.

· Descriptores de interfaz – Con el mismo ejemplo de un dispositivo multifuncional como una cámara de video con micrófono interno, podemos tener tres configuraciones alternativas.

Cámara activada

Micrófono encendido

Cámara y micrófono activados.

Cada una de estas configuraciones diferentes está presente en tres interfaces diferentes. El grupo de puntos finales forma una interfaz. Una interfaz puede agrupar cero, uno o varios puntos finales. Ya sabemos que los puntos finales son registros de memoria temporales que almacenan información sobre el dispositivo. Los puntos finales de cada interfaz almacenarán diferentes tipos de información específica de esa configuración. El descriptor de interfaz especifica la cantidad de puntos finales requeridos por un recurso de dispositivo.

Descriptores de punto final : los descriptores de punto final contienen información sobre la dirección de E/S (IN, que es del dispositivo al host o OUT, que es del host al dispositivo), el tipo de transferencia (Control, Masiva, Interrupción o Isócrona) y el tamaño de paquete máximo admitido. Los dispositivos publican descriptores de puntos finales para permitir a los clientes consultar qué puntos finales están disponibles y qué características tienen.

ASIGNAR Y CARGAR EL CONTROLADOR DEL DISPOSITIVO

Una vez que el host ha recopilado toda la información sobre el dispositivo, necesita cargar un controlador de dispositivo para comunicarse correctamente con los dispositivos periféricos. El controlador del dispositivo es un programa de ordenador que opera o controla un tipo específico de dispositivo conectado a una computadora. Un conductor normalmente se comunica con el dispositivo al otro lado de autobús de la computadora al que se conecta el hardware. Cuando se llama a un programa para ejecutar un dispositivo periférico específico, el controlador emite comandos al dispositivo. Después de que el dispositivo envía datos al controlador, el controlador puede iniciar rutinas en el programa original al que se llama. Los controladores dependen del hardware y específico del sistema operativo. Un sistema operativo tiene un amplio grupo de dispositivos de E/S con características similares y utilizará controladores específicos de clase para interactuar con los dispositivos.

Imagem mostrando várias classes de driver

Figura 7: Imagen que muestra varias clases de conductores

Una especificación de clase define funciones que describen cómo se transferirán los datos. También definen el número y tipo de buffers admitidos por la clase. Las clases facilitan el desarrollo de controladores y firmware de dispositivos de forma estandarizada. Los dispositivos USB que comparten muchos atributos o solicitan servicios similares se agrupan en la misma clase.

Si un dispositivo ha sido enumerado previamente, el sistema operativo utiliza su registro para buscar el controlador apropiado. Una vez que se identifica un controlador, el host puede solicitar descriptores adicionales específicos de la clase de dispositivo o solicitar que se reenvíen los descriptores.

Por ejemplo, en el caso de Windows, utiliza sus archivos INF para encontrar una coincidencia para la identificación del producto y la identificación del proveedor de los dispositivos. Uno El archivo INF es un archivo de información de configuración, es un archivo de texto simple utilizado por Microsoft Windows para instalar software y controladores. El dispositivo también puede publicar números de versión que se pueden utilizar opcionalmente. Si Windows no puede encontrar una coincidencia, mira el controlador desde una perspectiva diferente, buscando una coincidencia con las clases, subclases y protocolos recuperados del dispositivo.

CARGANDO EL SOFTWARE DE LA APLICACIÓN

Una vez que se carga el controlador específico, comienza el intercambio de datos entre el host y el dispositivo periférico. Se puede utilizar software de aplicación asociado con un tipo específico de dispositivo para mejorar el rendimiento del dispositivo. Software de gráficos, reproductores multimedia y software empresarial son algunos ejemplos de software de aplicación.

Cables y Conectores

Cable USB y conectores

Desde una perspectiva externa, el USB tiene dos componentes: cables y conectores. Estos conectores conectan dispositivos a un host. Un cable USB consta de varios componentes protegidos por una funda aislante. Debajo de la chaqueta hay un escudo externo que contiene una trenza de cobre. Dentro del blindaje externo hay varios cables: un cable de drenaje de cobre que es un par de cables trenzados, un cable VBUS (rojo) y un cable de tierra (negro). Un escudo interno hecho de aluminio contiene un par trenzado de cables de datos.

Vista em corte transversal de cabos e conectores USB

Figura 8: Vista transversal de cables y conectores USB

Hay un cable D+ (verde) y un cable D- (blanco). En dispositivos de alta velocidad y alta velocidad, la longitud máxima del cable es de 5 metros. Para aumentar la distancia entre el host y un dispositivo, debe utilizar una serie de concentradores y cables de 5 metros. Aunque existen cables de extensión USB en el mercado, usarlos para superar los 5 metros va en contra de la especificación USB. Los dispositivos de baja velocidad tienen especificaciones ligeramente diferentes. La longitud del cable está limitada a 3 metros y los cables de baja velocidad no necesitan ser de par trenzado como los cables de datos de par trenzado USB. El bus de voltaje proporciona un suministro constante de 4,40 V a 5,25 V a todos los dispositivos y las líneas de datos proporcionan hasta 3,3 V. La razón para utilizar la señal diferencial D+ y D- es rechazar el ruido de señal en modo común. Si el ruido está acoplado al cable, normalmente estará presente en todos los hilos del cable. Al utilizar un amplificador diferencial en el hardware USB interno del host y del dispositivo, se puede rechazar el ruido de modo común.

Ahora avanzamos y aprendemos más sobre los conectores. La siguiente figura muestra los distintos tipos de conectores.

Visão geral de várias portas USB

Figura 9: Descripción general de varios puertos USB

Hay muchos tipos diferentes de puertos y conectores USB disponibles. La conexión ascendente siempre usa un puerto y conector Tipo A, mientras que el dispositivo usa puertos y conectores Tipo B Inicialmente, la especificación USB incluía solo los conectores Tipo A y Tipo B más grandes para dispositivos, pero luego incluyó conexiones Mini y Micro. Estos conectores Mini y Micro se desarrollaron inicialmente para USB On-the-Go, que es una especificación USB que permite que dispositivos que normalmente actuarían como esclavos se conviertan en hosts, pero luego se adoptaron en dispositivos debido a su tamaño más pequeño en comparación con el tipo B.

1. Tipo A: se utiliza para conectar el cable al dispositivo host, también conocido como extremo ascendente. Tienen forma plana y cuatro conexiones en línea.

dos. Tipo B: se utiliza para conectar el cable al dispositivo periférico y también se conoce como extremo descendente. Tienen forma cuadrada y tienen dos conexiones a cada lado del centro.

Não consegui entender a imagem

Figura 10:

Tabla de descripción de conectores tipo Micro A y Micro B.

Beneficios del USB

BENEFICIOS DEL USB

El USB aporta beneficios a todos. Ayuda a llegar al consumidor de PC básico al superar las barreras de usabilidad mediante una sencilla instalación de periféricos. El usuario final tiene una experiencia más gratificante y productiva.

A continuación se muestra una tabla de las características actuales que ofrece USB:

Tabela que descreve o conector tipo Micro A e Micro B

Figura 11: Tabla que describe el conector tipo Micro A y Micro B

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.