¿Existe un circuito básico atmega 128 para cada proyecto?

Este es mi primer proyecto Atmega, así que tengo las siguientes preguntas:

  1. ¿Tengo que conectar todos esos gnds y vcc's?
  2. En la programación utilicé Vcc Reset Gnd Tx Rx SClk de USART0, ¿está bien?
  3. ¿No usé un generador de reloj externo (quarks) porque planeo usar un reloj interno?
  4. ¿Hay algún circuito o pin fundamental que deba conectarse para trabajar con código simple? (Conecté solo Vccs y Gnds)
  5. ¿Existe un circuito simple que pruebe si el atmega 128 funciona o no sin programarlo?

Respuestas (3)

  1. Sí.

  2. Solo si ya lo ha programado con un gestor de arranque en serie. De lo contrario, utilice ISP o HVPP como de costumbre.

  3. ¿Bueno? Esto no es una pregunta.

  4. AVCC debe estar conectado. Probablemente también desee conectar nPEN a un conmutador.

  5. No. Vienen sin programar de fábrica aparte del fusible de compatibilidad ATmega103. No olvide desprogramar ese fusible antes de usarlo.

Leí la hoja de datos, pero dice que PEN es un programa habilitado, lo que me hace ambiguo sobre la programación de pines. Internet dice que usa solo 6 pines. Entonces, ¿cuál es el propósito de conectar PEN para cambiar? Y muy agradecido por su ayuda.
Lea la sección "Programación de memoria" de la hoja de datos.
Tenga mucho cuidado al programar los fusibles @BekuCh, puede bloquear el dispositivo si usa una configuración de fusibles incorrecta.
También conectaría un botón al pin /reset como parte del circuito "básico". Siempre es útil tener un botón de reinicio.
  1. Sí. También se recomienda colocar un condensador de 100 nF lo más cerca posible de VCC y GND de cada par. En la mayoría de los dispositivos modernos, verá VCC/GND colocados uno al lado del otro para que sea más fácil.

  2. Normalmente, un microcontrolador se programa en el circuito a través de un puerto específico. En Atmega, esto suele ser una especie de puerto SPI (llamado ISP) junto con RESET. En dispositivos más modernos es un "puerto TWI". A menudo está bastante bien descrito en la hoja de datos. A través de este puerto puede escribir y borrar las memorias del dispositivo y establecer fusibles. Sin embargo, también necesita una herramienta de hardware específica (a menudo también hecha por el proveedor; a veces puede obtener herramientas de terceros, ¡pero tenga cuidado con el soporte de software!).

Debido a estas limitaciones (conexión de hardware inusual, herramientas de hardware, etc.) la gente escribe gestores de arranque. Por ejemplo, en la plataforma Arduino, el ATMEGA se puede reprogramar parcialmente a través de un puerto serie. Sin embargo, el ATMEGA debe estar preprogramado con este software de cargador de arranque para hacer esto. La preprogramación debe hacerse vía ISP.

  1. Esto está bien en la mayoría de los casos. Solo quiero señalar algunas cosas:

    • No configure la velocidad de comunicación del AVR ISP demasiado alta. No estoy seguro de la relación exacta entre el oscilador y el reloj, pero una velocidad demasiado rápida corromperá los datos y los fusibles.
    • Los fusibles dañados pueden apagar el puerto ISP (¡no más reprogramación a través del ISP!), decirle al chip que use un oscilador externo (¡bloquearlo si no está allí!), etc.
  2. Tire de RESET alto a través de una resistencia pull-up para hacer que el chip funcione. Conecte todos los pares VCC/GND, incluidos AVCC/AGND. A veces, si hay un pin AREF, también debe colocar un condensador de 100 nF en GND.

  3. No, no automáticamente. Pero esto a menudo se llama prueba de parpadeo. Si puede cargar una prueba de Blinky, ha verificado que puede:

    • acceder a la ficha
    • escribir recuerdos
    • chip inicia su programa
    • el oscilador está funcionando

Entonces se trata de averiguar si la velocidad del oscilador es correcta, y luego puede comenzar a escribir código real.

Estoy muy agradecido por su amabilidad y esfuerzo. que tengas una linda navidad

@1: Sí, debe conectar todos los pines VCC y GND. Esto incluye AVCC y AGND.

@2: ¿El dispositivo ejecuta su programa? ¿El programador devolvió algún código de error?

@4: conecte un condensador de desacoplamiento para cada pin VCC. Regla general de cerámica 100nF.

@5: Algunos dispositivos pueden admitir pruebas JTAG o una interfaz de depuración similar (debugWIRE), pero dudo que califique como "simple".