Autor Tema: Problemas con USB y Pic18f2550 CCS  (Leído 14468 veces)

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

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Problemas con USB y Pic18f2550 CCS
« en: 16 de Septiembre de 2010, 17:21:56 »
Bueno la verdad que me lei todos los temas de este foro, campio todos los capacitoere, etc. no se cual es el problema que tengo que cuendo conectecto el USB me dice que no reconoce el Dispositivo. que el dispositivo se tubo que cerrar por un mal funcionamiento.

El programa que utiliso esta en CCS y es un ejemplo que saque de este foto.
La conexion que utiliso es HID.
El SO del la PC es Win7.

en el protoboar tengo el Capacitor de 47uF electrolitico en la pata Vbus y tengo el D+ D- conectados a la para 2 y 3 de des conector USB, tengo un capacito 104 entre el + y - del micro, y uso un cristal de 20Mhz(puede ser un error que en el codigo le puse XTPLL como fuce. a lo mejor va HS).

Codigo:

Código: [Seleccionar]
#include <18F2550.h> // Definición de registros internos del PIC18F2550.
#DEVICE ADC=8 // CAD con 8 bits de resolución , justificación a la derecha.
#fuses NOMCLR,XTPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,VREGEN,NOPBADEN
// NOMCLR: No vamos ha usar el PIN MCLR, el reset se hará por soft.
// XTPLL: Vamos a usar un cristal de 4.00Mhz.
// NOWDT: No vamos a usar el perro guardian.
// NOPROTECT: Memoria no protejida contra lecturas.
// NODEBUG: No utilizamos código para debugear.
// NOLVP: No utilizamos el modo de programación con bajo voltaje.
// USBDIV: signfica que el clock del usb se tomará del PLL/2 = 96Mhz/2 = 48Mhz.
// PLL1: significa que el PLL prescaler no dividirá la frecuencia del cristal. para XT = 4Mhz.
// CPUDIV1: El PLL postscaler decide la división en 2 de la frecuencia de salida del PLL de 96MHZ, si queremos 48MHZ, lo dejamos como está.
// NOVREGEN: habilita el regulador de 3.3 volts que usa el módulo USB.
// NOPBADEN: Deshabilitamos el módulo conversor ADC del puerto B.
#use delay(clock=48000000)

#DEFINE USB_HID_DEVICE TRUE // Vamos a utilizar el protocolo HID.

#define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT // Definición del tamaño del buffer de salida.
#define USB_EP1_TX_SIZE 1

#define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT // Definición del tamaño del buffer de entrada.
#define USB_EP1_RX_SIZE 1

/*********************************************************************************************************/

 #define use_portb_lcd TRUE // Puerto B usado para el LCD.

// Librerías utilizadas.
#include <LCD.c>
#include <pic18_usb.h>    // Drivers's USB del PIC18F2550.
#include <usb_desc_hid.h> // Descriptores USB.

#include <usb.c> // Funciones del USB.
/*********************************************************************************************************/

// Variables globales.
long valor; // Variable que guarda el valor del ADC.


void main() {
int8 dato[1];  // Variable que va a guardar el valor del ADC.
OUTPUT_A(0);  // todos salidas
OUTPUT_B(0) ;            
OUTPUT_C(0);

  
   set_tris_a(0x3);  // ra0=entradas, los demas=salida
   set_tris_b(0x0);  
   set_tris_c(0x0);                      
   setup_adc_ports( AN0 || VSS_VDD );  // canal AN0, Vref+ = Vdd, Vref- = Vss
   setup_adc(ADC_CLOCK_DIV_64);
   set_adc_channel(0);
  
   usb_init_cs();    // inicia el USB y sale. Va de la mano con usb_task().
   while(1){ // bucle infinito
      valor = read_adc();
      dato[0] = valor;
      usb_task(); // Configuramos el puerto USB.
                  if (usb_enumerated()) // Si el puerto es enumerado y configurado por el host..
                  {
                    usb_put_packet(1,dato,1,USB_DTS_TOGGLE); // Mando el valor del adc por USB.
                  
                  }
   }
}

Libreria usb_desc_hid.h:

Código: [Seleccionar]
//////////////////////////////////////////////////////////////////
///
///   start device descriptors
///
//////////////////////////////////////////////////////////////////

   const char USB_DEVICE_DESC[USB_DESC_DEVICE_LEN] ={
      //starts of with device configuration. only one possible
         USB_DESC_DEVICE_LEN, //the length of this report   ==1
         0x01, //the constant DEVICE (DEVICE 0x01)  ==2
         0x10,0x01, //usb version in bcd ==3,4
         0x00, //class code ==5
         0x00, //subclass code ==6
         0x00, //protocol code ==7
         USB_MAX_EP0_PACKET_LENGTH, //max packet size for endpoint 0. (SLOW SPEED SPECIFIES 8) ==8
         0x04,0xD8, //vendor id (0x04D8 is Microchip, or is it 0x0461 ??)
0x00,0x01, //product id ==11,12 //don't use ffff says usb-by-example guy. oops
    0x06,0x01, //device release number ==13,14
         0x01, //index of string description of manufacturer. therefore we point to string_1 array (see below)  ==15
         0x02, //index of string descriptor of the product  ==16
         0x00, //index of string descriptor of serial number  ==17
         USB_NUM_CONFIGURATIONS  //number of possible configurations  ==18
   };
