SlideShare una empresa de Scribd logo
1 de 27
IUT Dr. Federico Rivero Palacio   Prof. Servio Córdova
Universal Serial Bus
        Nace en 1994, tras una alianza entre las 4 principales plantas de
         Desarrollo de Hardware y Software (Compaq, Intel, Microsoft,
         NEC). Posteriormente se unieron HP, Lucent y Phillips.
        Originalmente fue creado con las siguientes intensiones:
        Conección del PC al Telefono
        Facilidad de Uso
        Expanción de Puerto
Universal Serial Bus
 Descripción del sistema USB

   El USB es un bus punto a punto: dado que el lugar de partida es el
    host (PC o hub), el destino es un periférico u otro hub. No hay más
    que un único host (PC) en una arquitectura USB.
   Los PC estándar tienen dos tomas USB, lo que implica que, para
    permitir más de dos periférico simultáneamente, es necesario un
    hub. Algunos periféricos incluyen un hub integrado, por ejemplo, el
    teclado USB, al que se le puede conectar un Mouse USB.
   Los periféricos comparten la banda de paso del USB. El protocolo se
    basa en el llamado paso de testigo (token). El ordenados
    proporciona el testigo al periférico seleccionado y seguidamente,
    éste le devuelve el testigo en su respuesta.
   Este bus permite la conexión y la des-conexión en cualquier
    momento sin necesidad de apagar el equipo.
Universal Serial Bus
INTERFAZ FÍSICA
Aspecto eléctrico
A nivel eléctrico, el cable USB transfiere la señal y la alimentación sobre
4 hilos.




A nivel de alimentación, el cable proporciona la tensión nominal de 5 V.
Es necesario definir correctamente el diámetro del hilo con el fin de que
no se produzca una caída de tensión demasiado importante en el cable.
Una resistencia de terminación instalada en la línea de datos permite
detectar el puerto y conocer su configuración (1,5 o 12 Mbits/s).
Universal Serial Bus
A nivel de señal, se trata de un par trenzado con una impedancia
característica de 90 Ω La velocidad puede ser tanto de 12 Mbits/s como
de 1,5 Mbits/s. La sensibilidad del receptor puede ser de, al menos, 200mV
y debe poder admitir un buen factor de rechazo de tensión en modo
común. El reloj se transmite en el flow de datos, la codificación es de tipo
NRZI (non-return to zero inverted), existiendo un dispositivo que genera
un bit de relleno (bit stuffing) que garantiza que la frecuencia de reloj
permanezca constante. Cada paquete va precedido por un campo de
sincronismo.
Universal Serial Bus
Consumo
Cada sección puede proporcionar una determinada potencia máxima
siendo el PC el encargado de suministrar la energía. Además, el periférico
puede estar autoalimentado (self powered).

Control de consumo
El ordenador gestiona el consumo, teniendo capacidad de poner en
reposo (suspend) o en marcha a un periférico USB. En reposo, este reduce
su consumo (si puede),quedándose la parte USB funcional. Esta gestión
está orientada especialmente a los equipos portátiles.
Universal Serial Bus
Tipos de Conectores
Existen 2 Tipos de conectores de USB.
 Conector tipo A, Conector Tipo B.



Asignación los Pines del USB

                     Pin Nº       Nombre          Color
                       1       Vcc (+5 voltios)   Rojo
                       2           Data -         Blanco
                       3           Data +         Verde
                       4       Ground (GND)       Negro
Universal Serial Bus
Asignación los Pines del Mini-USB
Mayormente usado en aplicaciones de
comunicación de dispositivos electrónicos
portables (Celulares, PDA, Cámaras, etc).



                    Pin Nº       Nombre          Color
                      1       Vcc (+5 voltios)   Rojo
                      2           Data -         Blanco
                      3           Data +         Verde
                      4        No Conectado        --
                      5       Ground (GND)       Negro
Universal Serial Bus
Universal Serial Bus
Un dispositivos USB conectado al bus, requiere un controlador completamente
personalizado, o bien pueden pertenecer a una clase de dispositivo. Las
Clases de dispositivos permiten que el mismo controlador de dispositivo pueda
utilizarse para varios dispositivos con funcionalidades similares.
             Clases de los Dispositivos           Descripción              Ejemplo de Dispositivo

                       0x00                        Reservado                         -

                       0x01                    Dispositivo de Audio             Sound Card

                       0x02                Dispositivo de Comunicación            Modem
                                                                                   Fax
                       0x03               Human Interface Dinamic (HID)           Teclado
                                                                                   Mouse
                       0x07                 Dispositivos de Impresión            Impresora

                       0x08               Dispositivo de Alamcenamiento         Memory Card
                                                       Masivo                    Pendrive
                       0x09                      Dispositivo Hub                   Hubs

                       0x0B               Dispositivo Lector de Memorias     Lector de Memorias
                                                    Inteligentes
                       0x0E                   Dispositivos de Video               Webcam
                                                                                  Scanner
                       0xE0                  Dispositivo Inalambrico             Bluetooth
Universal Serial Bus
TERMINOLOGÍA USB

 Host: Dispositivo maestro que inicia la comunicación (Generalmente la
  computadora).
 Hub: Dispositivo que contiene uno o mas conectores o conexiones
  internas hacia otros dispositivos usb, el cual habilita la comunicación
  entre el host y con diversos dispositivos. Cada conector representa un
  puerto USB.
 Dispositivo compuesto: Es aquel dispositivo con múltiples interfaces
  independientes. Cada una tiene una dirección sobre el bus para cada
  interface puede tener un diferente driver device en el host.
 Puerto USB: Cada host soporta solo un bus, cada conector en el bus
  representa un puerto USB por lo tanto sobre le bus puede haber uno o
  varios conectores , pero solo existe una ruta y solo un dispositivo puede
  transmitir información a un tiempo.
