Software Products
NMEA 2000
Protocol Stack
Our NMEA 2000 software package handles reception and transmission of standard single frame and multi-frame (i.e. Transport Protocol) NMEA 2000 messages. Also, the ssNMEA2000 software package handles address claim arbitration specified by the network management layer. If you have questions about our NMEA 2000 software, please see our NMEA 2000 Protocol Stack FAQ for possible answers.
NMEA 2000 Protocol Stack Details:
- Fast Packet support
- PGN List Group functions
- Complex Data Request
- Product Informatin support
- MISRA C compliant
- ANSI C source code
- Use with or without an RTOS
- Use with 8, 16, 32, or 64-bit CPU
- ssNMEA2000 reference manual
Quick Links
NMEA 2000
Introduction
This article is intended to give engineers a brief overview of the NMEA 2000 protocol. For details on the specification itself, please visit the International Marine Electronics Association (NMEA).
NMEA 2000 is a replacement for the NMEA 0183 network which has been used in the marine industry on pleasure craft, tankers, submarines, yachts, and cargo ships for the past 20 years. Today NMEA 2000 is used as the standard communications bus for marine equipement.
NMEA 2000 Overview
NMEA 2000 is a high level communications protocol, which operates on a Controller Area Network (CAN) bus. NMEA 2000 specifies exactly how information (e.g. engine RPM) is exchanged between electronic control units (ECUs) on a network.
It defines the data’s priority, size, scaling, and offset. For example, NMEA 2000 specifies engine RPM to have a default priority of 3, to have a size of 16-bits, a resolution of 0.125 rpm/bit, and an offset of 0.
The standard goes on to define many other aspects, including message timeouts, how large messages are fragmented and reassembled, the network speed, the physical layer, and how applications acquire network addresses.
NMEA 2000
Ports
Our real-time NMEA 2000 protocol stack is completely platform independent and written in the ANSI C programming language. It is the CAN device driver, ssCAN, that is target specific and incorporates the details for a given microcontroller.
Together ssNMEA2000 and ssCAN form a complete ported system allowing customers to be up and running almost immediately. Our ssCAN device driver has been ported to over 40 different microcontrollers. Below is the list of available ports. Please contact us if you are interested in a port or device driver for a hardware platform that is not listed.
See our full list of available ports.
Texas Instruments
- Texas Instruments RM4x (DCAN)
- Texas Instruments LM3Sx
- Texas Instruments TMS470x
- Texas Instruments TMS470Mx
- Texas Instruments TMS570x
- Texas Instruments Tiva TM4C
- Texas Instruments F28M35xx
- Texas Instruments TMS320F280x
- Texas Instruments TMS320F281x
- Texas Instruments TMS320F282x
- Texas Instruments TMS320F283x
- Texas Instruments AM3x – Sitara
- Texas Instruments DM8x – DaVinci
- Texas Instruments MSPM0
- Texas Instruments MSPM0G
STMicro
- STMicro ST7
- STMicro ST10
- STMicro STR7
- STMicro STM8
- STMicro STM32L4x
- STMicro STM32G0x
- STMicro STM32G4x
- STMicro STM32F0x
- STMicro STM32F1x
- STMicro STM32F2x
- STMicro STM32F3x
- STMicro STM32F4x
- STMicro STM32F7x
Microchip
- Microchip PIC18
- Microchip PIC24
- Microchip PIC32
- Microchip dsPIC30
- Microchip dsPIC33
- Microchip MCP2515
NXP
- NXP LPC11xx
- NXP LPC17xx
- NXP LPC21xx
- NXP LPC23xx
- NXP SJA1000
- NXP HCS08
- NXP HCS12
- NXP HCS12X
- NXP MC68xxx
- NXP MCF5xxx
- NXP MPC5xxx
- NXP Kinetis Kxx
Miscellaneous
- Linux
- Windows XP/7/Embedded
- Atmel SAM7
- Atmel AT90
- Infineon C16x
- Infineon TriCore
- Intel 82527
- Silicon Labs C8051
- Xilinx LogiCORE AXI (axi_can)
Talk to us
Please contact us if you are interested in a port or device driver for a hardware platform that is not listed.
Experience Summary
1000
Global
Customers
500
Protocol
Stacks
300
CAN
Device Drivers
75
Flash
Bootloaders
60
Microcontrollers
& DSPs
10
Real Time Operating Systems