comunicación bidireccional por 1 cable

1

Tengo 2 módulos inalámbricos conectados a los microcontroladores mbed por serie y pueden comunicarse bien, sin embargo, la transferencia de datos es de una dirección a la vez (como la transmisión por 1 cable).

Necesito crear un protocolo en el software para manejar la comunicación entre los 2 módulos, ya que necesito una comunicación bidireccional, sin embargo no entiendo cómo hacerlo en el código.

¿Alguien tiene una idea sobre cómo hacer esto?

Saludos, Nick

    
pregunta NoLiver92

1 respuesta

4

Saber exactamente qué tecnología está utilizando para el dispositivo de comunicación inalámbrico nos ayudaría a proporcionar una respuesta más detallada. Pero puedo decirle cuáles son sus opciones básicas independientes de una tecnología determinada.

El desafío fundamental es cómo comunicarse a través de un medio compartido chamuscado. Este no es un problema de diseño poco común y se ha resuelto muchas veces en varias tecnologías. Hay dos soluciones comunes:

  1. Master-Slave: Puedes tener un dispositivo como maestro y otro (s) dispositivo (s) esclavo. En este caso, el maestro puede enviar mensajes al esclavo, o el maestro puede leer la información del esclavo, lo que le proporciona una comunicación bidireccional. Un ejemplo de tecnología que utiliza esta solución es I2C .

  2. Detección de colisión : el segundo enfoque, generalmente más sofisticado, es hacer que todos los dispositivos sean "iguales" en el sentido de que cualquiera de ellos puede enviar mensajes cada vez que los elija. En este caso, necesita un mecanismo para detectar las colisiones que se producen cuando dos dispositivos intentan enviar mensajes simultáneamente. Un ejemplo de tecnología que utiliza esta solución son las redes Ethernet más antiguas que se comunican a través de un par trenzado compartido. Consulte CSMA / CD .

respondido por el David Gardner

Lea otras preguntas en las etiquetas