• 카테고리

    질문 & 답변
  • 세부 분야

    임베디드 · IoT

  • 해결 여부

    해결됨

메세지 바이트가 8 바이트 초과시 전송 방법 문의

23.04.14 15:45 작성 조회수 735

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

안녕하세요.

서비스 ReadDTCInformation : DTC 기록 읽기 - SnapShot Data 수업 듣다가 데이터 크기가 8바이트 넘으면 CAN 또는 LIN은 전송을 어떻게 하는지 의문이 들어서 문의 드립니다.

강의 내용 중 예를 들어

Snapshot Record Num 이 많으면 뒤에 붙는다고 하셨는데 그럼 데이터 바이트 크기가 8 바이트 넘어 어떻게 전송이 되는걸까요?

답변 1

답변을 작성해보세요.

1

강의에서 제가 다루지 못했는데 결론적으로 말하면 해당 문제해결을 위해 TP Protocol 이라는걸 함께 사용합니다.(Transport Layer Prorocol)

관련 내용은 ISO 15765-2 에 정의돼있습니다.

참고할만한 자료는

https://m.blog.naver.com/PostView.naver?blogId=suresofttech&logNo=222850407600&proxyReferer=

그리고 위키피디아

https://en.m.wikipedia.org/wiki/ISO_15765-2

입니다. 아주 간략히 개념만 소개하자면

UDS Protocol에서는 하나의 메세지 길이가 8byte를 초과하는 경우가 있습니다.

CAN 통신에서 데이터 영역 최대길이가 8byte 이므로 이런 경우 메세지를 한번에 보내지 못하고 정보를 쪼개서 보냅니다.

쪼개서 보낸다는게 서로 다른 id의 캔 메세지를 사용한다는건 아니구요. 같은 id의 캔메세지인데 예를 들어 보내야하는 데이터가

1 2 3 4 5 6 7 8 9 10 이면

먼저 1 2 3 4 5 6 7 데이터를 담어서 먼저 보내고, 그 뒤에 남은 8 9 10 을 보내는 이런 개념입니다.

이 개념에 대해서 좀 더 상세하게 스펙으로 만들어놓은게 ISO 15765-2 의 내용입니다.

나중에 시간이 될 때 보충설명으로 영상 강의로 추가하려는데 언제 완성될지는 장담을 못드리겠네요..

 

제가 앞에 링크주소 써놓은 네이버블로그 설명이 그림과 함께 한글로 제법 설명이 잘돼있어서 도움이되지않을까싶습니다.

 

Jhong님의 프로필

Jhong

질문자

2023.04.14

빠른 답변 감사합니다.

그럼 LIN 통신 같은 경우도 CAN통신 처럼 비슷하게 동작하겠네요.

이해가 쉽게 설명 해주셔서 감사합니다.