Following is an article I wrote 3 or 4 years ago regarding
integrating marine navigation electronics via NMEA-0183.
Recently a friend and fellow sailor had run across this same
situation, so here you go Ron!
Questions seem to come up on occasion about wiring for NMEA,
and use of RS-232. Hopefully this article will help understand
the issue and be of use for other folks setting up an NMEA
network on their own boats.
This discussion is explicitly about NMEA-0183 - not NMEA-0180,
NMEA-0182, NMEA-2000, SeaTalk, etc. I've tried to write this
technically correct, but hopefully more or less understandable
without getting too loose on the details. If I've been overly
sloppy, please don't hesitate to call me on them.
Strictly speaking, the NMEA-0183 specification calls for an
RS-422 differential transmission system.
What's thedifference between single-ended and differential
"single-ended" means that the signal is transmitted over a
single wire. The receiving end has to determine the voltage of
this signal, and to do so it needs a reference. In a
single-ended system, a "signal ground" is used as a reference.
The receiving end essentially measures the voltage on the wire
relative to this signal ground.
RS-232 is single-ended. A transmit wire has voltage relative to
the signal ground. Note that in the case of a bi-directional
configuration (where a particular device is both sending and
receiving), the signal ground can be shared between the
The problem with single-ended transmission is that it can be
prone to noise. For example, if the cable crosses over other
cables, voltage can be inducted from the other cables and the
receiving end may not be able to distinguish the right signal
relative to signal ground. The same thing can happen if the
signal ground is not stable.
Also, the RS-232 specification states that it is
point-to-point, so technically speaking you can only have a
single talker and a single listener. In other words, you cannot
connect more than two devices together.
A "differential" transmission system works by transmitting over
two wires. When one wire sends a voltage, the other wire sends
the opposite voltage. The receiving end detects a transmission
by comparing the voltage differential between these two
transmit wires, instead of using a signal ground.
A differential setup is much less prone to inductive noise
because an inducted voltage tends to affect both transmit wires
in the same way. The receiving end doesn't care because it's
only comparing the difference between the two wires - in other
words, the inductive noise will increase (or decrease) the
voltage in both wires, but the delta between the two will
remain nearly constant.
Note that a proper differential transmission needs no signal
ground, and a bi-directional setup (where a device is both
transmitting and receiving) is supposed to require 4 wires, as
there is no common reference ground. Also note that many
"NMEA-0183" devices are loose on this. For example, both
fixed-mount Garmin GPS units I have onboard only provide a
single transmit and receive wire; power ground must be used for
RS-422 uses differential transmission. Unlike RS-232, the
specification allows for multiple listeners - but you can still
only have a single talker. So, you can connect more than two
devices together, but only one can be a transmitter, the rest
must all be receivers.
So why can I plug my NMEA-0183 GPS into my computer's RS-232
and get data? You can argue it's either good engineering or
just plain blind luck. RS-232 receivers detect the correct
voltage, even though we've technically muddled things by using
the power ground from the RS-422 transmitter as a signal ground
on the RS-232 receiver. Using the power ground wire as a signal
ground works because the RS-422 driver in the GPS bases it's
transmit voltages from this ground. In other words, the
combination of the right transmit leg of RS-422 and power
ground is effectively the same thing as the combination of
transmit on RS-232 and signal ground.
The unfortunate thing about loose adherence to RS-422 and not
providing proper differential wiringis a much lower noise
threshold. Where a single-ended system will start to become
unreliable after maybe a couple dozen feet if you are lucky, a
differential system can be reliable for several thousand feet.
In an electrically noisy environment like a boat this can make
a big difference.
After writing this article, I received some feedback from
manufacturer of marine electronics. Below are the comments from
Actisense - republished here without their permission but these
were originally public, so I'm sure they won't mind. They've
got some nice products in any event - worth checking out.
"So why can I plug my NMEA-0183 GPS into my computer's RS-232
and get data? You can argue it's either good engineering or
just plain blind luck."
Most modern RS232 chips don't actually need the
-ve swing to read a signal despite the requirement in the spec.
This is why, more often than not, connecting RS-422 to RS-232
will work. I argue good engineering!
With the addition of isolated outputs to some products there is
another good engineering solution. The differential (RS-422)
system means that at one moment A is positive relative to B and
then B is positive relative to A.
The key here is the word relative.
If B is tied to ground and cannot go positive then A is forced
to go negative to B instead.
The A line is now swinging from + to - volts around B.
This can ONLY work if the outputs are isolated (floating).
Tying an un-isolated B to Ground will cause something to burn
The B line will be driven and a large current will sink
straight to ground.
"Strictly speaking, the NMEA-0183 specification calls for an
RS-422 differential transmission system."
NMEA 0183 version 2.0 onwards unequivocally
specifies meeting the differential RS-422 specification.
Previous to version 2.0 ground was used as a reference. The
earlier version is why new products can claim NMEA 0183 status
without meeting the RS-422 differential requirement without
breaking any rules, somewhat cheeky perhaps but certainly
Hopefully this information helps other people who need to
integrate NMEA-0183 systems together.