RE: aggiornamento dati gps
-----
Volendo anche inviare e ricevere dati dal Pc, però, non posso fare a meno che passare comunque dal multiplexer per tradurre tutto in nmea 0183 giusto?
Questo significa che avrò sempre una certa lentezza intrinseca a questo protocollo quando trasmetto al pc?
-----
Il protocollo NMEA 0183 funziona a 4800 Baud (4800 bit/secondo), per ogni carattere trasmesso sono necessari 1 bit di preambolo, 8 bit per il carattere, 1 bit di parita' (se non presente la parita' viene comunque lasciata un'unita' di tempo libera) 1 bit di stop per un totale di 11 bit, a questa informazione e prima della prossima segue un intervallo minimo pari a 2 bit (solitamente anche 4). Il totale e' di 15 unita' di tempo corrispondenti ad un bit per ciascun carattere trasmesso per un totale di 1/4800x15=0,003125 secondi per carattere. Un discorso molto simile puo' essere applicato anche a "SeaTalk1" che opera circa alla stessa velocita' con stringhe di analoga lunghezza.
Una stringa NMEA lunga es. la "GGA" e' composta da 66 caratteri che arrotondiamo a 70 per ridondanza, il tempo di trasmissione risultante sara' quindi 70x0,003125=0,21875 secondi.
In pratica ogni secondo ci possono stare almeno 4 sentenze NMEA lunghe e qualcuna di piu' se presenti stringhe corte (alcune di soli 8 caratteri), non e' quindi la velocita' di questo protocollo la limitazione che invece, secondo me, va ricercata nelle conversioni necessarie per passare da un protocollo all'altro che, richiedendo di "bufferizzare" l'informazione, decodificarla, convertirla, ricodificarla e infine trasmetterla, necessitano di tempo che si va' a sommare ai tempi stessi di trasmissione. Il problema peggiora con l'uso di "multiplexers" che per sequenziare correttamente le informazioni provenienti da piu' fonti obbligatoriamente utilizzano un tempo di latenza piuttosto lungo per accumulare i dati dei diversi "parlatori" da ritrasmettere poi in unico pacchetto in modo ordinato.
E' il "pasticcio" che si sta' creando con la continua invenzione e "miscelazione" di nuovi protocolli proprietari quando sana regola vorrebbe che tutta la strumentazione di bordo "parlasse la stessa lingua" ovvero se non si hanno esigenze di trasmettere grandi masse di dati vanno bene tutti i protocolli "lenti" come NMEA o "SeaTalk1", se si ha la necessita' invece di trasmettere grandi masse di dati (cartografia, immagini radar, ...) e si devono quindi usare protocolli ad alta velocita' "NMEA2000" o "SeaTalkNG" (che salvo sentenze proprietarie e' il 2000) o "Ethernet" nelle sue varie forme e denominazioni diventa necessario che anche il resto della strumentazione parli la stessa "lingua" se vogliamo avere risposte rapide, gli "arrangiamenti" con convertitori portano solo a rallentamenti (i sistemi ad alta velocita' fra l'altro per loro natura riconoscono come prioritarie le informazioni che vengono da strumentazione della loro stessa categoria e trattano in second'ordine i dati provenienti da fonti "aliene" rallentandone ulteriormente l'accettazione).
NON c'entra quindi la "lentezza" del solo protocollo NMEA0183, il problema e' piu' complesso e la soluzione sta' nell'impiegare sistemi di comunicazione omogenei.
(Questo messaggio è stato modificato l'ultima volta il: 24-11-2017 11:40 da IanSolo.)
|