Estoy trabajando en una configuración, donde necesitamos comunicación entre un dispositivo maestro y varios microcontroladores esclavos distribuidos en diferentes cajas conectadas por cables cat5e "largos" (3-10 metros) Las cajas de microcontroladores (cajas MC) deben ser de acoplamiento activo, de modo que el dispositivo maestro pueda comunicarse con lo que esté conectado en cualquier momento. Los MC-boxes no necesitan comunicarse entre sí.
Lo hemos logrado en el entorno cómodo y controlable de nuestra oficina en una configuración basada en I2C, utilizando los extensores I2C P82B715 de TI. Sin embargo, hemos observado que esta solución no es confiable en entornos ruidosos donde el bus I2C se bloquea en cuestión de horas o días que requieren un restablecimiento completo.
Por lo tanto, he comenzado a buscar en los protocolos de señalización diferencial debido a su resistencia al ruido inherente. El bus CAN parece especialmente interesante debido a sus capacidades de manejo de errores. Y, por lo que he leído, debería ser posible hacer dispositivos en un bus CAN conectable en caliente (varios comentarios en esta publicación también así lo indica). Sin embargo, en nuestra aplicación, el bus no puede colocarse de antemano, pero debe extenderse a medida que se agregan dinámicamente MC-boxes. La especificación CAN indica que el bus debe terminarse con dos resistencias de 120Ω, lo que hace que la expansión dinámica sea problemática. Entonces, ¿cómo puedo lograr algo como eso, que he tratado de describir a continuación?
Por lo tanto, mis preguntas son:
- ¿Cómo puedo lograr un bus CAN extensible, que retenga la impedancia constante en las líneas de señal como lo requiere la especificación, cuando se agregan o eliminan nuevas 'cajas'?
- ¿Puedo lograr lo anterior con un protocolo completamente diferente?
¡Espero que puedas ayudar!
Editar - Aclaraciones: - La unidad maestra se conectará a Internet, por lo que tengo algunos problemas de seguridad con el uso de protocolos basados en IP como TCP y UDP. - Las cajas deben ser a prueba de agua, por lo que todos los componentes electrónicos deben mantenerse dentro de las cajas.