LIN¶
This page teaches how LIN makes low-cost serial traffic inspectable through break, sync, protected identifier, checksum, and schedule evidence.
| Status | Examples | Runtime example | Source posture |
|---|---|---|---|
final-copy |
synthetic/passive |
available |
standards metadata plus public/tooling cross-checks |
A Concrete Artifact¶
# synthetic passive LIN schedule observation
slot 1, t=20.000 ms: break sync=55 pid=0x92 data=10 20 30 checksum=0d
Synthetic
Synthetic offline sample for explanation; not a real operational trace or live-system instruction.
Inspection Trap¶
LIN can look like ordinary UART bytes with a checksum. That misses the bus lesson: the break, sync byte, protected identifier, checksum type, and schedule position are the evidence that make the bytes interpretable.
The safer claim is schedule-relative. A passive observer can describe a LIN frame shape and where it appeared in a captured schedule. Signal names, node roles, and meaning require an LDF, integration description, or vendor authority.
Worked Decode¶
- The break creates a frame boundary that a byte-only UART view can miss.
- Sync byte
0x55gives timing-recovery evidence. - Protected identifier
0x92carries identifier0x12plus parity bits in this teaching example. - Data bytes
10 20 30are response bytes associated with the invited frame. - The supplied enhanced checksum
0x0dmatches the teaching model's calculated checksum. - Slot index
1at20 msis schedule evidence. It does not name a signal by itself.
What The Evidence Supports¶
The artifact supports a frame-level and schedule-level claim: an observed LIN
frame used protected identifier 0x92, carried three data bytes, had valid PID
parity and matching enhanced checksum in the teaching model, and appeared in
slot 1 at 20 ms of a synthetic body-status schedule.
That is enough to discuss timing, expected response shape, and frame integrity. It is not enough to name actuator state, switch position, or node intent.
What The Evidence Does Not Support¶
The artifact does not prove the master schedule, slave identity, signal names, physical body state, freshness beyond the observed timestamp, or whether an application used the data. A checksum match protects the frame shape; it does not turn bytes into engineering truth.
The page also does not teach live schedule generation or bus interaction. It is about already-observed evidence.
Field Layout / Anatomy¶
| Element | Shape | Inspection meaning |
|---|---|---|
| Break | dominant low interval | Frame boundary and resynchronization evidence. |
| Sync | 0x55 |
Timing calibration pattern. |
| Protected identifier | ID plus parity | Selects the frame and protects the identifier bits. |
| Data | commonly 0 to 8 bytes | Signal bytes whose meaning comes from LDF or vendor context. |
| Checksum | classic or enhanced | Frame integrity evidence with checksum-type ambiguity. |
| Schedule observation | slot plus time | Evidence about when the master invited the frame. |
Visual Model¶
Timing And Authority¶
LIN authority is scheduled. The master invites a frame by emitting the header; the responder supplies data when the schedule and node configuration say it should. The protected identifier tells which frame was invited, and the schedule explains why it appeared at that time.
Semantic authority
LIN bytes require LDF or equivalent integration authority before they become signal names, units, or node-state claims.
Failure And Ambiguity¶
- A UART decoder can miss LIN break semantics and treat the record as ordinary bytes.
- Using the wrong checksum type can make valid frames look bad.
- Schedule changes can mimic node failure or missing data.
- Protected ID parity validates identifier bits; it does not validate payload meaning.
- An LDF can be stale, project-specific, or mismatched to the observed network.
Python Model¶
The current package exposes small LIN frame and schedule-observation models for passive inspection:
"""Runnable LIN frame inspection example for the schoolbus binder."""
from schoolbus.protocols.lin import LinFrame, LinScheduleObservation
frame = LinFrame.from_hex("92 10 20 30 0d")
observation = LinScheduleObservation(
frame=frame,
schedule_name="synthetic-body-status",
slot_index=1,
observed_time_ms=20.0,
nominal_period_ms=20.0,
)
print(frame.show_fields())
print(frame.explain())
print(observation.show_fields())
print(observation.explain())
The model exposes protected identifier parity, enhanced checksum evidence, data bytes, and captured schedule position. It does not assign signal names or provide schedule-generation behavior.
Simplification
The frame, schedule name, slot, and bytes are synthetic. The page omits exact electrical timing, wakeup/sleep behavior, node configuration, complete LDF grammar, and conformance requirements.
Source Notes¶
| Teaching claim | Source role | Limit |
|---|---|---|
| LIN uses break, sync, protected identifier, and data. | canonical metadata | Not a reproduced ISO timing or conformance table. |
| LDF or integration context supplies signal meaning. | de facto/proprietary format context | The page does not claim a complete LDF grammar. |
| Public LIN explainers can cross-check teaching shape. | public explainer | Not normative authority for edge cases. |
| The slot and bytes in this page are synthetic. | synthetic teaching artifact | Not operational capture evidence or body-state truth. |
| Scapy documents automotive packet inspection context. | tooling reference | Not proof of all LIN deployments or tool behavior. |
| Field | Value |
|---|---|
| Governance tier | Tier 1 Core Lab |
| Canonical source status | yes |
| Public explainer status | yes |
| Open-source tool status | yes |
| Sample-data status | none listed; use synthetic teaching artifacts |
| Confidence | high |
| Citation specificity | document-metadata-level |
References¶
Public Sources¶
- ISO
- ISO 17987-1 Road vehicles - Local Interconnect Network (LIN)
- canonical-standard metadata.
- CSS Electronics
- LIN bus explained
- vendor tutorial.
- Tooling references
- Scapy automotive layers
- automotive layer structure and packet inspection docs.
Project posture is aggregated in the protocol support policy, source policy, and project charter.