Universal Serial Bus
TERMINOLOGÍA USB

 Driver: es un programa         que habilita aplicaciones para poderse
  comunicar con el dispositivo. Cada dispositivo sobre el bus debe tener
  un driver, algunos periféricos utilizan los drivers que trae Windows.
 Puntos terminales (Endpoints): Es una localidad especifica dentro del
  dispositivo. El Endpoint es un buffer que almacena múltiples bytes,
  típicamente es un bloque de la memoria de datos o un registro dentro
  del micro controlador. Todos lo dispositivos deben soportar el punto
  terminal 0. Este punto terminal es el que recibe todo el control y la
  peticiones de estado durante la enumeración cuando el dispositivo esta
  sobre el bus.
Universal Serial Bus
TERMINOLOGÍA USB

 Tuberías (Pipes):   Es un enlace virtual entre el host (la PC) y el
  dispositivo USB, este enlace configura los parámetros asociados con el
  ancho de banda que tipo de transferencia se va a utilizar (Control,
  Bulk, Isocrona o Interrupt) dirección del flujo de datos y el máximo y/o
  mínimo tamaño de los paquetes/buffers.               Cada enlace está
  caracterizado por su banda de paso (Token), su tipo de servicio, el
  número de punto terminal (End Point) y el tamaño de los paquetes.
  Estos enlaces se definen y crean durante la inicialización del USB .
  Siempre existe un enlace virtual 0 que permite tener acceso a la
  información de configuración del periférico USB (estado, control e
  información). La norma USB define 2 tipos de enlaces virtuales (pipe);
  stream y message.
Universal Serial Bus
TERMINOLOGÍA USB

Stream Pipes: se trata de un flujo sin formato USB definido, esto
significa que se puede enviar cualquier tipo de dato. Este tipo de pipe
soporta las transferencias bulk, isocronas, y interrupt. Además tanto el
host como el dispositivo USB pueden controlar.

Message Pipes: este tipo de enlace virtual si tiene un formato USB
definido y solo puede soportar la transferencia Control.
Universal Serial Bus
TIPOS DE TRANSFERECIA

El enlace virtual (pipe) puede ser de cuatro tipos:

Control: Modo utilizado para realizar configuraciones: existe siempre
sobre el Punto terminal 0 (EndPoint 0). Todos los dispositivos USB deben
soportar este tipo de transferencia. Los datos de control sirven para
configurar el periférico en el momento de conectarse al USB. Algunos
drivers específicos pueden utilizar este enlace para transmitir su propia
información de control. Este enlace no tiene pérdida de datos, puesto que
los dispositivos de detección de recuperación de errores están activos a
nivel USB.
Universal Serial Bus
TIPOS DE TRANSFERECIA

Bulk: Este modo se utiliza para la transmisión de importantes
cantidades de información. Como el tipo control, este enlace no tiene
pérdida de datos. Este tipo de transferencia es útil cuando la razón de
transferencia no es critica como por ejemplo , el envió de un archivo a
imprimir o la recepción de datos desde un escáner. En estas aplicaciones,
la transferencia es rápida, pero puede espera si fuera necesario. Solo los
dispositivos de media y alta velocidad utilizan este tipo de transferencia.
Universal Serial Bus
TIPOS DE TRANSFERECIA

Interrupt: modo utilizado para transmisiones de pequeños paquetes,
rápidos, orientados a      percepciones humanas (ratón, punteros). Este
tipo de transferencia son para dispositivos que deben recibir atención
periódicamente y lo utilizan los dispositivos de baja velocidad. Este tipo
de transmisión garantiza la transferencia de pequeñas cantidades de
datos. El tiempo de respuesta no puede ser inferior al valor especificado
por la interfaz. El ratón o cualquier otro dispositivo apuntador es una
aplicación típica de este modo de transmisión.
 Isochronous o Flujo en tiempo real: modo utilizado para la
transmisión de audio o video comprimido. Este tipo de transmisión
funciona en tiempo real. Este es el modo de mayor prioridad. La
transmisión de la voz es un ejemplo de esta aplicación. Si ésta no se
transmite correctamente, pueden llegar a oírse parásitos (glich) y la
aplicación puede detectar ciertos errores de los llamados underruns .
Universal Serial Bus
ENUMERACIÓN

Cuando se conecta un dispositivo USB a la PC se produce el Proceso de
Enumeración, el cual consiste en que el host le pregunta al dispositivo
que se presente y le diga cuales son sus parámetros, tales como:
        • Consumo de energía expresada en unidades de Carga
        • Numero y tipos de Puntos terminales
        • Clase del producto.
        • Tipo de transferencia
        • Razón de escrutinio, etc.
El proceso de enumeración es inicializado por el host cuando detecta
que un nuevo dispositivo que ha sido adjuntado al Bus. El host le asigna
una dirección al dispositivo adjuntado al bus y habilita su configuración
permitiendo la transferencia de datos sobre el bus.
Universal Serial Bus
Universal Serial Bus
         Micro controlador PIC-18F2550
Universal Serial Bus
 Lo que pretendemos en este proyecto es implementar una comunicación bidireccional
  serie, Communications Devices Class, entre el PIC y cualquier Software del PC que
  use un puerto COM Serie estándar pero emulándolo vía USB 2.0 a full speed.
 Vamos a realizar los ajustes necesarios en el Firmware del PIC para que sea reconocido
  por el Windows como un dispositivo Serie estándar y lo registre como un puerto COM
  Virtual. Como intermediario vamos a utilizar un recurso que nos provee Microchip: El
  Driver .inf para Windows mchpcdc.inf.
 Para el firmware vamos a utilizar como base el ejemplo y descriptor USB que trae como
  ejemplos el CCS C, adaptándolo a nuestras necesidades, fundamentalmente darles los
  VID&PID que espera encontrar el driver para Windows.
 Del lado del PC vamos a utilizar los programas que disponemos para monitorizar un
  puerto COM serie estándar: el HyperTerminal de Windows o Siow de CCS C.
 En el PC es imprescindible instalar el Driver Windows mchpcdc.inf para Windows
  XP/Seven que nos ofrece Microchip, que nos va a servir de puente entre estos softwares
  con el canal USB del PC pero emulado como un puerto COM. Este .inf Es quien define
  los VID&PID que vamos a utilizar.
