ITTO20121008A1 - Procedimento per regolare la trasmissione di dati su un canale di comunicazione, relativo dispositivo e prodotto informatico - Google Patents

Procedimento per regolare la trasmissione di dati su un canale di comunicazione, relativo dispositivo e prodotto informatico Download PDF

Info

Publication number
ITTO20121008A1
ITTO20121008A1 IT001008A ITTO20121008A ITTO20121008A1 IT TO20121008 A1 ITTO20121008 A1 IT TO20121008A1 IT 001008 A IT001008 A IT 001008A IT TO20121008 A ITTO20121008 A IT TO20121008A IT TO20121008 A1 ITTO20121008 A1 IT TO20121008A1
Authority
IT
Italy
Prior art keywords
channel
transmission
slot
free
node
Prior art date
Application number
IT001008A
Other languages
English (en)
Inventor
Elio Blanca
Vincenzo Mormina
Original Assignee
St Microelectronics Srl
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by St Microelectronics Srl filed Critical St Microelectronics Srl
Priority to IT001008A priority Critical patent/ITTO20121008A1/it
Priority to US14/067,811 priority patent/US9258139B2/en
Publication of ITTO20121008A1 publication Critical patent/ITTO20121008A1/it

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying

Description

“Procedimento per regolare la trasmissione di dati su un canale di comunicazione, relativo dispositivo e prodotto informaticoâ€
TESTO DELLA DESCRIZIONE
Campo tecnico
La descrizione si riferisce alle tecniche di comunicazione.
Varie forme di attuazione possono trovare applicazione in dispositivi per la trasmissione su mezzo fisico in reti di comunicazione quali, ad esempio, modem, transceiver e simili.
Sfondo tecnologico
Nella trasmissione su rete di dati, ad esempio organizzati in frame, un ruolo importante à ̈ svolto dalle strategie di accesso al mezzo di comunicazione. Queste strategie mirano ad evitare - oppure a far fronte a -eventuali situazioni di collisione suscettibili di provocare la perdita di messaggi e delle informazioni in essi contenuti.
Dispositivi quali modem, transceiver e simili utilizzabili per trasmettere dati su un mezzo fisico (ossia su un canale) in reti di comunicazione possono usare vari sistemi hardware per controllare se c'Ã ̈ una trasmissione in corso (ovverosia per rilevare la condizione di "band in use").
Varie soluzioni permettono di regolare il funzionamento di tali dispositivi con procedure (ad esempio a livello firmware) dirette ad implementare strategie di accesso alla risorsa rappresentata dal mezzo fisico o canale.
Queste strategie, talvolta indicate con la denominazione CSMA (Carrier Sense Multiple Access, ovverosia accesso multiplo con rilevazione di portante), possono essere ricondotte a due filoni di fondo miranti rispettivamente ad evitare le collisioni (Collision Avoid o CA), ovvero a rilevare le collisioni (Collision Detect o CD).
Ad esempio, la produzione della Richiedente comprende piattaforme quali STM32Fxx (microcontrollore dotato di CPU ARM Cortex-M3 a 32 bit) e ST7580 (dispositivo Power Line Modem della famiglia StarGreed Narrowband product).
Dispositivi power line modem come il ST7580 utilizzano una modulazione PSK (Phase Shift Keying, ossia modulazione a spostamento di fase) con una frame generica comprendente una parte di preambolo contenente informazioni di sincronizzazione per lo stream, modulazione e payload, utilizzate per la decodifica delle frame stessa.
I dispositivi sono in grado di dare informazioni sullo stato del canale (libero o occupato) solo dopo aver decodificato un preambolo. Durante la decodifica del preambolo, non sono in grado di fornire informazioni sullo stato del canale. Tale ritardo di segnalazione della “band in use†può causare una penalizzazione delle prestazioni di una procedura CSMA/CA classica.
Un altro problema può essere legato all’architettura complessiva di sistema, che può comprendere, ad esempio, un microcontrollore (ad es. STM32) ed un Power Line Modem (ad es. ST7580) connessi tramite periferiche di comunicazione seriale, il microcontrollore gestisce i flussi dato da e per il modem.
Il controllo esterno può introdurre un ritardo dovuto alle trasmissioni seriali, tale ritardo essendo proporzionale alla dimensione del pacchetto scambiato.
In varie soluzioni, il ritardo introdotto dalla comunicazione seriale tra microcontrollore e modem può provocare un aumento dell’intervallo in cui il canale di trasmissione à ̈ effettivamente “prenotato†da una trasmissione, ma i dispositivi appartenenti alla rete non sono in grado di verificare l’effettivo stato del canale.
Scopo e sintesi
Nel contesto sopra delineato à ̈ avvertita l'esigenza di disporre di strategie migliorate di tipo CSMA-CA, ossia dirette ad evitare le collisioni, tali da permettere di evitare eventi di collisione nell'accesso ad un mezzo (canale) di comunicazione nell'ambito di una rete, superando gli inconvenienti delineati in precedenza.
Varie forme di attuazione si prefiggono lo scopo di soddisfare tale esigenza.
Secondo varie forme di attuazione, tale scopo à ̈ raggiunto grazie ad un procedimento avente le caratteristiche richiamate nelle rivendicazioni che seguono.
Varie forme di attuazione possono riferirsi anche ad un corrispondente dispositivo (trasmettitore), nonché ad un prodotto informatico caricabile nella memoria di almeno un elaboratore e comprendente porzioni di codice software suscettibili di realizzare le fasi del procedimento quando il prodotto à ̈ eseguito su almeno un elaboratore. Così come qui utilizzato, il riferimento ad un tale prodotto informatico à ̈ inteso essere equivalente al riferimento ad un mezzo leggibile da elaboratore contenente istruzioni per il controllo del sistema di elaborazione per coordinare l’attuazione del procedimento secondo l'invenzione. Il riferimento ad "almeno ad un elaboratore" à ̈ evidentemente inteso a mettere in luce la possibilità che la presente invenzione sia attuata in forma modulare e/o distribuita.
Le rivendicazioni formano parte integrante dell'insegnamento tecnico qui somministrato in relazione all’invenzione.
Varie forme di attuazione permettono di implementare un protocollo definibile come CSMA/CA JAS (Joint Adaptive Slotted), ossia una strategia di accesso al mezzo per reti di comunicazione basata su slot temporali a durata variabile con auto-sincronizzazione dei nodi compresi nella rete.
Varie forme di attuazione si prestano ad essere implementate, ad esempio, su piattaforme quali STM32 e ST7580, cui si à ̈ già fatto riferimento in precedenza.
Breve descrizione delle figure
Varie forme di attuazione saranno ora descritte, a puro titolo di esempio non limitativo, con riferimento alle figure annesse, in cui:
- la figura 1 Ã ̈ un diagramma di flusso rappresentativo di forme di attuazione,
- la figura 2 à ̈ un cronogramma, comprendente tre porzioni indicate rispettivamente con a), b) e c), rappresentativo di possibili modalità di funzionamento di forme di attuazione,
- le figure 3 a 7, di cui la 6 comprendente due porzioni indicate rispettivamente con a) e b), riproducono vari diagrammi temporali rappresentativi di possibili particolarità di forme di attuazione.
Descrizione particolareggiata
Nella seguente descrizione sono illustrati vari dettagli specifici finalizzati ad un’approfondita comprensione di vari esempi di attuazione. Le forme di attuazione possono essere realizzate senza uno o più dei dettagli specifici, o con altri metodi, componenti, materiali, etc. In altri casi, strutture, materiali o operazioni noti non sono mostrati o descritti in dettaglio per evitare di rendere oscuri i vari aspetti delle forme di attuazione. Il riferimento ad “una forma di attuazione†nell’ambito di questa descrizione sta ad indicare che una particolare configurazione, struttura o caratteristica descritta in relazione alla forma di attuazione à ̈ compresa in almeno una forma di attuazione. Quindi, frasi come “in una forma di attuazione†, eventualmente presenti in diversi luoghi di questa descrizione non sono necessariamente riferite alla stessa forma di attuazione. Inoltre, particolari conformazioni, strutture o caratteristiche possono essere combinate in ogni modo adeguato in una o più forme di attuazione.
I riferimenti qui utilizzati sono soltanto per comodità del lettore e non definiscono dunque l’ambito di tutela o la portata delle forme di attuazione.
Lo schema a blocchi della figura 1 Ã ̈ rappresentativo di una procedura di tipo CSMA/CA utilizzabile per regolare la trasmissione di frame di dati utilizzando una risorsa (ossia un canale di comunicazione) nell'ambito di una rete di comunicazioni.
Varie forme di attuazione si riferiscono a un funzionamento di tipo "slotted", ossia impostato su una base tempi organizzata in intervalli temporali elementari denominati slot.
Il diagramma di flusso della figura 1 à ̈ rappresentativo di una sequenza di passi suscettibili di essere svolti in un nodo generico di una rete utilizzata per lo scambio di dati organizzati in trame o frame da una pluralità di nodi, genericamente identificabili come A, B, C, ecc.
Le operazioni descritte nel seguito possono essere svolte in un qualunque dispositivo di canale del tipo considerato in precedenza, suscettibile – ad esempio - di essere programmato per lo svolgimento di tali operazioni a livello di software/firmware.
Il diagramma della figura 1 esemplifica una sequenza di operazioni suscettibili di essere compiute da un nodo (denominazione generica per indicare un qualsiasi dispositivo di canale: modem, trasmettitore/ricevitore o simili) che ha una frame di dati disponibile da trasmettere sul canale.
Partendo da un passo iniziale 100, rappresentativo del fatto che un certo nodo della rete ha a disposizione una frame di dati da trasmettere sul canale ed avanza una corrispondente richiesta di trasmissione, in un passo 102 si impostano a rispettivi valori iniziali due parametri NB e BE suscettibili di rappresentare, ad esempio:
- il numero NB di tentativi di accesso al canale fatti dal dispositivo/nodo a partire da un dato momento iniziale, e
- un parametro (quale ad esempio un esponente) BE utilizzabile per determinare, ad esempio secondo una legge esponenziale, la durata di un intervallo, denominato intervallo di backoff (BO), entro il quale il nodo effettua un tentativo di accesso, vale a dire un tentativo di trasmettere dati sul canale.
A titolo di esempio, nel passo 102 i due parametri in questione possono essere fissati a valori iniziali rispettivamente pari a:
- NB=0 (ossia nessun tentativo di accesso fatto in precedenza), e
- BE=minBE (corrispondente ad un valore minimo dell’intervallo entro il quale viene determinato, ad esempio in modo casuale e secondo criteri noti, il tempo di backoff entro il quale il nodo effettua un nuovo tentativo di accesso al canale.
Il successivo passo 104 à ̈ esemplificativo della possibilità di generare (secondo criteri noti) un ritardo di backoff casuale nell'ambito di un intervallo compreso fra 0 e 2<BE-1>, ad esempio utilizzando come intervallo base di backoff (ossia come unità di conteggio temporale) un'unità temporale pari ad uno slot.
I successivi passi 106, 108 e 110 (suscettibili di essere riferiti anche all’esito negativo del passo 124 di cui si dirà nel seguito) corrispondono rispettivamente a:
- passo 106: attesa per un numero di slot determinato dal valore di backoff BO calcolato nel passo 104;
- passo 108: attesa di un tempo di rilevazione o sensing (Sensing time), e
- passo 110: un (primo) controllo dello stato del canale.
L’esito del controllo del passo 110 à ̈ verificato in un passo 112 canale al fine di stabilire se il canale risulta disponibile per la trasmissione di frame di dati da parte del trasmettitore.
Se la relativa procedura di verifica indica che il canale non à ̈ occupato (esito positivo, ossia Y = YES, del passo di verifica 112), dopo l’attesa di un successivo tempo di rilevazione o sensing time (passo 114) si procede ad un ulteriore controllo dello stato del canale (passo 116) il cui esito à ̈ verificato in un passo 118.
Avuta conferma del fatto che il canale non à ̈ occupato (esito positivo, ossia Y = YES, del passo di verifica 118) il nodo o trasmettitore procede a trasmettere sul canale.
In varie forme di attuazione ciò può avvenire dopo aver atteso (passo 120) l’inizio del successivo slot.
L’azione di trasmissione à ̈ rappresentata dal blocco 122.
Se, al contrario, i passi di verifica 112 e 118 danno esito negativo (N = NO), indicando dunque che il canale à ̈ occupato, in un passo 124 si verifica se il valore di tentativi di accesso fatti sino al momento (ossia il valore corrente di NB) ha raggiunto un valore massimo stabilito (eventualmente in modo variabile in funzione delle specifiche esigenze di impiego).
Se il valore massimo dei tentativi ammissibili non à ̈ stato raggiunto (esito negativo, N = NO, del passo 124) il sistema ritorna al passo 104 dopo che, in un passo 126, si à ̈ provveduto a:
- aumentare di un'unità il valore del contatore NB che identifica il numero dei tentativi di accesso sino al momento svolti, e
- incrementare il valore di BE nella relazione esponenziale vista in precedenza così da estendere il campo di valori possibili per la definizione del tempo di ritardo di backoff BO.
Se, al contrario, il passo 124 dà un esito positivo (Y = YES), indizio del fatto che il numero dei tentativi di accesso al canale ha raggiunto il valore massimo stabilito, la trasmissione viene considerata fallita ed in un passo 128 si restituisce un corrispondente messaggio di errore.
Il cronogramma della figura 2 esemplifica vari eventi di trasmissione/sincronizzazione di tre nodi attestati su un canale ed indicati rispettivamente con A, B e C. In varie forme di attuazione, ciascuno dei nodi in questione può essere configurato in modo da mettere in atto la procedura descritta in precedenza.
I diagrammi temporali della figura 2 (nodo A - parte a); nodo B - parte b); nodo C - parte c)) fanno ideale riferimento a nodi inizialmente sincronizzati partendo da un istante comune (punto di zero delle tre scale temporali sovrapposte delle tre parti del diagramma) ed utilizzando come base temporale una durata di slot pari a “slot 1†.
La rappresentazione della figura 2 esemplifica una situazione in cui il nodo B ha una frame (ossia un pacchetto) di dati disponibili da trasmettere ed un ritardo casuale di backoff calcolato pari ad 1.
Il nodo B in questione - parte b) del diagramma della figura 2 - svolge quindi le verifiche corrispondenti ai blocchi 100-112 e 116-118 della figura 1 (con esito positivo di entrambe le verifiche dei passi 112 e 118), rilevando l'assenza di frame trasmesse sul canale per un certo tempo di sensing S (ad es. due slot consecutivi) e procedendo quindi alla trasmissione della sua frame, indicata con TB.
In varie forme di attuazione, dati/segnali indicativi della lunghezza temporale (ad es. del payload) e del tempo di (ad es. istante finale di) trasmissione di TB possono risultare disponibili in rete, risultando disponibili ai nodi A e C. Così come meglio si vedrà nel seguito, in varie forme di attuazione, i nodi A e C possono in questo modo ri-sincronizzare la base temporale a slot con cui tali nodi lavorano in funzione della lunghezza temporale e/o del tempo di trasmissione di TB.
La rappresentazione della figura 2 esemplifica parimenti una situazione in cui anche il nodo o stazione C – parte c) del diagramma della figura 2 - ha iniziato una procedura di trasmissione, ad esempio con un valore di backoff pari a 2.
Durante la relativa procedura di sensing (indicata anche qui con S), il nodo C rileva dapprima la disponibilità del canale per la trasmissione (passi 110–112 del diagramma della figura 1, con esito positivo della verifica del passo 112) per poi rilevare (evento indicato con E4 nella parte c) della figura 4, corrispondente ai passi 116–118 del diagramma della figura 1, con esito negativo della verifica del passo 118) il fatto che il nodo B ha nel frattempo immesso sul canale la frame TB, per cui il canale non à ̈ più libero ossia disponibile per la trasmissione da parte del nodo C.
A questo punto, il nodo C opera in base alla sequenza dei passi 126 e 104 nella figura 1 con la procedura di (ri) calcolo del backoff del passo 104 che restituisce un valore pari, ad esempio, a 5 slot.
Così come già detto, in varie forme di attuazione, i nodi A e C possono ri-sincronizzare la loro base temporale a slot in funzione della lunghezza temporale e/o del tempo di trasmissione di TB, ossia della frame trasmessa dal nodo B .
Questo modo di operare à ̈ esemplificato dagli eventi E1 ed E5 della figura 2, rappresentativi del fatto che i nodi A e C :
- adeguano l'ampiezza del loro slot ad un valore “slot 2†diverso dal valore “slot 1†utilizzato in precedenza, con il valore di “slot 2†stabilito in funzione della dimensione (ad es. del payload) della frame TB trasmessa dal nodo B, e
- re-settano l’istante di avvio della rispettiva base tempi facendolo coincidere con l’istante di (fine di) trasmissione di TB.
In varie forme di attuazione, il valore di “slot 2†può essere funzione della lunghezza temporale del payload trasmesso dal nodo B.
In varie forme di attuazione, così come esemplificate nella figura 2, lo slot del nodo B può mantenere la sua durata al valore “slot 1†, per cui lo slot del nodo B rimane invariato, mentre i nodi A e C sono (ri)sincronizzati e, a prescindere da quale di tali nodi dovrà inviare il prossimo pacchetto, la contesa tra loro avverrà sulla base di una temporizzazione comune.
Ad esempio, si può supporre che il nodo C, che ha disponibile per la trasmissione una frame di dati TC che non à ̈ riuscito a trasmettere in precedenza, continui a contare gli slot trascorsi (con valore “slot 2†) e, giunto ad es. al quinto, avvii una nuova procedura di sensing S.
Questa volta il nodo C svolge le verifiche corrispondenti ai blocchi 100-112 e 116-118 della figura 1 ottenendo esito positivo per entrambe le verifiche dei passi 112 e 118, e procede quindi alla trasmissione della sua frame, indicata con TC.
A loro volta, con lo stesso meccanismo esemplificato in precedenza in relazione ai nodi A e C, i nodi A e B (ossia i nodi diversi dal nodo C che ha trasmesso la sua frame TC) possono ri-sincronizzare la base temporale a slot con cui nodi lavorano (eventi E2 ed E3 della figura 2) in funzione della lunghezza temporale (ad es. del payload) di TC e del tempo di (ad es. fine di) trasmissione di TC.
Analogamente a quanto visto prima per lo slot B, ora lo slot del nodo C rimane invariato mentre i nodi A e B sono ri-sincronizzati e, a prescindere da quale di essi dovrà inviare il prossimo pacchetto, la contesa tra loro avverrà sulla base di una temporizzazione comune.
Le rappresentazioni con linea a tratti nella figura 2 mettono in luce il fatto che, in varie forme di attuazione e così come già indicato in precedenza, le azioni di rilevazione o sensing descritte possono essere realizzate prima (ad esempio 1 ms prima) dello scadere del relativo slot temporale. Questo modo di operare permette l’inizio della trasmissione della frame nell’istante di inizio del successivo slot temporale, per cui il dispositivo à ̈ in grado di segnalare all'istante di sensing il fatto che un frame valido à ̈ in trasmissione.
I diagrammi delle figure 3 a 7 esemplificano in ancora maggior dettaglio possibili particolarità di forme di attuazione.
Ad esempio, la figura 3 esemplifica il fatto che, in varie forme di attuazione, un primo passo verso un accesso controllato al mezzo può essere quello di discretizzare il tempo della rete su una base temporale a slot (Slotted Time Base STB), ossia organizzata in intervalli regolari, appunto gli “slot†.
Questo può far sì che i ritardi di comunicazione (quale ad esempio quello dovuto alla decifrazione del preambolo, suscettibile di rendere la trasmissione in corso non individuabile) possano essere previsti e gestiti, in modo da procedere al test del canale solo quando si ha la certezza di rilevare un’informazione valida inerente al fatto che il canale sia occupato ovvero libero.
La figura 3 esemplifica possibili tempistiche di una trasmissione, in cui il nodo (ad es. microcontrollore) avvia la trasmissione all’istante di inizio “Tx Start†di uno slot. L’intervallo CD (Communication Delay) esemplifica un possibile ritardo dovuto alla trasmissione seriale.
Appena ricevuto il pacchetto, Ã ̈ possibile avviare la trasmissione del preambolo P e, in seguito, del payload D (Data).
In varie forme di attuazione, grazie alla sincronizzazione dei nodi nei termini in precedenza esemplificati, ad esempio in relazione alla figura 2, un nodo che voglia avviare una trasmissione può controllare lo stato del mezzo (canale) ad un istante di sensing S.
In varie forme di attuazione, la cadenza di questo istante può essere determinata: in caso di invio di una frame, si può assicurare che il preambolo sia decodificato, per cui, ad esempio, ogni modem à ̈ in grado di segnalare che il canale à ̈ occupato e, se ciò non accade al sensing successivo effettuato al prossimo slot, à ̈ possibile assicurare un’informazione valida ed affidabile sullo stato del canale. Un possibile vantaggio, oltre all’avere un’informazione affidabile sullo stato del mezzo/canale, à ̈ che il test sullo stato del canale à ̈ effettuato al massimo due volte.
La figura 4 esemplifica il fatto che, in varie forme di attuazione, un altro passo verso un accesso al mezzo controllato può essere quello di introdurre una sincronizzazione dei nodi della rete ottenuta, ad esempio, sfruttando il flusso di dati nel canale (ad es. bus). Ad esempio, ogni trasmissione valida, di qualunque tipo, può essere utilizzata come interrupt di sincronizzazione per sincronizzare il bitstream di trasmissione con gli slot di ogni nodo, in modo che la sequenza di sensing dia risultato certo.
La figura 4 (ove sono riportati, con identico significato, vari riferimenti già introdotti in relazione alla figura 3) esemplifica un possibile processo di sincronizzazione di slot.
In varie forme di attuazione, la ricezione di una frame può infatti causare un evento utilizzabile per sincronizzare i timer dei vari nodi (ad esempio nei termini descritti con riferimento alla figura 2). Tale evento può dare luogo a una (ri)sincronizzazione di slot (Slot Sync o SS), dando origine ad una cadenza temporale rinnovata.
Un possibile vantaggio di questo modo di procedere à ̈ dato dal fatto che non si impiega alcun pacchetto dedicato (come ad esempio i “beacon†) e dunque non si dà origine ad utilizzazione di banda. Si osserverà infatti che, in varie forme di attuazione, il livello fisico à ̈ in grado di sincronizzare il livello Data Link, al transito una qualunque frame, per sincronizzare l’intera rete.
La figura 5 esemplifica il fatto che, in varie forme di attuazione, Ã ̈ possibile introdurre un auto-adattamento dello slot.
In varie forme di attuazione (ad esempio operando nei termini esemplificati in precedenza, ad esempio in relazione alla figura 2), Ã ̈ possibile adattare lo slot alla lunghezza (quindi alla durata) della trasmissione (ad esempio alla durata temporale del payload).
In varie forme di attuazione, in periodi temporali in cui nella rete transitano pacchetti di lunghezza limitata (ad es. 10-20 Byte), gli slot possono quindi relativamente brevi; nei periodi in cui nella rete transitano pacchetti lunghi (ad es. 150 - 200 Byte), gli slot possono essere relativamente lunghi.
La figura 5 (ove ancora una volta sono riportati, con identico significato, vari riferimenti già introdotti in relazione alle figure 3 e/o 4) dà una rappresentazione grafica di una forma di attuazione di auto-adattamento dello slot.
In varie forme di attuazione, l’arrivo di una frame (P = preambolo; D = dati) può causare non solo una (ri) sincronizzazione SS dello slot, ma anche l’adeguamento della sua dimensione ad un nuovo valore NTS (ad es. con riferimento ai diagrammi della figura 2, per passare da “slot 1†a “slot 2†e poi a “slot 3†).
In varie forme di attuazione, lo slot può essere non più un parametro fisso può quindi diventare una caratteristica dinamica suscettibile di essere configurata in funzione della durata della trasmissione seriale (ad es. tra microcontrollore e modem, quindi dipendente dal tipo di periferica UART – SPI ecc. e dal Baud rate), oppure in funzione della durata della trasmissione nel mezzo fisico (quindi dipendente dalla modulazione B-PSK, 8-PSK ecc.) In varie forme di attuazione, il fatto di disporre di uno slot adattativo può permettere di ridurre la cadenza di controllo check del canale e di ridurre quindi, ad esempio, il carico di CPU del microcontrollore.
La figura 6 fornisce una rappresentazione grafica di esempi di funzionamento inerenti a due nodi generici N1 e N2 e riferiti ad basi temporale a slot (Slotted Time Base o STB) in cui:
- nella parte superiore della figura, indicata con a), il valore di slot à ̈ mantenuto costante, e
- nella parte inferiore della figura, indicata con b), il valore di slot à ̈ modificato, ad esempio aumentato così come esemplificato nella figura 2 per i nodi A e B che, a seguito degli eventi E1 ed E5, aumentano il loro slot da “slot 1†a “slot 2†.
Pertanto, il numero di check del mezzo fisico, nella parte b) della figura 6 Ã ̈ nettamente inferiore al numero di check della parte a), con una conseguente diminuzione di operazioni da parte della CPU (microcontrollore).
In varie forme di attuazione, l’adattamento della durata dello slot tslotpuò avvenire secondo semplici formule.
Ad esempio, in un contesto USART, con modulazione PSK, si può porre:
tslot=tus+ tpr+ ds
dove:
tus=time_usart tpr=time_ preamble ds=time _ safety
<t>æ
us= ö
<(n>+5<)>*<8 2>ç+
r<t>ib÷=<( n>+<5)*>dchar _
à ̈B U
à ̧
tpr=const=7880 m s ds=833ms ® 900 ms (PSKtransmission time ) tib=44 ms (USARTinterbyte time ) dchar _U=220 ms (USARTtransmission time ) ossia:
tslot= n* dchar _ U+ 10560
da cui:
tsens= tslot-ds+ dchar
L’incremento dell’esponente BE fa sì che la gamma di valori ammissibili per il calcolo del ritardo di backoff BO si allarghi.
La figura 7 (ove ancora una volta sono riportati, con identico significato, vari riferimenti già introdotti in relazione alle figure 3 a 6) dà una rappresentazione grafica di una forma di attuazione di un meccanismo di sincronizzazione degli slot.
Nell’esempio riportato nella figura 7, un interrupt I generato dalla ricezione di una frame (P = preambolo; D = Data) può essere utilizzato come evento di (ri) sincronizzazione di timer, passando ad un nuovo valore di slot NTS, riconfigurato con nuovi parametri legati alla lunghezza del pacchetto ricevuto (ad es. lunghezza temporale del payload D = Data), così come descritto in precedenza.
Varie forme di attuazione possono a tal fine utilizzare due timer, uno per l’istante di sensing ed uno per lo slot.
La porzione di diagramma di flusso incorporata nella figura 7 esemplifica al riguardo un passo 200 rappresentativo dell’interrupt I legato alla ricezione della frame o trama P, D seguito da un passo 202 ove si definisce, ad esempio secondo una relazione NTS = f(lunghezza del payload D), il nuovo valore di slot NTS e da un passo 204 in cui si procede all’aggiornamento ed alla (ri)sincronizzazione dei timer.
Il comportamento di forme di attuazione così come qui esemplificate à ̈ stato sottoposto a prova in condizioni critiche tali da generare normalmente una contesa nell’accesso al mezzo e quindi anche collisioni tra frame.
Ad esempio, à ̈ stato provato (TEST 1) il caso in cui un nodo Master (M) invia ad altri quattro nodi una richiesta di dati con indirizzo di destinazione broadcast, tale da generare una risposta contemporanea di tutti i nodi che, tentando di inviare la propria frame, si contendono l’accesso al mezzo. Quando il nodo Master invia le sue richieste, ogni nodo interrogato le conta e restituisce questo dato di nuovo al Master; quest’ultimo conta quante risposte riceve da ogni nodo.
E’ stato altresì provato (TEST 2) il caso in cui quattro nodi inviano ad intervalli casuali pacchetti di dati ad un nodo Master M, similmente a ciò che avviene, ad esempio, in una rete di sensori o sensor network. Gli intervalli casuali sono stati generati tra 1,5 e 4 secondi e i pacchetti inviati sono 400. Anche in questo caso il nodo Master raccoglie i pacchetti spediti da ogni nodo e li conta.
I risultati delle due prove sopra richiamate sono riportai nelle tabelle che seguono, rispettivamente per il TEST 1 ed il TEST 2.
RISULTATI TEST 1
Pacchetti Risposte %
ricevuti del nodo ricevute da M
Nodo1 396 370<93,43>Nodo2 396 365<92,17>Nodo3 396 365<92,17>Nodo4 396 367<92,67>
RISULTATI TEST 2
Pacchetti Pacchetti %
inviati ad M ricevuti da M
Nodo1 400 390<97,50>Nodo2 400 391<97,75>Nodo3 400 388<97,00>Nodo4 400 385<96,25>
Si à ̈ altresì valutato quante potenziali collisioni à ̈ possibile rilevare (e quindi evitare) usando pacchetti da 32 byte. Sì à ̈ osservato che varie forme di attuazione permettono di arrivare a valori di 93,50% a fronte di valori di 65,17% conseguibili con tecniche CSMA/CA tradizionali.
Un’ulteriore valutazione à ̈ stata condotta, sempre in riferimento alle prestazioni in termini di collision avoidance, con pacchetti da 240 byte. Sì à ̈ osservato che varie forme di attuazione permettono di arrivare ancora una volta a valori di 93,50% a fronte di valori di 76,60% conseguibili con tecniche CSMA/CA tradizionali.
Varie forme di attuazione qui esemplificate possono prevedere che lo slot sia reso adattativo, con la conseguente possibilità di diradare o intensificare le azioni di sensing in funzione della lunghezza dei pacchetti. Questo consente, ad esempio, di ridurre il numero di azioni di sensing con una riduzione di ammontare crescente al crescere della lunghezza delle frame, arrivando ad esempio a riduzioni del’ordine di 8,18% - 13, 14% per lunghezze di frame superiori a 200 byte.
Naturalmente, fermo restando il principio dell'invenzione, i particolari di realizzazione e le forme di attuazione potranno variare, anche in modo significativo rispetto a quanto qui illustrato a puro titolo di esempio non limitativo, senza per questo uscire dall'ambito di protezione. Tale ambito di protezione à ̈ definito dalle rivendicazioni annesse.

