Trasmissione dati: preparazione dei dati ciclici, ottimizzazione del controllo e monitoraggio

Generale

Le seguenti procedure per lunghezze di frame diverse dimostrano che nell'MTU non sono necessarie modifiche quando il trasferimento avviene in blocchi con specifiche di lunghezza. I passi dell'elaborazione e la posizione dei byte di controllo sono identici; cambia solo il numero di cicli richiesti per il completamento della trasmissione dei dati.

Lunghezza frame < dimensioni Output MTU

Passo

Azione

1

Copiare i dati seriali in TxByte2 ... TxByteX.

2

Creare il byte di controllo in TxByte1. Specificare la lunghezza dei dati nel blocco MTU e impostare il rilevamento di fine frame = 0.

3

Aumentare il numero della sequenza di invio in OutputSequence. Il modulo copia i dati nel buffer di trasmissione durante il ciclo successivo.

4

Attendere la conferma del numero della sequenza di invio come conferma del trasferimento dei dati in InputSequence.

5

Creare un byte di controllo in TxByte1. Specificare la lunghezza dati = 0 e impostare il rilevamento di fine frame = 1.

6

Aumentare il numero della sequenza di invio in OutputSequence. La fine frame viene rilevata dal modulo e il frame viene rilasciato per l'invio.

7

Attendere che compaia la conferma del numero della sequenza di invio come feedback in Input-Sequence per confermare che il frame è stato ricevuto.

A questo punto può essere avviato un nuovo frame.

Lunghezza frame ≥ dimensioni Output MTU

Passo

Azione

1

Copiare il primo blocco di dati seriali in TxByte2 ... TxByteX.

2

Creare il byte di controllo in TxByte1. Specificare la lunghezza dei dati nel blocco MTU e impostare il rilevamento di fine frame = 0.

3

Aumentare il numero della sequenza di invio in OutputSequence. Il modulo copia i dati nel buffer di trasmissione durante il ciclo successivo.

4

Attendere che compaia la conferma del numero della sequenza di invio come conferma del trasferimento dei dati in InputSequence.

5

Ripetere i passi da 1 a 4 finché i dati seriali non sono stati trasferiti nei blocchi.

6

Creare il byte di controllo in TxByte1. Impostare la lunghezza dati = 0 e il rilevamento di fine frame = 1.

7

Aumentare il numero della sequenza di invio in OutputSequence. La fine frame viene rilevata dal modulo e il frame viene rilasciato per l'invio.

8

Attendere che compaia la conferma del numero della sequenza di invio come feedback in InputSequence, che conferma che il frame è stato trasmesso.

A questo punto può essere avviato un nuovo frame.

Diagramma di flusso della trasmissione dati: preparazione dei dati ciclici, controllo massimo e monitoraggio dei singoli passi

G-SE-0064570.2.gif-high.gif

 

 

Trasmissione dati: uso del meccanismo Block Forward

Passo

Azione

1

Copiare il primo blocco di dati seriali in TxByte2 ... TxByteX.

2

Creare il byte di controllo in TxByte1. Specificare la lunghezza dei dati nel blocco MTU e impostare il rilevamento di fine frame = 0.

3

Aumentare il numero della sequenza di invio in OutputSequence. Il modulo copia i dati nel buffer di trasmissione durante il ciclo successivo.

4

Ripetere i passi da 1 a 3 finché i dati seriali non sono stati trasferiti nei blocchi.

5

Creare il byte di controllo in TxByte1. Impostare la lunghezza dati = 0 e il rilevamento di fine frame = 1.

6

 Aumentare il numero della sequenza di invio in OutputSequence. La fine frame viene rilevata dal modulo e il frame viene rilasciato per l'invio.

Informazioni generali

Le conferme cicliche del numero di sequenza di invio trasferito dei blocchi precedenti in InputSequence forniscono la conferma che questi blocchi sono stati ricevuti. Se il numero di sequenza di invio resta senza conferma, occorre ripetere la procedura, iniziando dal primo numero di sequenza non confermato.

Per monitorare il volume dati nel sistema hardware, è necessario determinare il numero di cicli che intercorrono tra l'incremento del numero della sequenza di invio e la ricezione della conferma. Il numero di cicli può variare considerabilmente, a seconda della relazione tra le classi dei task, i tempi di ciclo di rete e la topologia della rete disponibile.

Diagramma di flusso della trasmissione dati: uso del meccanismo Block Forward

G-SE-0064571.2.gif-high.gif

 

 

Esempio: partizione del byte di controllo e dei dati di trasmissione

Si deve trasferire un frame da 27 byte. Le dimensioni del blocco MTU sono impostate a 7 byte.

G-SE-0064572.2.gif-high.gif

 

 

La procedura di preparazione e di suddivisione dei dati di trasmissione è la stessa, indipenden­temente dal fatto che si sfrutti il principio Block Forward o meno:

oSenza l'uso del meccanismo Block Forward dopo i cicli MTU per il trasferimento dei dati di trasmissione, attende la conferma del numero della sequenza di invio.

oCon l'uso del meccanismo Block Forward, il blocco di dati successivo viene trasferito immediatamente nel ciclo seguente.

In entrambi i casi, un nuovo frame può essere iniziato soltanto dopo MTU ciclo 6.