Descrizione dei protocolli NMEA 0183 e SeaTalk

Eccovi una breve Descrizione dei protocolli NMEA 0183 e SeaTalk:

 

Lo standard NMEA 0183:

Questo protocollo, nasce circa 20 / 25 anni fa, quando una associazione di costruttori americana, la National Marine Electronics Association, definì un protocollo standard per lo scambio di dati, che dopo varie revisioni ed estensioni divenne lo standard mondiale chiamato NMEA 0183.

Questo protocollo, si basa sul principio secondo il quale i dati (detti Sentences) possono viaggiare da una fonte (detta Talker) che può solo trasmetterli, ad una ricevente (detta Listener) può solo riceverli.

Questo standard, viene costituito in modo che ogni strumento Talker  emetta un segnale elettrico, in forma digitale, in grado di soddisfare contemporaneamente 4 Listener ad esso elettricamente collegati con un cavetto schermato a due conduttori.

Si definisce Talker qualsiasi strumento che fornisce i dati quali ad esempio il GPS stazione del vento, ecoscandaglio, ecc.., mentre viene definito Listener qualsiasi strumento che riceve i dati come ad esempio il Pilota automatico ed il plotter. I Talker emettono ininterrottamente i loro dati (Sentences) sotto forma di stringhe di testo, dette appunto Sentenze.

Ogni Sentenza è composta secondo una precisa struttura e contiene un  insieme di dati completo. Nello specifico, ogni frase inizia sempre con il carattere “$” e termina sempre con un “CR LF” e contiene un prefisso, formato da due caratteri che identificano il tipo di Talker (talker ID) e tre caratteri che identificano il tipo di frase (sentence ID), seguito dai dati veri e propri separati da virgole, seguiti a loro volta dal carattere “*” e da due caratteri di controllo (cheksum)

per capirci meglio, ecco alcuni talker ID:

  • GP = GPS
  • AP = autopilota
  • CD = Distress (DSC)

Ad ogni talker ID, sono associati specifici tipi di frase, ad esempio alcune specifiche frasi per il GPS  possono essere:

  • RMC = recommended minimum data for gps
  • RMB = recommended navigation data for gps
  • GLL = Lat/Lon data

Per non complicarla troppo, ecco un esempio di sentenza GPS che fornisce i dati relativi alle coordinate geografiche e l’ora UTC:

$GPGLL, 4536.811,N,00857.636,E,003547,A*22

Come si può notare, i primi due caratteri sono il talkerID, i seguenti tre, sono il sentenceID, mentre i dati successivi, separati dalla virgola soni di dati veri e propri, nello specifico, la Latitudine, la Lungitudine e l’ora Utc:

4536.811 sta per Latitudine (ddmm.mmmm) =  45° 36,811′ mentre il successivo carattere N ne identifica la direzione (Nord)

00857.636 sta per Longitudine (dddmm.mmmm) = 008° 57,636′ ed analogamente il successivo carattere E ne identifica la direzione (Est)

003547 è  l’ora UTC (hhmmss) = 00h 35m 47s

Ultima parametro da considerare nel progettare una rete di dati NMEA, ma non meno importante, è che proprio per sua natura di trasmissione dati, entra in gioco anche la velocità di trasmissione (bps) che è caratteristica tipica dei singoli talkers e listener. Sarà infatti impossibile per un Talker che trasmette a 4800 bps, farsi ricevere da un Listener che riceve a 38600 bps.

Lo standard SeaTalk:

Va subito detto che si tratta di un protocollo proprietario, che venne ideato da Autohelm, poi divenuta Raymarine, per interconnettere la propria strumentazione in modo semplice e veloce. Diversamente dall’NMEA, dove ogni strumento necessita di un ingresso per leggere i dati (Listener) ed un’ uscita per trasmetterli (Talker), gli strumenti che utilizzano il protocollo Seatalk hanno un’unica porta dati bidirezionale che supera i limiti di 4 Listener per ogni Talker del protocollo NMEA.

Sebbene le sentenze Seatalk e la velocità di trasmissione utilizzata sia simile a quella dello standard NMEA, i due protocolli non sono in grado di dialogare direttamente, sopratutto a causa del fatto che uno è monodirezionale (nmea) mentre l’altro è bidirezionale (seatalk). Tuttavia, per rendere i propri strumenti interfacciabili con quello che è divenuto lo standard mondiale di comunicazione, Raymarine fornisce anche una interfaccia di conversione bidirezionale SeaTalk-NMEA.



 

Pubblicato da Massimo Rossi

Ciao, mi chiamo Massimo. Adoro il mare e lo vivo al meglio che posso con la mia barca a vela. Ho anche l'hobby dell'elettronica, che cerco di integrare con la passione per la vela, apportando alla mia Alcyone, modifiche e migliorie. Sul mio sito si possono vedere alcune di queste migliorie con i relativi schemi elettrici e costruttivi, oltre ad altre informazioni e foto della barca.