NMEA Multiplexer
Configuration
|
|
|
The subtitle of this page might be "Configuring Resiliency and
Redundancy into the NMEA Network". I initially installed a
Brookhouse NMEA Multiplexer on Sarah in the winter of 2004/2005, a few
months prior to starting on Sarah's
Atlantic Circle. The initial purpose was to allow me to make
use of the multiple NMEA talkers installed on Sarah. At the time
this included:
- Raymarine C-120 Multi-Function Display (MFD)
- Raymarine ST6000+ Remote Control and Course Computer
- Dell Latitude C600 Notebook Computer
- Backup GPS
Subsequently I learned the real value of the Mux as a tool to
integrate and trouble-shoot all of the devices I might connect to my
NMEA network. I have described the process of installing the Mux,
connecting various talkers and listeners to the network and using the
Mux to modify the NMEA data stream to satisfy various devices on the
network in a separate page
on this website. The purpose of this page is to document my
current NMEA network configuration, the strengths and shortcomings of
this configuration and how I would ultimately want my network to be
configured. |
Original Brookhouse NMEA Multiplexer |
On the right is a picture of the original Brookhouse Mux installed
on Sarah in 2005. The firmware in the Mux was upgraded to the latest
level in May, 2006. The significant features of this unit are:
-
SeaTalk
Input Channel. The Mux can be connected to a Raymarine SeaTalk
network, and it will convert the SeaTalk traffic to NMEA sentences,
which are then combined with all other NMEA inputs into a single
data stream on the output port. I could have used the NMEA output
of one or more of the Raymarine devices, but this interface allows
me to separately power the SeaTalk network and provide GPS and
sailing instrument data to non-Raymarine devices (PC, radios, etc.)
even when the Autopilot and C120 MFD are powered down.
- Three (3) NMEA Input Channels (4, if I elected to not
connect the SeaTalk network to the Mux). Initially I connected the
Autopilot and C120 NMEA outputs to two of these channels. A
handheld Garmin GPS60 was connected to the third, as a backup to the
Raymarine GPS. Subsequently I had to disconnect the C120 from the
Mux in order to feed AIS data to the MFD.
- RS232 Input/Output Channel. The Mux sends the data from
all of the input channels to the RS232 output channel. This channel
was connected to a bus bar to which I could connect several
different NMEA listeners (e.g., ICOM DSC radios). The RS232 Input
and Output Channels were also connected to the COM1 port on the
Navigation Computer, which allowed me to feed NMEA data to PC-based
chart plotting software as well as the Airmail SSB email program.
|
Brookhouse AIS-C Multiplexer |
In 2006 I installed a NASA AIS Engine to allow my chart plotters to
display the position, course, speed and other information on commercial
shipping in my area. AIS traffic can generate a very high volume of
NMEA sentences that could exceed, by an order of magnitude, the 4800 Baud
NMEA 183 bandwidth. Consequently the NASA AIS Engine (and all other AIS
receivers) require a 38,400 Baud channel. When the C120 NMEA input
channel is configured to 38,400, that also changes the output channel to
38,400.
The Brookhouse Mux can be configured to operate at 38,400 Baud, but
several of the listening devices on the network are limited to 4800
Baud. Consequently I implemented the AIS traffic on a separate
NMEA network at 38,400 Baud, independent of the Mux. I then
disconnected the C120 NMEA cables from the Mux. The only NMEA
input to the Mux was then the SeaTalk Channel and the NMEA output from
the Autopilot. The NMEA data going to the C120 was limited to the
output of the NASA AIS Engine. The NMEA output of the C120 was not
connected to any device.
The Navigation Computer required two (2) NMEA input ports. One
from the Mux with GPS and data from the sailing instruments, and
Autopilot. The second from the AIS Engine with AIS data.
This arrangement worked reasonably well, but I would have liked to
reduce the number of cables going into the PC and I would like the
option of sending data to the C120 via the NMEA network. |
In
the right is a picture of the Brookhouse AIS-C Mux. This is a new
product (2007) that solves the problem of the combining the 4800 Baud
and 38,400 Baud NMEA networks. I purchased this Mux in January, 2007
with the intention of replacing the original Mux. I ordered this Mux
prior to Brookhouse formally adding it to their product offerings. The
original AIS-C mux delivered to me in late January turned out to have
some significant bugs in the firmware that were exposed by my
configuration. Brookhouse replaced that Mux with the one shown in the
picture on the right, which has been working flawlessly. This page
originally documented the problem in the original mux, but since the
problems have been fixed, I've removed that discussion from this page.
The significant features of the AIS-C Mux are:
- 38400 and 4800 Baud Input Channels. The AIS-C Mux
provides three (3) 4800 Baud Input Channels one (1) NMEA 38400 Baud
Input Channel (from the C-120 MFD), and one AIS input channel at
38,400 Baud. Because I have the SeaTalk option on this Mux, one of
the three 4800B input ports (CH1) is not available. All of the data
received on the AIS, 4800B and SeatTalk ports are combined into a
single data stream for output. The 4800 Baud Input Channels are
identified as NMEA CH1, CH2 and CH3 on the Mux label shown in the
picture on the right. The data received over the 38,400B input port
(C-Series NMEA OUT) is directed to the speed conversion output port
(see 3., below).
- 38400 Baud Output Channel. This channel is normally used
to send NMEA data (including AIS) to the C120 MFD. This channel
identified as the "C-Series NMEA IN" port on the Mux label (left
side of the Mux). Note that the labels on the mux are relative to
the connected device not the Mux. That is the "C-Series NMEA IN"
port sends data to the C-Series (or other) device.
- 38400 Baud Input to 4800 Baud Output Channel Pair. This
paired input and output channel allows the C-Series NMEA data to be
transmitted to devices that are limited to 4800 Baud. The C-Series
NMEA data can also be merged with the main output from the Mux by
connecting the 4800 Baud Output Channel to one of the 4800 Baud
Input Channels on the Mux. The input port for this channel pair is
identified as "C-Series NMEA OUT" on the Mux label. The output port
for the channel pair is the grey terminal block just to the left of
the green terminal block in the picture. This added-on terminal
block makes the wiring of the Mux a little more difficult than the
Old Mux. The screw heads for the terminal wires are oriented
sideways to the Mux and are difficult (impossible on my tight
installation) to access once the Mux is surface mounted on a panel
or bulkhead. It is very easy to put a screw driver on the other
terminal screws as they face out from the Mux. With my tight
installation I had to attach the 4800 Baud output wires to the Mux
before I mounted the Mux on surface behind my electrical panel. Not
a major problem, but a bit of a pain if I have to disconnect or
reconnect those terminals.
- USB Interface for PC. This is not a new feature with the
AIS-C Mux. Brookhouse has been offering it for several years on
most Mux models. It was not available at the time I purchased my
original Mux. This optional feature in conjunction with the AIS
Input would allow me to feed all of the navigation data to the PC
over a single cable (USB). The USB port is on the left side of the
Mux in the picture. Although my existing Dell Latitude
navigation computers have a RS232 DB9 COM port, my next navigation
computer will likely not have a COM port, only USB and Firewire
ports. I opted for the USB interface on the Mux, guessing that
the Mux would outlast my navigation computers. The other
option is a USB to RS232 adapter, but I'm trying to reduce the
cabling complexity on my nav computers, not increase it.
- SeaTalk Input Option. The same SeaTalk interface I have
on the original Mux was also available on the AIS-C Mux. I elected
to retain that capability on the AIS-C Mux. This allows me to feed
NMEA data to my PC without powering up the C120 or the Autopilot.
Below is a list of the NMEA talkers in my network and the Mux port
used by the talker..
The NMEA talkers are listed
below.
NMEA Talker Device |
Critical NMEA Sentences provided |
Mux Connection |
Raymarine SeaTalk Network |
RMC (Generated by the Mux from the ST traffic) |
ST port |
Raymarine S3 Autopilot Course Computer |
GLL - The S3 output is normally not connected to the Mux.
This is a backup source of GPS and heading data. |
CH3 |
Garmin handheld GPS (Internal Batteries) |
RMC, GGA, GLL |
CH2 |
Milltech SR161 AIS Receiver |
VDM - The SR161 can also pass GPS traffic from one of
several Garmin handheld units (see below). |
AIS |
Raymarine C120 MFD |
RMC, GGA, GLL |
C-Series NMEA OUT |
Garmin handheld GPS (Boat Battery, via AIS receiver) |
GGA, GLL, RMC (note if the AIS receiver is the NASA AIS
Engine only the RMC sentence is passed to the NMEA network) |
AIS |
Navigation PC, COM7 (USB) |
None, potentially can provide Autopilot control |
Blue wire on USB Port |
The table below identifies the
NMEA listeners.
NMEA Listener Device |
NMEA Sentences Processed |
Mux Connection |
Navigation PC, COM7 (USB) |
All, main connection for PC chart plotting |
USB Port |
Navigation PC, COM1 |
All, alternate NMEA source on PC. This port is used
primarily to provide GPS NMEA sentences to the Airmail email
client software and the generation of position reports sent via
the SSB radio. |
4800B NMEA Buss off the 4800B port on the side of the Mux |
Raymarine C120 MFD |
All, but normally only the AIS traffic is unique
(i.e., not on the SeaTalk network) |
C-Series NMEA IN |
Raymarine S3 Autopilot Course Computer |
GGA, GLL |
4800B NMEA Buss off the 4800B port on the side of the Mux |
ICOM M802 SSB DSC Radio |
GGA |
4800B NMEA Buss off the 4800B port on the side of the Mux |
ICOM M402 VHF DSC Radio |
GGA |
4800B NMEA Buss off the 4800B port on the side of the Mux |
Furuno NX300 NAVTEX |
GGA |
4800B NMEA Buss off the 4800B port on the side of the Mux
Currently disconnected |
|
Failure Analysis
On Sarah the Critical Components in the NMEA network, in order of
highest to lowest probability of failure, are listed below.
- RayStar 125 GPS. This is the most physically vulnerable
component. It is mounted on the stern rail where a sheet could hook
it or a person could fall against it. So far that hasn't happened,
but my navigation (like just about everyone else's) is highly
dependent on a GPS. Multiple backups are essential. I have elected
to not configure a second RS125 GPS, but rather use several less
expensive Garmin handheld units. The RS125 GPS is connected to the
SeaTalk network, the backup GPS are connected to the NMEA network.
- SeaTalk Network. This network is not physically
vulnerable, but I have learned that a malfunctioning device on the
network can cause the network to fail. This happened in 2006 as I
was departing on a cruise to the Mediterranean Sea when the
autopilot remote control failed. It took the entire network
offline. Normally once the failed device is identified it can be
disconnected and the network restored. I have a couple of spare
SeaTalk junction boxes (black object just to the right of the AIS-C
Mux in the picture further down in
this page), which I can use to jumper around the failed device. Of
course if that device is the GPS, the rest of the SeaTalk Network is
not all that important for my chart plotters. Maybe this component
should just be called the Raymarine GPS.
- Navigation Computer. This is a Wintel computer system.
What more do I need to say. I do have an identical backup computer
onboard, but keeping two computers updated identically is very
difficult, if not impossible. I expect replacing the primary
computer with the backup will not be a 5 minute job.
- Raymarine Autopilot. The autopilot is one of the most
complex and hard-working electronic devices onboard. Although this
has been a generally reliable product over the last seven (7) years,
it has failed twice. The primary data loss (if the autopilot must
be powered down) is heading data from the fluxgate compass.
- C120 MFD. I have had no failures since it was installed
in 2003. However it is computer-based ... The C120
MFD generates very little unique NMEA data itself. Primarily it just
converts data received via SeaTalk to NMEA sentences, which is
pretty much what the ST channel on the Brookhouse Mux does.
- Brookhouse Mux, NASA AIS Engine. These devices are
small, single-board electronic boxes and failures should be very
rare. However the original Brookhouse Mux did fail in 2006,
probably due to excessive RF from the SSB radio. So even if the
theoretical Mean Time Between Failures (MTBF) is very long, operator
or installation errors can drastically shorten that MTBF.
My goal in configuring the Brookhouse Multiplexer and the NMEA
network is to prevent the failure of any one of the components above
from degrading the navigation on Sarah. My further goal is to
prevent the failure of any two of these components from causing more
than a minor degradation. The recovery from multiple failures
should require no more than simple changes in the network cabling (if
any).
The ultimate navigation backup is a combination of a sextant, a
calculator, navigational tables and paper charts. Charts aren't
normally necessary on an off-shore passage, but do become important upon
land fall, when coastal cruising and when entering a harbor. My
goal is to keep the sextant and navigation tables on the shelf and the
charts under the bunk.
For those Ludite navigators who believe that dependence on electronic
navigation tools is the source of all evil in off-shore sailing I can
only offer the question how often are the traditional navigation tools
unavailable (due to severe weather conditions, cloud cover, untenable
sea swell, navigator incapacity, etc.) versus the unavailability of
electronic navigation (due to onboard failures, satellite failures,
etc.)? I believe the availability of the electronic navigation
tools far exceeds the availability of the traditional tools. The
only thing I know for sure is that the dependence on only one of those
tool sets (traditional or electronic) is a prime example of poor
seamanship. |
Diagrams
This a schematic of the Mux network before the installation of the AIS-C
Mux. The NASA AIS Engine is on a separate 38400 Baud NMEA network
and not shown in the drawing. |
This
is a schematic of the NMEA network after the AIS-C Mux was installed and
the network was re-wired. Now the NASA AIS Engine is part of the
multiplexed network. The NASA AIS Engine was subsequently replaced
with the Milltech SR161 AIS Receiver. |
The drawings are very complex and
difficult to follow, even with the full-resolution images, so the
connections for the AIS-C Mux are listed in the table below. The AIS-C
Mux is the primary Mux feeding NMEA data to the PC (via USB) and the
C120 MFD. Editing and filtering on this Mux are limited to the data
stream from the C-Series NMEA OUT to the NMEA OUT 4800 ports. I have no
need to filter this data so I don't expect have any filter scripts for
this Mux.
AIS-C Mux Chn |
Connected Device |
Normal Status |
Chg When |
Comment |
USB Port |
PC USB Hub 1 |
Active |
N/A |
Provides all NMEA data, incl AIS, to PC |
NMEA Out 4800 |
4800B NMEA Buss |
Active |
N/A |
Sends C-120 NMEA data to PC COM1 (for Airmail client S/W), DSC Radios & NAVTEX |
C-Series NMEA IN |
C120 NMEA Port |
Active |
N/A |
Provides all NMEA data, incl AIS, to C120 |
AIS Connection |
NASA AIS Engine |
Active |
N/A |
Receives AIS traffic. Can also feed RMC sentence from Garmin
handheld GPS. Garmin runs on boat battery |
C-Series NMEA OUT |
C120 NMEA Port |
Active |
N/A |
Receives C120 NMEA traffic, sends to NMEA OUT 4800 |
NMEA Ch3 |
Open |
Active |
N/A |
S3 Course computer output can be connected to provide a
backup source GPS, route and heading data. |
NMEA Ch2 |
Garmin handheld GPS on internal batteries |
Active |
N/A |
Backup source of GPS data for PC and C120. |
NMEA Ch1 |
N/A |
Active |
N/A |
Not available as long as ST input is configured |
ST |
Raymarine SeaTalk network |
Active |
N/A |
Converts SeaTalk data to NMEA |
|
Data Recovery Plan
The configurations described above are intended to allow the NMEA
network to continue to provide all of the critical data to the remaining
network devices. Some corrective action will be required in most
case, but it should be minimal. In most cases no wiring changes
will be required.
The actions required to recover from the various failure scenarios
are described in the table below.
RayStar 125 GPS Failure |
Data Losses |
Corrective Action |
Comments |
GPS Data |
Connect GPS60 to deck receptacle |
Feeds GPS RMC sentence into AIS NMEA stream |
|
|
|
SeaTalk Failure |
Data Losses |
Corrective Action |
Comments |
GPS Data to PC and C120 |
Connect GPS60 to deck receptacle |
Feeds GPS RMC sentence into AIS NMEA stream |
AP Heading Data |
None required, AP NMEA output connected to Mux CH3 |
Provides fluxgate compass heading |
GPS Data to Radios |
None |
Loss of automatic GPS data in DSC emergency broadcast. |
Instrument Data |
None |
Loss of speed, depth and wind data |
|
|
|
Navigation Computer Failure |
Data Losses |
Corrective Action |
Comments |
None, PC is backup to the C120. It also is used to send/receive
email and Weather data via the SSB Radio. |
Raymarine C120 MFD provides same navigation capability as PC. |
Should have identical configuration, but some setup will likely
be required. |
|
Replace PC with backup. |
|
|
|
|
Raymarine Autopilot Course
Computer Failure |
Data Losses |
Corrective Action |
Comments |
Heading data from fluxgate compass |
None, there is no alternate source for this data. |
Boat heading data is not critical. COG from GPS is usually
sufficient. The loss of the autopilot function is more critical
than any network data provided. |
|
|
|
C120 Multi-Function Display Failure |
Data Losses |
Corrective Action |
Comments |
NMEA data to the Common NMEA Buss. The DSC Radios will not
longer receive GPS position data. |
None |
Loss of a radar display and primary chart plotter is much more
critical than any NMEA data loss. The PC provides backup chart
plotter |
|
PC is backup chart display |
|
|
|
|
AIS-C Mux Failure |
Data Losses |
Corrective Action |
Comments |
USB Chn to PC |
Switch PC COM1 cable from 4800B NMEA Mux to C120 NMEA OUT port
on mux. Reconfigure PC port for 38400 Baud. I can also
replace the AIS-C Mux with the old mux and go back to my prior
to Feb, 2007 configuration. Connect AIS COM cable to PC via serial to USB port adapter |
This will feed C120 NMEA data directly to the PC. An
alternative is to connect the COM cable to the Garmin output
port (CH2). Use the Garmin to feed GPS data to the PC (at
4800B). The C120 will continue to receive data from the SeaTalk
network Allows PC to receive AIS data. Existing cables |
AIS Data |
Move C120 NMEA IN cable to AIS Engine terminal block |
Allows the C120 to receive AIS data. Requires minor re-wiring |
All Data to NMEA Bus |
None |
Non-critical listeners |
|
|
|
AIS Engine Failure |
Data Losses |
Corrective Action |
Comments |
AIS Data |
None |
Only source of data |
Backup GPS Path |
Connect GPS60 to Old Mux Chn3 cable |
Only if SeaTalk or Ray120 GPS fail. GPS60 runs on internal
batteries. Should this be an extended condition, the GPS cable
can be moved from the AIS engine to an available 4800 B input
port on the Mux. |
|
|
|
|
|
|
|
AIS-C Installation Summary
The network described above is operational on Sarah (March, 2007), but
has not been used underway (when additional NMEA data is generated).
That test will come in April during a shakedown cruise along the Algarve
coast of Portugal prior to departing trans-Atlantic for my return to the
US in the summer of 2007.
I have only two concerns about re-configuring to the single AIS-C
Mux.
- Mux Failure: My Old Mux did fail in Spring, 2006 and had
to be sent back to Brookhouse for repair. I believe that failure
was caused by the poor placement of my SSB radio and the antenna
lead that ran very close to the Mux. My Autopilot Course Computer,
which is next to the Mux, failed at the same time. I have since
relocated the SSB radio
at least 1 meter further away from both
of these components. If the Mux and the new autopilot computer
survive the coming (May, 2007) trans-Atlantic voyage (they did), then I will
have additional confidence that the risk of another failure has been
greatly reduced. A Mux failure is not catastrophic for navigating
Sarah, but it is a pain to reconfigure the data paths around the
Mux. If other components fail, then more re-wiring at sea will be
required. I will retain the old Mux as a backup.
- AIS-C Traffic Volume Capacity: The AIS engine can
generate a large number of NMEA sentences (e.g., when transiting the
Strait of Gibraltar) and might overload the Mux. I have done a good
bit of load testing the Mux with redundant data streams and the
AIS-C has handled that load. I am not overly concerned about this
issue, but I am unable to receive a lot of AIS traffic while berthed
in Lagos, PT.
|
After completing the trans-Atlantic voyage back to the USA in 2007,
my concerns about the AIS-C Mux have been resolved positively. |
The
Downside of Resiliency |
The resilient network implementation described above has been a
great success. I've never had a serious loss of functionality in
my electronic navigation system. However, recently (Sep, 2008) I
discovered that this resiliency can mask failures on the system and
sometimes make trouble-shooting more difficult.
Because there is a lot of redundant data between the SeaTalk and NMEA
networks the loss of data on one of the networks is not always
immediately apparent. On Sep 8, 2008 I readied Sarah to move from
my berth at the Town Creek Landing Marina in California, MD to
Zahniser's Yachting Center in Solomons, MD for a haul out. When I
connected my Raymarine ST600R Autopilot remote controller to the SeaTalk
network I received a "No Link" message on the remote display. All
of the other electronics appeared to be working properly so I
disconnected the ST600R and used my wireless remote controller for the
short trip across the Patuxent River.
After returning to Town Creek a few days later I started to troubleshoot
the "No Link" problem. At first this seemed similar to the
"SeaTalk Fail" problem I encountered in 2006, while in Portugal.
However that problem caused the entire SeaTalk network to lock up, this
time it appeared that only the ST600R was having a problem.
Since that 2006 problem I've split the SeaTalk network into two legs.
One leg is powered from the main breaker panel and includes the ST600R,
all instruments, GPS, LifeTag, S3 Course Computer, C120 MFD, and the
Brookhouse Mux. The second leg is powered by the S3 Course
Computer (on the second SeaTalk interface) and includes the ST6000 AP
controller and the wireless AP remote controller.
I powered down or removed components from the network with no change in
the symptoms. I traced the entire main leg of the network and
re-seated each of the cable connections. Again no change. At
that time I submitted a request for technical support to Raymarine.
I was getting close to a planned departure for the Bahamas and I needed
to resolve this issue ASAP.
While waiting for a response from Raymarine (this was a weekend) I
remembered that the C120 MFD could display the ID of all devices
connected to the SeaTalk network. When I called up that display
the C120 could only identify 4 devices, the Depth Sounder, the ST600R,
and two unknown devices. If I disconnected the ST600R that device
disappeared from the list, but the C120 still could not see any of the
other devices on the network.
Now I was convinced the problem must elsewhere than in the ST600R.
Finally I found a small terminal strip I had used to provide a junction
for SeaTalk cables that did not have the molded terminal. This
strip was partially hidden behind some other wiring above the engine
compartment. When I tugged on each of the wires, the yellow data
cables were loose. This terminal strip was between the C120 MFD,
Depth Sounder, LifeTag Base and ST600R and the rest of the network.
So the C120 could see those devices, but not the GPS, AP, Speed or Wind
instruments. This was not apparent because the data from the
missing devices was being sent to the C120 via the NMEA network.
Only the ST600R complained of the network problem, because it could not
communicate with the S3 Course Computer.
So I and Raymarine spent a lot of time troubleshooting a problem that
would have been almost immediately apparent if I didn't have
nearly all data backed up on the NMEA network. Of course if I
didn't have that resiliency my electronic navigation system would have
been down hard. As it was there was no loss of functionality other
than having to use a backup remote controller for the AP.
I guess I can live with a little troubleshooting complexity for the sake
of resiliency.
I don't have a complete explanation for the Unknown devices on the C120
display. One of them is clearly the LifeTag base unit. When
the network was restored this still shows up as an unknown device.
For some reason Raymarine has still not added that device to the C120
configuration tables. I could not determine the source of the
other unknown device. With the network connection restored only
the LifeTag shows up as unknown. |