분류 전체보기
-
멀티플렉스 메시지analysis 2026. 1. 18. 12:53
시작하기 전에 hardware version은 3.4, software version은 7.12 라는 정보를 CAN 메시지를 이용하여 전송하는 경우를 가정한다. 3, 4, 7, 12를 각각 hw_ver_major, hw_ver_minor, sw_ver_major, sw_ver_minor라는 부르겠다. 각 신호의 크기가 6 비트라고 가정한다. 일반적인 방법으로 6 비트 신호를 네 개 전송하려면, 24 비트가 필요하다. 이 신호들은 사실상 상수라고 볼 수 있다. 왠지 비트가 낭비되는 것 같지 않은가? 그렇게 생각한 누군가가 더 적은 비트를 써서 여러 신호들을 전송하는 방법을 고안했다. 그것이 멀티플렉스 메시지이다. 멀티플렉스 메시지를 정의하고 사용하는 방법을 설명한다. 개요멀티플렉스 메시지dbc에서 멀티..
-
포르쉐 타이칸 CAN 데이터에서 횡가속도 신호 찾기application 2026. 1. 6. 21:29
시작하기 전에 포르쉐 타이칸 CAN 데이터에서 요-레이트 신호 찾기 :: hsl's tsmaster 사용기에서 나는 요-레이트 신호를 찾았다. 횡가속도 신호를 찾는 방법을 설명한다. 개요횡가속도 계산비트 패턴 검색결론 횡가속도 계산횡가속도, 요-레이트, 차속(v) 사이에는 아래 관계가 있다. F = m * a = m * accel_lat = m * v^2 / R = m * v / R * v = m * yaw_rate * v네 바퀴 속도를 알고 있다. 일반적인 주행 중에 차속은 비구동륜 속도의 평균으로 볼 수 있다. 제동 중이 아니라면. 그런데 타이칸은 AWD이다. 나는 네 바퀴의 평균을 차속으로 하기로 한다. 요-레이트를 찾았던 blf 파일을 재사용할 것이고, 당시 주행은 일반적이다. CAN 데..
-
포르쉐 타이칸 CAN 데이터에서 요-레이트 신호 찾기application 2026. 1. 4. 00:49
시작하기 전에 타이칸(Taycan)은 포르쉐(Porsche)에서 만든 전기 스포츠 세단이다. 이 차의 CAN 데이터 파일에서 어느 메시지, 어느 위치, 몇 비트 크기로 요레이트 신호가 포함되어 있는지 찾아서 dbc 파일에 추가해 달라는 요청을 받았다. 그 방법을 설명한다. 개요내게 주어진 것들나의 작전: 비트 패턴 검색작전 실행CAN 리버스 엔지니어링 연장 개발결론 내게 주어진 것들타이칸을 주행하며 CAN 데이터를 측정할 수 있다.타이칸에서 측정한 CAN blf 파일네 바퀴 속도 (WSFL=wheel speed front left, WSFR=wheel speed front right, WSRL=wheel speed rear left, WSRR=wheel speed rear right) 신호들의 정의가..
-
비트 패턴 검색application 2026. 1. 3. 22:00
🔍 Bit Pattern Search - Technical Reference Guide개요비트 패턴 검색은 CAN 버스의 원시 데이터(BLF 파일)에서 알려진 기준 신호(Reference Signal)와 유사한 패턴을 가진 비트 조합을 자동으로 찾아내는 기술입니다. DBC 파일 없이도 신호를 역추적(Reverse Engineering)할 수 있는 핵심 기술입니다.1. 원시 CAN 데이터의 구조1.1 BLF 파일의 실제 모습CAN 버스에서 수집된 원시 데이터는 다음과 같은 형태로 저장됩니다:시간(s) 채널 메시지ID DLC 데이터 (Hex)----------------------------------------------0.000 0 0x123 8 01 23 45 67..
-
LIN RBS (Remaining Bus Simulation) - 3/3analysis 2025. 12. 15. 00:28
LIN RBS메인 메뉴/ Simulation/ LIN RBS Simulation을 클릭하여 LIN Remaining Bus Simulation 창을 연다.ldf 파일의 설정에 따라 창의 왼편에 채널과 노드들이 표시된다. 창의 오른편에 네트워크/ 노드/ 스케줄 테이블/ 메시지/ 신호가 표시된다.Channel 1 탭을 선택한다. MasterNode만 활성한다. 시뮬레이션을 On 한다.Channel 2 탭을 선택한다. MasterNode를 제외한 나머지 노드들을 활성한다. 시뮬레이션을 On 한다.시뮬레이션을 시작한다. 트레이스창에 RBS 메시지들이 표시된다.RBS 창에서 Tx 메시지의 신호값을 변경한다. 트레이스창에서 신호값이 변경되는 것을 볼 수 있다. 위 실험으로 MasterNode가 헤더 부분을 슬레이브..
-
LIN RBS (Remaining Bus Simulation) - 2/3카테고리 없음 2025. 12. 14. 20:23
LIN 메시지 전송하기TSMaster에서 LIN 메시지를 전송하기 위해서 먼저 아래 두 가지를 해야 한다.하드웨어 설정LDF 임포트하드웨어 설정내게는 LIN 통신을 하는 제어기가 없다. 대신 LIN 채널이 여러 개 있는 TC1026P 하드웨어를 사용하기로 한다. TC1026P의 채널 1과 채널 2를 직접 연결한다. 이렇게 하면 채널 1에서 헤더를 송신하고 채널 2에서 수신한 헤더에 상응하는 응답을 송신하도록 할 수 있을 것이라는 생각이다. 헤더와 응답이 합쳐져서 하나의 LIN 메시지가 된다. 메인 메뉴/ Hardware/ Channel Selection에서 LIN 채널을 설정한다. 나는 2 채널을 사용할 것이라서 Channel Count를 2로 하였다. LIN 1, LIN 2에 TC1026P의 1, 2번..
-
LIN RBS (Remaining Bus Simulation) - 1/3analysis 2025. 12. 14. 20:23
시작하기 전에 나는 전에 LIN 버스를 다뤄본 적이 없다. TSMaster로 LIN 버스 시뮬레이션(LIN RBS)하는 방법에 대한 문의를 받았다. 이 포스트에서 그 문의에 답하기 위해서 내가 해본 것들을 정리한다. 개요LIN 공부LIN 메시지 전송하기LIN RBS결론 LIN 공부참고 자료이 문의를 받기 전까지 내가 LIN을 전혀 들어보지 못했던 것은 아니다. 그렇다고 내 머리 속에서 이렇게 저렇게 하면 TSMaster로 LIN RBS를 할 수 있겠다.'는 생각이 떠 오르는 수준은 아니었다. 이런 경우 지식이 부족한 상태라는 것을 경험으로 배웠다. 유튜브에서 LIN 관련한 비디오들을 찾아보았다. LIN Bus Explained - A Simple Intro (2020): CSS Electronics라는..
-
CAN dbc를 CAN-FD dbc로 변환하면서 배운 것tip 2025. 12. 9. 19:14
dbc conversion from CAN to CAN-FD¶CAN dbc 파일을 CAN-FD dbc 파일로 변환한다.candb++ 에디터에서 CAN dbc 파일을 열어서, 각 메시지들의 Type과 DLC를 변경하여 CAN-FD dbc로 변환하고자 했다. 메시지의 Type 선택 메뉴에 CAN Standard, CAN Extended 옵션은 있으나, CAN-FD Standard, CAN-FD Extended가 없다. DLC도 8 바이트를 초과하여서는 설정할 수 없다.살펴보니, candb++에서 처음에 dbc를 만들 때부터 CAN인지, CAN-FD 인지를 선택해야 한다.CAN dbc 파일을 CAN-FD dbc 파일로 변환하는 방법이 많이 있겠지만, 나는 코파일럿 (claude sonnet 4.5)의 도움으로..
-
CAN 통신 에러analysis 2025. 11. 30. 16:07
시작하기 전에TSMaster를 사용하다보면 CAN 통신 에러가 발생한다. 아래 그림처럼 트레이스창에 에러의 종류가 표시된다. 에러를 감지한 제어기는, 즉시(현재 전송 중인 메시지의 전송 완료를 기다리지 않고) 에러 플래그를 전송한다. 버스 상의 모든 제어기들은 에러 발생을 통보받는다. 수신 제어기들은 현재 수신 중인 메시지를 버린다. 송신 제어기는 에러가 발생한 메시지를 재전송한다. 만일, 아래 그림의 예처럼 원인이 해결되지 않으면, 수신 제어기들은 메시지를 수신할 때마다 에러를 감지하여 즉시 에러 플래그를 전송하고, 송신 제어기는 즉시 재송신을 시도하기에 버스 로드가 급격히 증가한다. 증가된 버스 로드로 통신이 정상적으로 운영되지 않을 수 있다. 이 포스트에서는 에러의 종류와 감지 방법을 설명한다. ..
-
IDS - 다채널: TSMaster 미니프로그램 변경카테고리 없음 2025. 11. 26. 16:59
시작하기 전에단채널 IDS를 수정하여 다채널을 대응하도록 한다. 구체적으로는, 메시지 아이디 (mid)만을 기준으로 참조하던 화이트 리스트, DLC (Data Length Code) 기준값, 전송 주기 기준값을 (채널, 메시지 아이디)의 쌍, 즉, (ch, mid)를 기준으로 참조할 수 있도록 코드를 수정한다. 수정한 결과는 아래와 같다. 미니프로그램 다채널 IDS 기능의 TSMaster 미니프로그램의 코드은 아래와 같다. 코드의 주석으로 설명을 하였다.# CODE BLOCK BEGIN Global_Definitions from TSMaster import *# 침입이 없는 상태에서 CAN 버스를 측정하였다.# 측정한 데이터를 분석하여, (채널, 메시지 아이디)의 쌍들을 추출했다.# (채널, 메시..