Estoy diseñando un sistema en el que se va a usar un controlador central de host que tiene una conexión de internet celular para consultar / controlar / flashear nodos conectados (cableados).
El controlador central de host es un electrón de partículas y está escrito en piedra (ya tienen docenas de unidades desplegadas y funcionan bien durante más de 1 año).
Los nodos conectados de manera intermitente son baterías inteligentes que se conectarán a la interfaz de carga / control del host.
Las baterías inteligentes tendrán una MCU ATtiny (flexible en la opción de una MCU específica) que registra los datos de carga, consulta un chip UUID y comunica los datos históricos guardados en EEPROM al controlador host.
Parte del objetivo de diseño es poder actualizar el firmware en el ATtiny sin problemas después de conectarlo al arnés de carga. Esto implica que el arnés de carga deberá poder llevar 4 cables adicionales sobre los 2 cables de carga para facilitar la programación de la MCU a través de su interfaz SPI: (SCK, MISO, MOSI) más un cable de reinicio.
Esto plantea un desafío porque si tengo 12 baterías inteligentes conectadas al mismo bus SPI, es probable que tenga un SPI de mierda que probablemente tenga muchos problemas de capacitancia / giro / ruido, especialmente teniendo en cuenta que el cable funciona Desde el controlador del host a cada batería inteligente será de hasta 2 m. Eso agrega rápidamente hasta 24 m de cobre en 12 canales.
Mi idea de contrarrestar esto ahora es multiplexar cada señal SPI a los 12 canales, de modo que la parte "activada" del bus SPI permanezca a 2 m. Esto también se ocuparía de "direccionar" canales específicos / baterías inteligentes, lo que me hace pensar que probablemente podría atar todos los pines seleccionados del esclavo ATtiny a tierra ... (aunque sé que una transición alta a baja en el pin SS ATTIN resulta en restablecer el periférico SPI ... lo que podría ser importante).
La otra parte del calzone es el mazo de cables / conector. Los cables de alimentación de carga serán de calibre 16. Habrá un mínimo de 4 cables de comunicaciones adicionales (suponiendo que esté casado con la idea de actualización del firmware), pero idealmente 5 (para proporcionar los pines de selección de esclavos).
Una búsqueda rápida de conectores de 6-8 pines revela que probablemente costarán casi tanto como un ATtiny, lo que me hace querer agregar un ATtiny secundario como programador externo y hacer que ambos funcionen con dos cables ( o 1-cable) protocolo de comunicación de búsqueda / direccionable. Este enfoque tiene el inconveniente de un mayor trabajo de desarrollo que probablemente se deba solicitar a un desarrollador independiente.
La producción de baterías inteligentes afectada por esta decisión a largo plazo podría ser de millones fácilmente.
Entonces, las preguntas son:
-
Lo que parece más sensato: 6-8 conectores pin / arnés de cableado (12 veces) ejecutándose en un periférico SPI multiplexado o un proyecto de programador ATtiny desarrollado en una interfaz de 1 o 2 cables?
-
¿Se puede multiplexar un bus SPI de cobre de 24 pies de largo a ("manejable") buses de 2 pies factibles, aconsejable, apropiado?