02-16-2022 07:38 AM
I have an XNET LIN card as master. When I start to send data, I see error frames in the XNET Bus Monitor, where the payload= 0x01, 0x05, 0x3C...
this means, there is an error occured by transmitting frame with ID=0x3C.
My question is, what can be the reason of getting 0x05 (according XNET HW/SW manual "timeout")?
I tried to search on the internet for this, no results...
02-16-2022 08:34 AM - edited 02-16-2022 08:36 AM
I don't work with LIN too often, but I suspect this is a timeout waiting for the slave's data. A master will send the ID for the data it wants, and then it is the responsibility of the slave to send the data for that ID. Each ID you send should have a corresponding single device that will send that. Some times it is the master itself, which is how the master can send data. But most of the time the ID needs corresponds to another device on the bus, which will act as a read.
If the master sends the ID, and then no slave populates the data, then I'd expect a timeout error. This might happen if the slave isn't powered, isn't connected, or the ID doesn't correspond to any slave. Also if you want to know more about LIN I just made a blog post on it that compares it to CAN and covers some of this.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
02-16-2022 08:14 PM
ID 0d60 (0x3C) and 0d61(0x3D) are reserved for diagnostics. Please refer to shipping example LIN Diagnostic Frame Master.vi and LIN Diagnostic Frame Slave.vi from NI Example Finder >> Hardware Input and Output >> LIN >> NI-XNET >> Advanced.
DISCLAIMER: The attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system, or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense