Il protocollo NMEA

Appunti tecnici

Verso il 1980 fa la strumentazione elettronica di bordo aveva già raggiunto buone qualità: il Loran (il nonno del Gps, ora defunto) ci mostrava sul display posizione e rotta, costi e ingombro del radar si erano ridotti, l'autopilota si rivelò subito un comodo servitore. C'era però ancora un problema da risolvere: lo scambio di informazioni tra i vari strumenti. Ad esempio, il Loran poteva segnalare un fuori rotta, ma non intervenire sul timone; viceversa l'autopilota, bravissimo ad andare dritto, non sapeva nulla di deriva e scarroccio...
L'elettronica programmabile poteva risolvere il problema; restava da decidere come far parlare tra loro gli strumenti. Nel 1980, proprio con lo scopo di far lavorare assieme Loran e autopiloti, l'associazione americana di costruttori National Marine Electronic Association (NMEA) definì un protocollo standard per lo scambio di dati. Dopo alcune revisioni ed estensioni, venne definito il protocollo NMEA 0183, divenuto uno standard mondiale. Oggi quasi tutti gli strumenti elettronici possono “parlare” e/o “ascoltare” dati Nmea, e i programmi visualizzano i dati e controllano gli strumenti grazie a questo protocollo.

La connessione Nmea più semplice è tra due apparecchi, ad esempio tra il Gps che “parla”, detto talker, e l'autopilota in ascolto, listener (fig. 1a); lo standard prevede che il talker emetta un segnale elettrico sufficiente per collegare quattro listeners contemporaneamente, come in fig. 1b. Il talker è qualunque strumento che fornisce dati, come un Gps, un ecoscandaglio, o una stazione del vento; esso emette ininterrottamente delle “frasi”, righe di testo (nei manuali: sentences) che sono ricevibili dal listener attraverso un semplice cavo schermato bipolare. Ogni frase è composta secondo un criterio preciso e contiene un insieme di dati completo. Più righe di diverso contenuto danno allo strumento in ascolto tutto ciò che l'apparecchio talker è in grado di fornire. Analizziamo una frase NMEA prodotta dal Gps:

$GPGLL,4538.331,N,01303.282,E,165931,A*21

Valore

Significato

GP

Apparecchio talker: GPS

GLL

Identificazione dei dati: Geographic position in Latitude, Longitude and time

4538.331

Latitudine

N

Nord

01303.282

Longitudine

E

Est

165931

Ora UTC in hhmmss

Ogni frase inizia con $, seguono due caratteri (talker ID) che identificano il dispositivo “parlante”, tre caratteri che danno il nome alla frase (sentence ID) e una serie di campi separati da virgole con i dati veri e propri. La riga si chiude con * e due caratteri di controllo.
Il Gps emette, oltre alla frase GLL, anche GGA (punto nave), GSA e GSV (satelliti), RMB, RTE e WPL (waypoint), BOD (destinazione) e altro ancora, dipende dai modelli. Visualizzare sul pc i dati Nmea è molto semplice: per il collegamento basta un cavetto bipolare collegato ai poli 2 e 5 della porta Com sul pc (fig.3).

Fig. 3

L'altra estremità va connessa ai poli Data Out e Gnd (massa) dell'apparecchio talker (il pin 3 non è necessario). Il programma HiperTerminal incluso in tutti i sistemi Windows visualizza immediatamente le frasi una volta configurati la porta Com e i parametri di scambio dati: 4800 bit per secondo, 8 bit di dati, nessuna parità, 1 bit di stop. La fig. 4 mostra le sentences emesse da un Gps fermo: ecco perchè alcuni campi sono vuoti. L'ultima frase ci fa notare che a volte l' apparecchio si dichiara come PG: tutte le righe che hanno P come primo carattere sono di tipo “proprietario”, significa che la frase non è prevista dallo standard ma è usata del produttore dello strumento, quindi riconoscibile solo dai listeners della stessa marca.


Fig. 4

I tre caratteri sentence ID permettono all'apparecchio listener di interpretare correttamente i dati contenuti nella frase, che presi da soli sono solo dei numeri, e di filtrare solo le frasi che interessano, ignorando le altre. Ad esempio, collegare l' ecoscandaglio a un autopilota è un'operazione più inutile che dannosa: DBT (profondità) e MTW (temperatura dell'acqua) saranno del tutto ignorate.
Una connessione assolutamente non possibile con i soli cavi è quella che vorrebbe un unico listener in ascolto contemporaneo di più talkers; un caso tipico è l'autopilota che ascolta sia il Gps che la stazione del vento, oppure un computer che raccoglie i dati dai vari strumenti per visualizzarli tutti con un programma di navigazione. La soluzione consiste nell'adottare un dispositivo chiamato multiplexer (fig. 1c). Questo dispositivo a microprocessore (fig. 5), raccoglie le frasi dai talkers, le accoda e le ripresenta in uscita, facendo sì che il listener riceva, come sempre, i dati da un'unica fonte.

 

Articolo di Antonio Pezzoni pubblicato su Bolina - 2004.

Torna a inizio pagina

 

Link - download

NMEA - The National Marine Electronics Association.

Il protocollo NMEA

Listino

 

 

Note legali

Privacy