Skip to content

자동차 소프트웨어 입문

자동차 소프트웨어를 처음 접하면 ECU, CAN, DBC, CANoe, UDS, DTC, ISO-TP 같은 단어가 한꺼번에 나온다.
이 단어들은 따로 외우면 금방 섞이지만, 실제로는 하나의 흐름 위에 놓여 있다.

차량에는 여러 제어기(ECU)가 있고, 제어기들은 CAN 버스 위에서 메시지를 주고받는다.
진단기는 그 통신망을 이용해 소프트웨어 버전, 고장 코드, 세션 상태, 보안 접근, 업데이트 준비 상태 같은 정보를 읽고 제어한다.

이 책은 차량 임베디드 소프트웨어를 처음 배우는 사람이 표준 문서와 프로젝트 사양서를 읽기 전에 잡아야 할 기본 구조를 정리한다. CAN 통신을 먼저 이해한 뒤, 그 위에서 UDS 진단통신이 어떻게 동작하는지 차례대로 연결한다.

이 책이 필요한 독자

  • 자동차 소프트웨어 개발, 시험, 평가 직무를 준비하는 취업준비생
  • 차량 제어기 프로젝트에 처음 투입된 신입 개발자
  • CAN DB, DBC, CANoe, DTC, UDS 용어가 서로 어떻게 이어지는지 정리하고 싶은 분
  • ISO 14229, ISO 15765, ISO 15031-6 같은 표준을 바로 읽기 전에 큰 그림이 필요한 분

끝까지 읽으면 할 수 있는 것

  • CAN이 왜 버스형 토폴로지와 브로드캐스트 방식을 사용하는지 설명할 수 있다
  • CAN-High, CAN-Low, 종단저항, 트랜시버, CAN Controller의 역할을 구분할 수 있다
  • 메시지 ID, Arbitration, Bus Load, Signal, Factor/Offset을 CAN DB 관점에서 읽을 수 있다
  • CAN 에러 상태와 Bus-Off가 소프트웨어에서 왜 중요한지 이해할 수 있다
  • DBC, CANoe, E2E 프로토콜이 개발과 검증 업무에서 어떤 역할을 하는지 설명할 수 있다
  • UDS의 Request/Response, SID, Positive/Negative Response, NRC 규칙을 해석할 수 있다
  • DID, Session, Security Access, Routine Control, DTC, Snapshot, Extended Data를 구분할 수 있다
  • ISO-TP가 왜 필요하고 Single/First/Consecutive/Flow Control 프레임이 어떻게 이어지는지 설명할 수 있다

읽기 전에 알면 좋은 것

  • C 언어나 임베디드 시스템을 깊게 몰라도 읽을 수 있다
  • 네트워크의 기본 개념을 알고 있으면 CAN 버스와 브로드캐스트 설명이 더 빠르게 이해된다
  • 바이트, 비트, 16진수 표기(0x22, 0x7F)에 익숙하면 UDS 메시지 구조를 따라가기 쉽다

10장으로 읽는 흐름

Figure 0.1 CAN에서 시작해 UDS와 ISO-TP까지 이어지는 학습 순서입니다.

목차

챕터제목핵심 내용상태
01CAN 통신 개요와 차량 네트워크ECU, 버스형 토폴로지, 브로드캐스트, CAN DB의 역할공개
02CAN 물리 계층과 트랜시버CAN-High/Low, D-Sub, 120옴, Dominant/Recessive, 트랜시버공개
03CAN 비트 타이밍과 메시지 중재Baud Rate, Sampling Point, CAN ID, Arbitration, Bus Load공개
04CAN DB와 시그널 인코딩메시지, Signal, Start Bit, Length, Factor/Offset공개
05CAN 에러 처리와 CAN FDTEC/REC, Error Active/Passive, Bus-Off, CAN FD공개
06DBC, CANoe, E2E 프로토콜DBC 파일, CANoe 로깅/시뮬레이션, CRC/Counter/Data ID공개
07진단통신과 UDS 기본 구조진단통신 배경, UDS/OBD/XCP, SID, 응답, Addressing공개
08UDS 서비스, 세션, 보안 접근DID, ECU Reset, Session, TesterPresent, Security Access, Routine공개
09DTC와 고장 정보 관리DTC 코드, Status Byte, Snapshot, Extended Data, Clear/Read DTC공개
10ISO-TP와 CAN 기반 UDS 전송Single/First/Consecutive/Flow Control, Block Size, STmin공개

각 장을 읽는 방식

  1. 장 상단의 질문을 먼저 보고, 어떤 문제를 해결하려는지 잡는다.
  2. 다이어그램은 암기용이 아니라 전체 흐름을 잡는 지도처럼 본다.
  3. 표는 프로젝트 사양서를 읽을 때 다시 찾아볼 비교 기준으로 둔다.
  4. 각 장 끝의 확인 질문으로 자신이 말로 설명할 수 있는지 점검한다.
  5. 실제 업무에서는 반드시 OEM 사양서와 프로젝트별 표준 버전을 다시 확인한다.

전체 키워드 지도

Figure 0.2 차량 통신과 진단통신을 이해할 때 반복해서 연결해야 하는 핵심 키워드입니다.

출처

  • 원본 자료: 자동차 소프트웨어 진단 통신 및 차량용 CAN 통신 강의 전사 내용을 학습 목적으로 재구성
  • 본 자료는 프로젝트의 책형 문서 스타일에 맞게 재편집한 요약본입니다