LIN (Local Interconnect Network) — 1가닥의 통신 선을 사용하는 저가 저속 차량 네트워크 프로토콜. 고성능이 필요하지 않은 센서·액추에이터 연결에 사용되며, 일반적으로 CAN으로 연결된 제어기의 로컬 서브 네트워크로 구성된다.

개요

  • 1999년 Motorola 사 개발.
  • 최대 20 kbps 및 40m 통신 지원 (LIN 2.2A 기준).
  • 단일 마스터(Single-Master) 기반 → 버스 충돌 방지.
  • 1가닥 통신 배선 — 커넥터·배선 비용 절감.
  • 2016년 ISO 17987 표준 등재.

LIN 컨소시엄

  • 1999년 Motorola의 LIN 발표 이후 2000년 구성.
  • 참여: Motorola, Volcano, Audi, BMW, Daimler Chrysler, VW, Volvo 등.
  • 2006년 LIN 2.1을 마지막으로 컨소시엄 활동 종료, 이후 2010년 LIN 2.2A 발표.

물리 계층

  • 1가닥 통신 배선 사용 (Single Wire).
  • CAN과 유사하게 별도의 트랜시버 반도체 활용.
  • LIN 버스는 Pull-up 구조 (버스 idle 시 recessive 유지).
  • 대표 트랜시버: TJA1020T ($0.99, 2500개 기준).

전압 레벨 디코딩

12V 버스 전압 기준:

전압 조건비트 값
버스 전압의 60% 이상 (≥ 7.2V)1 (Recessive)
버스 전압의 40% 이하 (≤ 4.8V)0 (Dominant)

차동 신호를 쓰는 CAN·FlexRay와 달리 단일선 + 절대 전압 임계값 방식이라 EMC 내성이 낮고 속도 상한도 낮다.

통신 방식: Single Master

LIN 버스에는 1개의 Master + 복수의 Slave가 연결된다.

  • Master는 Header 전송으로 특정 Slave의 통신을 시작.
  • Slave는 Master의 요청에 대한 응답만 수행 (자발적 송신 불가).
  • 한 번에 하나의 마스터 요청만 송수신 → 물리적 충돌 없음.
  • Master-Slave 방식의 대표 예.

에러 검출: LIN Checksum

LIN은 에러 검출 수단으로 Sum Complement 변형을 사용 — 자리 올림(carry)까지 포함한 바이트 덧셈.

계산 예시

  • 전송 데이터: [0x4A, 0x55, 0x93, 0xE5].
  • 각 바이트를 carry 포함해 누적 덧셈 → 결과 Checksum = 0x19.
  • 수신측 검증: 계산한 Checksum(0x19) + 수신된 Checksum(0xE6) = 0xFF → 정상.
  • 결과가 0xFF가 아니면 비정상 → 프레임 버림.

CANCRC보다 검출력은 낮지만 저속·저신뢰 요구를 가진 LIN의 비용 목표에 부합. 상세는 Checksum 참조.

활용 분야

  • CAN으로 연결된 제어기에 딸린 센서·액추에이터 제어.
  • 예: 창문·시트·미러 제어 모터, 레인 센서, 온도 센서 등.
  • Body & Comfort 도메인의 하위 네트워크로 특히 많이 사용 (차량 도메인 통신 요구사항).

위치

자동차 버스 시스템Class A — 최저 대역폭 Sensors/Actuators 영역.