Universal Serial Bus
Como podemos ver en OSC1 y OSC2
conectamos nuestro cristal: 4 Mhz, 8 Mhz, 12
Mhz, 16 Mhz, 20 Mhz, 24 Mhz, 40 Mhz ó 48
Mhz, que son los cristales validos compatibles
con lo que sigue a continuación.

Debemos Tener en cuenta que este cristal es
el mismo para generar la frecuencia de 48 Mhz
necesaria para el USB 2.0 y para el Clock del
PIC, que pueden ser la misma o no, según la
configuración que al final adoptemos, quiere
esto decir que podemos tener el USB a 48
Mhz y nuestro programa en el PIC
funcionando a 12 Mhz por ejemplo.

Observemos que justo tras el Smicht Trigger
del Primary Oscillator salen tres líneas en
paralelo que van a módulos distintos con
distintas posibilidades.

La primera línea, la superior, va directamente
al switch USBDIV que si está a cero indica
que la frecuencia base original del cristal es
directamente inyectada al USB, si pasa el
switch FSEN que elige entre todo el sistema
directo/PLL o el Primary Clock del CPU.
Esta Opción de inyectar directamente la
frecuencia del cristal es obviamente solo
posible si usamos un Cristal de 48 Mhz que es
lo que necesitamos para el USB.
Universal Serial Bus
El módulo USB Clock Source tiene a su
entrada un PLL Prescaler, o sea un divisor de
frecuencia. En cada una de sus salidas vamos
a tener FOSC dividida por 1, 2, 3, 4, 5, 6, 10 ó
12. Y mediante PLLDIV que no es mas que un
Multiplexor vamos a seleccionar la que
deseamos usar.

Así si nuestro cristal es de 12 Mhz y en
PLLDIV colocamos un 010 estaremos
dividiendo por 3 el valor de FOSC con lo que
tendremos 4 Mhz a la salida del MUX. Si por el
contrario el cristal es de 20 Mhz y en PLLDIV
colocamos un 100 entonces dividiremos por 5
FOSC con lo que tendremos también 4 Mhz a
la salida del MUX.

Esta salida del MUX es lo que utilizamos para
inyectársela al PLL de 96 Mhz. Si le metemos
4 Mhz él genera 96 Mhz. Es esta capacidad
de pasar de 4 Mhz a 96 Mhz la que nos da la
posibilidad de usar un montón de cristales
distintos.
Pero 96 Mhz es el doble de lo que nos hace
falta para el USB que son 48 Mhz. Asi que
inmediatamente después tenemos que tener
un divisor por 2 que es el segundo camino
por el que llegamos a USBDIV y en este caso
le pondremos un 1 para usar la señal
proveniente del PLL.
Universal Serial Bus
Observemos que además de inyectar la señal
oscilante en USBDIV también se conecta la
señal del PLL a 96 Mhz en un Postscaler, otro
divisor, en este caso por 2, 3, 4 ó 6 y cuyas
señales van al CPUDIV. O sea que podemos
generar una señal de reloj para nuestro PIC,
no para el USB sino para la velocidad de
ejecución de nuestro programa tomándola del
PLL y que puede ser de 16 Mhz, 24 Mhz, 32
Mhz ó 48 Mhz.

Pero además la señal original llegaba en
paralelo al Oscilator Postcaler, otro divisor
más, que de forma directa, sin pasar por el
módulo PLL nos divide la frecuencia original
del cristal por 1, 2, 3 ó 4 y que también va a
parar al CPUDIV pero desde otro origen. Con
este módulo podemos obtener otra gama de
frecuencias distinta para hacer correr el
programa.

Cual de ambos CPUDIV vamos a utilizar lo
seleccionamos con el switch FOSC3:FOSC0
que es de donde sacaremos la definitiva
frecuencia de ejecución de programas.
Universal Serial Bus
Por último también tenemos disponible una
entrada proveniente del Primary Clock y que
dividida por 4 llega también a FSEN y
podemos utilizarla en lugar de la que le llega
desde el canal directo/PLL.

Es así como podemos ver, que logramos
realizar las diversas configuraciones para
hacer correr nuestro PIC a decenas de
velocidades distintas siendo capaz, al mismo
tiempo de tener disponibles los 48 Mhz
imprescindibles para el USB 2.0.
Universal Serial Bus
VID&PID
El VID es un número de 16 bits que significa Vendor Identification o código que identifica al fabricante del
hardware a conectar. En nuestro caso utilizamos el número 04D8h que identifica a Microchip.

El PID es un número de 16 bits que significa Product Identification o código que identifica al dispositivo en
concreto hardware a conectar. En nuestro caso utilizamos el número 000Bh que identifica a la familia de los PIC18
de este fabricante.

Recordar que la conjunción de estos dos números VID&PID es la que nos va a servir para conectar con el
Driver de Windows XP Cuando el S.O. conecte con nuestro firmware recibirá el VID&PID y buscará entre sus
drivers instalados para encontrar el que corresponde a esta identificación, si no la encuentra nos preguntará sobre
donde ha de buscar un driver adecuado y deberemos indicarle su ubicación. Este driver deberá estar configurado
para conectar con un hardware cuyo VID&PID sea el mismo. No olvidar que el driver para puertos serie ya existe en
Windows, aquí solo debemos darle el enlace con el .inf para que conecte correctamente con el firmware que tiene el
PIC.

                                                   VID: 0x04D8
                                                   PID: 0x000B
Universal Serial Bus
USB_STRING_DESC
La tabla USB_STRING_DESC contiene la descripción del dispositivo detectado por el Driver de Windows XP y que nos va a mostrar en
la correspondiente entrada en la lista del Hardware Instalado en el Sistema.

Consta de dos partes o tablas, la propiamente dicha USB_STRING_DESC que contiene las descripciones requeridas y una tabla
accesoria llamada USB_STRING_DESC_OFFSET            que contiene los offset, o desplazamientos con respecto al inicio de
USB_STRING_DESC en donde se encuentran las correspondientes cadenas. Ambas constan de tres elementos cada una de ellas.