Claims (11)

  1. RIVENDICAZIONI 1. Procedimento per regolare la trasmissione di frame dati (TB, TC) su un canale in una rete di comunicazioni (A, B, C), in cui detta trasmissione à ̈ su una base temporale a slot (slot 1, slot 2, slot 3; STB) ed il procedimento comprende valutare (110, 112, 116, 118), in corrispondenza di almeno un nodo della rete (B, C) avente una frame disponibile (TB, TC) per la trasmissione, se il canale à ̈ libero per la trasmissione, e - a) se detta valutazione (110, 112, 116, 118) indica che il canale à ̈ libero per la trasmissione, trasmettere (122) sul canale detta frame disponibile (TB, TC), e - b) se detta valutazione (110, 112, 116, 118) indica che il canale non à ̈ libero per la trasmissione, essendo in trasmissione sul canale ad un certo tempo una frame (TB) avente una certa lunghezza temporale (D), ri-sincronizzare (NTS, SS) la base temporale a slot (STB) di detto almeno un nodo della rete (A, C) in funzione di detta frame in trasmissione (TB) identificando (126, 104) in funzione di detta certa lunghezza temporale (D) un intervallo di ritardo per valutare nuovamente in futuro se il canale à ̈ libero per la trasmissione di detta frame disponibile (TC).
  2. 2. Procedimento secondo la rivendicazione 1, in cui detta valutazione comprende almeno due verifiche successive (110, 112 e 116, 118) del fatto che il canale à ̈ libero per la trasmissione, dette almeno due verifiche successive essendo separate da un intervallo di rilevazione (114).
  3. 3. Procedimento secondo la rivendicazione 1 o la rivendicazione 2, in cui detta valutazione comprende verificare se il canale à ̈ libero per la trasmissione su una pluralità di slot di detta base temporale su slot, detta pluralità comprendendo di preferenza due slot temporali.
  4. 4. Procedimento secondo una qualsiasi delle rivendicazioni 1 a 3, in cui detta certa lunghezza temporale à ̈ la lunghezza temporale del payload (D) di detta frame in trasmissione sul canale.
  5. 5. Procedimento secondo una qualsiasi delle precedenti rivendicazioni, in cui detto trasmettere (122) sul canale detta frame disponibile (TB) avviene senza ri-sincronizzare la base temporale a slot del nodo (B) che trasmette detta frame disponibile (TB).
  6. 6. Procedimento secondo una qualsiasi delle precedenti rivendicazioni, in cui i nodi (A, C) della rete diversi dal nodo (B) che trasmette (122) sul canale detta frame disponibile (TB) ri-sincronizzano (NTS, SS) la loro base temporale a slot in funzione di detta lunghezza temporale e di detto certo tempo.
  7. 7. Procedimento secondo una qualsiasi delle precedenti rivendicazioni, in cui detta valutazione (110, 112, 116, 118) se il canale à ̈ libero per la trasmissione à ̈ effettuata prima dello scadere di uno certo slot di detta base temporale a slot (BTS), per cui, se detta valutazione (110, 112, 116, 118) indica che il canale à ̈ libero per la trasmissione, detta frame disponibile (TB, TC) à ̈ trasmessa nello slot di detta base temporale a slot (BTS) immediatamente successivo a detto certo slot.
  8. 8. Procedimento secondo una qualsiasi delle precedenti rivendicazioni, in cui il valore di detto intervallo di ritardo per valutare nuovamente in futuro se il canale à ̈ libero per la trasmissione à ̈ incrementato (126) in funzione del numero di volte in cui si à ̈ verificato che il canale non à ̈ libero per la trasmissione.
  9. 9. Procedimento secondo una qualsiasi delle precedenti rivendicazioni, comprendente restituire (128) un messaggio indicativo di trasmissione fallita se il numero di volte in cui si à ̈ verificato che il canale non à ̈ libero per la trasmissione raggiunge (120) un valore limite superiore.
  10. 10. Dispositivo per trasmettere frame dati (TB, TC) su un canale in una rete di comunicazioni (A, B, C), in cui detta trasmissione à ̈ su una base temporale a slot (slot 1, slot2, slot 3; STB), il dispositivo essendo configurato per funzionare come nodo di detta rete con il procedimento secondo una qualsiasi delle rivendicazioni 1 a 9.
  11. 11. Prodotto informatico caricabile nella memoria di almeno un elaboratore elettronico e comprendente porzioni di codice software per implementare il procedimento secondo una qualsiasi delle rivendicazioni 1 a 9.
