Ben Brown bio photo

Ben Brown

Electronics and Embedded Systems Engineering

Email Twitter Facebook Github

Contents

NMEA 2000 - Part 1

NMEA 2000 is the new standard that is being rolled out in boating (well has been for a while). This standard is notable as a replacement for NMEA 0183, as it resolves the issues 0183 faced. NMEA 2K is based on the CAN BUS communications platform, this is an awesome as it resolves the main issue of connecting multiple devices on a single bus. Also included in the specifications for the NMEA 2K standard is two styles of wiring (Mid and micro size) with matching connectors. This is important as it enforces the wiring to be used for the CAN network must be of the correct style.

The Good

  • Runs on CAN Bus, a differential system that prevents data collision.
  • CAN Bus implements a built in priority system removing the risk of a low priority message delaying a more urgent one (With limitations).
  • Reasonably fault tolerant.
  • Running at 250 Kilo-bit per second means higher bandwidth than 0183(4800/9600/38400).
  • Multiple master bus system, allows everyone to talk and listen on the bus simultaneously.

    The Bad

  • Closed documentation (NDA).
  • Costs a large fee to gain access to the documentation.
  • Allows manufactures to lock away the use of their sensors in custom solutions.
  • Makes it hard for any electronics makers to work with the nice newer products.

The Solution

  • CANboat project
  • OpenSkipper

CANboat is an awesome collecton of commandline utilities to work with CAN Bus networks on boats. This suite provides excellent support for many of the NMEA 2000 PGN’s.

Openskipper is C# application set used for working with the NMEA 200 data, based on the CANboat project.