Automotive
Documentation

Version Latest

LIN bus

Open LIN channels through Vector, PEAK and Kvaser or a virtual LIN bus, run the LDF's schedule tables as master, emulate the slaves not under test, configure nodes, send UDS over LIN and record the decoded LIN trace, from an LDF or an AUTOSAR LIN cluster.

State: Vector, PEAK and Kvaser LIN are kit shipped (Verify LIN Interface), not yet run against the libraries; they ran against test libraries written from the vendors' headers, on Linux and under Wine. The virtual LIN bus is the module's own, modelled and checked against the LIN 2.2A tables, the lin-bus crate and ldfparser. No LIN hardware.

Connect a LIN channel

Run Connect LIN Channel. Pick an LDF, or a LIN cluster of an AUTOSAR file (listed by its name and file), and open the channel as master or slave at the description's bit rate and LIN revision:

BackendLibrary
Vector LIN channelsYour XL Driver Library
PEAK LIN interfacesYour PLIN-API (PLinApi.dll, Windows)
Kvaser LIN interfacesYour LINlib, with CANlib naming the channels as on the label
Virtual LIN busThe Editor's bus host: one master per bus, frame times from the bit rate, checksum checked by each receiver, collisions, sleep and wake up

The vendor libraries run in the same helper processes as the CAN ones, restarted with their frames and responses after a crash. Close LIN Channel closes it.

The Connect LIN Channel picker reporting that a vendor library is not installed and offering a new virtual LIN bus.The Connect LIN Channel picker reporting that a vendor library is not installed and offering a new virtual LIN bus.

Frames carry their protected identifiers and classic or enhanced checksums; checksum, parity, sync, framing, bit and collision errors and missing responses are events.

Simulate the cluster

Start LIN Simulation runs the master and emulates the nodes not under test; Stop LIN Simulation ends it.

  • Master: the schedule tables on a fixed grid, switched at the next slot with Switch LIN Schedule Table; event-triggered frames with their collision resolving tables; sporadic slots; master request slots carrying the tables' node configuration commands or queued diagnostic requests; slave response headers; go to sleep, and 100 ms after a wake up before the next header.
  • Slaves: their frames with initial values, values set at runtime with Set LIN Signal (raw, logical text, physical value or bytes), event-triggered frames, response errors on request with Set LIN Response Error (wrong checksum, no response), the response_error signal, and node configuration answered as LIN 2.2 describes it.
  • Send LIN Wake Up and Send LIN Go to Sleep.

The LIN Bus panel has LIN Trace (frames decoded with the logical and physical encodings, event-triggered frames as the frame they carry, errors, schedule slots, master request and slave response frames described) and LIN Simulation (schedule state, nodes, signals, response errors). Clear LIN Trace clears it.

The LIN Bus panel with the LIN Trace of a running schedule table and the LIN Simulation controls for signals and frames.The LIN Bus panel with the LIN Trace of a running schedule table and the LIN Simulation controls for signals and frames.

Node configuration and diagnostics

  • Send LIN Node Configuration Request sends requests from the LDF's node attributes: assign NAD, conditional change NAD, assign frame identifier range, save configuration, read by identifier. NAD and frame identifier assignment are confirmed on a real bus.
  • Send UDS Request over LIN uses the LIN transport layer (single, first and consecutive frames), with the response polled by slave response headers between the schedule's entries.

Record

Start LIN Recording and Stop LIN Recording write the module's own documented .lintrace format, which the Editor reads back. LIN is not written into ASC, because no authoritative example of Vector's LIN records in ASC is public.

From an AUTOSAR LIN cluster

Each LIN cluster of an ARXML file is read into the same model as an LDF: baud rate, master and slaves with their time base, frame triggerings (unconditional, event-triggered, sporadic, diagnostic), signals with encodings, each slave's protocol version, NADs, product id and configurable frames, and the schedule tables with every command. What the LIN model cannot hold is reported in Problems at its element (12 checks).

Not verified: LIN 2.2 runs as the Vector driver's LIN 2.1. PLIN-API cannot send a wrong checksum, and Kvaser sets one checksum model per channel. An emulated slave answers node configuration from the window, so a slave response header within about 10 to 20 ms of the request goes unanswered, which LIN allows. No AUTOSAR LIN cluster written by a vendor tool has been read.

Last reviewed 18 October 2026View as Markdown

LIN bus · Docs · Neural Inverse