Vous êtes sur la page 1sur 3

Cables 5v rojo Gnd negro D+ verde D- blanco (seal diferencial el valor depende

de la velocidad del bus 3,3v low speed 400mv high speed)


El host controla la velocidad depende de la cantidad de dispositivos conectados
(126 maximo).

Low speed 1.5Mbps (1,2,3)perifricos pc
Full speed 12Mbps (1,2,3)audio
High speed 480Mbps (2,3)video
Super speed 5Gbps (3)

Transferencia Cj. Global de datos que forman la comunicacin esta formado por
varias transacciones y estas estn formados por paquetes de datos que contienen
la trama USB.
Las especificaciones USB permite 4 formas de transferencia
Control configuracin y envio de comandos.
Bulk (masiva) para grandes datos es el mas rpido pero no se garantiza un
tiempo determinado (latencia) tiene correccin de errores (CRC) trabaja con
velocidades (full y high) (discos duros pen drives scanner impresoras ).
Isocronas (audio , video en tiempo real) latencia asegurada no tiene correccin de
errores (full)
Interrupcin latencia asegurada correccin de errores perifricos de pc.

Enumeracin cuando se conecta un dispositivo al host este necesita informacin
del mismo.
Esta informacin esta en el dispositivo en los descriptores

Descriptores datos en el dispositivo (memoria no voltil ) IDE del vendedor (VID)
y del producto (PID), consumo de corriente , tipo de transferencia, endpoint
utilizados, versin USB , calse utilizada, etc.
(VID)(PID) (1500 us USB Implementers Forum)dos numereos de 16 bits en
hexadecimal si se usa la clase CDC(Commucications Device Class) de CCS para la
comunicacin USB estos valores se pueden modificar en usb_desc_cdc.h y segn
el sistema operativo del host se debe modificar el archivo .inf (til cuando se
quiere comercializar el producto ).
Endpoint (buffer de memoria RAM en el Host tiene otro nombre ) envi y
recepcin de datos o comandos de control.
Endpoint 0 reservado para control (la enumeracin se realiza en este endpoint).
Pipes o tuberas conexin lgica entre endpoint y software del controlador del
Host se produce despus de la enumeracin, (enlazar la salida de un proceso con la
entrada de otro).
Clase modelo o plantilla que describe el estado y el comportamiento de los objetos
que la conforman. proveen de propiedades y mtodos (funciones) reutilizables por
los objetos de la clase (la especificadion USB provee de propiedades y funciones
sue pueden ser usados por dispositivos q tengan caractersticas similares teclado
raton).(para la clase de almacenamiento masivo se usa el driver usbstor.sys en la
direccin c:\Windows\sistem32\drivers)(otra clase de pic es custom class ).
Para un firware que no cumple con las especificaciones de alguna clase microchip
tiene drivers los cuales son.
Mchpusb.sys (binario) mchpusb.ini para cuando se conecta por primera vez sepa
que driver asignarle aqu esta los VID y PID . la dll mpusbapi.lib es una capa de
software que facilita por medio de funciones la comunicacin entre la aplicacin
del escritorio y el driver del dispositivo (compilado en borlandc++builder 6 se
facilita el cdigo fuente).
Nota importante cuando se usa el driver personalizado de michochip los datos se
transmiten en crudo y la aplicacin de escritorio intercambia informacin con el
pic directamente atraves de los endpoints utilizados por este (se usa un protocolo
que no esta definido).
Es importante copiar del archivo .INF el valor del campo definido como GUI(Global
Unique Identifier) es el numero para que la aplicacin pueda acceder al
dispositivo, luego accederemos a la DLL desde el IDE que se escogi y se edita las
propiedades y funciones publicas de la DLL buscando un campo que se llama GUI y
si no coincide tendremos que pegar ese numero sin esto no se crea la tubera de
conexin (pipe).
En la clase CDC esto no es necesario la comunicacin esta definida a travs del
puerto serial virtual y la informacin se enva en formato ASCII.
Otro driver es el WinUSB http://msdn.microsoft.com/en-
us/library/ff540196%28v=VS.85%29.aspx
Otra es Libusb-win32 http://www.libusb.org/

Programa para el PIC (firware) la frecuencia del modulo para el pic es de 48MHz
para esto se dispone de un pre escaler y un post escaler a la entrada del
multiplicador se debe tener una frecuencia de 4MHz el cristal tiene que ser de
20MHz.

Se divide los 20MHz del cristal por 5 que es igual a 4MHz requeridos a la entrada del
PLL y este produce 96MHz en su salida y estos se distribuyen al modulo USB
dividiendo previamente por 2 para oftener los 48MHz y por otro lado alimenta al post
escaler del PLL para elegir la frecuencia de trabajo en este caso de divide por 3 para
oftener 32MHz.
Para facilitar la programacin los compiladores como (ccs) proporcionan libreras
(Stack o pila de software)
Usb_init_cs() inicializa la comunicacin al principio de main
Usb_cdckbhit(): retorna TRUE si hay uno o mas caracteres esperando en el buffer de
recepcin
Usb_cdc_grtc() obtiene el carcter recibido en el buffer de recepcin
Usb_cdc_putc(char c) coloca el carcter que recibe como parmetro en el buffer de
transmisin para ser enviado.
Usb_task() para mantener la comunicacin se usa esta funcin en llamadas periodicas

Todo esta en la cabecera Usb_cdc.h

Vous aimerez peut-être aussi