진단 통신 분석과 검증

핵심 요약

요청 조건과 응답·시간 정보를 기록해 NRC, 처리 대기, 전송 실패와 timeout을 구분한다.

적용 범위

실행 예제의 주소·선택자·인터페이스·설정값은 시험 환경에 맞게 변경한다. 규격의 적용 판과 도구 버전을 확인한다.

본문

핵심 요약

진단 통신 문제는 메시지 값만이 아니라 요청 순서, 세션·보안 상태, ECU 동작 조건, 시간 정보를 연결해 분석한다. 아래 절차는 공개용 학습 시나리오이며 실제 수행 경력이나 시험 결과가 아니다.

1. 관찰과 가설 분리

관찰: 요청·응답 원본, 타임스탬프, ECU 상태, 테스트 도구 설정. 가설: 형식 오류, 상태 조건 미충족, 미지원 식별자, 처리 지연, 전송 문제. 로그로 확인한 사실과 추정 원인을 별도로 기록한다.

2. 재현 조건 기록

적용 규격·ECU 소프트웨어 버전, 물리·기능 주소 지정, 세션, 보안 상태, 전원·통신 조건, 입력값과 요청 순서를 기록한다. 재현되지 않는 사례는 불확실성을 남긴다.

3. 계층별 분석

전송 완료 여부와 UDS 응답을 분리한다. 전송 계층 문제는 NRC 해석만으로 해결할 수 없다. 유효한 응답을 수신했다면 SID·NRC·DTC 상태와 모듈 처리 조건을 연결한다.

4. 설명용 사례

ReadDataByIdentifier 요청에 7F 22 31을 받은 경우: DID 목록과 요청 형식 확인 → 세션·보안·허용 조건 확인 → 요구사항과 구현·설정 확인 → 조건을 하나씩 바꿔 재시험. 코드를 받았다는 사실만으로 근본 원인을 확정하지 않는다.

0x78 이후 최종 응답이 없는 경우: 중간 응답과 최종 응답의 시간 분리 → P2/P2* 및 도구 대기 설정 확인 → 처리 완료·취소 경로와 통신 상태 확인. 무조건 재전송하면 중복 요청이나 상태 변경을 만들 수 있다.

5. 테스트 구성

  • 정상 요청과 정상 동작 조건.
  • 길이·형식이 잘못된 요청.
  • 미지원 서비스·하위 기능·식별자.
  • 세션·보안·동작 조건이 다른 요청.
  • 처리 지연, 최종 응답, 전원 재인가와 상태 초기화.

6. 결과 기록 양식

시험 ID / 연결 요구사항 / 준비 조건 / 요청 원본 / 기대 응답과 시간 조건 / 관찰 응답과 시각 / 판정 / 이슈와 재시험 결과.

예상 NRC와 시간 기준은 적용 서비스·릴리스·제품 사양에서 가져온다. 실행하지 않은 시험은 계획으로, 실패는 실패로 표시한다.

연결 문서

NRC 문서에서 응답 이유를, DTC 문서에서 고장 상태를, Configure Parameters와 Dcm 문서에서 처리 설정을 확인한다. A-SPICE 문서는 요구사항과 검증 결과의 연결 관점으로 참고한다.

출처와 적용 범위

ISO 14229-1: https://www.iso.org/search.html?q=ISO%2014229-1

AUTOSAR Classic Platform: https://www.autosar.org/standards/classic-platform

실습: NRC와 timeout을 구분한 결과표

정상 DID, 미지원 DID, 길이 오류, 세션 조건 오류를 각각 별도 케이스로 작성한다. 요청 바이트·시간·조건과 응답 바이트·시간을 나란히 기록한다.

정상 응답 / 최종 NRC / 0x78 후 최종 응답 / 0x78 후 timeout / 응답 없음으로 결과를 분류한다. 예상 NRC는 해당 서비스의 사양과 우선순위 규칙에서 가져온다.

재현과 확인

한 번에 한 조건만 변경하고 원본 캡처를 보존한다. 수정 후 동일 케이스와 관련 회귀 케이스를 실행한다. 결과가 일치하지 않으면 추정 원인을 확정 사실로 기록하지 않는다.