Positioning Leadership
APN-050 Rev 1 December 16, 2008
SMART-AG Firmware Release Application Note for CAN
System Integrators
The Firmware 3.600 release is specifically for usage on SMART-AG products only, and
is not a general OEMV firmware release. This application only applies to users of the
SMART-AG product.
The support for CAN module has been added to 3.600 Firmware. The CAN module is
generally not user-interactive. It is activated when a SETCANNAME command is
entered, and after a SAVECONFIG, the CAN module is activated immediately on all
subsequent start-ups. The module supports NMEA2000 Parameter Group Message
(PGN): PGN 129029 GNSSPositionData, PGN 129025 GNSSPositionRapidUpdate, and
PGN 129026 COGandSOGRapidUpdate. See the sections below for further information
on these messages.
SETCANNAME Command
Sets the device NAME fields.
Abbreviated ASCII Syntax: Message ID: 1091
SETCANNAME ManufacturerCode [IndustryGroup] [DeviceClass] [DeviceClassInstance]
[Function] [FunctionInstance] [ECUInstance] [PreferredAddress] [Reserved]
Abbreviated ASCII Example:
SETCANNAME 1023
Message Parameters:
Field # Field Type Description Conversion
String
Format Bytes Offset
1 ManufacturerCode CAN module's
Manufacturer Code
0 code 2047
%lu ULONG 4 0
2 IndustryGroup Industry Group number
(Default = 2)
0 group 7
%lu ULONG 4 4
Positioning Leadership
APN-050 Rev 1 December 16, 2008
Field # Field Type Description Conversion
String
Format Bytes Offset
3 DeviceClass 11783-5 Device Class
(Default = 0)
0 class 127
%lu ULONG 4 8
4 DeviceClassInstance 11783-5 Device Class
Instance
(Default = 0)
0 instance 15
%lu ULONG 4 12
5 Function 11783-5 Function
(Default = 23)
0 function 255
%lu ULONG 4 16
6 FunctionInstance 11783-5 Function Instance
(Default = 0)
0 instance 31
%lu ULONG 4 20
7 ECUInstance 11783-5 ECU Instance
(Default = 0)
0 instance 7
%lu ULONG 4 24
8 PreferredAddress Device default address on
startup
(Default = 28)
0 address 255
%lu ULONG 4 28
9 Reserved Reserved field.
(Default = 0)
%lu ULONG 4 32
The following naming information is taken from NMEA 2000® Standard for Serial-Data
Networking of Marine Electronic Devices, Version 1.200, Appendix D.
ISO 11783 + NEMA 2000 NAME Fields
This section provides information critical to understanding and applying the ISO NAME
field within the NMEA 2000 network. Each parameter within the NAME field is
examined and discussed. An example NMEA 2000 network containing several device
NAMEs is also provided.
Overview
As specified in ISO 11783-5 and referenced by NMEA 2000, the NAME entity is used to
provide information about the function of a given device on the network, to facilitate
Positioning Leadership
APN-050 Rev 1 December 16, 2008
arbitration during the address claim process, and to provide an association between a
device’s NAME and device’s address. The NAME entity consists of ten individual
parametric fields. The ISO 11783-5 standard defines these individual parametric fields,
including their names, the size or number of bits for each field, the ordering of the fields,
and usage and interpretation of these fields.
The NMEA 2000 standard fully supports the NAME field structure and utilizes most of
the ISO 11783-5 definitions regarding the NAME entity. The NMEA 2000 standard, by
necessity, deals with marine platforms versus tractors, cars, etc. The type and number of
devices that may exist on a given network are unique to the marine environment that
NMEA 2000 is designed to satisfy. The NMEA 2000 standard provides specific guidance
and interpretation on how the instance fields are managed, relevant to the marine
environment, considering the wide variety and large number of possible marine electronic
devices. NMEA 2000, also by necessity, broadens the scope (interpretation) of the unique
number field, in order to achieve “NAME uniqueness in the world”, as much as possible.
There are no other differences in the NAME entity between ISO 11783 and NMEA 2000.
NMEA 2000 devices can coexist with ISO 11783 devices on the same network with no
conflict between the NAME entities. NMEA 2000 devices that are not capable of
transmitting on the network, such as listen-only devices, are not required to implement
the NAME entity.
D.3.2 Field Programmability of the Instance Fields (done using
the SETNAME command)
It is recommended that only a knowledgeable individual, for whom responsibility
for proper network operation resides, should perform modification of device
instance fields.
NMEA 2000 networks are expected to support many instances of duplicate and or similar
devices on the same network. This may include devices such as compasses, engine
controllers, navigation receivers, smoke detectors, displays, and more. In NMEA 2000
networks, an implementation where there are multiple instances may exist at any time.
There can never be any certainty that multiple instances of similar or duplicate devices
will not occur. NMEA 2000 devices, capable of transmitting on the network, support
field programmability of all the instance fields used in the NAME entity.
Field programmable instance fields provide NMEA 2000 with the scalability necessary to
accommodate large installations where management of many instances of the same or
similar devices is desired. The capability to manage not only large networks, but also
Positioning Leadership
APN-050 Rev 1 December 16, 2008
multiple network segments, or redundant equipment is provided by this facility. The
facility to modify instance fields within the NAME of a NMEA 2000 device is a very
powerful tool. It is important to understand that NMEA 2000 devices on a network, even
if duplicated, will function properly with no changes to the instance fields. Instance field
programmability is simply a tool to be used in the management of large or complex
networks. This same capability provides installers of ISO 11783 or SAE J1939 based
networks, to be able to incorporate NMEA 2000 devices, and set the instance fields in
accordance with the needs of that specific ISO 11783 or SAE J1939 application.
The remainder of this section provides additional clarification of how the individual
fields of the NAME entity are used within NMEA 2000.
D.3.3 Individual NAME Fields
The address claim process, where all NMEA 2000 devices dynamically claim and
arbitrate network addresses, is fundamentally dependant upon the individual NAME
fields. Address contention, when it occurs, is resolved by application of the NAME field
values. For this reason, NMEA 2000 does not support an unknown or not available state
or value for any of the NAME fields.
Manufacturer Code Field – Field 1
The Manufacturer Code is an 11-bit field that indicates which company was responsible
for the production of the device for which this NAME is being referenced. Manufacturer
codes assigned by ISO may be found in the ISO 11783 Part 1. ISO has assigned a block
of manufacturer codes for use by the NMEA. The NMEA assigns specific manufacturer
codes from within this block to the individual manufacturers for use in their NMEA 2000
devices. The Manufacturer Code field is not dependent on any other field in the NAME.
This field is a major component in resolving address contention, and consequently cannot
follow the ISO convention for unknown or not available. There is no recognized
unknown state for this field in NMEA 2000 devices.
Industry Group Field – Field 2
Industry Group is a three-bit field defined and assigned by ISO. The Industry Group field
identifies NAMEs associated with a particular industry that uses ISO 11783, for example:
On-Highway Equipment, or Agricultural Equipment, or Marine. NMEA 2000 devices
shall use the Marine Industry Group three-bit value of 4 or ‘100’ in binary. Other
Industry Group definitions may be found in Annex B of the ISO 11783 Part 1.
Positioning Leadership
APN-050 Rev 1 December 16, 2008
Device Class Field – Field 3
Device Class is a 7-bit field defined and assigned by the NMEA for the Marine Industry
Group. The Device Class field is defined and assigned by the ISO for Industry Groups
other than Marine. Device Class, when combined with the Industry Group and the Device
Function fields, can be correlated to a common name for specific hardware. Device Class
provides a common name for a group of functions within a connected network. For the
Marine Industry Group, Device Classes are based on NMEA 2000 Classification and
Terminology. Example Device Classes within the Marine Industry Group are: “Safety
systems”, “Navigation systems”, and “Propulsion systems”.
System Instance Field (ISO Device Class Instance) – Field 4
NMEA 2000 devices shall interpret this as a “System Instance Field”. System Instance is
a 4-bit field that indicates the occurrence of devices in additional network segments,
redundant or parallel networks, or sub networks. NMEA 2000 networks are currently
constrained to be no more than 200 meters long, operate at 250Kbit, and allow a
maximum of 50 physical nodes, with 252 possible addresses (devices). There are many
marine implementations that will never come close to these maximums, but there exist
many marine platforms that have requirements that go beyond the basic NMEA 2000
network. Examples are large vessels where the length of the network required far exceeds
the 200-meter limit. There will be cases where more than 50 physical nodes or 252
logical addresses may be required. The System Instance Field can be utilized to facilitate
multiple NMEA 2000 networks on these larger marine platforms. NMEA 2000 devices
behind a bridge, router, gateway, or as part of some network segment could all indicate
this by use and application of the System Instance Field.
Device Function Field (ISO Function) – Field 5
Device Function is an 8-bit field defined and assigned by NMEA for the Marine Industry
Group, and by ISO for other Industry Groups. When Device Function has a value of 0 to
127, its definition is not dependent on any other field. When Device Function has a value
greater than 127, its definition depends on Device Class. NMEA 2000 Device Functions
are dependant upon the Device Class, and therefore have a value within the range of 128
and 253. Device Function, when combined with the Industry Group and the Device Class
fields, can be correlated to a common name for specific hardware. The common name
formed from the combination does not by itself imply any specific capabilities. Table 8-1
in the NMEA 2000 standard contains a list of the currently defined Device Functions.
Positioning Leadership
APN-050 Rev 1 December 16, 2008
Device Instance Upper Field (ISO Function Instance) – Field 6
NMEA 2000 devices shall interpret this as the “Device Instance Upper Field”. Device
Instance Upper is a 5-bit field, that, when combined with the Device Instance Lower
field, distinguishes a single device from a group of identical devices, and is associated
with a given Function. The numbers of “like” NMEA 2000 devices on any given NMEA
2000 network may easily exceed the 3-bit range of the Device Instance Lower field,
which is 8 devices, assigned by values of 0 through 7. In order to accommodate these
requirements, NMEA 2000 devices shall combine this Device Instance Upper Field with
the Device Instance Lower Field to increase the number of possible “like” devices from 8
to 255. The Device Instance Upper Field shall be considered the upper 5 bits of the
combined 8-bit field. For the case of a single or first device of a type, the Device Instance
Upper field should be set to zero indicating the first instance. This is the default value.
When NMEA 2000 devices are used in networks other than NMEA 2000 networks, it is
recommended that the value of the ISO Function instance field (if modified from their
default values) be set accordingly for those other networks.
Device Instance Lower Field (ISO ECU Instance) – Field 7
NMEA 2000 devices shall interpret this as the “Device Instance Lower Field”. The
Device Instance Lower is a 3-bit field, that, when combined with the Device Instance
Upper field, distinguishes a single device from a group of identical devices, and is
associated with a given Function. The numbers of “like” NMEA 2000 devices on any
given NMEA 2000 network may easily exceed the 3-bit range of this field, which is 8
devices, assigned by values of 0 through 7. In order to accommodate these requirements,
NMEA 2000 devices shall combine this Device Instance Lower Field with the Device
Instance Upper Field to increase the number of possible “like” devices from 8 to 255. The
Device Instance Lower Field shall be considered the lower 3 bits of the combined 8-bit
field. For the case of single or first device of a type, the Device Instance Lower Field
should be set to zero indicating the first instance.
When NMEA 2000 devices are used in networks other than NMEA 2000 networks, it is
recommended that the value of the ISO ECU instance field (if modified from their default
values) be set accordingly for those other networks.
Preferred Address – Field 8
This field determines whether a specified device address is included in the CAN
identifier field or if the message is intended for global use. This means that a message
will be sent to one device or multiple.
Positioning Leadership
APN-050 Rev 1 December 16, 2008
Reserved Field – Field 9
The field is reserved for future definition by ISO. This 1-bit field shall be set to zero.
Positioning Leadership
APN-050 Rev 1 December 16, 2008
Final Points
If you require any further information regarding the topics covered within this
application, please contact:
NovAtel Customer Service
1120 – 68 Ave. N.E.
Calgary, Alberta, Canada, T2E 8S5
Phone: 1-800-NOVATEL (in Canada or the U.S.) or +1-403-295-4500
Fax: 403-295-4501
E-mail: support@novatel.ca
Website: www.novatel.com