임베디드 면접 용어 사전
필드버스

LIN

단일 마스터·저속의 저가 차량 버스. CAN을 보조해 도어·시트 같은 편의 장치에 쓰인다.

CAN보다 훨씬 싸고 느린 차량용 단선 시리얼 버스(Local Interconnect Network).

왜 만들었나

차량에 CAN 노드가 늘어나면서 비용이 문제가 됐다

  • CAN 트랜시버, 크리스털, 트위스티드 페어 케이블

  • 창문 스위치 하나에 이만한 비용을 들일 필요가 있나?

  • 저속·저비용이면 충분한 곳을 위한 규격

특징

LINCAN
선 수1선 + GND2선(차동)
속도최대 20 kbps1 Mbps (FD는 더 빠름)
구조마스터-슬레이브다중 마스터
노드 수최대 16수십 개
물리12V 단선(배터리 전압 기준)차동
클럭크리스털 불필요(슬레이브)필요
비용매우 저렴상대적으로 비쌈

슬레이브에 크리스털이 필요 없다는 것이 큰 비용 절감이다. 내부 RC로 충분하도록 프로토콜이 설계되어 있다.

프레임 구조

[마스터가 보내는 헤더]         [슬레이브 또는 마스터가 보내는 응답]
 Break │ Sync │ PID    │      Data(1~8B) │ Checksum
   ↑      ↑      ↑
 13비트  0x55   ID+패리티
 이상의
 Low

Sync 필드가 0x55(01010101)인 이유

0x55 는 비트가 규칙적으로 반전되는 패턴이다 슬레이브가 이 에지 간격을 측정해 마스터의 실제 보율을 알아낸다

  • 자기 클럭이 부정확해도 마스터에 맞춘다 ← 크리스털이 불필요한 이유

이 자동 보율 동기화가 LIN의 핵심 기법이다.

스케줄 테이블 — 결정적 통신

  • 마스터가 미리 정한 순서와 주기로 헤더를 보낸다

  • 시각 0ms — : ID 0x10 헤더 → 스위치 상태 요청

  • 시각 10ms — : ID 0x11 헤더 → 모터 위치 요청

  • 시각 20ms — : ID 0x12 헤더 → 명령 전송

  • 시각 50ms — : 처음으로

충돌이 원리적으로 발생하지 않는다. 마스터만 헤더를 보내고 슬레이브는 지정된 ID일 때만 응답하기 때문이다.

CAN처럼 아비트레이션이 필요 없고, 타이밍이 완전히 예측 가능하다.

어디에 쓰이나

창문 리프트, 도어락, 시트 조절, 미러 조절 와이퍼, 실내등, 공조 액추에이터, 레인 센서

"느려도 되고 개수가 많은 것" 이 LIN의 자리다.

게이트웨이 구조

[엔진 ECU]──CAN 500k──[게이트웨이]──LIN 19.2k──[창문 스위치]
                            │
                            └──LIN 19.2k──[시트 모듈]

차량은 CAN 백본 + LIN 서브 네트워크 구조가 일반적이다. 도어 모듈이 LIN 마스터가 되어 그 안의 여러 장치를 관리한다.

슬립과 웨이크업 — 저전력

슬립: 마스터가 슬립 명령을 보내거나, 4초 이상 버스가 유휴 웨이크업: 어느 노드든 버스를 250μs~5ms 동안 Low로 당긴다

차량이 주차 중일 때 암전류를 줄이는 것이 중요하므로 LIN 규격에 슬립/웨이크업이 명시되어 있다.

구현 관점

// LIN 은 UART 하드웨어로 구현 가능하다
// Break 검출과 자동 보율 동기화를 지원하는 MCU가 많다
huart.Init.BaudRate = 19200;
HAL_LIN_Init(&huart, UART_LINBREAKDETECTLENGTH_11B);

전용 컨트롤러 없이 UART + 약간의 소프트웨어로 만들 수 있다는 것도 저비용에 기여한다.

체크섬 두 종류

Classic (LIN 1.x) : 데이터 바이트만 합산 Enhanced (LIN 2.x) : PID 까지 포함해 합산 섞이면 통신이 안 된다. 슬레이브가 어느 버전인지 확인해야 한다. 구형 부품과 신형을 함께 쓸 때 겪는 문제다.

함께 보면 좋은 용어

노트에서 맥락과 함께 보기 — 필드버스·산업 통신 — CAN(아비트레이션·종단저항)·LIN·RS-485·Modbus·BLE