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.

Industrial Communications

cancel
Showing results for 
Search instead for 
Did you mean: 

LIN Bus Sleep in Diagnostics

I am controlling an ECU via LIN UDS, using XNET + Automotive Diagnostics Command Set. Everything is working fine, but there is a thing I just can't solve.

 

To set the ECU into sleep mode, I have to send a "rapid sleep command" to the ECU, it is a UDS routine. After receiving the response from the ECU, the LIN bus has to go to sleep (idle) mode, so the level has to be recessive and no further activity is allowed on the LIN bus - otherwise the ECU wakes up immediately.

 

I have read in the LIN specification: "When operating in the diagnostics only mode without any active transmission the master node shall execute diagnostic slave response schedule tables"

 

This is what my PCI-8516 does, it sends the slave ID 0x3D to the bus every 50ms, as it is defined in the ldf. But for this special routine, the bus has to "shut up" 🙂 I don't find any solution. There must be a possibility to do that. If I call the Close Diagnostics.vi right after the "Rapid Sleep Request", the card still sends the slave request frames!

 

I would appreciate any good idea

 

Madottati

0 Kudos
Message 1 of 2
(4,849 Views)

Hi Madottati,

 

I would recommend posting in the Automotive and Embedded Networks board.  That board specializes in these products and is monitored by support.  This board is for our Industrial Communication protocols (DeviceNet, CANopen, Fieldbus, EtherCAT, etc).  

 

Thanks!

Matt S.
Industrial Communications Product Support Engineer
National Instruments
0 Kudos
Message 2 of 2
(4,841 Views)