Autor Tema: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)  (Leído 109520 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #30 en: 14 de Octubre de 2006, 00:33:24 »
no creo que usb se pueda simular en proteus

Hola:

Rubens, aun no se puede simular en proteus, salvo que te consigas alguna libreria por alli, pero esto lo veo dificil por ahora.

Desconectado kamehouse

  • PIC12
  • **
  • Mensajes: 55
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #31 en: 05 de Noviembre de 2006, 18:47:05 »
 :-/ Pues los acompaño en este tutorial de usb,necesito aprender a usarlo para una practica de laboratorio,por lo pronto ya baje la informacion que tiene LordLafebre en su web.Saludos a todos.

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #32 en: 12 de Noviembre de 2006, 16:15:47 »
Hola bueno, ayer en la noche me decidi a continuar con esto, ya habia hecho el ejemplo del TP2550 con exitos, pero esta vez quise repetir todos desde el TP2550 hasta el bidireccional, y oh desagradable vida, niguno me funciono. extraño no? Pues si NINGUNO jalo, todos me decian usb device---> dispositivo desconocido.

Y se desconecta solito del HW USB, ya lo probe en 2 PC's y en niguna jala, no hay errores de compilacion, es cristal es de 12MHZ divido a 3, y nada, ya arme una y otra vez el cto y nada, lo unico que no pongo es el boton de reset dejo la resistencia directa a VDD, la unica duda que tengo es las lineas D+ y d- como se cuales son las de mi USB.....

Estos ultimos dias he tenido pesima suerte encuanto a circuitos se trata...... y ni pensar hacer una PCB  :roll: :8}

alguna sugerencia???
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #33 en: 13 de Noviembre de 2006, 00:13:08 »
Hola:

pues no creo que sea problemas de las lineas de D+ y D-, si antes te funcionaba, probablemente se trate de algun problema en el compilador, me juego por eso.

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #34 en: 13 de Noviembre de 2006, 00:26:12 »
Pero no me saca ningun error, ni nada se compila bien. preguntaba sobre las lineas D+ y D- porque no tengo idea cual sean, jiji ya las inverti y nada ya cambie de pic y nada (ya use 4 y nada). Esta semen no ha sido la mia.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #35 en: 13 de Noviembre de 2006, 00:41:34 »
Hola:

Max, probaste solamente con los HEX de mis ejemplos? esto para descartar que sea una falla del PC o algo por el estilo, de funcionar con mi hex ya no seria el PC.

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #36 en: 14 de Noviembre de 2006, 03:48:05 »
Gracias Gio, como bien sabes (por lo del msn) la PC hace cosas extrañas, y a veces lo hace y generalmente no, seguire probando y les comento los resultados
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Josef

  • PIC12
  • **
  • Mensajes: 74
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #37 en: 06 de Diciembre de 2006, 09:19:41 »
Hola Amigos
Trato de abrir la pagina de Lordlafebre, pero me aparece un mensaje de Internet explorer a detectado un problema y debe cerrarse,
lo he intentado varias veces, me interesan bastante los ejemplos para USB, y por supuiesto aprender a manejar este puerto.
La pagina aparece bien, el problema me parece que es cuando acerco el raton a los archivos para bajar.
Atte Josef
Saludos del Misti en Arequipa

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #38 en: 07 de Diciembre de 2006, 01:24:55 »
Hola:

Me parece raro eso, no creo, o mas bien nadie me ha comentado antes ese error.  :?  No se si le pase eso a alguien mas  :2]

Desconectado Josef

  • PIC12
  • **
  • Mensajes: 74
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #39 en: 09 de Diciembre de 2006, 14:32:00 »
Tienes razon, el problema es mi PC, ya que si pude abrir tu pagina de otra PC.
Disculpas
 :P
Jose

