USB sigue desconectándose y reconectándose en el microcontrolador

0

Estoy usando un microcontrolador ATSAM4E16C como un puerto de comunicaciones usb en serie pero no permanece conectado. Después de enchufarlo, enciendo el sonido conectado por USB, y luego ingresa en un bucle donde cada 5 segundos aproximadamente se desconecta y se vuelve a conectar inmediatamente.

Utilicé este microcontrolador en mi propia placa y estaba pensando si podría ser debido a un mal oscilador de cristal. En la hoja de datos de la unidad uC se dijo que usaba un cristal con una capacidad de carga entre 12 y 18, pero que usaba uno con 10pF y 15pF en cada extremo. ¿Podría ser este el problema, o debería buscar en otro lugar?

Gracias

    
pregunta user3808318

2 respuestas

1

gracias por las respuestas rápidas.

El problema fue el temporizador WatchDog que causó los reinicios. Esta fue mi primera idea también, pero cuando puse en un bucle wdt_reset () siguió haciendo lo mismo. Creo que el problema fue que en realidad no inicialicé el wdt, solo usé la configuración predeterminada.

Tuve este mismo problema en otro microcontrolador, pero pude desactivarlo a través de los fusibles, y como no encontré ningún fusible relacionado con el WDT en este microcontrolador, pensé que no necesitaba desactivación.

Pensé que tal vez la falta de coincidencia de capacitancia entre la unidad uC y el cristal causaría un cambio de frecuencia que, después de unos 5 segundos, interrumpiría la comunicación USB, pero no creo que sea tan sensible.

Gracias de nuevo

    
respondido por el user3808318
2

Si su "propia tabla" no es un PCB, todas las apuestas están desactivadas (si usted hizo un prototipo a mano). Si se trata de una PCB, debe averiguar dónde está ocurriendo el problema en el sistema. Proablemas como este pueden provenir de muchas cosas, por lo que debe verificar que cada pieza del sistema esté funcionando.

1) Si cree que es el reloj, ejecute una prueba de temporizador y vea si coincide con un reloj de referencia.

2) Podría ser software. Elimine su código y realice una prueba de bucle de retorno desde y hacia su host, también puede ver si las líneas de datos del USB son ruidosas.

3) También puede obtener algún software de rastreo de usb que ejecute en el host y ver si es su procesador el que está causando que el usb se desconecte o el hardware. Aquí hay una referencia en flujo de datos USB .

    
respondido por el laptop2d

Lea otras preguntas en las etiquetas