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

yschoigreat님의 프로필 이미지
yschoigreat

작성한 질문수

실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법

송출 Message에 CRC, AC 자동 설정

해결된 질문

작성

·

698

0

안녕하세요

강의 잘 들었고 많은 도움이 되었습니다.

메세지에 CRC와 alive count를 설정해서 내보내는 예시 코드를 설명해 주실 수 있을까요

필요하기는 한데 CRC 같은 경우 직접 코드를 구현해야 하는지 API가 있는지 궁금합니다.

강의 소개 부분에는 CRC와 AC의 언급이 있는데 강의 내용에는 없는 것 같아서 조금 더 설명해 주시면 좋을 것 같습니다.

 

감사합니다

 

답변 1

0

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

안녕하세요. 수강평 남겨주셔서 감사합니다!!

우선 좀 더 구체적으로 얘기할 부분이 있는데, CRC도 종류가 많습니다. 간단하게는 일단 crc 데이터 크기를 몇비트로 할건지 정해야합니다. 그리고 같은 크기 안에서도 사용하는 다항식이라는게 다르면 계산결과가 달라집니다.

그러니 일단 질문자님이 하고계신 프로젝트에서 어떤 메세지에 어떤 방식의 crc를 사용하는건지를 알아야합니다.

또한 데이터영역 중에 어디서부터 어디까지를 crc 계산에 포함시킬 건지도 알아야하죠.

저 같은 경우 저희 제어기가 crc를 만들어서 보내든, crc를 받아서 검증을 하든 결국 저희 제어기 sw에 c언어로 crc만드는 로직이 있을테니 그냥 그것을 그대로 카플로 가져와서 사용하는 방식으로 일하고 있습니다.

자동차업계에서 널리 쓰이는 8비트짜리 CRC 는 CRC-8 SAE1850 인데요.

이거 예시코드가 구글링하면 나오는데 나중에 컴퓨터로 제가 확인하고 알려드리겠습니다.

 

또 추가로 얘기하면 오토사에서 Crc-8 SAE1850 방식의 CRC Api를 정의해놓은게 있는데 그 api가 카플에서도 제공이 됩니다.

(Canoe 12.0 sp5부터 지원)

해당 함수이름은

Crc_CalculateCRC8 입니다.

 

 

 

yschoigreat님의 프로필 이미지
yschoigreat
질문자

네 설명 감사합니다

C와도 연동이 된다니 문서를 찾아 보겠습니다

시스템에서 표준db를 다운 받으면 다 메세지 별로 설명이 되어 있어서

위치나 크기는 다 알고 있습니다 제 도메인에서는 참고로 crc16이 대부분이고 거의 표준화 되어서 위치가 동일합니다

Api는 바로 쓸 수는 없지만 카플로 구현하든 c를 포팅하든 해서 알려주신 바이트로 값을 쓰는걸 적용해 보겠습니다

일단 강의를 듣고 코드 짤 수 있을 것 같은 자신감이 생겼습니다.

다른 강의들도 만들어 주세요 ^^

감사합니다

yschoigreat님의 프로필 이미지
yschoigreat

작성한 질문수

질문하기