USB_STRING_DESC_OFFSET tiene tres números que indican cada uno de ellos donde comienza el correspondiente dato en la tabla
USB_STRING_DESC. Así un contenido de {0,4,12} nos dice que el primer string comienza en el byte 0, el segundo en el byte 4 y el
tercero se encuentra a partir del byte número 12. Si cambiamos la longitud de cualquiera de los strings deberemos reordenar esta tabla
correspondientemente con solo contar los caracteres y apuntar en esta tabla el número de byte donde comienza cada uno de ellos.

USB_STRING_DESC contiene los tres strings en concreto que deseamos transmitir con el descriptor USB. Cada uno de ellos tiene la
misma estructura que consta de un primer byte que indica la longitud total de la correspondiente cadena, un segundo byte que indica el
tipo de dato que viene a continuación y por último tantos bytes como sean necesarios como contenido del string.

El primer dato de esta tabla es:

4, USB_DES_STRING_TYPE, 0x09, 0x04 que puede leerse como 4 : Longitud en bytes del dato incluido él mismo.
USB_DES_STRING_TYPE que es una constante cuyo valor es 3 y que dice que lo que sigue es un string. Y 0x09, 0x04 que le indica al
Windows que los strings que siguen están escritos en correcto ingles americano (US-English).

Los dos siguientes datos son los dos strings que definen nuestro dispositivo y cuya estructura es idéntica al caso anterior:

8, USB_DES_STRING_TYPE, ‘I‘, 0, ‘U‘, 0, ‘T‘, 0 que define el string el nombre «IUT» de nuestro Hardware. Total 8 bytes ya que «IUT"
se codifica añadiendo un 0x00 tras cada uno de los caracteres.

22, USB_DESC_STRING_TYPE, ‘U‘, 0, ‘S‘, 0, ‘B‘, 0, ‘-‘, 0, ‘R‘, 0, ‘S‘, 0, ‘2‘, 0, ‘3', 0, ‘2‘, 0, ‘.‘, 0 que define el nombre de nuestro
dispositivo como «USB-RS232.»

Más contenido relacionado

La actualidad más candente

Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in EnglishEric Xiao
 
Ethernet Computer network
Ethernet Computer networkEthernet Computer network
Ethernet Computer networkmiteshppt
 
File sharing technlogies
File sharing technlogiesFile sharing technlogies
File sharing technlogiesMary May Porto
 
Physical layer OSI Model & Transmission Media
Physical layer OSI Model & Transmission MediaPhysical layer OSI Model & Transmission Media
Physical layer OSI Model & Transmission MediaMukesh Chinta
 
TCP - IP Presentation
TCP - IP PresentationTCP - IP Presentation
TCP - IP PresentationHarish Chand
 
Network interface card(nic)
Network interface card(nic)Network interface card(nic)
Network interface card(nic)Anurag Tomar
 
Transmission mode
Transmission modeTransmission mode
Transmission modeAJAL A J
 

La actualidad más candente (10)

02 protocol architecture
02 protocol architecture02 protocol architecture
02 protocol architecture
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in English
 
Ethernet Computer network
Ethernet Computer networkEthernet Computer network
Ethernet Computer network
 
File sharing technlogies
File sharing technlogiesFile sharing technlogies
File sharing technlogies
 
Physical layer OSI Model & Transmission Media
Physical layer OSI Model & Transmission MediaPhysical layer OSI Model & Transmission Media
Physical layer OSI Model & Transmission Media
 
Digital to digital
Digital to digitalDigital to digital
Digital to digital
 
TCP - IP Presentation
TCP - IP PresentationTCP - IP Presentation
TCP - IP Presentation
 
networking devices
networking devicesnetworking devices
networking devices
 
Network interface card(nic)
Network interface card(nic)Network interface card(nic)
Network interface card(nic)
 
Transmission mode
Transmission modeTransmission mode
Transmission mode
 

Destacado

Hoscheid_Jessica_Kremer_Charles
Hoscheid_Jessica_Kremer_CharlesHoscheid_Jessica_Kremer_Charles
Hoscheid_Jessica_Kremer_CharlesCKR
 
Globalización
GlobalizaciónGlobalización
GlobalizaciónLicentiare
 
Part3: 15 Idees per millorar la comunicació
Part3: 15 Idees per millorar la  comunicació Part3: 15 Idees per millorar la  comunicació
Part3: 15 Idees per millorar la comunicació Marite Guevara
 
Creación de perfiles en redes sociales: LinkedIn
Creación de perfiles en redes sociales: LinkedInCreación de perfiles en redes sociales: LinkedIn
Creación de perfiles en redes sociales: LinkedInFernando Jerez Hernández
 
Creación de perfiles en las redes sociales: Twitter
Creación de perfiles en las redes sociales: TwitterCreación de perfiles en las redes sociales: Twitter
Creación de perfiles en las redes sociales: TwitterFernando Jerez Hernández
 
SKYPE: TELEFONIA POR INTERNET
SKYPE: TELEFONIA POR INTERNETSKYPE: TELEFONIA POR INTERNET
SKYPE: TELEFONIA POR INTERNETELVAFLORES
 
Instrumento de verdadero y falso 2
Instrumento de verdadero y falso 2Instrumento de verdadero y falso 2
Instrumento de verdadero y falso 2maoa18
 
Elección del juego según sus valores
Elección del juego según sus valoresElección del juego según sus valores
Elección del juego según sus valoresBeki Triz
 
Gatos razas parte 1
Gatos razas parte 1Gatos razas parte 1
Gatos razas parte 1Jess_7
 
Raafa y manolo 3º c
Raafa y manolo 3º cRaafa y manolo 3º c
Raafa y manolo 3º csevillabetis
 
Jurisprudencia y ciencias sociales
Jurisprudencia y ciencias socialesJurisprudencia y ciencias sociales
Jurisprudencia y ciencias socialesvivimei
 
