본문 바로가기

Mobility/자동차 통신 기술

CAN 통신에 관하여 - 1

자동차의 전자화가 진행되면서 전장 부품이 굉장히 중요해지고 있습니다. 자연스레 다양한 전장 부품들이 서로 통신하고, 사용자가 이를 제어할 수 있게끔 만들어진 소프트웨어들도 중요해지고 있습니다. 외국계 전장 회사에 인턴으로 근무하며 운 좋게 Vector 사의 CANOE를 만져볼 수 있었는데요. 1000만원이 넘어가는 고가의 소프트웨어를 학생 신분에서 다뤄볼 수 있는 좋은 기회라 설렙니다.

 

소프트웨어를 다루는 능력도 중요하지만, 이론을 알고 사용하는 것도 중요하기에 지금부터 CAN 통신부터 전장부품 제어 기술에 대해 정리해보고자 합니다.

 

첫 포스팅으로는 CAN 통신의 개략적 설명, 등장 배경과 특징에 대해서 알아보겠습니다.


 

CAN(Controller Area Network)는 차량 내에서 호스트 컴퓨터 없이 마이크로 컨트롤러나 장치간의 통신을 위해 설계된 표준 통신 규격입니다. 차량 내의 ECU(Electronic Control Unit)들은 CAN 프로토콜을 사용하여 통신하게 됩니다.

 

CAN이 등장하기 전 차량 내부 전장 부품들의 통신은 일대일(point to point) 방식의 UART 방식으로 이루어졌습니다. 하지만 일대일 방식의 연결은 많은 연결 라인이 필요하죠. 배선의 증가는 무게 증가, 이에 따른 연비 하락 등 자동차의 직접적인 성능에 악영향을 끼칩니다. 또, 자동차 기술이 발달하면서 훨씬 다양한 기능들이 추가되고 있고, 이는 곧 연결해야 할 ECU 수가 많아진다는 것을 뜻합니다.

 

다양한 기능들은 ECU 개수의 증가를 의미한다. 사진 출처: Excalent

 

* ECU(Electronic Control Unit): ECU는 전자 제어 유닛의 약자로, TCU(Trasmission Control Unit, 변속장치 제어), ABS(Anti-lock Braking System, 브레이크 잠김 방지) 등 차량 내 다양한 전자 제품의 기능을 통제하는 유닛을 통칭합니다.

과거에는 Engine Management System Electronic Control Unit 으로 엔진 제어 유닛을 부르는 말로도 사용되었으나, 자동차의 전자화가 진행되면서 전체적인 전장 제어 유닛을 통칭하게 되었습니다. 자세한 내용은 따로 포스팅으로..

 

 

 

때문에 이를 해결하기 위해 CAN 통신이 등장하게 됩니다.

 

 

출처: fescaro 기술 블로그

 

위 그림은 UART 통신과 CAN 통신의 차이를 직관적으로 설명하고 있습니다. 그림에서 보시는 것과 같이 CAN은 하나의 모듈이 하나의 Line으로 통신하기 때문에 UART 통신보다 line 수가 획기적으로 줄어들 수 있고, 이는 곧 유지 보수 문제나 자동차 성능 문제에 대한 획기적인 개선안이 됩니다.

 

 


 

 

기본적인 CAN 시스템 구성, 사진 출처: fescaro 기술 블로그

 

 

CAN 특징

 

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

    CAN 메시지의 우선 순위에 따라 ID 할당하고, 이를 이용해 메시지를 구별합니다. 노드의 주소가 아닌 ID 통해 통신하기에 임의의 노드에서 전송된 메시지를 다른 노드에서 ID 기반으로 필요한 메시지인지 판별, 동작합니다. 자신이 필요한 신호라면 받아들이고, 아니면 무시하게 되죠.

 

2. 보완적 에러 감지 메커니즘

 CAN 통신은 다양한 에러 감지 메커니즘들이 상호 보완적으로 에러를 감지하여 높은 안정성을 확보할 있습니다. , 에러가 감지되면 자동적으로 해당 메시지를 즉시 재전송하여 에러 회복 속도이 짧습니다.

 

3. 멀티 마스터 능력

  CAN 기반 통신에서는 감독자 노드(Bus Master) 필요하지 않습니다. , 모든 노드는 Bus master 되어 Bus idle 상태일 (비어있을 )라면 언제든 메시지 전송이 가능합니다. 만약 CAN 버스에 이상의 노드에서 동시에 메시지를 전송하더라도, 우선순위(ID) 따라 각각 전송됩니다. , 우선 순위가 높은 메시지(낮은 ID번호가 높은 우선순위를 가짐) 먼저 전송됩니다.

 

4. 결점 있는 노드의 감지, 비활성화

  CAN 통신은 Bus 상태를 항상 모니터링하기 때문에 실시간으로 결함이 발생한 노드를 감지해 비활성화함으로 네트워크 신뢰성을 보장합니다.

 

5. 전기적 노이즈에 강함

꼬인 2(Twist Pair Wire, CAN_H, CAN_L) 이용하여 전기적으로 차별되는 통신 하여 전기적 노이즈에 강하며 메시지를 효과적으로 보호합니다.

 

6. 간단한 구조

CAN_HIGH, CAN_LOW 두 개의 신호로 통신하기 때문에 2개의 선만이 필요하며, 많은 모듈이 추가될 수록 추가되는 라인의 양이 줄어들게 됩니다.

 

 


 

 

오늘은 이렇게 CAN 통신의 정의, 등장 배경, 특징까지 알아봤습니다. 

다음 포스팅에서는 조금 더 자세한 CAN 통신 방법에 대해서 알아보도록 하죠!

 


 

요즘 인턴 일이 바빠 일주일 4회 포스팅이 어렵네요 ㅠㅠ 빨리 적응해서 포스팅을 더 자주 해야겠습니다..

그래도 원하던 산업인 자동차 산업에서 가장 각광받는 분야 중 하나인 전장 부품 회사, 특히 현대자동차의 1차벤더 R&D 팀에서 일하는 지금이 배우는게 많은 시기인 것 같습니다.

 

몸은 힘들어도, 취업계를 내고 온 만큼 아직 학생이니 배운다는 마음가짐으로 임해야겠습니다. 다들 화이팅 하시죠!

 

 

인턴 일기(?)도 조금씩 적어볼까.. 고민중입니다 ㅎㅎ

 

 

 

 

 

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

https://namu.wiki/w/ECU

 

 

 

'Mobility > 자동차 통신 기술' 카테고리의 다른 글

AUTOSAR에 관하여 - 1  (0) 2023.11.22
CAN통신에 관하여 - 2  (0) 2023.09.26