Supongamos que tengo dos AVR conectados a un conector ISP.
Para programar solo una MCU en esta configuración, necesito romper una (o quizás varias) líneas que van a la MCU que no quiero programar 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 energía pasará por líneas digitales que tienen diodos de protección para VCC y GND.
Así que elegiría la línea RESET. ¿Alguna otra idea?
rompa MOSI porque es una salida de regreso al host y rompa SCK para que la otra MCU no pueda ver los comandos de programación.
editar: esto aún no funcionará ya que el reinicio se activará y desactivará durante la programación. Otras líneas de datos también deben romperse o restablecerse para las otras MCU mantenidas bajas.
Supongo que es por eso que la mayoría de los diseños usan un encabezado de programación separado para cada MCU.
Creo que para hacer esto, debe mantener el otro chip reiniciado para hacer que el IO sea Z alto (no controlado).
Por lo general, el CS (selección de chip) hace esto, pero no hay selección de chip disponible aquí. Ver reinicio como !CS (no selección de chip).
Actualización: este concepto no funcionará para piezas atmel. Mantener el reinicio bajo solo ingresa al modo de programación. Puede mantener el reinicio alto en la parte que no desea programar. Pero debe asegurarse de que el programa no use los pines SPI.
Sin embargo, yo no iría por este camino. Compararía los costos de un operador cambiando el cable, usando dos programadores o usando multiplexores.
Jasén
romano matveev
Jasén
romano matveev
Jasén
marcus muller
Jeroen3