Sunteți pe pagina 1din 40

GRUPO SEMILLERO DE BIONANOELECTRNICA

ING. LEWIN LPEZ

JULIO 2009

Problema: falta de flexibilidad en la reconfiguracin de todo computador

MS-DOS
facilidad

Windows 95

PCI
ISA

?
facilidad
1

PCMCIA

USB - Universal Serial Bus: Dispositivo que permite conectar amplia variedad de perifricos fcilmente a computadores, sin reiniciar ni volver a configurar. Los dispositivos con USB se configuran automticamente tan pronto como se han conectado. Se pueden unir dispositivos en una cadena para conectar ms dispositivos.

Sistema de comunicacin entre dispositivos que slo

transmite una unidad de informacin a la vez. Puede trabajar en dos modos (Especificacin 1.1): - 1,5 Mbps (teclados, ratones) - 12 Mbps (CDROM, altavoces)
Compacto: cable de 4 hilos, 2 para datos y 2 para alimentacin Organiza el bus en estructura de rbol
3

Todos los dispositivos tienen un sistema de

configuracin idntico, incluso un mismo driver sirve para varios dispositivos diferentes.

PlugnPlay (conectar y listo): No tenemos que tocar nada en el hardware y todo es configurable por software.

- Apuntan hacia la vista del usuario:


PlugnPlay Hot pluggin No tiene que preocuparse por conflictos IRQ o insertar tarjetas Conectar hasta 127 dispositivos
6

SCSI : velocidad, capacidad de transferencia, 7 dispositivos

Ultra Wide SCSI-2 : 15 dispositivos en cadena, alto costo


Serie: 112,5 KB/s

Paralelo: entre 600 KB/s y 15 MB/s


No son PlugnPlay Lmite de expansibilidad: normalmente 4 ranuras PCI, 4 ISA, 1 AGP, 2 puertos serie y 1 paralelo
7

USB versin 1.0 y 1.1 : conectar perifricos que no

requieran grandes rangos de transmisin ancho de banda (<12 Mbps, tambien con la opcin de transmisiones a 1.5 Mbps) - ratones, teclados, lectores de CD de baja velocidad (x4, x6), unidades de disquete - tarjetas de video, tarjetas de red a 100 Mbps, discos duros USB 2.0 : 30 o 40 veces ms rpido (360 a 480 Mbps) - conexiones a internet de banda ancha, escneres...

USB 3.0 : ???


8

Fcil expansin de perifricos en el PC


Bajo coste para aplicaciones que demanda ms de 12 Mbps Soporte completo para transmisin en tiempo real Flexibilidad de protocolos Cmoda integracin de dispositivos de tecnologa y fabricantes diferentes Posibilitar la produccin de nuevos dispositivos capaces de aprovechar sus ventajas
9

HOST USB:
- Es el computador mismo, concretamente una parte del mismo denominado Controlador USB del Host - Tiene la misin de hacer de interfaz entre el computador y los diferentes dispositivos - Su implementacin es una combinacin software y hardware todo en uno, es decir Firmware.

- Es responsable a nivel hardware dentro del sistema USB de detectar y configurar nuevos dispositivos
- Administra y controla el flujo de datos y de control entre el host y los dispositivos USB.
10

HOST USB:
A nivel de software se encarga de: Enumeracin y configuracin de los dispositivos del sistema. Administracin de control de transferencias de informacin. Administracin avanzada de suministro elctrico a los dispositivos (hasta 500 mA). Administracin de la informacin del bus y los dispositivos USB.
12

A nivel de software: Enumeracin y configuracin de los dispositivos del sistema Administracin de control de transferencias de informacin

Administracin avanzada de suministro elctrico a los dispositivos


Administracin de la informacin del bus y los dispositivos USB
13

FUNCIONES USB: Son todos los dispositivos que pueden conectarse al bus USB, a excepcin de los hubs (ratn, monitor, mdem) Son capaces de recibir y transmitir informacin, ya sea del usuario o de control

Comparten cable y conectores comunes


Pueden ser a la vez nuevos hubs

11

Todo dispositivo USB tiene mismo cable y conector.


Detalles consumo y administracin elctrica transparentes. Plug & Play, Hot plugging y Hot unplugging. Mismo bus para dispositivos lentos y rpidos. Pc identifica y configura dispositivo mientras opera. Bajo coste. Dispositivos no necesitan cable extra de alimentacin.

10 veces ms rpido que los puertos serie tradicionales.


14

Topologia en estrella estratificada piramidalmente.


Cada centro de la estrella es un HUB: dispositivo que, por un lado se conecta a un PC o a otro HUB, y por el otro permite conectar varios dispositivos ms hubs.

Ejemplo: Un monitor USB podria tener 3 conectores para teclado, ratn y altavoces; por su parte, el teclado podria tener otro conector para un joystick, y as sucesivamente.
15