IT001008A 2012-11-20 2012-11-20 Procedimento per regolare la trasmissione di dati su un canale di comunicazione, relativo dispositivo e prodotto informatico ITTO20121008A1 (it)

Priority Applications (2)

Application Number Priority Date Filing Date Title
IT001008A ITTO20121008A1 (it) 2012-11-20 2012-11-20 Procedimento per regolare la trasmissione di dati su un canale di comunicazione, relativo dispositivo e prodotto informatico
US14/067,811 US9258139B2 (en) 2012-11-20 2013-10-30 Method for regulating data transmission over a communication channel, corresponding device and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT001008A ITTO20121008A1 (it) 2012-11-20 2012-11-20 Procedimento per regolare la trasmissione di dati su un canale di comunicazione, relativo dispositivo e prodotto informatico

Publications (1)

Publication Number Publication Date
ITTO20121008A1 true ITTO20121008A1 (it) 2014-05-21

Family

ID=47633408

Family Applications (1)

Application Number Title Priority Date Filing Date
IT001008A ITTO20121008A1 (it) 2012-11-20 2012-11-20 Procedimento per regolare la trasmissione di dati su un canale di comunicazione, relativo dispositivo e prodotto informatico

Country Status (2)

Country Link
US (1) US9258139B2 (it)
IT (1) ITTO20121008A1 (it)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9468001B2 (en) * 2014-05-13 2016-10-11 Sony Corporation Transmitting a packet via a wireless local area network after a delay
US10545988B2 (en) 2015-02-26 2020-01-28 Red Hat, Inc. System and method for data synchronization using revision control
US10209979B2 (en) 2015-02-26 2019-02-19 Red Hat, Inc. System and method for distributed revision control

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070258508A1 (en) * 2003-07-17 2007-11-08 Werb Jay P Method and apparatus for wireless communication in a mesh network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8374202B2 (en) * 2005-12-07 2013-02-12 Panasonic Corporation Wireless communication method and wireless communication apparatus
JP5241254B2 (ja) * 2007-02-06 2013-07-17 パナソニック株式会社 無線通信方法および無線通信装置
US7990944B2 (en) * 2007-09-06 2011-08-02 Wi-Lan, Inc. Contention-based communication
US8451819B2 (en) * 2008-03-26 2013-05-28 Qualcomm Incorporated Methods and apparatus for uplink frame synchronization in a subscriber station

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070258508A1 (en) * 2003-07-17 2007-11-08 Werb Jay P Method and apparatus for wireless communication in a mesh network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
COTTON ET AL: "Technologies for local area computer networks", COMPUTER NETWORKS, NORTH HOLLAND, AMSTERDAM, NL, vol. 4, no. 5, 1 October 1980 (1980-10-01), pages 197 - 208, XP026646387, ISSN: 0376-5075, [retrieved on 19801001], DOI: 10.1016/0376-5075(80)90008-2 *

