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

3

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 usé Vcc Reset Gnd Tx Rx SClk de USART0, ¿está bien?
  3. No utilicé un generador de reloj externo (quarks) porque planeo usar el reloj interno.
  4. ¿Hay algún circuito o pin fundamental que deba conectarse para que funcione el código simple? (Sólo conecté Vccs y Gnds)
  5. ¿Existe un circuito simple que compruebe si el atmega 128 funciona o no sin programarlo?
pregunta Beku Ch

3 respuestas

2
  1. Sí.//strong>

  2. Solo si ya lo has programado con un cargador de arranque en serie. De lo contrario, utilice ISP o HVPP normalmente.

  3. ¿De acuerdo? 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, excepto el fusible de compatibilidad ATmega103. No olvide desprogramar ese fusible antes de usarlo.

respondido por el Ignacio Vazquez-Abrams
2
  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ás que VCC / GND se colocan uno junto al 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 algún tipo de puerto SPI (llamado ISP) junto con RESET. En dispositivos más modernos es un "puerto TWI". A menudo se describe bastante bien en la hoja de datos. A través de este puerto puede escribir y borrar las memorias del dispositivo y configurar fusibles. Sin embargo, también necesita una herramienta de hardware específica (a menudo hecha por el proveedor también; a veces puede obtener de terceros, pero tenga cuidado con el soporte de software).

Debido a estas limitaciones (conexión de hardware inusual, herramientas de hardware, etc.) las personas escriben los cargadores de arranque. P.ej. 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 realizarse a través del 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 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 desactivar el puerto ISP (¡no más reprogramaciones a través de ISP!), decirle al chip que use un oscilador externo (¡bricking si no está allí!), etc.
  2. Tire RESET alto a través de una resistencia de pull-up para hacer que el chip funcione. Conecte todos los pares VCC / GND, incluido 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 a menudo esto se llama una prueba de blinky. Si puedes subir una prueba de blinky, has verificado que puedes:

    • acceder al chip
    • escribir memorias
    • el chip inicia tu programa
    • el oscilador se está ejecutando

Entonces es un caso de averiguar si la velocidad del oscilador es correcta, y luego puedes comenzar a escribir un código real.

    
respondido por el Hans
0

@ 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 individual. Regla de oro 100nF cerámica.

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

    
respondido por el jippie

Lea otras preguntas en las etiquetas