Comunicación entre 3 controladores Atmega

1

Estoy estudiando un analizador de bioquímica, en el que hay un controlador principal, un controlador de impresora y un detector. Para establecer la comunicación entre estos tres, el pin RxD de un controlador está conectado al mismo (RxD) de otros y lo mismo con TxD (todo el TxD de ic está interconectado.

¿Es este tipo de comunicación posible (normalmente conectamos TxD a RxD y viceversa)? ¿Cómo se comunican entonces? Qué protocolo se usa (I2C, SPI o USART).

¿Cómo será la configuración de maestro y esclavo?

    
pregunta Techknowlogic

3 respuestas

1

Difícil de decir. Si estos pines TXD y RXD están realmente dedicados a la serie RS232, entonces habría un conflicto de varios controladores con los pines TXD. Además, no podrían hablar el uno con el otro.

Sin embargo, hay un par de posibilidades. I2C, CAN y half-duplex RS-485 son todos buses compartidos que se conectan de esta manera, aunque los pines no son TX y RX. En I2C tienes reloj y datos. En CAN y RS-485, tiene un solo par diferencial para los datos. También es posible que estén usando un UART, pero tendrían que tener algún método para cruzar sobre TX y RX. Posiblemente estén deshabilitando el UART en el extremo del transmisor, girando el pin RX y golpeando los bits. O quizás los microcontroladores pueden intercambiar los pines TX y RX. O tal vez lo que dijiste no es correcto y el controlador TXD está conectado a RXD en los demás, y viceversa, con los pines TXD desactivados cuando no se está transmitiendo para evitar conflictos.

    
respondido por el alex.forencich
0

He visto sistemas en los que RXD y TXD están conectados a un solo nodo, pero solo un pin TXD en el sistema está habilitado en cualquier momento. No es RS-232, opera a voltajes UART, CCTalk es un ejemplo de esta configuración.

    
respondido por el Jasen
0

No estoy completamente seguro de por qué lo haría, pero definitivamente I2C es una opción. La mayoría de los mirocontrollers de hoy en día tienen muchas bibliotecas I2C y documentación de implementación periférica en sus recursos.

Otra cosa que podrías intentar hacer es la multiplexación, por lo que eliges solo una de las 3 líneas como válida para cualquier cosa a la que te estés comunicando.

En cualquier caso, entiendo que no diseñaste eso pero que solo lo estás estudiando, ¿no? Tenga en cuenta que la comunicación puede seguir los protocolos estándar (I2C, RS232, SPI, etc ...) o simplemente puede crear el suyo para que todo dependa de cómo estén programados los controladores. Por ejemplo, si los tres TxD están todos interconectados (correctamente subidos o bajados, y conectados a través de búferes o resistencias) pero gracias a la programación, solo UNO puede subir el voltaje de la línea hacia arriba o hacia abajo, entonces funcionará.

Intente estudiar el flujo de datos un poco más, como lo que debería estar sucediendo dentro de esos procesadores y cómo deberían "hablarse" entre ellos, y luego podemos ayudarlo más

    
respondido por el Sebastian Rivas

Lea otras preguntas en las etiquetas