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. 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.
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). 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.
An NMEA multiplexer, also called
combiner, solves the problem by offering an intermediate storage of
sentences. Every talker in the system in 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