Tengo un problema con ATmega16U2 que incluye compatibilidad con hardware USB. Como la hoja de datos describe:
Los mega AVR de 8 bits con dispositivos de interfaz USB están configurados de fábrica con un cargador de arranque USB ubicado en la sección de arranque flash en el chip del controlador.
Así que creé una placa de circuito impreso con ATmega16U2 y la conecté a mi PC. Para iniciarlo en el modo de cargador de arranque, corté RESET y HWB a tierra, luego liberé RESET y HWB después de eso (ambos pines están levantados). Desafortunadamente, mi PC no puede comunicarse con el dispositivo conectado, dejando el siguiente error:
Para asegurarme de que no sea un problema de hardware (circuito defectuoso: acoplamiento, rutas largas, alta impedancia, cortocircuitos, etc.), lo conecté con un programador ISP. Pude leer la firma del chip, los bits de fusible/bloqueo. Limpié todo el chip y lo actualicé con el software Arduino (el primer archivo hexadecimal fácil de encontrar en Internet que se me ocurrió). Funciona, reconocido como dispositivo de comunicación en serie, que recibió su enumeración COM. Luego soldé otro chip ATmega16U2 a bordo y lo conecté nuevamente, pero aún no puedo comunicarme con el cargador de arranque del chip de fábrica. Lo único que cambió es el chip: de un chip de stock flasheado a un stock puro.
Aquí está el esquema de mi circuito. Estoy usando cristal de 16 MHz en este momento, también tengo cristal de prueba de 8 MHz:
Gracias por leer y comparta su experiencia si ha trabajado con esos microcontroladores.
Después de un tiempo trabajando en otro proyecto, decidí rehacer mi PCB. Hice algunos cambios, acorté las trazas, moví los componentes THT en la otra capa, etc.
Y funcionó. Mi uC se reconoce y enumera como "ATmega16U2". Esto me hace sentir confundido, porque mi primer PCB parecía ser lo suficientemente bueno.
Gracias por las respuestas. Ahora es el momento de implementar la funcionalidad, voy a usar LUFA para hacer la comunicación COM.
tom carpintero
adrian adamczyk
adrian adamczyk
tom carpintero
adrian adamczyk
adrian adamczyk
tom carpintero
adrian adamczyk