El corazón delator
El corazón delatorEl corazón delator
El corazón delatormjesus79
 
Power point
Power pointPower point
Power pointstefysc
 
Universidad técnica de ambato
Universidad técnica de ambatoUniversidad técnica de ambato
Universidad técnica de ambatovivimei
 

Destacado (20)

Hoscheid_Jessica_Kremer_Charles
Hoscheid_Jessica_Kremer_CharlesHoscheid_Jessica_Kremer_Charles
Hoscheid_Jessica_Kremer_Charles
 
732002
732002732002
732002
 
Globalización
GlobalizaciónGlobalización
Globalización
 
Part3: 15 Idees per millorar la comunicació
Part3: 15 Idees per millorar la  comunicació Part3: 15 Idees per millorar la  comunicació
Part3: 15 Idees per millorar la comunicació
 
Creación de perfiles en redes sociales: LinkedIn
Creación de perfiles en redes sociales: LinkedInCreación de perfiles en redes sociales: LinkedIn
Creación de perfiles en redes sociales: LinkedIn
 
Tdah
TdahTdah
Tdah
 
Creación de perfiles en las redes sociales: Twitter
Creación de perfiles en las redes sociales: TwitterCreación de perfiles en las redes sociales: Twitter
Creación de perfiles en las redes sociales: Twitter
 
SKYPE: TELEFONIA POR INTERNET
SKYPE: TELEFONIA POR INTERNETSKYPE: TELEFONIA POR INTERNET
SKYPE: TELEFONIA POR INTERNET
 
Acta ple 13 de desembre
Acta ple 13 de desembreActa ple 13 de desembre
Acta ple 13 de desembre
 
Instrumento de verdadero y falso 2
Instrumento de verdadero y falso 2Instrumento de verdadero y falso 2
Instrumento de verdadero y falso 2
 
Elección del juego según sus valores
Elección del juego según sus valoresElección del juego según sus valores
Elección del juego según sus valores
 
Gatos razas parte 1
Gatos razas parte 1Gatos razas parte 1
Gatos razas parte 1
 
Raafa y manolo 3º c
Raafa y manolo 3º cRaafa y manolo 3º c
Raafa y manolo 3º c
 
Te amo peru 1
Te amo peru 1Te amo peru 1
Te amo peru 1
 
Jurisprudencia y ciencias sociales
Jurisprudencia y ciencias socialesJurisprudencia y ciencias sociales
Jurisprudencia y ciencias sociales
 
Felolagos
FelolagosFelolagos
Felolagos
 
El corazón delator
El corazón delatorEl corazón delator
El corazón delator
 
Power point
Power pointPower point
Power point
 
Wegschilderingen
WegschilderingenWegschilderingen
Wegschilderingen
 
Universidad técnica de ambato
Universidad técnica de ambatoUniversidad técnica de ambato
Universidad técnica de ambato
 

Similar a Universal serial bus (20)

Usb jm
Usb jmUsb jm
Usb jm
 
El USB
El USBEl USB
El USB
 
Que es el puerto usb
Que es el puerto usbQue es el puerto usb
Que es el puerto usb
 
Trabajo de conectores
Trabajo de conectoresTrabajo de conectores
Trabajo de conectores
 
Taller De Mainboard Terminado
Taller De Mainboard TerminadoTaller De Mainboard Terminado
Taller De Mainboard Terminado
 
Tema2
Tema2Tema2
Tema2
 
las targetas de expancion
las targetas de expancionlas targetas de expancion
las targetas de expancion
 
Usb 2010
Usb 2010Usb 2010
Usb 2010
 
PeriféRicos-pcpi
PeriféRicos-pcpiPeriféRicos-pcpi
PeriféRicos-pcpi
 
Usb
UsbUsb
Usb
 
Trabajo
TrabajoTrabajo
Trabajo
 
Perifericos de entrada y salida II
Perifericos de entrada y salida IIPerifericos de entrada y salida II
Perifericos de entrada y salida II
 
Usb 1
Usb 1Usb 1
Usb 1
 
Trabajo de informática
Trabajo de informáticaTrabajo de informática
Trabajo de informática
 
Puertos del computador
Puertos del computadorPuertos del computador
Puertos del computador
 
Puerto usb
Puerto   usbPuerto   usb
Puerto usb
 
Puerto usb
Puerto   usbPuerto   usb
Puerto usb
 
Presentación1
Presentación1Presentación1
Presentación1
 
Aprendiendo sobre Conectores (Informática)
Aprendiendo sobre Conectores (Informática)Aprendiendo sobre Conectores (Informática)
Aprendiendo sobre Conectores (Informática)
 
Puertos ordenador
Puertos ordenadorPuertos ordenador
Puertos ordenador
 

Último

Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfluisantoniocruzcorte1
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 

Último (20)

Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 

