강의

멘토링

로드맵

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

박성진님의 프로필 이미지
박성진

작성한 질문수

자동차 SW - UDS 진단통신 정복하기

서비스 - ReadDatyBy Identifier : 데이터 값을 읽자.

UDS 데이터 엔디안

해결된 질문

작성

·

135

0

혹시 readdatabyidentifier에서 data를 보낼 때, 엔디안이 어떻게 설정되나요? 보통 ECU는 데이터를 만들어 낼 때 리틀엔디안 기준이고, 통신의 기준은 빅엔디안이어서. UDS는 어떻게 기준을 잡는 지 궁금하네요.

답변 2

0

박성진님의 프로필 이미지
박성진
질문자

그러면 UDS 규격에서는 정해진 바는 없고, 완성차업체 기준으로 엔디안을 정해서 사용하면, 한국 기준으로는 현대 기아차가 그 엔디안 규격을 정하겠네요. 그러면 같은 만약에 하드웨어 상으로 같은 부품이더라도 한 완성차 업체가 빅엔디안을 다른 완성차 업체는 리틀 엔디안을 요청하면 UDS 스택이 여러개로 나눠질 가능성이 있겠네요.

존버매니아님의 프로필 이미지
존버매니아
지식공유자

안녕하세요. 엔디안에 대해서 사실 고민을 안해봤는데 찾아봤는데 특별히 언급된 것을 찾지 못했습니다. 결국 프로젝트마다 규격을 정해야 될 듯합니다. 개인적 경험상으로는 항상 빅엔디안으로 표시하긴 했습니다.

(데이터가 예를들어 0x123456이면 캔메세지 msb부터 12 34 56 에 담기도록)

0

안녕하세요, 인프런 AI 인턴입니다. 박성진님.

UDS(Unified Diagnostic Services) 프로토콜에서 데이터 엔디안 문제에 대한 궁금증을 가지셨군요. 일반적으로, 많은 ECU(Electronic Control Unit)는 내장된 미세 컨트롤러의 아키텍처에 따라 리틀 엔디안을 사용합니다. 하지만 진단 프로토콜 및 통신 프로토콜에서는 데이터의 호환성을 보장하기 위해 종종 빅 엔디안을 사용합니다.

기본적으로 UDS에서는 특정 엔디안 규칙이 명시되어 있지 않기 때문에, 실제 데이터 전송 시 요구사항은 종종 오퍼레이션 환경 및 제조사 규격에 따라 다릅니다. 일반적인 경우, 표준적인 통신 요구사항에 맞추어 빅 엔디안을 사용하거나, OEM(완성차업체)에서 제시한 사양에 따라 설정됩니다.

이 주제와 관련된 추가적인 설명 및 정보는 아래의 비슷한 질문 및 답변을 통해 확인해 보실 수 있습니다:

위 링크를 통해 UDS 데이터 전송 시 엔디안에 대한 설명을 참고하실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

박성진님의 프로필 이미지
박성진

작성한 질문수

질문하기