Transferencia de datos UART a través de tarjetas modulares

1

Estoy intentando crear un sistema modular que usa UART para transmitir los mismos datos a cada microcontrolador que se agrega al sistema. Podría tener 3 o 10 módulos agregados al sistema.

Cada módulo de PCB está separado por no más de 1 pulgada de espacio (es decir, la mayor parte de la traza se ejecutará en PCB, la pulgada es solo el conector para realizar la conexión de una PCB a la otra). La longitud total del sistema sería de aproximadamente 6 pies.

¿Qué protocolo de señal sugeriría que podría diseñarse fácilmente en un sistema de PCB que es modular? RS485 usa par trenzado, lo que sería difícil de lograr en una PCB por lo que puedo decir. Estaba considerando conectar todos los Rx's de los microcontroladores "esclavos" a la Tx del microcontrolador "maestro". Esto permitiría la transmisión instantánea a todos los microcontroladores esclavos, según sea necesario. No pretendo usar UART para comunicarme de nuevo.

¿Qué cosas debo considerar en el diseño? ¿Podría una salida de microcontrolador manejar las entradas de hasta 10-15 microcontroladores? ¿Necesitaré agregar amplificadores de señal?

Es importante aclarar que estos dispositivos serán modulares, por lo que son prácticamente idénticos. No puedo tener algunos componentes en las tablas 5-6 que no están en las tablas 7-8, por ejemplo. La velocidad a la que espero transmitir es idealmente de 1 Mbps.

    
pregunta phivms

2 respuestas

3
  

¿Podría una salida de microcontrolador manejar las entradas de hasta 10-15 microcontroladores?

Los pines GPIO son CMOS, por lo que pueden manejar muchos más que eso, en términos de fan out. De hecho, es más de lo que puede obtener de un transceptor RS485 de 1 unidad de carga estándar.

Sin embargo, a 1Mbps, la capacitancia de la línea entra en juego, por lo que mucho depende de los conectores que uses.

  

RS485 utiliza un par trenzado que sería difícil de lograr en una PCB por lo que puedo decir

Ejecutar trazas en PCB paralelas entre sí tendría prácticamente el mismo efecto que torcer cables.

  

Esto permitiría la transmisión instantánea a todos los microcontroladores esclavos según sea necesario.

Aquí viene la pregunta de los $ 100: ¿qué es "instantáneo" para ti?

La solución más sencilla en su caso sería agregar un pequeño búfer schmitt como SN74LVC1G17 en El conector de salida de cada módulo. Entonces puedes encadenar tus módulos de forma prácticamente indefinida.

La captura, sin embargo, en el retardo de propagación, que para el chip anterior es de aproximadamente 3 ns. Por lo tanto, para la cadena de 10 módulos, tiene un retraso de 30 ns entre el primer y el último módulo. Si esto es lo suficientemente instantáneo, entonces siga adelante con UART y no se moleste con los transceptores o los múltiples cables.

Otro problema es que su módulo maestro debe estar ubicado al comienzo de la cadena. Si esto no es conveniente, puede colocar el búfer entre Tx y la línea de paso. Tiene una capacidad de conducción de 24 mA y solo un retraso de propagación de 4 ns a una carga de 50 pF. Esto debería ser suficiente para una línea de 6 pies con 10 conectores.

Por cierto, los buses diferenciales tienen un problema similar: tiene que agregar resistencias de terminación a cada módulo, pero solo activarlas en los extremos. Lo que significa que, de todos modos, hay que vigilar la colocación de cada módulo. También podría vigilar un módulo en lugar de dos.

    
respondido por el Maple
0

Con una longitud de ruta de señal de 6 pies, los efectos de la línea de transmisión pueden entrar en juego (los reflejos y el timbre causan un sobrepaso de superación de y subestime a los dispositivos que pueden provocar problemas de confiabilidad o incluso daños. De este artículo : Una regla empírica común es que el cable o cable se debe tratar como una línea de transmisión si la longitud es mayor que 1/10 de la longitud de onda.

Iría para RS485. Se adapta bien a la distancia y la velocidad de datos en este caso, y minimizará los problemas de EMI en comparación con señalización de terminación única . Puede lograr la impedancia requerida enrutando las dos señales como un par diferencial . Eléctricamente esto es muy similar a un cable de par trenzado y funcionará igual de bien. Existen múltiples calculadoras en línea para ayudarlo a establecer el ancho y el espaciado de las trazas de su tablero para una impedancia determinada.

Encamine el par desde un par de pines conectores al receptor, luego vuelva a un par diferente de pines, de modo que cada conector en la placa tenga entrada y salida de serie. La placa posterior / interconexión del sistema debe conectar la salida de una placa a la de la siguiente para formar una ruta eléctrica recta y agradable sin apéndices (discontinuidades de impedancia). Necesitará una resistencia de terminación al final de la línea. Podrías mover al maestro a cualquier parte en esta topología; en el medio funcionaría bien, pero recuerda que en este caso necesitarás una resistencia de terminación en ambos extremos.

    
respondido por el amb

Lea otras preguntas en las etiquetas