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?
Respuestas:
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.
fuente
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.
fuente