Actualizado el 21 de Noviembre del 2020 (Publicado el 14 de Enero del 2017)
983 visualizaciones desde el 14 de Enero del 2017
525,7 KB
39 paginas
Creado hace 14a (27/05/2009)
Periféricos Interfaces y Buses
UNIVERSIDAD
DE CANTABRIA
I. Arquitectura de E/S
II. Programación de E/S
III. Interfaces de E/S de datos
Interfaces de comunicaciones serie (RS-232, USB, Firewire). Interfaz
paralelo. Modelo de programación de dispositivos con las interfaces
descritas.
IV. Dispositivos de E/S de datos
V. Buses
VI. Controladores e interfaces de dispositivos de almacenamiento
VII. Sistemas de almacenamiento
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
8
© J. Javier Gutiérrez
27/ma/09
Interfaces de E/S de datos
Bloque II
• Bus USB
• Programación del bus USB
• Firewire
1
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
2
Introducción al bus USB
UNIVERSIDAD
DE CANTABRIA
El USB (Universal Serial Bus) es una red para la conexión de
periféricos
• no tiene una topología de bus al uso con arbitrio y estructura de
maestro/esclavo, o con resolución de colisiones en un bus al
que cualquiera puede acceder en cualquier instante (CSMA)
• se parece más a una topología de paso de testigo en estrella
-
tiene una arquitectura en árbol en el que las hojas representan a los
periféricos
- necesita usar hubs para la conexión de los periféricos
- sólamente hay un host por bus para controlarlo
- el host es responsable de realizar todas las transacciones y
planificar el ancho de banda
- esta topología permite desconectar a un dispositivo si falla sin
afectar a los demás
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
3
Introducción al bus USB (cont.)
UNIVERSIDAD
DE CANTABRIA
Algunas características del bus USB:
• el USB 1.1 dispone de dos especificaciones de la interfaz del
controlador
- UHCI - Universal Host Controller Interface desarrollada por Intel
- OHCI - Open Host Controller Interface desarrollada por Compaq,
Microsoft y National Semiconductors
• la especificación del USB 2.0 es única y ha sido desarrollada por
Intel, Compaq, NEC, Lucent y Microsoft
- EHCI - Enhanced Host Controller Interface
• velocidades de comunicación
- 480 Mbps (High Speed) versión 2.0
- 12 Mbps (Full Speed) versión 1.1
- 1.5 Mbps (Low Speed) versión 1.1
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
4
Introducción al bus USB (cont.)
UNIVERSIDAD
DE CANTABRIA
• admite hasta 127 dispositivos por controlador
- si se necesitan más se pueden añadir más controladores
• longitudes de cable de hasta 5 metros
• usa 4 cables apantallados
- alimentación (5 V) y tierra
- un par trenzado por el que va la señal diferencial con los datos
• usa una codificación NRZI (Non Return to Zero Invert) en el
envío, con un campo que sincroniza el host con los relojes de
recepción
- en NRZI un 1 se identifica por el mantenimiento de la señal y un 0
por el cambio de nivel
- una secuencia de ceros produce un cambio de nivel en cada tiempo
de bit y una secuencia de unos un nivel constante
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
5
Introducción al bus USB (cont.)
UNIVERSIDAD
DE CANTABRIA
• soporta la carga y descarga dinámica de drivers
- el host detecta la presencia del dispositivo
-
la carga del driver apropiado se hace mediante la identificación de
los parámetros PID/VID (Product ID/Vendor ID)
• dispone de varios modos de transferencia incluyendo uno con
ancho de banda garantizado
• dispone de varios tipos de conectores, para los tipos A y B
Pin
Cable
Función
Rojo
Blanco
Verde
Negro
VBUS (5 V)
D-
D+
GND
1
2
3
4
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
6
Introducción al bus USB (cont.)
UNIVERSIDAD
DE CANTABRIA
Características eléctricas para Low Speed y Full Speed
• en transmisión
- un 1 diferencial se consigue con D+ por encima de 2.8 V y D- por
- un 0 diferencial se consigue con D- por encima de 2.8 V y D+ por
debajo de 0.3 V
debajo de 0.3 V
• en recepción
- un 1 diferencial es D+ 200 mV mayor que D-
- un 0 diferencial es D+ 200 mV menor que D-
• un dispositivo USB puede especificar el consumo de potencia
en unidades de 2 mA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
7
Introducción al bus USB (cont.)
UNIVERSIDAD
DE CANTABRIA
Suspensión
• un dispositivo entra en modo de suspensión si no tiene
actividad en el bus por un tiempo de 3 ms
• la corriente que consume en este caso está limitada a 500 μA por
unidad de consumo
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
8
Protocolo USB
UNIVERSIDAD
DE CANTABRIA
A diferencia de interfaces como la RS-232 que sólo envía bytes, el
USB dispone de protocolos con varios niveles
Todas las transacciones de datos las inicia el host
La mayoría de las transacciones USB constan de
• un paquete de testigo
- enviado por el host para describir si se trata de una lectura o una
escritura y cuál es el dispositivo con el que se va a comunicar
• un paquete de datos opcional
• paquete de estado
- para reconocer la transacción (si los datos o el testigo se han
recibido correctamente, o reportar el error)
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
Protocolo USB (cont.)
9
UNIVERSIDAD
DE CANTABRIA
El modelo de transferencia de datos entre el host y un endpoint
(dispositivo) se denomina pipe (tubería), y puede ser de dos tipos:
• stream: los datos no tienen una estructura definida
• mensaje: los datos tienen una estructura definida
A las tuberías en tiempo de configuración del dispositivo se les
asocia:
• el ancho de banda
• el tipo de servicio
• las características del endpoint
- direccionalidad
-
tamaño de los buffers
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
10
Protocolo USB (cont.)
UNIVERSIDAD
DE CANTABRIA
Otras características del protocolo:
• Robustez incorporando mecanismos de detección y corrección
de errores
• El bus USB soporta que un dispositivo se conecte o desconecte
en cualquier instante
- el software debe soportar estos cambios en caliente
• El bus asigna una dirección única a los dispositivos conectados
(la asignación de direcciones es una actividad dinámica)
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
Protocolo USB (cont.)
11
UNIVERSIDAD
DE CANTABRIA
Tipos de datos del protocolo:
• Control: usados para configurar un dispositivo en el momento
en el que se conecta y para otras actividades específicas del
dispositivo
• Bulk: usado para datos generados o consumidos relativamente
grandes y a ráfagas
• Interrupt: para transmisión temporizada y fiable de datos
• Isochronous: utiliza un ancho de banda garantizado
previamente negociado (también llamado streaming real time
transfers)
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
12
Dispositivos USB
UNIVERSIDAD
DE CANTABRIA
Los dispositivos se dividen en clases como hubs, interfaces
humanas, impresoras, dispositivos de imagen, o dispositivos de
almacenamiento
Sin embargo, hay una división fundamental en dos clases:
• hubs
- permiten la conexión de otros dispositivos
• functions
- dispositivo capaz de recibir o transmitir información de datos o de
control
- aquí están todos los dispositivos
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
Dispositivos USB (cont.)
13
UNIVERSIDAD
DE CANTABRIA
Todos los dispositivos tienen una dirección en el bus, y puede
soportar una o más tuberías con las que se comunican con el host
En particular todo dispositivo debe soportar una tubería en el
endpoint 0 a través de la cual se puede controlar y que lleva los
siguientes tipos de información asociados:
• Standard: información común a todos los dispositivos
-
identificador del fabricante, clase de dispositivo, capacidad de
control de la energía
- descripciones de dispositivo, configuración, interfaz USB y
endpoint
• Class: información dependiente de la clase
• USB Vendor: información dependiente del fabricante
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
14
Interfaces de E/S de datos
UNIVERSIDAD
DE CANTABRIA
Bloque II
• Bus USB
• Programación del bus USB
• Firewire
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
Drivers USB
15
UNIVERSIDAD
DE CANTABRIA
El núcleo de Linux soporta dos tipos de drivers USB:
• drivers de host
- control desde el punto de vista del host (computador)
• drivers de dispositivo
- control desde el punto de vista del dispositivo
- para algunos sistemas empotrados
- para distinguirlos se llaman también USB gadget drivers
Linux soporta los drivers del primer grupo (host) mediante un
subsistema llamado USB Core que maneja la mayor parte de la
complejidad asociada al bus USB
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
16
Estructura de drivers USB
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
[2]
17
Estructura de dispositivos USB
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
[2]
18
Endpoints
UNIVERSIDAD
DE CANTABRIA
Soporta la comunicación más básica en el bus USB:
• lleva datos en una sola dirección
- out endpoint: del computador al dispositivo
-
in endpoint: del dispositivo al computador
• se puede pensar como una tubería unidireccional
• puede ser de uno de tipos de datos USB
- Control
-
Interrupt
- Bulk
-
Isochronous
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
27/ma/09
Endpoints (cont.)
19
UNIVERSIDAD
DE CANTABRIA
Normalmente control y bulk se usan para transferencias de datos
asíncronas
En camb
Comentarios de: Periféricos Interfaces y Buses - III. Interfaces de E/S de datos Interfaces de comunicaciones serie (RS-232, USB, Firewire) (0)
No hay comentarios