Transmisión de datos: preparación de los datos cíclicos, maximización de la velocidad de transmisión, longitud de trama ≤ tamaño máximo de segmento (63 Bytes)

General

NOTA: A partir del segundo bloque de MTU, los datos serie empiezan en TxByte1; no hay más bytes de control.

Paso

Acción

1

Copie el primer bloque de datos serie de TxByte2 a TxByteX.

2

Cree el byte de control en TxByte1. Especifique la longitud de la trama y establezca la detección del fin de trama = 1.

3

Incremente el número de la secuencia de envío en OutputSequence. El módulo copia datos en el búfer de transmisión durante el siguiente ciclo.

4

Cuando utilice el mecanismo Block Forward, repita los pasos del 1 al 3 hasta que los datos serie se hayan transferido en bloques. Con el último bloque, el módulo detecta que se ha alcanzado el fin de la trama y libera la trama para el envío. Se puede iniciar una nueva trama inmediatamente en el siguiente ciclo.

5

Las confirmaciones cíclicas del número de la secuencia de envío transferido de bloques de InputSequence confirman que estos bloques se han recibido. Si el número de secuencia de envío permanece sin confirmar, el procedimiento se debe repetir, empezando por el primer número de secuencia sin confirmar.

Diagrama de flujo de transmisión de datos: preparación de los datos cíclicos, maximización de la velocidad de transmisión, longitud de trama ≤ tamaño máximo de segmento

G-SE-0064573.2.gif-high.gif

 

 

Longitud de trama > tamaño máximo de segmento

NOTA: A partir del segundo bloque de MTU, los datos serie empiezan en TxByte1; no hay más bytes de control.

Paso

Acción

1

Copie el primer bloque de datos serie de TxByte2 a TxByteX.

2

Cree el byte de control en TxByte1. Especifique la longitud del segmento, la posición del byte de control = 1 y la detección del fin de trama = 0.

3

Incremente el número de la secuencia de envío en OutputSequence. El módulo copia datos en el búfer de transmisión durante el siguiente ciclo.

4

Cuando utilice el mecanismo Block Forward, repita los pasos del 1 al 3 hasta que los datos del primer segmento se hayan transferido en bloques.

5

Si sigue habiendo TxBytes sin asignar en el primer segmento, con posición de byte de control = 1 el siguiente segmento empieza inmediatamente en el primer TxByte sin asignar y los bytes restantes se llenan de datos. Con posición de byte de control = 0, el siguiente segmento empieza en la siguiente MTU nueva.

6

Repita los pasos del 1 al 5 para transferir los segmentos de la trama en bloques. En el byte de control del último segmento, establezca la detección de fin de trama = 1. Con el último bloque del último segmento, el módulo detecta que se ha alcanzado la longitud de la trama y libera la trama para enviarla. Se puede iniciar una nueva trama inmediatamente en el siguiente ciclo.

7

La confirmación cíclica de los números de las secuencias de envío transferidos de los bloques/segmentos anteriores de InputSequence confirma que los bloques se han recibido. Si el número de secuencia de envío permanece sin confirmar, el procedimiento se debe repetir, empezando por el primer número de secuencia sin confirmar.

G-SE-0064574.2.gif-high.gif

 

 

Ejemplo: Partición del byte de control y los datos de transmisión

Se debe transferir una trama con 27 bytes. El tamaño de la MTU está configurado en 7 bytes.

G-SE-0064575.2.gif-high.gif

 

 

A diferencia de la figura de Datos de transmisión: preparación de los datos cíclicos, máxima organización y supervisión de los distintos pasos), esto tiene como resultado que no son necesarios dos ciclos de MTU para la misma longitud de trama y el mismo tamaño de MTU. Se puede iniciar una nueva trama después del ciclo 4 de la última MTU.

Al preparar o partir los datos de transmisión, no importa si el mecanismo Block Forward se utiliza o no:

oSi no se utiliza el mecanismo Block Forward después de los distintos ciclos de la MTU para la transferencia de los datos de transmisión, el módulo espera la confirmación del número de secuencia de envío.

oSi se utiliza el mecanismo Block Forward, el bloque de datos siguiente se transfiere inmediatamente en el siguiente ciclo.

Optimización adicional

Para utilizar el espacio disponible del último bloque de MTU de la trama para la siguiente trama, ponga el identificador de posición del byte de control = 1 en el último byte de control de la trama. El primer TxByte sin asignar en el último bloque de MTU se utiliza entonces como byte de control para la siguiente trama. La MTU se llena entonces con los datos serie de la nueva trama hasta el final de los datos. Los datos serie del siguiente ciclo empiezan en TxByte1.

Ejemplo: Partición del byte de control y los datos de transmisión

Se deben transferir dos tramas de 27 bytes y 20 bytes. El tamaño de la MTU se establece en 15 bytes.

G-SE-0064576.2.gif-high.gif