Permite varias conexiones simultaneas.


Un HUB puede conectarse a otro, multiplicando as las conexiones posibles.
Est compuesto por dos partes:

Controlador del hub: supervisa las funciones que desempea un HUB.


Repetidor del Hub: analiza, corrige y retransmite la informacin que llega al HUB hacia los puertos del mismo.
16

Hasta 127 dispositivos en cadena mediante HUBs USB.


Cada dispositivo hasta 5m de cable vs. 1m puerto serie.

Cada dispositivo puede actuar como HUB USB.

Actualmente, los dispositivos del mercado no aprovechan la capacidad de hacer de HUB.

17

18

Conexin punto a punto Las comunicaciones son inicializadas por el root hub La sealizacin es half-duplex No manda el clock, transmisin asncrona, (se manda en la trama) Transmisin empaquetada. Transmisin a 12 MHz, pero muestreo de las seales a 48 MHz (mejora de la calidad).
19

Informacin

Bus inactivo D+ Vel. Alta (12Mbps) D- Vel. Lenta (1,5 Mbps)


20

Sync: sequencia 10101011 , para sincronizar el reloj. El primer byte contiene el Packet Identifier. Diferentes tipos de paquetes. El tamao de la informacin varia de 1 a 1025 bytes.

El final de paquete son dos bits a 00


Protocolo orientado a bit bit stuffing. Codificacin NRZI.
21

22

El Bus Serial Universal (USB) transfiere seales de informacin y energa a travs de 4 cables

23

Dos de los cables se utilizan para la transmisin de datos


Los otros dos (Vbus y GND) son la alimentacin del USB con una diferencia de potencial de +5 voltios (500 mA) Uno de los terminos importantes es el sincronismo

Este sincronismo es transmitido en la misma seal codificada bajo el esquema del NRZI
24

Los cables del USB permiten abarcar distancias desde unos centmetros hasta varios metros Distancia mxima entre USBs: 5 metros Los cables USB tienen protectores de voltaje los cuales al mismo tiempo detectan los nuevos dispositivos conectados
25

Obedece a la especificacin USB V2.0 Soporta comunicacin Low Speed (1.5 Mb/s) y Full Speed (12 Mb/s) compatible con la Maquina de Interfaz Serial (SIE) que permite la comunicacin rpida entre algun Host USB y el PIC. Soporta transferencias de Control, Interrupcin, Iscronas y Masivas Soporta hasta 32 endpoints (16 bidireccional) Acceso dual de 1-Kbyte RAM para USB Incorpora su propio transceiver USB on-chip y un regulador de 3.3V Soporta el uso de transceivers externos y reguladores de voltaje.
26

FSEN: Full Speed UPUEN: Res. Pull-up UTRDIS: Des.Transceiver VM: Entrada DVP: Entrada D+ RCV: Entrada SIE VMO: Salida SIE VPO: Sallida SIE

27

La operacin del modulo USB esta configurado y manejado por 3 registros de control. Asimismo, un total de 19 registros son utilizados para el manejo de las transacciones USB, entre ellos estan:

Registro de Control USB (UCON) Registro de Configuracin USB (UCFG) Registro de Estado de transferencia USB (USTAT) Registro de Direccin del dispositivo USB (UADDR) Registros de Nmeros de Trama (UFRMH:UFRML) Registros de Habilitacin de puntos terminales del 0 al 15 (UEPn)

28

Este tipo de aplicacin que se muestra a continuacin consta de tres partes:

Programacin de la aplicacin para el PIC Programacin de la aplicacin para PC Edicin del Driver suministrado por Microchip

En el sumador se introducen dos nmeros del 00 hasta el 99, luego se envan al PIC en donde se procesar la suma, devolviendo entonces el resultado que se mostrar en la tercera casilla. Por otro lado se tienen los botones, Leds Off, Led Verde On y Led Rojo On, que envan el cdigo correspondiente para cada uno de los casos.

29

PicUSB.h: Este archivo contiene la configuracin del dispositivo USB y los descriptores de:

Configuracin Interfaz Punto Terminal Cadena Dispositivo

pic18_usb.h: Driver del Pic USB del CCS que lo provee Microchip para la serie PIC18Fxx5x

usb_init() - Inicializa la pila USB y los perifericos. Habilita las interrupciones. Prototipo: usb_init(); usb_init_cs() - Es mas pequeo que usb_init() y no engancha las unidades al bus USB, ni habilita las interrupciones. Prototipo: usb_init_cs(); usb_put_packet() - Enva un paquete a el Host. Prototipo: usb_put_packet(endpoint,*ptr,len,toggle);

30

