¿Recomendaciones de bus de dos hilos de rango medio?

¿Tiene alguna recomendación para un bus de dos hilos de rango medio (~10 metros)? Mi voltaje de suministro es de 24 V y tendré un solo maestro con ~ 50 esclavos conectados a él. He investigado:

  • I2C: excelente, pero no alcanzará tanto tiempo (límite de capacidad, aunque los búferes de bus pueden ser una opción)
  • SPI: no de dos hilos, pero más o menos lo mismo que I2C
  • CAN: una opción, pero esto es más un bus multimaestro y probablemente necesite una resistencia de terminación
  • RS485: parece la mejor opción hasta ahora, podría usar un transceptor UART-RS485, pero aún necesita una resistencia de terminación como CAN

Topología

¿Qué tipos de intrusos externos debe tolerar? Si las interferencias provocan errores de bits, ¿los detectará su sistema y solicitará una segunda transmisión? ¿Y sus tomas de tierra tienen el mismo potencial (cualquier cosa que use múltiples tomas de corriente dentro de una casa debe esperar ALGUNAS diferencias de voltaje de tierra)? ¿Qué tarifas de datos? Bus de 100 ohmios (muchos pares trenzados tienen alrededor de 100 ohmios, con 10 000 pF (10 nF, 0,01 uF) cada metro para reducir la amplitud de los picos inyectados en el campo eléctrico, tendrán una constante de tiempo de 10 microsegundos, lo que permite fácilmente 1000 bits por segundo. Y use receptores Schmidtt Trigger.
Todavía no sé cómo voy a manejar la interferencia, pero estos son datos no críticos y se actualizan con la frecuencia suficiente para que no importen en esta etapa. Todos mis terrenos tienen el mismo potencial, ya que todos serán alimentados por la misma fuente de alimentación. Edité mi pregunta para mostrar mi topología e ilustrar mejor mi circuito planificado. Cada esclavo básicamente un solo pcb. Probablemente se conectarán con conectores de borde de pcb, pero estoy un poco preocupado por la resistencia de contacto en esos.
No me parece una aplicación de bus de dos hilos. ¿ Hiciste una pregunta similar hace una semana más o menos?
Interesante, ese no era yo, pero estoy buscando algo similar. Sin embargo, no encontré esta pregunta cuando busqué. Sin embargo, mi objetivo es diseñar un sistema de paneles LED completamente modular, no un cubo de festo. Tal vez esto se pueda lograr con la multiplexación I2C, pero no sé qué tan bien funcionaría considerando que lo estoy diseñando para que sea completamente modular.
La forma en que tiene el cableado dibujado no funcionará para CAN o RS485. Debe conectarse en cadena, no en abanico repetidamente.
Ahí es exactamente donde estoy atascado en este momento. La conexión en cadena tampoco es una opción, ya que cada esclavo debería poder reorganizarse en cualquier posición.

Respuestas (2)

50 esclavos se parece mucho a que desea una red adecuada con una arquitectura flexible en lugar de un bus compartido, aunque solo sea para aislar problemas. Su gráfico bastante complejo ilustra cuán poco funcionaría para usted un autobús conectado en cadena.

Como tal, Ethernet es bastante popular y maduro. Con IP y TCP además de eso, incluso hay pilas de software probadas que puede encontrar para casi todos los microcontroladores que vienen con interfaces Ethernet.

Estos ciertamente son omnipresentes y no demasiado caros. Por ejemplo, la familia SAME53 viene con un MAC Ethernet de 10/100 Mb. Simplemente agregue un RMII PHY ( ejemplo de 86 ct ) y listo: obtendrá una red completa, con detección de colisiones, descarga de suma de comprobación y demás. Dado que esa cosa es un ARM popular, probablemente pueda elegir cuándo (si no necesita IP en todos los casos) elegir una pila de red.

Entonces: cuando construya una red, como claramente lo hace, use una red, no un bus.

La conexión RS485 del maestro a todos los esclavos conectados en paralelo probablemente sea lo mejor. Dos hilos para semidúplex, cuatro hilos para dúplex completo.

Esta aplicación entra en los detalles del cableado de todos ellos. Necesita una resistencia de terminación en cada extremo de la cadena (maestro y esclavo final).

https://www.maximintegrated.com/en/app-notes/index.mvp/id/723

Dado que estoy diseñando esto para que sea completamente modular y no quiero quemar vatios en resistencias donde no es absolutamente necesario, realmente no veo esto como una opción viable.
Haga que uno de los módulos sea la resistencia de terminación que va al final de la cadena.
Pero cualquiera de esos módulos debería poder reposicionarse en cualquier posición dada en un campo 2D siempre que todavía esté conectado horizontal o verticalmente con cualquier otro esclavo o el maestro.
Si no organiza el bus como un conjunto paralelo largo de cables con esclavos conectados aquí y allá con terminales cortos y un cable de terminación al final del conjunto paralelo de cables, entonces sospecho que tendrá que lidiar con problemas de degradación de la señal. con.