« Última modificación: 16 de Septiembre de 2010, 17:34:12 por kaki »

Desconectado ALE1973

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 230
Re: Problemas con USB y Pic18f2550 CCS
« Respuesta #1 en: 16 de Septiembre de 2010, 18:35:57 »
Hola, para los fuses yo tengo estos en un joystick que hice USB.

Código: C
  1. #include <18F2550.h>
  2. #device ADC = 10
  3. #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
  4. #use delay(clock=48000000)

Casi seguro que XTPLL esta mal, proba cambiando a los fuses que te pase, yo lo uso con un xtal de 20mhz y funciona sin dramas

Saludos.
Alejandro.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Problemas con USB y Pic18f2550 CCS
« Respuesta #2 en: 16 de Septiembre de 2010, 19:08:04 »
Hola, XTPLL está bien ya que es un XTAL de 4MHz con PLLx1 y CPUDIVx1.  ;-)

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Re: Problemas con USB y Pic18f2550 CCS
« Respuesta #3 en: 16 de Septiembre de 2010, 19:18:28 »
Yo uso 20Mhz. Para mi va  HSPLL,PLL5,CPUDIV1

Bueno ya probe u igual sigue pasando lo mismo!! gracias igual.

Dejo una imagaen de lo que me pasa en pa pc!! saludos
« Última modificación: 16 de Septiembre de 2010, 19:23:41 por kaki »

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Problemas con USB y Pic18f2550 CCS
« Respuesta #4 en: 16 de Septiembre de 2010, 20:20:08 »
Yo uso 20Mhz. Para mi va  HSPLL,PLL5,CPUDIV1

Bueno ya probe u igual sigue pasando lo mismo!! gracias igual.

Dejo una imagaen de lo que me pasa en pa pc!! saludos

Ah es que tu primer mensaje dice otra cosa.

Código: [Seleccionar]
#fuses NOMCLR,XTPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,VREGEN,NOPBADEN

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Re: Problemas con USB y Pic18f2550 CCS
« Respuesta #5 en: 16 de Septiembre de 2010, 20:29:44 »
veo que no comprendiste mi mensaje.... dise eso en el codigo pero yo dije que para mi eso estaba mal ya que uso un cristal de 20Mhs.Saludos

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Problemas con USB y Pic18f2550 CCS
« Respuesta #6 en: 16 de Septiembre de 2010, 22:50:53 »
Entendido y anotado.  ;-)

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Re: Problemas con USB y Pic18f2550 CCS
« Respuesta #7 en: 16 de Septiembre de 2010, 23:05:48 »
jajaa!! dame un respuesta pero jejeje :D

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Problemas con USB y Pic18f2550 CCS
« Respuesta #8 en: 17 de Septiembre de 2010, 10:46:33 »
jajaa!! dame un respuesta pero jejeje :D

Hay como 5 temas activos en el foro con el mismo problema de que el USB no les responde. Han habido muchos más temas con la misma temática.

Con ayuda del buscador visitaría cada uno de ellos y aplicaría las soluciones ahí propuestas.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Problemas con USB y Pic18f2550 CCS
« Respuesta #9 en: 17 de Septiembre de 2010, 11:05:49 »
Mal funcionamiento del dispositivo??? Mmm...me hace acordar a cuando tenía  los cables de D+ y D- del USB cruzados...
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Re: Problemas con USB y Pic18f2550 CCS
« Respuesta #10 en: 17 de Septiembre de 2010, 11:15:17 »
ya los lei todos los temas pero todos....

Si mal funcionamiento...los cables ya los inverti hice 500 mil pruevas!!

 Saludos...

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Problemas con USB y Pic18f2550 CCS
« Respuesta #11 en: 17 de Septiembre de 2010, 12:53:29 »
¿Y si tu pic ya se dañó? ¿Puedes probar con otro?

¿Tu puerto es USB 2.0?

Desconectado kaki

  • PIC18
  • ****
  • Mensajes: 260
Re: Problemas con USB y Pic18f2550 CCS
« Respuesta #12 en: 17 de Septiembre de 2010, 13:08:41 »
no creo por que el pic es nuevo. y con respecto a lo otro si es 2.0...la verda no probe con otro puerto

Desconectado Felixls

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 300
Re: Problemas con USB y Pic18f2550 CCS
« Respuesta #13 en: 17 de Septiembre de 2010, 13:28:35 »
Hola, podrías realizar las siguientes verificaciones

1. Prueba con otro cristal
2. Cambia el condensador electrolítico de 47uF por un condensador cerámico de 470nF
3. Prueba un código más simple, ejemplo encender/apagar un led al enumerarse el dispositivo
4. El protoboard es viejo? revisa las conecciones.
5. Verifica si hay comunicación con algún software de snifeo de usb.
6. Verifica los voltajes en la pata VBUS, D+ D- y 5V
7. etc.

saludos

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Problemas con USB y Pic18f2550 CCS
« Respuesta #14 en: 20 de Septiembre de 2010, 11:30:04 »
Hola.

Puedes subir un esquemático de tu diseño?

Saludos
El papel lo aguanta todo


 

anything