Also Published As

Publication number Publication date
US9258139B2 (en) 2016-02-09
US20140140354A1 (en) 2014-05-22

Similar Documents

Publication Publication Date Title
US9270554B2 (en) Communication apparatus and delay detecting method
US20160182394A1 (en) Method for Transmitting Data in a Communication Network of an Industrial Automation System and Coupling Communication Device
JP5833253B2 (ja) 光伝送ネットワークの遅延測定を提供する方法および関連するネットワーク要素
CN102158371A (zh) 一种基于bfd的链路性能检测方法及其装置
JP2014507917A (ja) 非任意ネットワークに用いるデータブロックシステム
TW200929945A (en) Transmission system and transmission method
RU2011134034A (ru) Способ и система передачи данных
CN106155014A (zh) 一种工业互联网现场层宽带总线实时性实现方法
JP2015089092A (ja) パケットをパッケージングする方法、アンパッケージングする方法、及びこれを利用する装置
JP5163463B2 (ja) 帯域計測プログラム、方法及び装置
ITTO20121008A1 (it) Procedimento per regolare la trasmissione di dati su un canale di comunicazione, relativo dispositivo e prodotto informatico
US9432751B2 (en) PTP transparent clock system upgrade solution
Haxhibeqiri et al. Enabling TSN over IEEE 802.11: Low-overhead time synchronization for Wi-Fi clients
CN103227708B (zh) 一种e1链路中的时钟同步报文的传输方法及装置
TWI669937B (zh) 在非確定性網路上之網路裝置間傳輸資料之方法
JP6783881B2 (ja) 伝送装置および遅延測定方法
ITTO20090568A1 (it) Metodo di accesso ad un canale di comunicazione condiviso per reti di comunicazione
US20170155593A1 (en) Communication device, communication system, communication method, and storage medium storing program for communication
JP2009239449A (ja) 高精度同期型ネットワーク装置、ネットワークシステム及びフレーム転送方法
JP6456776B2 (ja) 遅延揺らぎ吸収方法
JP2017526275A (ja) 露出ノード問題を軽減するためのワイヤレス通信の方法及び装置
KR101344596B1 (ko) Hrs 프로토콜 기반 싱글 링 네트워크 클럭 동기화 방법
JP5082986B2 (ja) 送信ノード、並びにその制御方法及び制御プログラム
JP5922047B2 (ja) 遅延測定方法および遅延測定システム
JP2019502293A (ja) 通信システム