Voy a comenzar un proyecto en mi universidad en unas pocas semanas. Dado que es una colaboración entre mi universidad y una empresa muy importante, no puedo decir mucho sobre el proyecto en sí. Así que trato de dar aquí la cantidad necesaria de información, que describe el problema. Espero poder describirlo lo suficientemente bien como para que te entienda.
Problema: Un microcontrolador envía datos a través de un bus (puede ser RS485 o CAN. Esto aún no está especificado) para hasta 12 dispositivos:
Hubounpocodedecepciónconestediseño,porqueaalguieninvolucradoenelproyectonolegustalasoluciónpresentada(algunaspersonasquierenconectarelmicrocontroladordirectamenteconcadadispositivo)debidoalaredundancia.Larazóndetrásdeestediseñoesquepodemosescribireimplementarunprotocoloparatransmitirdatosacadadispositivo.Esoesagradableyextremadamenteeficiente,yaquepuedoenviardatosatravésdeunpaquetedeinformación.
Aalgunasdemisuniversidadesnolesgustaestasolucióndebidoalafaltaderedundancia.Siporalgunarazónelbussevaainterrumpir(uncableserompe,unmovimientomecánicoenelcable,etc.),algúndispositivonopudoobtenersuinformación(queesvitalparalavidadelsistema)yrealmentemuchodedañopuedesuceder.Elpeordeloscasosescuandolaconexiónserompeentreelmaestroyelprimerdispositivo.Entoncestodoslosdispositivossepierden.Estecasodebeevitarseacualquiercosto.
Quieroevitaresto.Estabapensandoenunasolucióndondehayaalmenosdosbusesdecomunicaciónparapermitirlacomunicacióndelosdispositivosencasodequeunbusyanofuncione.Asíquetengoenmimenteelsiguientediseño:
Pero tengo un problema: Quiero enviar a cada línea la misma información. El dispositivo debe poder leer solo uno. Por lo tanto, ambas líneas deben fusionar en un canal antes de que el dispositivo las lea.
Preguntas :
- ¿Es esta forma de redundancia aceptable? ¿O debería repensar mi diseño?
- ¿Tiene sentido fusionar ambas líneas en una antes de ingresar al dispositivo? ¿O debería tener el dispositivo al menos dos puertos RS485 o CAN separados y luego combinar la información por software?