ISO 17987 / SAE J2602
LIN
Local Interconnect Network — low-cost single-wire sub-bus.
Bitrate
Up to 19.2 kbit/s
Topology
Single-master, up to 16 slaves
Introduced
1999
Overview
LIN is a cost-efficient single-wire UART-based bus used for low-speed body electronics where CAN would be overkill. The master polls slaves using a header; slaves respond with a fixed-length data field.
Frame format
| Field | Bits | Description |
|---|---|---|
| Break | ≥13 | Synchronization break field |
| Sync | 8 | 0x55 sync byte for clock recovery |
| PID | 8 | Protected identifier (6-bit ID + 2 parity) |
| Data | 8–64 | 1–8 data bytes |
| Checksum | 8 | Classic or enhanced checksum |
Byte structure — request & response
LIN — ISO 17987
Frame template
[Break ≥13b][Sync 0x55][PID:1B] | [Data:1–8B][Checksum:1B]Request
| Off | Size | Field | Value | Description |
|---|---|---|---|---|
| — | ≥13 bit | Break | 0x00 | Dominant break to wake the bus. |
| 0 | 1 B | Sync | 0x55 | Alternating bits for clock recovery. |
| 1 | 1 B | PID | 0x32 | 6-bit ID + 2-bit parity (protected identifier). |
Response
| Off | Size | Field | Value | Description |
|---|---|---|---|---|
| 0…N-1 | 1–8 B | Data | 12 7A | Slave-supplied response bytes (length implied by frame ID configuration). |
| N | 1 B | Checksum | 0x73 | Classic (data only) or enhanced (PID + data) checksum. |
LIN is master-driven: master sends Break+Sync+PID; the addressed slave (or master itself) supplies the data + checksum bytes.
Use cases
- · Window lifters
- · Mirror control
- · Rain/light sensors
- · Seat motors
Pros
- Very low cost
- Simple UART hardware
- No crystal needed on slaves
Cons
- Low bandwidth
- Single point of failure (master)
- Polling latency
Request / Response examples
Read mirror position
Request
Header—PID:0x32
Response
Data:127AChecksum:73
Bytes encode horizontal/vertical mirror position in 0.5° steps.