인프런 커뮤니티 질문&답변

데브수달님의 프로필 이미지
데브수달

작성한 질문수

CAN통신 기초와 자동차 전체 구조

Data Frame

DLC란 것이,

해결된 질문

작성

·

33

0

DLC라는 것이 데이터 필드에서 사용중인 Byte에 대한 길이를 표현하는 곳이죠?
데이터 필드가 00 01 02 04 05 06 <= 6개 byte 를 쓰고 있으면
DLC는 06 이런식이고, 뒤에 CRC값은
모든 각각의 HEX 값 더한 값이니 CHECKSUM같은 것이니,
거기에 적힌 필드는 제외하고
딱 데이터 필드 길이만큼만 표현하는데 DLC 맞을까요?

답변 1

0

윤우주님의 프로필 이미지
윤우주
지식공유자

넵, 문의해주신 내용이 맞습니다.

내용을 덧붙이자면, 아시겠지만 우선 DLC를 사용하는 이유는 CAN Transciver가 어느 부분의 데이터까지가 유효한 데이터인지 알기 위한 것으로 생각하시면 좋을 것 같습니다.

 

03 22 F1 86

05 22 F2 90 27 89

 

등의 진단 메세지를 보낸다고 가정하겠습니다. 위 두 예제는 22 서비스지만, 각각의 길이가 다릅니다. 두번째 메세지에서 DLC가 없을 경우 만약 22 F2 90 까지만 보냈다면 ECU는 아직 유효한 메세지를 덜 받았는지 혹은 모두 받았는지 판단할 근거가 없습니다. 그렇기 때문에 데이터를 처리하는 과정에서 에러가 발생할 수 있습니다.

데브수달님의 프로필 이미지
데브수달

작성한 질문수

질문하기