Latencias en adaptador Ethernet a RS232

Latencias en adaptador Ethernet a RS232

Requisito: Tengo un software ejecutándose en mi Windows que se comunica con un dispositivo externo mediante el puerto RS232. El hardware recibe los comandos enviados desde la PC y responde a la PC. Cuando se utiliza un cable simple entre la computadora y el hardware, sin ningún adaptador, la transmisión y recepción se completa, digamos, en 50 ms. Cuando se utiliza un adaptador de Ethernet a RS232, el tiempo total de comunicación es (50 + x) ms, con una latencia de x ms.

Hay muchos productos disponibles en línea, revisé algunas de las hojas de datos de los productos. Había información sobre Ethernet y parámetros de comunicación en serie como bits de datos, velocidad en baudios, pero en ninguna parte pude encontrar la información de latencia.

Hasta ahora Utilicé un adaptador (velocidad de baudios máx. 230,4 kbps) para probar mi software, pero me encontré con una excepción de tiempo de espera del puerto serie.

Pregunta

¿De qué criterios depende esta latencia?

¿La latencia depende de la velocidad en baudios?

¿Qué debo verificar en las hojas de datos para determinar la latencia (aproximada)?

¿Los fabricantes proporcionan información sobre latencia?

Respuesta1

¿De qué criterios depende esta latencia?

Supongo que el almacenamiento en búfer, el entramado de datos, la transmisión, el protocolo y el tiempo de espera son los principales.

Como mencionaron otros comentaristas, como mínimo hay retrasos en la traducción del protocolo. Debería tener en cuenta el almacenamiento en búfer, la recodificación, la sobrecarga del protocolo y el tiempo de transmisión de los datos del terminal y del puente. La latencia se verá afectada por si se almacena o no una trama completa de datos antes de la transmisión y cuáles podrían ser los tiempos de espera internos. Estos se pueden configurar en algunos dispositivos.

También dependerá de si el protocolo Ethernet utiliza UDP, TCP o un protocolo personalizado. Dependerá de si el protocolo admite la retransmisión y si agrega integridad adicional o información de señalización. Nuevamente, estos se pueden configurar en algunos dispositivos. Sin haber mirado, supongo que los dispositivos de gama baja tenderían a usar UDP sin ninguna integridad o retransmisión y tenderían a almacenar en búfer una trama de datos UDP completa con un tiempo de espera interno para enviar una trama parcial si el flujo de datos se detiene.

¿La latencia depende de la velocidad en baudios?

Realmente depende de la latencia que estés midiendo. La diferencia en las velocidades de datos en serie probablemente afectará surendimientomás significativamente que tulatencia. Sí, afecta la latencia, pero tenga en cuenta que a 9600 bps, un byte tarda aproximadamente 1 ms en transmitirse.

¿Qué debo verificar en las hojas de datos para determinar la latencia (aproximada)?

¿Los fabricantes proporcionan información sobre latencia?

Los puentes para aplicaciones industriales a veces proporcionan información sobre la latencia y/o el rendimiento. Por ejemplouna de esas páginas de productoscita una latencia de 2 ms. También hay algunos informes de pruebas patrocinados por empresas como este.Comparación competitiva de 2003oeste informe de 2002que compara las latencias de varios dispositivos. Las latencias en su prueba varían desde unos pocos milisegundos hasta un promedio de 861 ms.

De todos modos, parece que su problema subyacente es el tiempo de espera del puerto serie en lugar de un problema de latencia. Por lo poco que has dicho, sospecho provisionalmente que se trata de un error de software o de configuración. Por lo general, hay varios tiempos de espera especificados en una biblioteca de interfaz serie, como tiempo entre bytes, tiempo de lectura multibyte y tiempo de escritura. También hay errores de desbordamiento del búfer si los datos almacenados en el búfer no se vacían lo suficientemente rápido. Como sabrá, normalmente puede ajustar o desactivar cada tiempo de espera en su cliente serie.

Empezaría por identificar dónde se origina el error. También puedes reducir la velocidad a 9600, ya que los adaptadores baratos no siempre funcionan bien en sus valores máximos.

información relacionada