ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • LIN RBS (Remaining Bus Simulation) - 1/3
    analysis 2025. 12. 14. 20:23

    시작하기 전에 

    나는 전에 LIN 버스를 다뤄본 적이 없다. TSMaster로 LIN 버스 시뮬레이션(LIN RBS)하는 방법에 대한 문의를 받았다. 이 포스트에서 그 문의에 답하기 위해서 내가 해본 것들을 정리한다.

     

    개요

    • LIN 공부
    • LIN 메시지 전송하기
    • LIN RBS
    • 결론

     

    LIN 공부

    참고 자료

    • 이 문의를 받기 전까지 내가 LIN을 전혀 들어보지 못했던 것은 아니다. 그렇다고 내 머리 속에서 이렇게 저렇게 하면 TSMaster로 LIN RBS를 할 수 있겠다.'는 생각이 떠 오르는 수준은 아니었다. 이런 경우 지식이 부족한 상태라는 것을 경험으로 배웠다. 유튜브에서 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 사용기 에서 이어서 쓴다.