CAN-BUS

벨로스터N(Veloster N) CAN-BUS Part .5 - CANDump 분석

Mapsosa 2021. 6. 5. 15:28

이게 candump의 결과 이걸 어떻게 분석해야하는 지 알아봅시다.

먼저 can0을 tab can0 tab으로 바꿔야한다 엑셀을 이용해 분석할건데

엑셀에서 셀을 자동으로 나눠주기 위해서 필요합니다.

그리고 #을 tab으로 바꿔줍니다.

#앞에 있는 문자가 우리가 찾는 CAN ID입니다.

그리고 셀 서식에서 전부 텍스트로 변경해준다음

값을 전부 붙여넣는다.

맨 처음 열 괄호 안의 숫자는 시간이다 근데 아무짝에도 쓸모가 없는거 같으니

순서만 지시하는 용으로 쓰기로 한다.

첫번째 열을 다시 선택후 셀서식에서 일반으로 바꿔주고

=row()를 입력해준다

그리고 열 전체선택 후 ctrl + d를 입력하면 

처음부터 끝까지 순서가 매겨진다.

그걸 다시 복사해서 값 붙여넣기를 하게 되면 함수가 아니게 되기 때문에 행이 바뀌어도 번호는 변하지 않는다.

두번째 열은 can 인터페이스인데 아무짝에도 쓸모가 없으니 삭제하고

열을 하나 추가하고 셀서식에서 일반으로 바꿔준다음

=hex2dec(CAN ID 열클릭) 해준다

그리고 그 행을 전체 선택 후 ctrl + d 를 누르게 되면 

 

이렇게 정리가 되는데 보기가 힘들어서 위에 뭐가 HEX 값이고 뭐가 십진수 값인지 적었습니다.

 

그리고 십진수로 바꿔준 열을 전체 선택 하고 데이터 탭에서 숫자 내림차순 정렬을 하게 되면 위와 같이 CAN ID 별로 순서대로 정렬 됩니다. 이제 스크롤 하시면서 숫자가 변화되는지 보시면 됩니다.

좀더 쉽게 보고 싶으시다면 E열에

=HEX2DEC(LEFT(D2,2))&" "&HEX2DEC(MID(D2,3,2))&" "&HEX2DEC(MID(D2,5,2))&" "&HEX2DEC(MID(D2,7,2))&" "&HEX2DEC(MID(D2,9,2))&" "&HEX2DEC(MID(D2,11,2))&" "&HEX2DEC(MID(D2,13,2))&" "&HEX2DEC(MID(D2,15,2))

 

F열에

=LEFT(D2,2)&" "&MID(D2,3,2)&" "&MID(D2,5,2)&" "&MID(D2,7,2)&" "&MID(D2,9,2)&" "&MID(D2,11,2)&" "&MID(D2,13,2)&" "&MID(D2,15,2)

 

** D2는 셀 넘버입니다 알아서 바꾸세요

 

를 입력해주고 열 전체선택 후 ctrl + d를 누르시면 

위와 같이 E열은 각 Byte가 숫자로 변경된 값이 나오고

F열은 Byte 단위로 띄워쓴 값으로 나오게 됩니다.

 

 

예를 들어 벨로스터N의 연료탱크 레벨을 알고싶다면

ACC ON 상태에서 주유하면서 candump를 하시면

 

중간에 너무 길어서 생략

 

이렇게 1487번에서 주유함에 따라 숫자가 올라감을 알 수 있고 이것으로 이것이 연료탱크 용량을 표시하는구나 라고 추측할 수 있습니다.

근데 저 값이 아닌거 같기도 맞는거 같기도 합니다 차가 움직이면 변해요...

다음에는 디코딩 하는 법에 대해서 설명하겠습니다.

반응형