usb_kbhit() - Retorna TRUE si el punto terminal de salida contiene un dato de el Host. Prototipo: usb_kbhit(endpoint); usb_get_packet() Obtiene un paquete de el Host. Prototipo: usb_get_packet(endpoint,*ptr,max); usb_detach() Desengancha USB del sistema. Prototipo: usb_dettach(); usb_attach() Engancha USB a el sistema Prototipo: usb_attach();

usb_attached() - Retorna TRUE si el dispositivo esta enganchado a el cable USB Prototipo: usb_attached();
usb_task() Habilita los perifricos y luego habilita las interrupciones Prototipo: usb_task();

31

USB.c: handles usb setup tokens and get descriptor reports.

usb_enumerated() Retorna TRUE si el dispositivo ha sido enumerado por el Host, FALSE si no lo ha sido. Prototipo: usb_enumerated() ; usb_wait_for_enumeration() Se mantiene en una lazo infinito hasta que el dispositivo sea enumerado. Prototipo: usb_wait_for_enumeration(); usb_puts() Envia mltiples paquetes mensaje a el Host. Prototipo: usb_puts(endpoint, *ptr, len, timeout);

usb_gets() Recibe mltiples paquetes de el Host. Prototipo: usb_gets(endpoint, ptr, max, timeout);

32

USB.h: Se encuentran los prototipos y las definiciones usados por el driver del compilador CCS.

USB_MAX_EP0_PACKET_LENGTH (num) Tamao mximo del paquete para el Endpoint 0. USB_EPx_RX_ENABLE (Tipo de transferencia) RX (PC a el dispositivo) Tipos de transferencias:

USB_ENABLE_CONTROL USB_ENABLE_ISOCHRONOUS USB_ENABLE_BULK USB_ENABLE_INTERRUPT USB_ENABLE_DISABLED

USB_EPx_RX_SIZE (non 0) Espacio de memoria reservado para la recepcin de paquetes. USB_EPx_TX_ENABLE (Tipo de transferencia) TX (dispositivo a el PC). USB_EPx_TX_SIZE (non 0) Espacio de memoria reservado para la transmisin de paquetes.

33

Al conectar el dispositivo USB al PC, se enciende el Led Rojo hasta que el dispositivo halla sido configurado por el PC, en ese momento se enciende el Led Verde. Espera hasta que reciba un paquete proveniente del PC, de este paquete se comprueba que el primer byte recibido (MODO) sea 0 o 1. Si es 0 entra al modo Suma, donde se realizar una suma de dos operandos, que correspondern a los dos bytes restantes del paquete recibido, una vez realizada la suma enviaremos el paquete con el resultado de vuelta al PC. Si es 1 entra al modo Led, se comprueba el segundo byte del paquete recibido y se verifica si se deben apagar los leds, encender el rojo o el verde.

34

La API del host se entrega en forma de libreras de enlace dinmico para Windows (DLL). La interfaz DLL del host se comunica con el dispositivo a travs del driver instalado y de la pila USB del sistema.

o o

MPUSBGetDLLVersion: Obtiene el nivel de revisin de la mpusbapi.dll DWORD_MPUSBGetDLLVersion(); MPUSBGetDeviceCount: Retorna el num. de dispositivos conectados (VID & PID). VID = 0x04d8 (Microchip) MPUSBGetDeviceCount(string pVID_PID);

35

MPUSBOpen: Retorna el handle del endpoint que coincida con VID & PID Instance (Input) pVID_PID (Input) pEP (Input) dwDir (Input) void*_MPUSBOpen(DWORD instance, string pVID_PID, string pEP, DWORD dwDir, DWORD dwReserved);

MPUSBRead: Recibe en un buffer los datos ledos y el tamao desde buffer Handle (Input) pData (Output) dwLen (Input) pLength (Output) dwMilliseconds (Input) DWORD_MPUSBRead(void*handle, void*pData, DWORD dwLen, DWORD*pLength, DWORD dwMilliseconds);

36

MPUSBWrite: Enva los datos y el tamao hacia el buffer Handle (Input) pData (Input) dwLen (Input) pLength (Output) dwMilliseconds (Input) DWORD_MPUSBWrite(void*handle, void*pData, DWORD dwLen, DWORD*pLength, DWORD dwMilliseconds); MPUSBClose: Cierra el handle correspondiente. bool_MPUSBClose(void*handle);

37

El USB permitir reducir costes de los perifricos ya que no requiere tarjetas adicionales ni transformadores de energa Sigue una especificacin orientada a la comodidad de los usuarios y a la facilidad del manejo por personas sin formacin tcnica Con la introduccin del USB se consigue que las computadores tengan acceso a la instalacin de perifricos de forma segura y rpida

38

Internet www.microsoft.com/hwdev/usb/ www.lvr.com/usb.htm Libros USB Complete (Second edition) Jan Axelson Ed.Lakeview Research USB design by example a practical guide to building I/O devices John Hyde
39

S-ar putea să vă placă și