테마
자동차 소프트웨어 입문
자동차 소프트웨어를 처음 접하면 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까지 이어지는 학습 순서입니다.
목차
| 챕터 | 제목 | 핵심 내용 | 상태 |
|---|---|---|---|
| 01 | CAN 통신 개요와 차량 네트워크 | ECU, 버스형 토폴로지, 브로드캐스트, CAN DB의 역할 | 공개 |
| 02 | CAN 물리 계층과 트랜시버 | CAN-High/Low, D-Sub, 120옴, Dominant/Recessive, 트랜시버 | 공개 |
| 03 | CAN 비트 타이밍과 메시지 중재 | Baud Rate, Sampling Point, CAN ID, Arbitration, Bus Load | 공개 |
| 04 | CAN DB와 시그널 인코딩 | 메시지, Signal, Start Bit, Length, Factor/Offset | 공개 |
| 05 | CAN 에러 처리와 CAN FD | TEC/REC, Error Active/Passive, Bus-Off, CAN FD | 공개 |
| 06 | DBC, CANoe, E2E 프로토콜 | DBC 파일, CANoe 로깅/시뮬레이션, CRC/Counter/Data ID | 공개 |
| 07 | 진단통신과 UDS 기본 구조 | 진단통신 배경, UDS/OBD/XCP, SID, 응답, Addressing | 공개 |
| 08 | UDS 서비스, 세션, 보안 접근 | DID, ECU Reset, Session, TesterPresent, Security Access, Routine | 공개 |
| 09 | DTC와 고장 정보 관리 | DTC 코드, Status Byte, Snapshot, Extended Data, Clear/Read DTC | 공개 |
| 10 | ISO-TP와 CAN 기반 UDS 전송 | Single/First/Consecutive/Flow Control, Block Size, STmin | 공개 |
각 장을 읽는 방식
- 장 상단의 질문을 먼저 보고, 어떤 문제를 해결하려는지 잡는다.
- 다이어그램은 암기용이 아니라 전체 흐름을 잡는 지도처럼 본다.
- 표는 프로젝트 사양서를 읽을 때 다시 찾아볼 비교 기준으로 둔다.
- 각 장 끝의 확인 질문으로 자신이 말로 설명할 수 있는지 점검한다.
- 실제 업무에서는 반드시 OEM 사양서와 프로젝트별 표준 버전을 다시 확인한다.
전체 키워드 지도
Figure 0.2 차량 통신과 진단통신을 이해할 때 반복해서 연결해야 하는 핵심 키워드입니다.
출처
- 원본 자료: 자동차 소프트웨어 진단 통신 및 차량용 CAN 통신 강의 전사 내용을 학습 목적으로 재구성
- 본 자료는 프로젝트의 책형 문서 스타일에 맞게 재편집한 요약본입니다