Está en la página 1de 18

Introduccin y Caracteristicas

Creado en los 90 por varias empresas Varias tasas de transferencia segn la aplicacin Unificacin de conectores Intercambios de datos punto a punto entre un Host y un esclavo Posibilidad de conectar hasta 127 dispositivos mediante hubs Auto deteccin y configuracin (Plug & Play) Alimentacin propia Tres tipos de velocidades: Baja (Low Speed) 1.5 Mb/s

Media (Full Speed) 12 Mb/s Alta (High Speed) 480 Mb/s

Caracteristicas
USB 1.0 - Primera version velocidad 1.5 Mbps y 12Mbps.
USB 1.1 Aade detalles y ajustes a la version 1.0

USB 2.0 - Bsicamente, USB 2.0 incluye todo lo que


ofrece USB 1.1 y aade el modo de alta velocidad de hasta 480 Mbps.

USB OTG - USB OTG o "USB-On-The-Go" es un variacin de la


especificacin USB 2.0 que permite a un slo puerto actuar como servidor o como dispositivo, ms concretamente permitira comunicarse a todo tipo de unidades con USB directamente entre ellas sin la necesidad de Computador.

Formatos de Transferencia
CONTROL: Configuracin y envi de comandos. Sin prdida de datos. Ej.: Enumeracin BULK: Se usa para grandes cantidades de informacin, sin prdida de datos, no garantiza latencia. Utilizado en Impresoras, Pendrive, etc. Solo en media y alta velocidad. INTERRUPCION: Pequeos paquetes de datos a gran velocidad. Verificacin de datos y latencia asegurada Atencin peridica. Teclados, mouse, etc.

ISCRONAS: Seales de audio y video comprimido en tiempo Real. Tasa de velocidad de transmisin Fija y latencia asegurada.

Enumeracin
Al conectar un dispositivo USB al host se realiza el proceso de enumeracin, que consiste en captar informacin del dispositivo. Esta informacin est ubicada en los llamados descriptores. Algunos de estos datos son: PID, VID, consumo, tipo de transferencia, versin USB, clase utilizada, endpoints, entre otros. El Vendor ID (VID) y el Product ID (PID) son nmeros de 16bits que identifican cada producto USB. Cada PID y VID es nico, son registrables.

Endpoint y Pipes
Los endpoint son simplemente buffer de memoria RAM que son utilizados para el envo y recepcin de datos durante una comunicacin USB. Cada endpoint puede ser de entrada o de salida. El endpoint 0 est reservado para comandos de control, como el proceso de enumeracin. Este concepto solo se aplica al dispositivo, en el host existen tambin buffer para el envo y recepcin de datos pero no se les denomina con este nombre.

Un Pipes es una conexin lgica entre un endpoint y el software del controlador del host que se produce tras el proceso de enumeracin.

Clases
La especificacin USB define informacin de clase a la identificacin de la funcionalidad de un dispositivo. La especificacin USB provee de muchas clases para facilitar distintos desarrollos. Las clases utilizadas con Microcontroladores son: HID (Human Interface Device): ideada para dispositivos como mouse, teclados, etc. Media velocidad. Transferencias control e interrupcin. No necesita driver especifico. MSD (Mass Storage Device): dispositivos de almacenamiento masivo como discos duros, memorias flash, etc. Se usa con dispositivos en media y alta velocidad. Transferencia tipo Bulk o combinadas entre Bulk, control e interrupcin. No necesita drivers.

Clases
CDC (Communications device class): este tipo de clase es comn en mdems. El funcionamiento es generando un puerto serie virtual en el host. Transferencias tipo Interrupcin y bulk. Facilidad de desarrollos en host. Son necesarios Drivers.

Custom Class: Esta clase tiene la particularidad de que no se parece a ninguna de las otras. Es totalmente personalizada. Se trabaja manejando drivers del sistema operativo. Utilizada por ICD2 y ICD3 de Microchip.

Drivers y Ejemplos
Microchip ofrece sus drivers para los distintos tipos de clases de comunicacin, estos los podemos encontrar instalando el paquete Microchip Solutions el cual se puede descargar de el siguiente enlace: www.microchip.com/mal

Usando el compilador PICC de la empresa CCS se pueden encontrar algunos ejemplos de las distintas clases de comunicacin en C:\...\PICC\Examples

Hardware USB

Hardware USB

USB en los Pic

USB en los Pic

Placa evaluacin USB

Bootloaders
En los Microcontroladores un bootloader es un programa residente en memoria que facilita la carga de programas sin la necesidad de un programador.
Mapa de Memoria sin Bootloader Mapa de Memoria con Bootloader

Bootloaders
Tipos de bootloaders Segn su comunicacin: Serie, Usb, I2C, SPI, etc. Segn su ubicacin: Alto o bajo
Ventajas Facilidad de carga de nuevos programas con facil acceso No necesita un programador Abaratar costos Desventajas Uso de memoria en el Microcontrolador Latencia

Placa Desarrollo PIC18F4550