From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

Checksum of LIN Diagnostic Frames

Solved!
Go to solution

Extract from the help of ncSetAttr.vi (in CAN Frame API library):

 

LIN Checksum Type

Specifies the method the LIN interface should use when calculating checksums for published data, or verifying received checksums for subscribed-to data. The values for this attribute are:


0 Classic (default)
1 Enhanced


Setting the LIN Checksum Type to Classic indicates that the LIN-specified checksum calculation algorithm should be applied only to the data bytes. Setting the LIN Checksum Type to Enhanced indicates that the checksum calculation algorithm should be applied to the ID and data bytes.

 

 

Could someone confirm that the classic checksum computing method will be used by NI USB-8476 and NI PCI-8516 interfaces for Diagnostic Frames (ID 0x3C and 0x3D) even if the LIN Checksum Type is set to enhanced ?

 

Many thanks in advance

0 Kudos
Message 1 of 5
(10,993 Views)
Solution
Accepted by topic author JB

Yes - both the NI USB-8476 and NI PCI-8516 offerings internally use the classic checksum for the diagnostic frame IDs per the LIN specification, regardless of the configuration for the other IDs.

Message 2 of 5
(10,976 Views)

Thank you very much. Is this documented somewhere ?

0 Kudos
Message 3 of 5
(10,956 Views)

For XNET (8516), the manual for the LIN:Checksum property is pretty clear:

 

"Diagnostic frames (with decimal identifier 60 or 61) always use classic checksum, even on
LIN 2.x."

 

 

For NI-CAN (USB-LIN), it is a bit more obscure, but in the "summary of the LIN standard", it indicates the level of support for the NI LIN interface:

"Per the LIN 2.0 specification, classic checksum is for use with LIN 1.3 slave nodes and
enhanced checksum with LIN 2.0 slave nodes. It further specifies that IDs
60–63 shall always use classic checksum. The NI LIN interface provides an
attribute to set the checksum type to classic or enhanced. The default setting
is classic. Per the LIN 2.0 specification, IDs 60–63 always use classic
checksum, regardless of the setting of the checksum attribute."

Message 4 of 5
(10,953 Views)

Thank you very much and kudo one more time !

0 Kudos
Message 5 of 5
(10,941 Views)