Datos de recepción: lectura de datos cíclicos, maximización de la velocidad de transmisión

General

A diferencia del envío, durante la recepción el comportamiento referente al uso de la MTU por parte del módulo lo determina la configuración.

Configuración

Para maximizar la velocidad de transmisión, ajuste la configuración tal como se indica a continuación:

oSe permiten múltiples segmentos en la MTU: posición del byte de control = 1. El último byte de datos del segmento va inmediatamente seguido del byte de control para el siguiente segmento.

oEl tamaño del segmento puede ser superior al tamaño de la MTU: sólo la primera MTU del segmento contiene el byte de control del segmento, los siguientes bloques de MTU sólo contienen datos.

oUtilice el mecanismo Block Forward: el módulo transfiere hasta siete bloques de MTU sin confirmar.

Paso

Acción

1

Compruebe si el número de secuencia de recepción ha cambiado desde el último ciclo.

Si se trata del principio de una trama, inicialice el búfer de recepción (puntero de escritura en el inicio del búfer, longitud de la trama recibida= 0, y así sucesivamente). La transferencia optimizada significa que una MTU puede contener varias tramas cortas, de manera que es posible gestionar un número suficiente de búferes de recepción con la aplicación.

Determine la posición del byte de control en la MTU. Si RxByte1 es el byte de control, es una MTU que no contiene datos residuales del segmento (o trama) anterior. Si el primer RxBytex sin asignar es el byte de control para el nuevo segmento, es una MTU que contiene datos residuales de la trama anterior. Los bloques de MTU de un segmento no tienen necesariamente un byte de control.

2

Evalúe la información del byte de control de RxBytex. Determine la longitud de los datos, la longitud del segmento y la posición del siguiente byte de control. Si se ha establecido la detección del fin de la trama, es el último segmento.

3

Si hay datos disponibles, copie el bloque de datos serie a partir de RxBytex. Guarde la posición actual del puntero de escritura y añada la longitud de la nueva trama.

Calcule la longitud residual del segmento. Es posible que el siguiente RxBytex ya sea un byte de control para el segmento o la trama siguiente. Cuando la detección del fin de la trama se haya establecido y se hayan copiado los datos, marque la trama como completa.

4

Incremente el valor de confirmación del número de secuencia del receptor en OutputSequence.

5

Repita los pasos del 1 al 4 hasta que los datos serie se hayan recibido en bloques.

Diagrama de flujo de recepción de datos: optimización de la velocidad de transmisión

G-SE-0064579.2.gif-high.gif

 

 

Ejemplo de partición del byte de control y los datos de transmisión

La MTU está configurada en 15 bytes, se están recibiendo tramas: 27 bytes, 20 bytes, 11 bytes...

G-SE-0064580.2.gif-high.gif