Desconectado Josef

  • PIC12
  • **
  • Mensajes: 74
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #40 en: 11 de Diciembre de 2006, 01:15:48 »
Hola amigos
Como debo configurar el oscilador en un PIC18F4550, lo configure para 20MHz y esta bien, pero al tratar de correrlo con un cristal 40 MHz tengo problemas, aparece el mensaje No se reconoce el dispositivo USB
estoy programando con WINPIC800 y alli escogi
HS OSCILLATOR, HS USED BY USB
CPU SYSTEM DIVIDE BY 4
OSCILLATOR SELECTION DIVIDED BY 10 (40 MHz input)

Tambien estoy usando condensadores de 22pF con el cristal, bueno, no creo que este sea el problema, pero si alguien sabe algo, ........gracias
Saludos de Arequipa Peru

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #41 en: 11 de Diciembre de 2006, 02:44:44 »
Creo que no puedes poner un cristal de más de 20MHz.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #42 en: 11 de Diciembre de 2006, 04:09:04 »
Consiguiendo 4 Mhz para los 48 Mhz necesarios en los PIC's con USB 2.0
 
Voy a intentar explicar un poco de dónde sale esto de los 4 Mhz para el USB 2.0 de los PIC's.

Como nunca me canso de repetir: En los datasheet está TODO, absolutamente todo.

Aquí os pego un trozo de la imagen donde aparece la estructura de configuración de las opciones de los osciladores en los PIC's de la familia 18Fxx5x que son los que soportan el USB 2.0 (Documento 39632b.pdf de Microchip dedicado a los 18F2455-2550-4455-4550 Descargar)
 


Este sistema es complejo debido a la inmensa versatilidad y posibilidades que ofrece.

Como podéis 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.

Tened 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.

Fijaos en 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.

Cualquier otro cristal debe ser tratado para conseguir los 48 Mhz necesarios.

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, y tenemos, 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.

Fijaos 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.

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

Como podéis ver es toda una maravilla cómo esta montado este tema de los osciladores, sobre todo por lo que respecta a las inmensas capacidades que tiene 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.

Me descubro ante los ingenieros de Microchip y los aplaudo, se lo merecen.

P.D.: Creo que Manolo tiene razón en los límites del cristal. Abajo os pego una imagen del Datsheet con dichos límites según el tipo de oscilador seleccionado con los fuses.



Publicado originalmente en Picmania by Redraven
« Última modificación: 11 de Diciembre de 2006, 04:38:57 por RedPic »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Josef

  • PIC12
  • **
  • Mensajes: 74
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #43 en: 12 de Diciembre de 2006, 01:29:35 »
Hola amigos
Probe el ejemplo de Lordlafebre, bajandolo de su web, con las indicaciones que el da, EL PROGRAMA PARA ENCENDER 8 LEDS EN EL PUERTO B por el USB, pero yo estoy usando un PIC18F4550, ya me detecta el hardware la PC, y aparece como dipositivo HID, luego procedi a realizar el programa en la PC con Visual Basic 6.0, siguiendo las indicaciones en PDF, corro la aplicacion y el programa no parece tener errores, conecto el hardware y corro el programa en Visual Basic pero no logro encender ni apagar ningun led desde la PC, (algunos LEDs estan encendidos por defecto), no se si sea normal. Lo peor es que cuando tengo el harware conectado VISUAL BASIC SE CUELGA al correr la aplicacion (especificamente cuando quiero detener o cerrar la aplicacion), no sucede eso cuando tengo desconectado o apagado el hardware, Pienso que debe existir algun tipo de comunicacion y por eso se cuelga Basic, pero donde estoy cometiendo el error?
Alguien tiene alguna idea......
Gracias
Saludos de Jose desde Arequipa Peru

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: USB y PBP empecemos un tutorial entre todos (CON EJEMPLOS)
« Respuesta #44 en: 12 de Diciembre de 2006, 01:48:23 »
Hola:

Pues bien, el programa esta hecho para un 2550, no se si estas grabando el hex del 2550 en el 4550, no he utilizado este ultimo, asi que no se que diferencia pueda llegar a tener, con respecto a lo de que se cuelga VB me parece raro tambien, no he tenido nunca ese tipo de errores.  :?