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가 아니면 비정상 → 프레임 버림.
CAN의 CRC보다 검출력은 낮지만 저속·저신뢰 요구를 가진 LIN의 비용 목표에 부합. 상세는 Checksum 참조.
활용 분야
- CAN으로 연결된 제어기에 딸린 센서·액추에이터 제어.
- 예: 창문·시트·미러 제어 모터, 레인 센서, 온도 센서 등.
- Body & Comfort 도메인의 하위 네트워크로 특히 많이 사용 (차량 도메인 통신 요구사항).
위치
자동차 버스 시스템의 Class A — 최저 대역폭 Sensors/Actuators 영역.