programación atmega2560 por ISP en PCB de fabricación propia

0

Para uno de mis proyectos, necesito un atmega2560. Así que hice un PCB con los encabezados atmega2560 e ISP. Pero no puedo comunicarme con el atmega2560. También hay un oscilador externo de 16000 MHz.

Esto es lo que he comprobado:

  • Sin cortocircuito
  • MOSI, MISO, SCK y RESET tienen continuidad desde el encabezado hasta los pines
  • El programador utilizado es un arduino Uno con el boceto del programador ISP. (Este arduino ha sido probado y es capaz de programar otro arduino uno a través de ISP)

Aquí es cómo todo está conectado a la PCB. Es muy minimalista: atmega2560, oscilador y dos capacitores de 22pf

¿Qué me estoy perdiendo?

Sólo tengo un pin VCC del atmega2560 conectado a VCC. Lo mismo para el suelo. ¿Está bien, o cada pin VCC y cada GND deberían estar conectados?

¡Gracias de antemano!

    
pregunta arckin

1 respuesta

3
  

todavía puede funcionar con un solo pin VCC y un pin GND

No. La MCU no funcionará correctamente así. He visto varios comportamientos incorrectos diferentes cuando se ha cometido este error de diseño, por lo que no me sorprende que tenga problemas. :-(

Como ya han explicado amablemente otros miembros experimentados, también es necesario que los condensadores de desacoplamiento se cierren de la MCU (ver más abajo). El oscilador y sus condensadores también deben estar cerca de la MCU.

Nota de la aplicación Atmel: AVR042: AVR Hardware Design Considerations ( 522kB PDF) está lleno de consejos, le muestra todas las conexiones Vcc y Gnd que se están utilizando, desacopla los condensadores, analiza la disposición de PCB y la ubicación del oscilador, etc. Le recomiendo que siga sus sugerencias.

Edición: aquí hay una pregunta relacionada sobre el uso de todos los pines Vcc (Vdd) y Gnd (Vss) en las MCU PIC. Las respuestas también se aplican aquí, por las mismas razones dadas:

Si una PIC MCU proporciona múltiples Vdd / Vss, ¿debería proporcionarles energía a todos?

Edición: agregando actualización para resumir algunos comentarios sobre esta respuesta, para referencia futura: AVcc debe también debe estar conectado, incluso si el ADC no está en uso. Las hojas de datos de AVR especifican qué tan cerca debe estar el voltaje de AVcc al voltaje de Vcc, y un AVc no conectado viola ese requisito.

Por ejemplo, el ATmega2560 la hoja de datos especifica que AVcc debe estar entre Vcc-0.3V a Vcc + 0.3V. Entonces, si AVcc = 0V (desconectado), supera esa diferencia de +/- 0.3V de cualquier voltaje Vcc operacional.

    
respondido por el SamGibson

Lea otras preguntas en las etiquetas