Programando varios AVR con un ISP: ¿qué línea romper?

5

Supongamos que tengo dos AVR conectados a un conector ISP.

Para programar solo una MCU en esta configuración I neet para interrumpir una (o puede que varias) vaya a la MCU que no quiero que se programe en este momento.

La primera línea que me viene a la mente es VCC, que sería genial ya que ahorraría energía. Pero como sabemos, la potencia pasará a través de líneas digitales que tienen diodos de protección a VCC y GND.

Así que elegiría la línea RESET. ¿Alguna otra idea?

    
pregunta Roman Matveev

2 respuestas

6

rompe MOSI porque es una salida para el host e interrumpa SCK para que la otra MCU no pueda ver los comandos de programación.

editar: esto todavía no funcionará ya que el reinicio se activará y desactivará durante la programación. otras líneas de datos también deben romperse, o reiniciarse para que las otras MCU se mantengan bajas.

Supongo que es por eso que la mayoría de los diseños usan un encabezado de programación separado para cada MCU.

    
respondido por el Jasen
2

Creo que para hacer esto, tienes que mantener el otro chip en reinicio para que el IO sea alto en Z (no accionado).
Por lo general, el CS (selección de chip) hace esto, pero no hay ninguna selección de chip disponible aquí. Ver restablecer como! CS (no seleccionar chip).

Actualización: Este concepto no funcionará para las partes de atmel. Mantener el reinicio bajo solo entra en el modo de programación. Puede mantener el restablecimiento alto en la parte que no desea programar. Pero debe asegurarse de que el programa no use los pines SPI.

Sin embargo, no iría por esta ruta. Compararía los costos de un operador que cambia el cable, usando dos programadores o multiplexores.

    
respondido por el Jeroen3

Lea otras preguntas en las etiquetas