-
LIN RBS (Remaining Bus Simulation) - 1/3analysis 2025. 12. 14. 20:23
시작하기 전에
나는 전에 LIN 버스를 다뤄본 적이 없다. TSMaster로 LIN 버스 시뮬레이션(LIN RBS)하는 방법에 대한 문의를 받았다. 이 포스트에서 그 문의에 답하기 위해서 내가 해본 것들을 정리한다.
개요
- LIN 공부
- LIN 메시지 전송하기
- LIN RBS
- 결론
LIN 공부
참고 자료
- 이 문의를 받기 전까지 내가 LIN을 전혀 들어보지 못했던 것은 아니다. 그렇다고 내 머리 속에서 이렇게 저렇게 하면 TSMaster로 LIN RBS를 할 수 있겠다.'는 생각이 떠 오르는 수준은 아니었다. 이런 경우 지식이 부족한 상태라는 것을 경험으로 배웠다. 유튜브에서 LIN 관련한 비디오들을 찾아보았다.
- LIN Bus Explained - A Simple Intro (2020): CSS Electronics라는 회사의 비디오다. 이 회사의 비디오가 나와 잘 맞는다. LIN에 대한 이론적 이해를 할 수 있었다.
- 2022 LIN Bus Case Study from John Thornton: John Thornton이라는 분은 정비 경험이 많은 분인 것 같다. LIN에 대한 간접 실무 경험을 할 수 있었다.
마스터-슬레이브
- LIN은 마스터-슬레이브 방식이다.
- 아래 그림에서 다음을 알 수 있다.

LIN은 마스터-슬레이브 방식이다. 출처: 유튜브의 CSS Electronics 비디오 - LIN 네트워크에는 1개의 마스터와 여러 개의 슬레이브가 있다. 슬레이브는 최대 15개까지 가능하다고 한다.
- LIN 메시지(= 프레임)은 헤더 (Header) 부분과 응답 (Response) 부분으로 구성된다.
- 헤더 부분은 마스터가 전송하고, 응답 부분은 슬레이브가 전송한다.
- 마스터는 헤더와 응답을 전송할 수도 있(을 것이)다.
- 마스터의 헤더 전송 주기가 메시지의 전송 주기가 된다.
메시지 구조
- 아래 그림들에서 다음을 알 수 있다.
- 메시지 ID는 6 bit이다. 0 ~ 63까지 64개의 아이디가 있을 수 있다.
- 응답에는 첵섬 (checksum)이 붙는다.
- 첵섬은 슬레이브가 계산하여 전송한다.
- 첵섬 계산 방법에 두 가지 종류가 있다: Classis, Enhanced.

LIN 메시지 구조. 출처: 유튜브의 CSS Electronics 비디오 
LIN 프로토콜 버전에 따라 Checksum을 계산하는 방법이 다르다. 출처: 유튜브의 CSS Electronics 비디오 메시지 아이디
- LIN 메시지 아이디에 따라 메시지의 종류가 구분되어 있다.
ID (dec) ID (hex) LIN 메시지 종류 0-59 00-3B Unconditional 0-59 00-3B Event Triggered 0-59 00-3B Sporadic 60-61 3C-3D Diagnostic 62 3E User Defined 63 3F Reserved - Diagnostic(0x3C, 0x3D), User Defined (0x3E), Reserved (0x3F)를 알아두면 될 것 같다.
- 나머지 아이디들은 Unconditional, Event Triggered, Sporadic으로 필요에 따라 정의해서 사용하면 되는 것 같다.
- 각각의 메시지 종류들이 어떤 용도로 언제 사용되는 지는 모르겠다.
LDF
- CAN에 dbc 파일이 있어 네트워크, 노드, 메시지, 신호를 정의하는 것처럼, LIN에 ldf 파일이 있어 네트워크, 노드, 메시지, 신호를 정의한다.
- CAN은 버스 점유 우선 순위를 메시지 아이디로 한다. LIN은 타임 테이블(시간표)이 있다. 시간표에 따라 마스터가 헤더를 전송하고, 슬레이브가 응답을 전송한다.
12V
- 정확히 말하자면 차량 전압이다. 자동차 전장 시스템은 (일반적으로) 12V이다. 12V 배터리를 충전하기 위해 차량 내 발전기는 대략 14V 정도를 생산한다.
오실로스코프로 LIN 메시지를 보면
- 오실로스코프로 LIN 메시지를 보면 아래 그림과 같다.

오실로스코프로 본 LIN 메시지. 출처: 유튜브의 John Thornton 비디오 - 사실 그림은 LIN에 이상이 있을 때 오실로스코프로 버스를 측정한 그림이다.
- 위 그림에서 빨간색 부분을 확대한 그림이 아래 그림이다.

빨간색 사각형으로 표시한 부분은 헤더만 있는 비정상적인 LIN 메시지이다. 녹색 사각형으로 표시한 부분은 헤더와 응답이 있는 정상적인 LIN 메시지이다. 출처: 유튜브의 John Thornton 비디오 - 위 그림에서 빨간색 사각형으로 표시한 부분은 헤더만 있는 비정상적인 LIN 메시지이다. 녹색 사각형으로 표시한 부분은 헤더와 응답이 있는 정상적인 LIN 메시지이다.
- 메시지들이 10msec 간격으로 전송되고 있는 것을 볼 수 있다. 동일한 메시지 아이디인지는 위 그림으로는 알 수 없다.
- 정상적인 메시지를 확대해 보면 아래 그림과 같다.

정상적인 LIN 메시지에서는 헤더와 응답을 볼 수 있다. 출처: 유튜브의 John Thornton 비디오 - 정상적인 LIN 메시지에서는 헤더와 응답을 볼 수 있다.
- 헤더를 자세히 보면, Break, Sync, ID, Parity 부분을 볼 수 있다.
- 응답을 자세히 보면, 데이터와 첵섬을 볼 수 있다.
- 비정상적인 LIN 메시지를 확대해 보면 아래 그림과 같다.
- 헤더만 있고 응답이 없다.
- 마스터의 헤더를 슬레이브가 받지 못하는 경우다. 슬레이브가 고장이 났거나, 버스 선에서 슬레이브로 연결되는 스텁 선이 끊겼을 수도 있다.

비정상적인 LIN 메시지에서는 헤더만 볼 수 있다. 출처: 유튜브의 John Thornton 비디오 쓰던 글이 날라갈까 봐 LIN RBS (Remaining Bus Simulation) - 2/3 :: hsl's tsmaster 사용기 에서 이어서 쓴다.
'analysis' 카테고리의 다른 글
LIN RBS (Remaining Bus Simulation) - 3/3 (0) 2025.12.15 CAN 통신 에러 (0) 2025.11.30 blf --> csv --> 리샘플 --> xlsx (1) 2025.09.05 트레이스창에서 메시지 필터 걸기 (0) 2025.08.19 판넬에서 이미지로 차의 주행 방향을 표시하는 방법 (5) 2025.07.27