본문 바로가기
자동차 임베디드 SW/CAN통신 & LIN통신

신입사원을 위한 UDS 진단통신 개요 알아보기

by 존버매니아.임베디드 개발자 2022. 12. 7.
반응형

오늘날의 자동차 안에는 수많은 전자 장치가 들어간다.

그리고 각각의 전자장치들을 컨트롤하는 작은 컴퓨터가 있는데, 자동차업계에서는 이 작은 컴퓨터제어기라고 부른다.조향 제어기, 제동제어기, 에어백 제어기 등등.. 각각의 장치마다 그 장치를 컨트롤하는 제어기가 자동차 속에 들어있다.
이러한 제어기는 보통 임베디드(embedded) 제어기 라고 불리는데, 임베디드라는 단어의 뜻은 '내장된' 이라는 뜻이다.
임베디드 제어기 = 내장된 제어기
차량용 임베디드 제어기 = 자동차 속에 내장된 제어기

라고 생각하면 된다.

오늘날의 자동차안에는 이러한 임베디드 제어기가 수십개가 들어가있다.
그런데 우리가 자동차를 타면서 이런 제어기를 본적이 있는가? 없을 것이다.
왜냐면.. 내장(embedded) 돼있으니까!

임베디드 제어기는 왼쪽 그림과 같이 생겼다.
자동차 내부에는 이런 제어기 몇 십개가 설치되어 있다.






임베디드 제어기는 내장되어있기 때문에 우리의 눈에 보이지 않는다. 그래서 사람과의 인터페이스가 없다.
간단히 말하면, 컴퓨터는 컴퓨터인데 키보드,마우스,모니터가 없다.
이 임베디드 제어기도 일종의 컴퓨터이기 때문에, 개발자가 개발한 SW가 해당 제어기에서 실행되고 있다.
이 SW는 특정한 장치를 컨트롤하기 위한 동작을 하고 있다.

조향제어기에서 실행중인 제어SW는 조향장치를 컨트롤 하기 위한 작업을 하는 것이고
제동제어기에서 실행중인 제어SW는 제동제어기를 컨트롤하는 작업을 하는 것이다.

그런데, 제어기를 개발하는 사람 입장에서는 제어기에서 현재 실행중인 SW 속의 어떤 변수값을 확인하고 싶을 수 있다.
또는 어떤 변수값을 임의의로 값으로 변경을 하고 싶을 수 있다.
또한, 제어기가 먹통이 됐을 경우 제어기를 재부팅하고 싶을 수 있다.
또한 해당 SW의 버전을 확인하고 싶을 수 있다.

임베디드 제어기가 아니라 우리가 사용하는 PC 였다면, 키보드/마우스와 모니터를 사용해서 이런 작업들을 할 수 있을 것이다.
그런데 앞에서 말했듯이 임베디드 제어기는 자동차속에 내장되어있으며 키보드/마우스/모니터가 없다.
그러면.. 개발자는 어떻게 제어기에서 실행중인 SW의 변수값을 읽고,쓰고,재부팅 할 수 있을까?

이런작업을 가능하게 만드는 것이 바로 '진단통신'이다.


진단통신이란 것이 무엇이길래 이것을 가능하게 하는 걸까?

차량용 제어기들은 키보드 마우스 모니터는 없지만, CAN 통신을 통해서 제어기들끼리 서로 메세지를 주고 받는다.
바로 이 CAN 통신을 활용하는 것이다.

대강의 원리를 설명하자면 아래와 같다.
CAN 통신을 할 수 있는 '진단기' 라는 제품을 사용해서 제어기에게 메세지를 날리는 것이다.
예를 들어서, 제어기의 SW 버전을 확인하고 싶다면
캔 메세지를 통해서 제어기에게 메세지를 날린다.
" 현재 SW 버전이 뭔지 알려줘"

제어기는 이 메세지를 수신 받으면, 자신의 SW 버전을 캔 메세지로 답장하는 것이다.


진단통신도 여러가지 종류가 존재하는데, 역할과 원리는 대동소이하다.
그 중에서 전세계의 거의 모든 자동차회사에서 필수적으로 사용하고 있는 진단통신 프로토콜이 바로 UDS 진단통신이다.
이 UDS 진단통신과 관련한 모든 상세한 내용은 ISO-14229 표준문서를 보면 알 수 있다.
ISO 14229 표준문서에서는 UDS 진단 통신에 대한 상세한 내용을 모두 다루고 있다.

그런데 표준문서를 읽어보면 알겠지만 일부 내용의 경우 표준에서 모든 것을 정의하는 것이 아니라 각각의 자동차회사(OEM)에서 정하라고 하는 부분들이 있다.

그래서, 실제로 자동차회사에서 일을 하게되면 ISO-14229를 바탕으로 하되 각각의 자동차 회사(OEM)마다 별도의 스펙들을 정의해서 사용하게 된다.


신입사원을 위한 UDS 진단통신 정복하기 유료강의를 제작하였습니다.
무료 샘플강의도 포함되어있으니 보시면 도움 될 겁니다.
https://inf.run/Gpj2

자동차 SW - UDS 진단통신 정복하기 강의 - 인프런

자동차SW 직무에서 이야기하는 진단통신이 무엇인지, 진단통신 실무자가 무슨 일을 어떻게 하는 건지 아주 명확하게 이해할 수 있어요! 실무자라면 이 강의를 듣고 나서 바로 실제 스펙 문서를

www.inflearn.com





반응형