Utilizziamo i cookie per rendere migliore la tua esperienza di navigazione. Per rispettare la nuova direttiva sulla privacy, è necessario chiedere il tuo consenso per impostare i cookie. Per saperne di più.
What is an NMEA 2000® DBC?
A DBC file is a standardized method for storing the "rules" on how to interpret raw CAN bus data. In particular, it contains details on what 'signals' (e.g. RPM, Vehicle Speed, …) are contained within which 'messages' (i.e. CAN IDs).
In the NMEA 2000® standard, messages are referred to as Parameter Group Numbers (PGN) and parameters as signals.
Further, a DBC file includes names, descriptions, positions and lengths of the signals - as well as how to offset & scale them. In short, the NMEA 2000® DBC file is key to decoding your data in most CAN bus software tools.
About the NMEA 2000® DBC methodology
The purpose of this NMEA 2000® DBC file is to provide a supplement to the PDF-based NMEA 2000® Appendix B. Since most CAN software supports DBC files, this DBC lets you quickly process your boat/ship data - rather than spending time on manually entering data from the NMEA 2000® PDF standard.
DBC vs. Appendix B PDFWe have based the NMEA 2000® DBC file on public NMEA 2000® databases. These databases overlap to a large degree with the NMEA 2000® Appendix B details, but there will be differences in naming and coverage.
Further, to purchase and use this NMEA 2000® DBC file, you need to separately purchase the NMEA 2000® Appendix B and send us your purchase receipt.
Note that this DBC is not based directly on the official PDF-based NMEA 2000® Appendix B PGN database, but rather on open databases. As such, it should not be viewed as an official DBC, but rather as a supporting tool to get started quickly.
If further questions on the methodology, please contact us.
Since the NMEA 2000® Appendix B will provide the "most valid/recent" data on the decoding rules, we recommend that you review the specific signals you're interested in between the DBC file and your NMEA 2000® PDF. See also our guide in the FAQ on how to add/edit signals in the DBC file. If you observe important discrepancies, let us know.
When is an N2K DBC used?
The NMEA 2000® protocol is used across many maritime vessels and equipment - including ships, boats, carriers etc. Because the NMEA 2000® protocol is standardized, you can use the NMEA 2000® DBC file to decode data across marine brands/models - e.g. for use in marine telematics.
Will the NMEA 2000® DBC decode all signals?
If you're using our CAN loggers, we can offer to decode a sample log file with the NMEA 2000® DBC before you decide whether to purchase the full NMEA 2000® DBC (this sample test is 100% free). This way you can see exactly what data parameters you can extract from a specific marine vessel (or multiple vessels) before deciding. Simply contact us with your raw log file samples.
In some maritime vessels, there are multiple CAN bus networks. Some may be NMEA 2000® based, while others (e.g. engine-related) may be J1939-based. For such use cases, you may require both a NMEA 2000® DBC file and a J1939 DBC file.
In both cases, you can get free sample demo conversions from us and you can evaluate your CAN IDs via our Google Sheet to test which DBC file contains which PGNs.
What PGNs are in the DBC?
If you have a list of NMEA 2000® or J1939 CAN IDs, you can paste them in our 'CAN ID to PGN converter':
- Convert raw CAN IDs to J1939 or NMEA 2000® PGNs
- Check if the PGNs are in the J1939 or NMEA 2000® DBC
- Convert J1939 or NMEA 2000® PGNs to raw CAN ID
NMEA 2000® single frame vs. fast packet
In the NMEA 2000® standard, you will often see a mix of 'single frames' and 'fast packets'. Single frames contain 1-8 data bytes, while fast packets contain >8 across multiple CAN frames.
To decode fast packet data using the NMEA 2000® DBC file, you need to first "reconstruct" the relevant CAN frames into a single CAN frame with all the payload data, after which the normal DBC decoding can be applied.
N2K fast packet script exampleWe recommend that you check out our NMEA 2000® fast packet Python script example here. The script provides some basic utility functions and examples for handling multiframe NMEA 2000® fast packets. If you use the CANedge to log your NMEA 2000® data, you can use the Python script classes as a starting point for processing NMEA 2000® fast packet data and e.g. integrating your data with Grafana dashboards as per our guide.
GENERAL | |
---|---|
Standard(s) | The DBC is based on open source NMEA 2000® databases and overlaps with the NMEA 2000® Appendix B |
#PGNs | 100+ |
#Signals | 700+ |
Fast packets | The DBC file includes a mix of single frame and fast packet NMEA 2000® PGNs |
Descriptions | Names, descriptions etc. are based on the open source databases and may differ from the official standard |
PGN encoding | The message VFrameFormat is "J1939PG", meaning that most CAN software will match IDs based on the 18-bit PGNs |
Value tables | Value tables are included for several signals |
Non esitare a metterti in contatto con i nostri esperti.
Basta chiedere qui