|


NMEA and
Multiplexers
The NMEA standard, a communication standard defined by the NMEA organization,
defines a communication protocol called NMEA-0183, that enables
navigation instruments to exchange data with each other.
A compass can, for example, send a bearing to a radar to enable a
north-up display. And a GPS can send cross-track information to an
autopilot in order to steer a programmed course.
Talkers and Listeners
Communication with the NMEA-0183 protocol involves at least one
instrument that sends data and another that receives data. By
convention, an instrument that sends data is called a talker,
while an instrument that receives data is called a listener.
Fig.1 shows such a system. |
|

Fig.1: Minimal NMEA system
|
|
With the NMEA-0183 protocol, information is passed in sentences that
are made up of readable characters. The contents of a sentence is
well defined by the standard and always starts with a '$' or a '!'
character and always ends with a special code, called a LF (Line
Feed). Thus, a listener always knows when and sentence starts and
ends. The NMEA standard also specifies that a talker may send one
ore more sentences any time it wishes, but preferably not more that
once per second. An exception to this rule are gyro- and fluxgate
compasses, which often transmit 10 sentences per second or more.
The NMEA standard specifies that a talker should have enough driving
capability to drive up to four listeners. This means that you should
be able to connect up to four instruments that receive data from one
other instrument, as shown in fig.2. This is very easy to achieve,
just like one person telling a story to an audience of up to four
people. The only requirement for the talker is to talk loud enough. |
|

Fig.2: One talker connected to four listeners
|

Fig.3: Four talkers connected to one listener
|
The situation gets complicated when several talkers have to send
data to one listener. A typical example is where a GPS and a wind
meter have to send data to an autopilot. Computer navigation is
another example where several talkers (sailing instruments) must
talk to one listener (the computer)(fig.3). The NMEA standard has no
provision for these situations, so without special equipment, this
is impossible. The outputs of the talkers will effectively
short-circuit each other and the sentences they transmit will be
corrupted since any talker can start sending at any time. The result
will be like four persons telling a different story to one listener
at the same time.
The Multiplexer
An NMEA multiplexer, also called combiner,
solves the problem by offering an intermediate storage of sentences.
Every talker in the system in fig.4 is connected to its own NMEA
input on the multiplexer. The multiplexer reads complete sentences
from every connected listener and stores them in a buffer. There is
a buffer for every input, large enough to contain several sentences.
Subsequently, the multiplexer checks every buffer in a round-robin
fashion for the presence of sentences. Each time, one sentence is
taken from a buffer and sent to the NMEA output of the multiplexer. |
|

Fig.4: Using a multiplexer
|
|
Fig.4 shows a multiplexer in a typical installation, where the NMEA
data from four instruments is combined into one stream. This stream
is sent to the connected computer over an RS-232 or USB interface,
to be used for electronic navigation. Also connected is an autopilot
which receives NMEA data from the instruments or the computer or
both, depending on the configuration of the multiplexer.
|
|