본문 바로가기
Embedded SW/Embedded SW Introduction

04. CAN(Controller Area Network) 이란 무엇일까?

by 방구석 임베디드 2021. 7. 15.
반응형

우리 사람들은 모두 뇌를 가지고 있습니다.

그리고, 우리는 눈과 귀를 통하여 보고 듣고 판단합니다.

자동차에 들어있는 ECU(Electric Control Unit)도 마찬가지 입니다.

ECU는 Sensor와 연결되어 있어서, 주변 정보를 획득하고

그 데이터를 기반으로 자동차를 제어하기 위한 정보를 만들어 놓습니다.

어떻게 보면 우리의 뇌와 ECU와 비슷하다고 볼수 있습니다.

그런데, 자동차를 보면 아주 중요한 특징이 하나 있습니다.

ECU가 많이 들어 있다는 겁니다.

BCM(Body Control Unit), VCM(Vehicle Control Unit), EMS(Engine Management System)..,,,

그렇다면 자동차는 정말 뇌가 많이 있는 것이군요.

 

이렇게 뇌가 많은 이유는

자동차는 다양한 부품이 결합되고, 그러한 부품을 한 회사에서 다 만들지 못하기 때문입니다.

어떻게 보면 복합적인 요소를 가지고 있는 사업구조가 자동차의 뇌를 많이 만들게 되는 이유일수 있습니다.

 

그렇다면 이제 한번 생각해 보시면 좋을 것 같습니다.

우리는 다른 사람들과 어떻게 정보를 교환하나요?

우리는 말이라는 것을 통해 정보를 교환합니다.

말을 통해 공기의 진동을 일으켜 상대방에게 전달을 합니다.

우리의 생각과 감정을 다른사람에게 전달할수 있는 것이죠.

우리는 다른 사람들의 말을 듣고 공감하고, 결정을 내리는 요소로도 사용을 합니다.

 

그렇다면 이제 자동차를 살펴 보도록 하겠습니다.

자동차의 ECU는 다른 ECU에게 어떻게 정보를 전달할까요?

 

전압을 통하여 전달합니다.

 

무선통신이든, 유선통신이는 결국 기계가 알아 들을수 있는 것은 전압입니다.

5V으면 1, 0V면 0

0101로 알아 듣는 것이지요!

 

ECU들끼리 통신할수 있는 방법은 여러가지가 있을 수 있을 겁니다.

하지만 자동차에서 대표적으로 사용하는 방식은 CAN 통신 방식을 사용합니다.

CAN 통신 방식을 사용하는 이유는 노이즈에 강하고, 자동차에서 많이 검증이된 통신 방식이기 이라고 합니다.

 

CAN 통신 방식도 결국! 유선으로 전압을 조절하여 정보를 전달합니다.

지금 저기 위에 보면 빨강라인과 파랑라인이 보입니다.

저 주 라인에 전압차를 주어서 정보를 전달합니다.

전압차이를 조절하여 0과 1을 표시하는 것이지요!

0과 1을 표현하기 위하여 CAN H 라인과 CAN L라인의 전압차이가 어떻게 구성이 되지를 살펴 볼수 있습니다.

벌어지면 0 안벌어지면 1이라고 보시면 됩니다.

 

그런데 마음데로 0과 1을 보내도 될까요?

아닙니다.

분명히 0과 1을 보내는데 약속이 있어야합니다.

마치 모스 신호를 보내는 것과 같은 것이지요!

이렇게 미리 정해진 약속을 프로토콜 이라고 합니다.

 

그리고 CAN은 많은 프로토콜 중에 하나입니다^^

CAN은 아래와 같이 전압차이를 주어서 하나의 프레임으로 정보를 전달합니다.

여기서 주목할 점은

보통 CAN 통신에서 500K bps의 통신 속도를 사용하는데,

이것은 1초에 500000개의 비트 정보를 보낼수 있다는 뜻으로

1개의 비트를 보내는데 아래와 같이 2us입니다.

이말은 2us동안 통신라인의 전압을 0으로 유지하겠다는 뜻입니다.

결국 유선 라인상의 전압을 유지하는 개념이라고 볼수 있겠네요!

 

다시말씀드려 결국 전압으로 통신하는 거라고 볼수 있습니다.

 

그럼 추후에 다시 CAN에 대해서 더 깊게 다루어 보도록 하겠습니다.

나중에는 32비트 MCU를 이용하여 CAN Frame을 자세히 분석해 보도록 하겠습니다.

 

 

CAN에 대해 내용을 더 적었으니, 참고해 주세요.

06. CAN의 CAN Controller/Transceiver 전압 레벨 (High Speed CAN)
https://embeddedchallenge.tistory.com/59


07. CAN 정보 전달 방식 (BUS Networking, Broadcast Addressing)
https://embeddedchallenge.tistory.com/60

08. CAN Frame 분석 수행 (Stuff Bit 포함)
https://embeddedchallenge.tistory.com/61

09. CAN Arbitration 은 어떻게 이루어질까?
https://embeddedchallenge.tistory.com/62

반응형

댓글