Longitud máxima del cable para señales UART de 3.3V

15

Me gustaría evitar el uso de convertidores RS-232 entre dos microcontroladores en dos placas diferentes. Por varias razones, solo se admiten UART, por ejemplo, no SPI o I2C, y utilizaré el cable CAT5E a las tomas RJ45 entre las placas. La velocidad de datos será de 115200 bps, posiblemente hasta 921600 bps. La tierra está conectada junto con las señales UART.

Si bien actualmente lo tengo funcionando en las longitudes que necesito, para mi propia educación, ¿hay alguna manera de estimar la longitud máxima del cable con la cual esto sería confiable?

QuestionMan
fuente
Este lammertbies.nl/comm/info/RS-232_specs.html puede ser útil "Si, por ejemplo, se usa el cable UTP CAT-5 con una capacidad típica de 17 pF / pie, la longitud máxima permitida del cable es de 147 pies".
kenny
3
El RS232 real tiene una oscilación de voltaje de más de 10 voltios entre la marca y el estado espacial. Y los 147 pies son solo para 19200 baudios. OP habla de 3V3 UART y 115200 a 921600 baudios: esto funcionará solo con cables relativamente cortos.
Turbo J
2
¿Puedo sugerir tranceivers RS422? Se adaptarían mucho mejor a los cables de par trenzado CAT5E.
Turbo J
No es una opción, desafortunadamente.
QuestionMan
Tengo una pregunta: ¿por qué 422 tranceivers no son una opción?
DiBosco

Respuestas:

14

No hay una única respuesta segura. Tiene mucho que ver con la longitud del cable, el ruido eléctrico circundante y la velocidad a la que desea ir. Ethernet utiliza un cable CAT5 para transmitir a 10 Mbit / s para la variedad más lenta, por lo que 1 Mbit / s es fácilmente factible si se toman las precauciones adecuadas . Tenga en cuenta que con Ethernet cada señal obtiene su propio par trenzado, y cada par termina cuidadosamente con la impedancia característica del cable en cada extremo. Cada par es conducido diferencialmente e interpretado diferencialmente, y también está diseñado para que no pueda causar bucles de tierra.

Si hace todo esto, puede transmitir datos de 1 Mbit / s en el cable CAT5 para largas distancias, como 1000 metros. A medida que haga menos de estas cosas, la distancia útil disminuirá. Si solo se trata de placa a placa en el mismo chasis, por ejemplo, entonces probablemente no necesite hacer mucho más especial. Si va a salir de la unidad, los controladores y receptores de línea diferencial podrían ser útiles.

Pruebe algo en su configuración y observe las señales en el extremo receptor para tener una idea del margen de ruido, ajústelo según sea necesario. Tal vez use un protocolo que pueda detectar y recuperarse de errores, y realizar un seguimiento de la frecuencia con la que sucede. Hay demasiadas formas de enumerar aquí sin más información.

Olin Lathrop
fuente
1
El hecho de que pueda obtener 145m de Ethernet no significa que obtendrá lo mismo de una señal TTL de 3.3V por el mismo cable solo porque está usando una tasa de bits más baja, vea la explicación en mi respuesta.
Jason Morgan
2
@ Jason: Tenga en cuenta que no dije que lo haría. Dije que podría llegar largas distancias con las precauciones adecuadas, como los controladores y receptores de línea diferencial y los extremos terminados.
Olin Lathrop
3
@Olion: Desde su publicación, parece decir que se trata más de las características de un cable, en lugar de por qué un TTL de 3.3V no viajará muy lejos. Para mí, se lee como una sugerencia para comprar un buen cable, que ambos sabemos que está mal.
Jason Morgan
7

Ethernet usa señalización diferencial, una señal TTL es de un solo extremo.

Ethernet usa pre-énfasis, TTL no.

Ethernet es el modo actual, TTL es el modo de voltaje.

Ethernet utiliza una técnica de modulación que reduce el número de bordes, su TTL podría no hacerlo (ASYNC estándar ciertamente no)

El controlador y el receptor de Ethernet coinciden con la impedancia del cable, a menos que esté cuidadosamente diseñado, TTL no sería (y si lo fuera, ¡entonces no sería TTL!)

Ethernet usa una señal simétrica (mediante el uso de escalamiento) para crear una densidad de 1 par. La serie ASYNC tiene una polarización incorporada que carga el cable y debe superarse para obtener una señal en el otro extremo.

Por estas razones, el hecho de que pueda obtener 145 m de Ethernet a 1 Gbps no significa que obtendrá lo mismo (o incluso 1000 veces menos) de una señal TTL de 3.3 V por el mismo cable.

Recomiendo usar un controlador de señalización diferencial como RS422, para eso está diseñado. De hecho, RS422, aunque el funcionamiento a un voltaje más bajo es mejor para recorridos largos debido a la señalización diferencial (RS232 es de un solo extremo),
además, los controladores y receptores hacen cosas inteligentes para mejorar la calidad de los bordes, como el pre-énfasis.

Jason Morgan
fuente
El OP ya había declarado 3 horas antes de su respuesta que los transceptores RS422 no eran una opción.
tcrosley
3
Sí puedo leer. Todavía puedo recomendar la solución correcta. El hecho de que al afiche no le guste escuchar la verdad, no significa que no se deba decir.
Jason Morgan
2
¿Por qué lo llamas TTL todo el tiempo? El título dice 3.3V, por lo que definitivamente no es TTL. La unidad TTL tiene capacidades de fuente / sumidero muy asimétricas, mientras que HCMOS es simétrica. Puede marcar la diferencia conduciendo un cable.
stevenvh
¿Qué es el "pre-énfasis"?
m.Alin
El énfasis previo es una técnica en la que la fuerza del accionamiento (es decir, la impedancia de salida) se modula durante el pulso transmitido. Se utiliza para compensar las características capacitivas e inductivas del cable y los imanes en un intento de presentar bordes de mejor calidad al receptor.
Jason Morgan el