Fig.: NMEA2000 connection technology (Busse yacht shop)
NMEA2000 (National Marine Electronics Association 2000) is a bus system for communication in boats. It was designed to provide a uniform interface for transferring data from electronic devices on boats.
Table of contents
NMEA2000 is a bus system designed to transfer data between electronic devices on boats. NMEA2000 uses a simple but powerful communication method called Controller Area Network (CAN). Data is transmitted via a central cable to which all devices are connected in parallel. CAN is a transmission technology developed for the transmission of data in embedded systems.
- Error monitoring: CAN has an integrated error monitor that ensures the integrity of the data transmission. It monitors the transmission and can detect errors, such as transmission errors or collisions, and restart the transmission if necessary.
- Efficiency: CAN uses priority-based transmission, which allows more important data to be transmitted faster than less important data. This improves the overall efficiency and response time of the system. Significantly more data can be transmitted with NMEA2000 than with NMEA0183.
- Scalability: CAN allows multiple devices to be connected to the same network without affecting transmission performance. This is especially important for applications where the network needs to expand over time.
- Low costs: CAN is a cost-effective transmission technology that is easy to implement and maintain due to the two-wire transmission with differential signals. This makes it particularly attractive for budget-constrained applications.
- Certified devices: NMEA2000 devices comply with minimum NMEA standards, which are proven by certification. This guarantees the highest possible level of compatibility and security between devices from different manufacturers.
- Fixed protocol: Although significantly more information can be transmitted than with NMEA0183, the number of telegrams (PGN) and their content are fixed and cannot be expanded.
- Required certification: Any device that uses and sells NMEA2000 must be certified by NMEA. This is disadvantageous for open source developments, as this results in high costs that cannot be covered.
- Limitation on sensor data: NMEA2000 only transmits sensor data and cannot transmit image data such as radar images, weather maps, video streams or similar.
- Expensive connection technology: NMEA2000 relies on expensive connection technology with waterproof M12 connectors (A-coded), as they are also used in industry, but are offered there much cheaper.
Each device on the NMEA2000 network has a unique device ID to identify and address data sources and data display devices. Data is organized in Parameter Group Numbers (PGN). PGN are unique data identifiers to describe certain types of data such as speed, course, temperature etc. All devices can receive and transmit PGN and it can be decided which PGN will be transmitted or received by a specific device. This enables flexible and scalable transfer of data between devices. Using PGN makes it possible to organize and transfer data efficiently and precisely.
Comparison with other bus systems
NMEA2000 shares some similarities with other bus systems such as SeaTalk NG, SIMnet, Raynet, C-Net 2000 and CANet. However, it differs from these systems in its specific design for use on boats. SeaTalk NG and SIMnet are partially compatible with NMEA2000, which means that some devices designed for SeaTalk NG and SimNet can also communicate with NMEA2000 compatible devices. Although partially compatible with NMEA2000, they differ in some aspects, such as the way they transmit and process data. Despite the use of CAN, C-Net 2000 and CANet are proprietary technologies that are only compatible with devices from the same manufacturer. Raynet plays a special role here, as it does not use the CAN bus for data transmission, but relies on a proprietary Ethernet transmission. It is therefore important to check whether devices that have been developed for a specific bus system are also compatible with devices for a different bus system before they are used. When selecting a bus system, careful consideration must be given to the requirements and which system is best suited to ensure the integrity of the data transmission and the interoperability of the devices.
NMEA2000 data rate is 250 kbps (kilobits per second). This data rate was chosen to ensure a sufficiently high transmission speed for a wide range of applications on boats, while at the same time ensuring the most efficient use of the network. With a data rate of 250 kbps, sensor data can be transmitted in real time, which is important for a variety of applications such as monitoring the ship's position, navigation and communication equipment, engine and other onboard systems.
Application scenarios and limits
NMEA2000 is particularly useful on boats where easy integration of electronic devices is required. These devices can be navigation systems, autopilots, compasses, GPS receivers, depth gauges, wind gauges and other devices. Using NMEA2000 makes it possible to connect these devices and transfer data between them without requiring a separate connection for each device as with NMEA0183. One of the limitations of NMEA2000 is that it is only designed for use on boats to transmit sensor data. It is not intended for use in imaging applications such as radar and fishfinder views, or chart content. Another obstacle is that not all devices are NMEA2000 compatible and the number and content of PGNs are fixed and cannot be expanded. It is important to verify that the desired device is NMEA2000 compliant before using it. In summary, NMEA2000 is a powerful and simple bus system for use on boats that allows easy integration of electronic devices. NMEA2000 was introduced at the end of the 1980s and, from today's perspective, no longer meets all the requirements of modern data processing. The trend is clearly towards Ethernet and enables significantly higher data rates and more flexibility.
For the NMEA2000 bus, there are standardized waterproof and shielded 5-pin connectors in M12 format with A coding. Depending on the design, they can be made entirely of plastic or partially of metal. In addition to the data lines CAN-H and CAN-L, there are two lines for the power supply such as GND (V-) and +12V (V+) and a connection for the shield. Sensor cable connections are usually designed as plugs (male) and have an external thread. Sockets, on the other hand, always have a union nut with an internal thread.
Fig. Top view of the contact side
Fig.NMEA2000 connector for self-assembly (Busse yacht shop)
If you want to buy much cheaper industrial connectors outside of the yacht accessories trade, make sure to buy 5-pin connectors with A-coding. The index notch is then located between pin 1 and 2. There are other codes where the index notch is in a different position.
SeaTalk NG, Simnet and Philippi P-Bus are similar bus systems that are based on the CAN bus as a physical layer. However, they differ from NMEA2000 in some specifications and are not 100% compatible. In addition, each manufacturer uses its own connectors that are not compatible with each other with NMEA2000. With the appropriate converter cables, however, data can be exchanged between these networks. Basically, a mixture of different bus technologies should be avoided.
Power supply from the bus
NMEA2000 devices with low power consumption such as sensors can also be supplied with power from the bus system. No additional supply cables are necessary. The 12 V supply voltage is fed into the NMEA2000 bus either via a feed cable or a plotter with bus feed. However, it must be ensured that only a limited power of up to 35W may be drawn from the NMEA2000 bus. The NMEA2000 devices are marked with load values that indicate the current drawn from the bus. The load is specified as a multiple of 50 mA. A device with Load 3 would therefore need 150 mA at 12V and consume 1.8 W of power. The 12 V supply voltage should ideally be fed into the bus in the middle, as this minimizes line losses due to line resistance.
Only high-quality, waterproof and shielded industrial cables should be used as bus cables. If you want to make your own bus cable, you should use high-quality cables such as Lapp bus cable UNITRONIC 2 x 2 x 0.34 mm² use.
Fig.CAN bus cable
Two single wires are twisted in pairs and also surrounded by an outer braided shield. One twisted wire pair is used for CAN-H and CAN-L and the other wire pair for GND and 12V. The braided shield is connected to GND on one side. This will give you the best results and a safe and durable installation. Cables thinner than 0.34 mm² should not be used if the supply is to come from the bus. The total length of the bus cable should not exceed 40 m.
The physical layer of the NMEA2000 bus is based on the CAN bus With differential signal transmission. Two signals with opposite polarity are transmitted from the transmitter and a single signal is generated in the receiver by subtracting the two signals. Disturbances that affect both signal lines in the same way are eliminated by the subtraction. This enables a robust signal transmission that is not susceptible to interference.
Fig.Differential data transmission (red CAN-H, blue CAN-L)
A CAN bus uses terminating resistors of 120 Ohm between the lines CAN-H and CAN-L at both ends of the bus system. The two terminating resistors correspond to the line resistance of 120 ohms and prevent signal reflections at the line ends at high data transfer rates of 1 Mbit / s. The CAN bus consists of a long bus line with short stub lines less than 1.5 m. A star structure of the bus system is not permitted. The two terminating resistors may only be installed at the end of the bus and may not be in between.
Fig.CAN bus structure (without power supply)
Some devices have built-in terminating resistors that can be switched on or off using appropriate switches. Before installing new devices, make sure whether integrated terminating resistors are used and how they are configured. Improperly terminated buses can cause transmission problems that are difficult to find
Under open source there is one Library for NMEA2000 at GitHub by Timo Lappalainen, which is reverse engineered and supports large parts of NMEA2000. This makes it relatively easy to implement your own projects with microcontrollers under C. On this basis, some DIY projects such as this NMEA2000 gateway or the NMEA2000 workshop implemented.
NMEA2000 data can also be transmitted via Ethernet and WiFi. There is also a protocol extension for NMEA0183 called SeaSmart. At SeaSmart, NMEA2000 PGNs are transmitted as HEX data via special NMEA0183 telegrams. So to speak, the NMEA2000 data is tunneled in the NMEA0183 protocol. This means that NMEA2000 data can also be transmitted via Ethernet and WiFi. Timo Lappalainen supports in his NMEA2000 Lib the SeaSmart protocol.