Universal serial bus

  • 1. IUT Dr. Federico Rivero Palacio Prof. Servio Córdova
  • 2. Universal Serial Bus  Nace en 1994, tras una alianza entre las 4 principales plantas de Desarrollo de Hardware y Software (Compaq, Intel, Microsoft, NEC). Posteriormente se unieron HP, Lucent y Phillips.  Originalmente fue creado con las siguientes intensiones:  Conección del PC al Telefono  Facilidad de Uso  Expanción de Puerto
  • 3. Universal Serial Bus  Descripción del sistema USB  El USB es un bus punto a punto: dado que el lugar de partida es el host (PC o hub), el destino es un periférico u otro hub. No hay más que un único host (PC) en una arquitectura USB.  Los PC estándar tienen dos tomas USB, lo que implica que, para permitir más de dos periférico simultáneamente, es necesario un hub. Algunos periféricos incluyen un hub integrado, por ejemplo, el teclado USB, al que se le puede conectar un Mouse USB.  Los periféricos comparten la banda de paso del USB. El protocolo se basa en el llamado paso de testigo (token). El ordenados proporciona el testigo al periférico seleccionado y seguidamente, éste le devuelve el testigo en su respuesta.  Este bus permite la conexión y la des-conexión en cualquier momento sin necesidad de apagar el equipo.
  • 4. Universal Serial Bus INTERFAZ FÍSICA Aspecto eléctrico A nivel eléctrico, el cable USB transfiere la señal y la alimentación sobre 4 hilos. A nivel de alimentación, el cable proporciona la tensión nominal de 5 V. Es necesario definir correctamente el diámetro del hilo con el fin de que no se produzca una caída de tensión demasiado importante en el cable. Una resistencia de terminación instalada en la línea de datos permite detectar el puerto y conocer su configuración (1,5 o 12 Mbits/s).
  • 5. Universal Serial Bus A nivel de señal, se trata de un par trenzado con una impedancia característica de 90 Ω La velocidad puede ser tanto de 12 Mbits/s como de 1,5 Mbits/s. La sensibilidad del receptor puede ser de, al menos, 200mV y debe poder admitir un buen factor de rechazo de tensión en modo común. El reloj se transmite en el flow de datos, la codificación es de tipo NRZI (non-return to zero inverted), existiendo un dispositivo que genera un bit de relleno (bit stuffing) que garantiza que la frecuencia de reloj permanezca constante. Cada paquete va precedido por un campo de sincronismo.
  • 6. Universal Serial Bus Consumo Cada sección puede proporcionar una determinada potencia máxima siendo el PC el encargado de suministrar la energía. Además, el periférico puede estar autoalimentado (self powered). Control de consumo El ordenador gestiona el consumo, teniendo capacidad de poner en reposo (suspend) o en marcha a un periférico USB. En reposo, este reduce su consumo (si puede),quedándose la parte USB funcional. Esta gestión está orientada especialmente a los equipos portátiles.
  • 7. Universal Serial Bus Tipos de Conectores Existen 2 Tipos de conectores de USB. Conector tipo A, Conector Tipo B. Asignación los Pines del USB Pin Nº Nombre Color 1 Vcc (+5 voltios) Rojo 2 Data - Blanco 3 Data + Verde 4 Ground (GND) Negro
  • 8. Universal Serial Bus Asignación los Pines del Mini-USB Mayormente usado en aplicaciones de comunicación de dispositivos electrónicos portables (Celulares, PDA, Cámaras, etc). Pin Nº Nombre Color 1 Vcc (+5 voltios) Rojo 2 Data - Blanco 3 Data + Verde 4 No Conectado -- 5 Ground (GND) Negro
  • 10. Universal Serial Bus Un dispositivos USB conectado al bus, requiere un controlador completamente personalizado, o bien pueden pertenecer a una clase de dispositivo. Las Clases de dispositivos permiten que el mismo controlador de dispositivo pueda utilizarse para varios dispositivos con funcionalidades similares. Clases de los Dispositivos Descripción Ejemplo de Dispositivo 0x00 Reservado - 0x01 Dispositivo de Audio Sound Card 0x02 Dispositivo de Comunicación Modem Fax 0x03 Human Interface Dinamic (HID) Teclado Mouse 0x07 Dispositivos de Impresión Impresora 0x08 Dispositivo de Alamcenamiento Memory Card Masivo Pendrive 0x09 Dispositivo Hub Hubs 0x0B Dispositivo Lector de Memorias Lector de Memorias Inteligentes 0x0E Dispositivos de Video Webcam Scanner 0xE0 Dispositivo Inalambrico Bluetooth
  • 11. Universal Serial Bus TERMINOLOGÍA USB  Host: Dispositivo maestro que inicia la comunicación (Generalmente la computadora).  Hub: Dispositivo que contiene uno o mas conectores o conexiones internas hacia otros dispositivos usb, el cual habilita la comunicación entre el host y con diversos dispositivos. Cada conector representa un puerto USB.  Dispositivo compuesto: Es aquel dispositivo con múltiples interfaces independientes. Cada una tiene una dirección sobre el bus para cada interface puede tener un diferente driver device en el host.  Puerto USB: Cada host soporta solo un bus, cada conector en el bus representa un puerto USB por lo tanto sobre le bus puede haber uno o varios conectores , pero solo existe una ruta y solo un dispositivo puede transmitir información a un tiempo.
  • 12. Universal Serial Bus TERMINOLOGÍA USB  Driver: es un programa que habilita aplicaciones para poderse comunicar con el dispositivo. Cada dispositivo sobre el bus debe tener un driver, algunos periféricos utilizan los drivers que trae Windows.  Puntos terminales (Endpoints): Es una localidad especifica dentro del dispositivo. El Endpoint es un buffer que almacena múltiples bytes, típicamente es un bloque de la memoria de datos o un registro dentro del micro controlador. Todos lo dispositivos deben soportar el punto terminal 0. Este punto terminal es el que recibe todo el control y la peticiones de estado durante la enumeración cuando el dispositivo esta sobre el bus.
  • 13. Universal Serial Bus TERMINOLOGÍA USB  Tuberías (Pipes): Es un enlace virtual entre el host (la PC) y el dispositivo USB, este enlace configura los parámetros asociados con el ancho de banda que tipo de transferencia se va a utilizar (Control, Bulk, Isocrona o Interrupt) dirección del flujo de datos y el máximo y/o mínimo tamaño de los paquetes/buffers. Cada enlace está caracterizado por su banda de paso (Token), su tipo de servicio, el número de punto terminal (End Point) y el tamaño de los paquetes. Estos enlaces se definen y crean durante la inicialización del USB . Siempre existe un enlace virtual 0 que permite tener acceso a la información de configuración del periférico USB (estado, control e información). La norma USB define 2 tipos de enlaces virtuales (pipe); stream y message.
  • 14. Universal Serial Bus TERMINOLOGÍA USB Stream Pipes: se trata de un flujo sin formato USB definido, esto significa que se puede enviar cualquier tipo de dato. Este tipo de pipe soporta las transferencias bulk, isocronas, y interrupt. Además tanto el host como el dispositivo USB pueden controlar. Message Pipes: este tipo de enlace virtual si tiene un formato USB definido y solo puede soportar la transferencia Control.
  • 15. Universal Serial Bus TIPOS DE TRANSFERECIA El enlace virtual (pipe) puede ser de cuatro tipos: Control: Modo utilizado para realizar configuraciones: existe siempre sobre el Punto terminal 0 (EndPoint 0). Todos los dispositivos USB deben soportar este tipo de transferencia. Los datos de control sirven para configurar el periférico en el momento de conectarse al USB. Algunos drivers específicos pueden utilizar este enlace para transmitir su propia información de control. Este enlace no tiene pérdida de datos, puesto que los dispositivos de detección de recuperación de errores están activos a nivel USB.
  • 16. Universal Serial Bus TIPOS DE TRANSFERECIA Bulk: Este modo se utiliza para la transmisión de importantes cantidades de información. Como el tipo control, este enlace no tiene pérdida de datos. Este tipo de transferencia es útil cuando la razón de transferencia no es critica como por ejemplo , el envió de un archivo a imprimir o la recepción de datos desde un escáner. En estas aplicaciones, la transferencia es rápida, pero puede espera si fuera necesario. Solo los dispositivos de media y alta velocidad utilizan este tipo de transferencia.
  • 17. Universal Serial Bus TIPOS DE TRANSFERECIA Interrupt: modo utilizado para transmisiones de pequeños paquetes, rápidos, orientados a percepciones humanas (ratón, punteros). Este tipo de transferencia son para dispositivos que deben recibir atención periódicamente y lo utilizan los dispositivos de baja velocidad. Este tipo de transmisión garantiza la transferencia de pequeñas cantidades de datos. El tiempo de respuesta no puede ser inferior al valor especificado por la interfaz. El ratón o cualquier otro dispositivo apuntador es una aplicación típica de este modo de transmisión. Isochronous o Flujo en tiempo real: modo utilizado para la transmisión de audio o video comprimido. Este tipo de transmisión funciona en tiempo real. Este es el modo de mayor prioridad. La transmisión de la voz es un ejemplo de esta aplicación. Si ésta no se transmite correctamente, pueden llegar a oírse parásitos (glich) y la aplicación puede detectar ciertos errores de los llamados underruns .
  • 18. Universal Serial Bus ENUMERACIÓN Cuando se conecta un dispositivo USB a la PC se produce el Proceso de Enumeración, el cual consiste en que el host le pregunta al dispositivo que se presente y le diga cuales son sus parámetros, tales como: • Consumo de energía expresada en unidades de Carga • Numero y tipos de Puntos terminales • Clase del producto. • Tipo de transferencia • Razón de escrutinio, etc. El proceso de enumeración es inicializado por el host cuando detecta que un nuevo dispositivo que ha sido adjuntado al Bus. El host le asigna una dirección al dispositivo adjuntado al bus y habilita su configuración permitiendo la transferencia de datos sobre el bus.
  • 20. Universal Serial Bus Micro controlador PIC-18F2550
  • 21. Universal Serial Bus  Lo que pretendemos en este proyecto es implementar una comunicación bidireccional serie, Communications Devices Class, entre el PIC y cualquier Software del PC que use un puerto COM Serie estándar pero emulándolo vía USB 2.0 a full speed.  Vamos a realizar los ajustes necesarios en el Firmware del PIC para que sea reconocido por el Windows como un dispositivo Serie estándar y lo registre como un puerto COM Virtual. Como intermediario vamos a utilizar un recurso que nos provee Microchip: El Driver .inf para Windows mchpcdc.inf.  Para el firmware vamos a utilizar como base el ejemplo y descriptor USB que trae como ejemplos el CCS C, adaptándolo a nuestras necesidades, fundamentalmente darles los VID&PID que espera encontrar el driver para Windows.  Del lado del PC vamos a utilizar los programas que disponemos para monitorizar un puerto COM serie estándar: el HyperTerminal de Windows o Siow de CCS C.  En el PC es imprescindible instalar el Driver Windows mchpcdc.inf para Windows XP/Seven que nos ofrece Microchip, que nos va a servir de puente entre estos softwares con el canal USB del PC pero emulado como un puerto COM. Este .inf Es quien define los VID&PID que vamos a utilizar.
  • 22. Universal Serial Bus Como podemos ver en OSC1 y OSC2 conectamos nuestro cristal: 4 Mhz, 8 Mhz, 12 Mhz, 16 Mhz, 20 Mhz, 24 Mhz, 40 Mhz ó 48 Mhz, que son los cristales validos compatibles con lo que sigue a continuación. Debemos Tener en cuenta que este cristal es el mismo para generar la frecuencia de 48 Mhz necesaria para el USB 2.0 y para el Clock del PIC, que pueden ser la misma o no, según la configuración que al final adoptemos, quiere esto decir que podemos tener el USB a 48 Mhz y nuestro programa en el PIC funcionando a 12 Mhz por ejemplo. Observemos que justo tras el Smicht Trigger del Primary Oscillator salen tres líneas en paralelo que van a módulos distintos con distintas posibilidades. La primera línea, la superior, va directamente al switch USBDIV que si está a cero indica que la frecuencia base original del cristal es directamente inyectada al USB, si pasa el switch FSEN que elige entre todo el sistema directo/PLL o el Primary Clock del CPU. Esta Opción de inyectar directamente la frecuencia del cristal es obviamente solo posible si usamos un Cristal de 48 Mhz que es lo que necesitamos para el USB.
  • 23. Universal Serial Bus El módulo USB Clock Source tiene a su entrada un PLL Prescaler, o sea un divisor de frecuencia. En cada una de sus salidas vamos a tener FOSC dividida por 1, 2, 3, 4, 5, 6, 10 ó 12. Y mediante PLLDIV que no es mas que un Multiplexor vamos a seleccionar la que deseamos usar. Así si nuestro cristal es de 12 Mhz y en PLLDIV colocamos un 010 estaremos dividiendo por 3 el valor de FOSC con lo que tendremos 4 Mhz a la salida del MUX. Si por el contrario el cristal es de 20 Mhz y en PLLDIV colocamos un 100 entonces dividiremos por 5 FOSC con lo que tendremos también 4 Mhz a la salida del MUX. Esta salida del MUX es lo que utilizamos para inyectársela al PLL de 96 Mhz. Si le metemos 4 Mhz él genera 96 Mhz. Es esta capacidad de pasar de 4 Mhz a 96 Mhz la que nos da la posibilidad de usar un montón de cristales distintos. Pero 96 Mhz es el doble de lo que nos hace falta para el USB que son 48 Mhz. Asi que inmediatamente después tenemos que tener un divisor por 2 que es el segundo camino por el que llegamos a USBDIV y en este caso le pondremos un 1 para usar la señal proveniente del PLL.
  • 24. Universal Serial Bus Observemos que además de inyectar la señal oscilante en USBDIV también se conecta la señal del PLL a 96 Mhz en un Postscaler, otro divisor, en este caso por 2, 3, 4 ó 6 y cuyas señales van al CPUDIV. O sea que podemos generar una señal de reloj para nuestro PIC, no para el USB sino para la velocidad de ejecución de nuestro programa tomándola del PLL y que puede ser de 16 Mhz, 24 Mhz, 32 Mhz ó 48 Mhz. Pero además la señal original llegaba en paralelo al Oscilator Postcaler, otro divisor más, que de forma directa, sin pasar por el módulo PLL nos divide la frecuencia original del cristal por 1, 2, 3 ó 4 y que también va a parar al CPUDIV pero desde otro origen. Con este módulo podemos obtener otra gama de frecuencias distinta para hacer correr el programa. Cual de ambos CPUDIV vamos a utilizar lo seleccionamos con el switch FOSC3:FOSC0 que es de donde sacaremos la definitiva frecuencia de ejecución de programas.
  • 25. Universal Serial Bus Por último también tenemos disponible una entrada proveniente del Primary Clock y que dividida por 4 llega también a FSEN y podemos utilizarla en lugar de la que le llega desde el canal directo/PLL. Es así como podemos ver, que logramos realizar las diversas configuraciones para hacer correr nuestro PIC a decenas de velocidades distintas siendo capaz, al mismo tiempo de tener disponibles los 48 Mhz imprescindibles para el USB 2.0.
  • 26. Universal Serial Bus VID&PID El VID es un número de 16 bits que significa Vendor Identification o código que identifica al fabricante del hardware a conectar. En nuestro caso utilizamos el número 04D8h que identifica a Microchip. El PID es un número de 16 bits que significa Product Identification o código que identifica al dispositivo en concreto hardware a conectar. En nuestro caso utilizamos el número 000Bh que identifica a la familia de los PIC18 de este fabricante. Recordar que la conjunción de estos dos números VID&PID es la que nos va a servir para conectar con el Driver de Windows XP Cuando el S.O. conecte con nuestro firmware recibirá el VID&PID y buscará entre sus drivers instalados para encontrar el que corresponde a esta identificación, si no la encuentra nos preguntará sobre donde ha de buscar un driver adecuado y deberemos indicarle su ubicación. Este driver deberá estar configurado para conectar con un hardware cuyo VID&PID sea el mismo. No olvidar que el driver para puertos serie ya existe en Windows, aquí solo debemos darle el enlace con el .inf para que conecte correctamente con el firmware que tiene el PIC. VID: 0x04D8 PID: 0x000B
  • 27. Universal Serial Bus USB_STRING_DESC La tabla USB_STRING_DESC contiene la descripción del dispositivo detectado por el Driver de Windows XP y que nos va a mostrar en la correspondiente entrada en la lista del Hardware Instalado en el Sistema. Consta de dos partes o tablas, la propiamente dicha USB_STRING_DESC que contiene las descripciones requeridas y una tabla accesoria llamada USB_STRING_DESC_OFFSET que contiene los offset, o desplazamientos con respecto al inicio de USB_STRING_DESC en donde se encuentran las correspondientes cadenas. Ambas constan de tres elementos cada una de ellas. USB_STRING_DESC_OFFSET tiene tres números que indican cada uno de ellos donde comienza el correspondiente dato en la tabla USB_STRING_DESC. Así un contenido de {0,4,12} nos dice que el primer string comienza en el byte 0, el segundo en el byte 4 y el tercero se encuentra a partir del byte número 12. Si cambiamos la longitud de cualquiera de los strings deberemos reordenar esta tabla correspondientemente con solo contar los caracteres y apuntar en esta tabla el número de byte donde comienza cada uno de ellos. USB_STRING_DESC contiene los tres strings en concreto que deseamos transmitir con el descriptor USB. Cada uno de ellos tiene la misma estructura que consta de un primer byte que indica la longitud total de la correspondiente cadena, un segundo byte que indica el tipo de dato que viene a continuación y por último tantos bytes como sean necesarios como contenido del string. El primer dato de esta tabla es: 4, USB_DES_STRING_TYPE, 0x09, 0x04 que puede leerse como 4 : Longitud en bytes del dato incluido él mismo. USB_DES_STRING_TYPE que es una constante cuyo valor es 3 y que dice que lo que sigue es un string. Y 0x09, 0x04 que le indica al Windows que los strings que siguen están escritos en correcto ingles americano (US-English). Los dos siguientes datos son los dos strings que definen nuestro dispositivo y cuya estructura es idéntica al caso anterior: 8, USB_DES_STRING_TYPE, ‘I‘, 0, ‘U‘, 0, ‘T‘, 0 que define el string el nombre «IUT» de nuestro Hardware. Total 8 bytes ya que «IUT" se codifica añadiendo un 0x00 tras cada uno de los caracteres. 22, USB_DESC_STRING_TYPE, ‘U‘, 0, ‘S‘, 0, ‘B‘, 0, ‘-‘, 0, ‘R‘, 0, ‘S‘, 0, ‘2‘, 0, ‘3', 0, ‘2‘, 0, ‘.‘, 0 que define el nombre de nuestro dispositivo como «USB-RS232.»