본문 바로가기
책벌레와 벌레 그 사이 어딘가/흥미를 더하다

[흥미를 더하다]LIN 통신?(2)

by veganwithbacon 2023. 5. 7.
반응형

LIN을 CAN과 비교 설명하기 위해 CAN에 대해 먼저 간단하게 소개하자면,

 

  CAN(Controller Area Network)

:  차량 내 호스트 컴퓨터 없이 마이크로 컨트롤러나 장치들이 서로 통신하기 위해 설계된 표준 통신 규격

 

차량 내 ECU(Electronic Control Unit)들은 CAN 프로토콜을 사용해 통신한다.

초기에 차량 네트워크용으로 개발됐으나 최근에는 차량뿐만 아니라 산업 분야에 폭넓게 적용된다.

 

  CAN 특징

1️⃣ 메시지 지향성 프로토콜(Message-Oriented Protocol)

: 메시지의 우선순위에 따라 ID를 할당하고, ID를 통해 메시지를 구별하는 방식을 사용한다. 메시지가 자신에게 필요한 메시지인지를 ID를 기반으로 판단하며, 자신에게 필요하다면 받아들이고 아니면 무시한다.

 

2️⃣ 멀티 마스터 능력

: 모든 노드가 버스 마스터가 되어 버스가 비어 있을 때(idle)이라면 언제든 메시지 전송이 가능하다.

CAN버스에서 두 개의 노드에서 메시지를 동시 전송하려고 해도, 우선순위(식별자, ID)에 따라 각각 전송된다. 우선순위가 높은 메시지(더 낮은 ID 번호가 높은 우선 순위를 지님)가 먼저 전송된다.

 

3️⃣ 결점 있는 노드의 감지와 비활성화

: 실시간으로 결함 노드를 감지해 해당 노드를 비활성화해 네트워크의 신뢰성을 보장한다

 

4️⃣ 전기적 노이즈에 강함

:   꼬인 2선(Twist Pair Wire, *CAN_H, CAN_L)을 통해 전기적으로 차별되는 통신을 하기에 전기적 노이즈에 강하다

 

5️⃣ 저렴한 가격 및 구성의 용이성

 

CAN 등장 배경 

: 서로 다른 모듈간 통신을 위해 많은 선이 필요한 것이 문제였는데, 이를 해결한 것이 CAN이다.

 


  LIN(Local Interconnect Network)

: 차량 내 센서 정보를 다른 제어기에 전달 시 사용하는 통신 기법

 

LIN은 주로 ECU와 능동센서 및 능동 액추에이터 간의 데이터 전송에 사용된다. LIN은 간단하며, 느린 12V, 단선 버스이다. LIN은 마스터-슬레이브(master-slave) 원리에 따라 작동한다. 신호형태 및 프로토콜(=디지털 정보의 형식)은 표준화되어 있다. 기본적으로 1 wire로 구성되어 있는 통신 방식으로 가장 저가의 자동차 통신 방식이라고 할 수 있다.

 

LIN 통신의 구조는 Master 컨트롤 하나에 여러 개의 Slave컨트롤 유닛이 구성이 되고, Master와 Slave 사이는 단일선으로 구성된다. 

 

LIN은 느린 12V, 단선 버스이며, Master Node와 Slave Node가 최대 15개 까지 붙는다.

통신의 시작은 항상 마스터가 담당하기에, 일반적으로 버스형 네트워크 토폴로지에 발생할 수 있는 메시지의 충돌 현상은 없다. CAN 버스처럼 메시지 ID를 통한 arbitration같은 절차가 없다. 여러 측면에서 LIN은 I2C와 유사하며, 마스터 노드는 CAN 버스에도 연결되어 LIN과 CAN을 연결해주는 게이트웨이 역할을 하기도 한다.

 

LIN에서 사용되는 메시지 패킷은 다음과 같다.

메시지 패킷은 동기 브레이크 -> 동기 필드 -> 식별 필드 -> 데이터 필드 -> 체크섬으로 구성된다.

위 그림에서 확인 가능하듯이 동기 브레이크부터 식별 필드는 LIN통신 패킷의 헤더이며, 나머지는 응답(Response)부분으로 나뉜다.

 

✅메시지 패킷의 구성 요소

동기 브레이크는 메시지의 시작을 알리는데 Tsynbrk는 False값을 Tsyndel은 True값을 가지며 LIN통신의 시작을 나타낸다.

 

동기 필드는 5개의 하강엣지로 구성되는데, 이는 Slave가 Master와의 클럭 동기화에 사용이 된다.

 

식별 필드는 10개의 비트로 구성되며, 처음과 마지막은 각각의 Start bit와 Stop bit로 구성된다.

4개의 비트는 식별자 비트로, 다음 2비트는 길이를, 마지막 2비트는 ID Parity 검사에 사용된다.

데이터 필드는 총 8개의 비트로 구성되며, 사용시 2-8개의 비트를 사용가능하다. 마지막으로 체크섬 비트 역시 8비트로 구성되며 메시지의 유효성을 판단한다.

 

참고 자료 :

http://www.fescaro.com/ko/archives/249/

https://guslabview.tistory.com/400 

https://weeklylife.tistory.com/31

https://velog.io/@gyuwonchoi/%EC%B0%A8%EB%9F%89%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-CAN-LIN-FlexRay

반응형

댓글