Programación en serie de varios microcontroladores AVR simultáneamente a través de la interfaz ISP

0

Me gustaría colocar varios PCB en un panel con un solo conector ISP enrutado a cada MCU en paralelo.

Espero que no sea un problema que muchas salidas de MCU se conecten entre sí, ya que se pretende que los datos de salida sean siempre los mismos.

Sin embargo, no puedo estar seguro de que el dispositivo de programación (STK500 en mi caso) sea capaz de manejar eléctricamente muchos dispositivos (¿y cuántos en este caso?) Creo que es inútil intentar encontrar alguna especificación como programadores destinado a conectarse solo a una MCU a la vez.

Encontré un tema similar aquí, pero Brian me preguntó acerca de la programación paralela pero debo hacerlo en serie . ¡Y la pregunta estaba relacionada con una cantidad relativamente pequeña de MCU (3 en la imagen) cuando me gustaría hacer este truco con 20 o 30 dispositivos!

Entonces, ¿hay algo dormido fuera de mi vista? Podría hacer un experimento con 2 o quizás 3 dispositivos, pero no tengo suficientes tableros para proporcionar una prueba a escala completa, ¿entonces alguien probablemente hizo esto? Me gustaría tener más PoV antes de colocar un panel en la producción.

¿Alguna idea?

    
pregunta Roman Matveev

2 respuestas

1

El protocolo de programación ISP AVR escribe y lee desde el dispositivo que se está programando durante la programación. Por esta razón, no podrá hacer esto (programar múltiples dispositivos simultáneamente) a menos que escriba su propio software para hacer solo escrituras (y correr el riesgo significativo de perder un dispositivo muerto en su panel). enlace

Hay muchos programadores de pandillas comerciales en el mercado (aunque usted esperaría un precio de $ 2-3k), pero dado el costo ridículamente bajo de un AVR ISP MKII programadores en Ebay, puede conectar múltiples programadores USB y pasar por el varios puertos No es exactamente la programación de pandillas, pero ciertamente podría ser más rápido que un proceso manual de un solo dispositivo. Si está realmente interesado en ahorrar tiempo, entonces podría pasar su propio software a múltiples programadores AVR ISP, no sería difícil.

    
respondido por el Jack Creasey
0

Haría la programación durante las pruebas de la sonda voladora, lo que tienes que hacer para cada unidad en el panel de todos modos por separado.

  1. Subir un programa de prueba
  2. Probar que todas las conexiones estén soldadas
  3. Prueba de que no existen puentes de soldadura
  4. Cargar programa final

Con dispositivos compatibles con JTAG, usaría Boundary Scan para las pruebas de conectividad y aislamiento, pero para el AVR, necesita un programa separado que implemente un protocolo de respuesta que le permita probar las conexiones fácilmente, como

  1. tire de A0 hacia abajo, el interruptor A1 a entrada con pull-up, todos los demás puertos en alto
  2. las pruebas de sondas voladoras indican que las cosas conectadas a A0 son bajas
  3. las pruebas de sondas voladoras indican que las cosas que no están conectadas a A0 (pero otros puertos) son altas
  4. dar un pulso bajo a A1 para avanzar el programa
  5. tire A1 bajo, cambie A2 a entrada con pull-up, todos los demás puertos altos

etc.

Debe ajustar ese programa para su placa para no romper los periféricos conectados, y optimizar para no probar puentes de soldadura imposibles (A0 a A2).

    
respondido por el Simon Richter

Lea otras preguntas en las etiquetas