Comunicación serial de un cable (+ GND). ¿Cómo tener un acoplamiento correcto?

1

Soy un desarrollador de firmware más que un diseñador de hardware. Tengo una duda sobre una idea mía.

Quiero obtener una comunicación en serie entre ocho ATtiny85 (esclavos) y un ATmega168 (maestro: puede ser también un ATtiny85, pero para esta pregunta es la misma) usando solo un cable (más GND).

Estoy escribiendo mi protocolo y comienza a ejecutarse. He usado el pin INT0 (PB2) del ATtiny85 y el INT0 (PD2) del ATmega168; estos pines actúan como salida digital cuando transmiten y, después de la transmisión o como comportamiento normal, se convierten en entrada digital para recibir.

Todas las MCU tienen la misma fuente de energía, luego, si dos MCU se transmiten simultáneamente, habrá conflictos de línea y cortocircuitos (si uno transmite 1 y otro transmite 0). Quiero evitar cortocircuitos!

  • ¿Es la forma correcta de usar resistencias conectadas con cada pin individual? limitando la corriente?
  • Si uso 9 resistencias en la línea, una para cada pin, hago la señal ¿Tendrá una atenuación más fuerte?

¡En este momento evitaré usar otros chips activos que no sean los MCU para administrar las comunicaciones!

Cada una de las MCU está en un circuito separado, no en la misma tarjeta, como puede verse en la siguiente imagen.

Pido disculpas por el mal patrón, pero todavía no lo he diseñado. Ahora solo tengo una pequeña placa de pruebas con solo dos MCU.

simular este circuito : esquema creado usando CircuitLab

    
pregunta Sir Jo Black

1 respuesta

2

Puede conectar entre sí cualquier número de salidas desplegables y una resistencia de pull-up sin peligro de cortocircuito. Debe haber un esquema que evite que dos salidas se abran al mismo tiempo, pero eso es inofensivo si sucede. Un posible esquema es que un transmisor sea Maestro, que envía un impulso de 0 cada 10 segundos. Todos los demás transmisores son esclavos que conocen sus distintas direcciones, de modo que el Esclavo # 1 puede enviar algo 1 segundo después del pulso Maestro, el Esclavo # 2 puede enviar 2 segundos después, ... y así sucesivamente. Este ejemplo es deliberadamente lento porque la velocidad de datos estará limitada por la capacitancia del cable de señalización, que no sabemos.

El dispositivo de protocolo de un cable que menciona KyranF es inteligente porque logra obtener su poder de la misma línea que ocasionalmente tira hacia abajo.

    
respondido por el cuddlyable3

Lea otras preguntas en las etiquetas