LIN-Frames Timestamp Different From the System Time

Updated Mar 21, 2018

Reported In

Hardware

  • LIN Interface Device

Software

  • LabVIEW

Issue Details

I have an application with continuous LIN-communication running based on NI-XNET.
After running a couple of hours, I can observe that the timestamp of the LIN-frames I receive is higher than the current system time. 

Solution

Each device has its own clock which is using an oscillator to keep time. From this statement we can conclude that each device has its own oscillator which can oscillate at a certain frequency. There can be a difference between the two oscilloscopes frequencies. The difference between the frequencies is usually very small. The very small difference in frequency run over a longer period of time can result in time drifts between the two systems.

With LIN standard, the two devices are syncing when we start and then the LIN frames keep the time form the second device, not the PC. This is the reason why you see the drift on the LIN frames referencing to the PC current time. 


If you want to have the same time, you would need to synchronise the two devices.

 

Additional Information

On each of the devices, there is an oscillator that is counting time. How this works: you insert some current through the oscillator and it oscillates at a well know frequency. In this way each device is keeping its own time, depending on the accuracy of that oscillator. That is why, if you would open up your PC, you would see a small battery in there. One reason for this is to keep that oscillator running when PC is off. If the devices are connected to the network, the sync is done via NTP (but this is a different story). 

If the two devices that you are trying to synchronize are a PC and cDAQ the this article would give you some information about how can this be implemented. 
 

WAS THIS ARTICLE HELPFUL?

Not Helpful