application
-
TIO 측정 데이터 분석 - 디지털 입출력application 2025. 9. 2. 16:29
이 글은 Jupyter 노트북으로 작성되었습니다. TIO 측정 데이터 분석 - 2. 디지털 입출력 점검¶TIO의 디지털 입출력 성능을 보기 위해 아래 실험을 하였다.TSMaster에서 TIO로 500msec 주기로 출력 요청용 CAN 메시지를 전송한다.디지털 출력 신호가 on/off로 토글하도록 요청 메시지의 해당 신호값을 토글시킨다.TIO의 디지털 출력 포트를 TIO의 디지털 입력 포트에 직접 연결한다.TIO는 입력 포트의 상태를 10msec 주기로 CAN 메시지로 전송한다.위 과정의 CAN 메시지들을 측정하여 파일로 저장한다.출력을 요청한 CAN 메시지의 요청 신호와 입력 신호를 전송한 CAN 메시지의 입력 신호를 비교한다. 아래 항목들을 확인한다.지연 시간은 몇 msec인가?요청 대비 출력 ..
-
TIO 측정 데이터 분석 - mat 파일을 데이터프레임으로 변환하기 (mdf2df)application 2025. 9. 1. 12:26
이 글은 Jupyter 노트북으로 작성하였습니다. 시작하기 전에TIO로 디지털 신호와 아날로그 신호를 측정했다.TIO는 CAN으로 통신하는 Tosun의 Input Output 장치이다. Digital IO, Analog IO, 저항, 릴레이 모듈들이 있다. 모듈들을 아래 사진처럼 TSMaster와 CAN으로 연결한다. 위 실험 셋업에서 CAN 메시지로 Digital Output, Analog Output을 제어하며, Digitial Input, Aanlog Input 메시지로 수신하여 blf 파일로 저장하였다.제어 요청과 디지털, 아날로그 신호의 실제 값 사이에 얼마의 시간 지연이 있는지, 신호는 얼마나 정확한지 분석하고자 한다.이 분석을 TSMaster의 그래픽스 창에서 시각적으로 할 수 있다. ..
-
UDS 기반 제어기 프로그래머 개발 - libTSCANapplication 2025. 8. 11. 16:23
시작하기 전에 ts_can_flash_programmer 개발 - libTSCAN :: hsl's tsmaster 사용기 에서 토선의 libTSCAN.dll (libTSCAN은 공짜다. 토선 하드웨어는 공짜가 아니다.)을 이용하여, Texas Instrument의 C2000 패밀리 마이크로콘트롤러 칩을 CAN으로 프로그램밍하는 PC용 툴을 개발했다.ts_can_flash_programmer는 오늘날 자동차 산업에서 사실상 표준인 UDS (Universal Diagnostic Service)를 따르지 않는다. libTSCAN을 이용하여 UDS 표준에 따라 CAN 통신으로 프로그래밍을 하는 PC용 툴을 만들어본다.ts_can_flash_programmer는 C로 짰다. (ai가 짰지만) 내가 익숙한 파이썬으..
-
ts_can_flash_programmer 개발 - libTSCANapplication 2025. 7. 26. 16:55
시작하기 전에 TI (Texas Instrument)에 C2000 패밀리 마이크로콘트롤러 칩이 있다. 이 패밀리의 어떤 칩들은 CAN/ CAN-FD를 지원한다.TI에서 제공하는 기본 부트로더는 CAN 통신으로 플래시 메모리 프로그래밍할 수 있는 기능을 제공한다. TI는 이때 사용하는 can_flash_programmer.exe라는 PC용 앱을 제공한다.이 프로그램은 PEAK사의 CAN 인터페이스 하드웨어만 지원한다. 나는 TOSUN사의 하드웨어만 갖고 있다.ti.com에서 can_flash_programmer의 코드(can flash programmer)와 문서( CAN Flash Programming of C2000™ Microcontrollers (Rev. A))를 찾았다. 이 둘을 기반으로 토선 하..
-
claude.ai와 코드, 문서 분석 및 코드 작성application 2025. 7. 26. 15:07
CAN Flash Programmer Porting ProjectPrompt:내가 첨부할 파일들은 TI(Texas Instrument)사의 칩을 CAN 통신을 통해서 플래시 프로그래밍하는 도구인 can_flash_programmer의 코드 파일들입니다.can_flash_programmer.cppf021_DownloadImage.hf021_DownloadImage.cppPCANBasic.h이 앱은 PEAK사의 CAN(Controller Area Network) 하드웨어를 이용하여 USB를 통해서 CAN 통신을 합니다.나는 토선(Tosun)사의 CAN 하드웨어를 이용하는 이와 동일한 프로그램을 개발하려고 합니다.이 프로그램의 이름은 ts_can_flash_programmer로 하겠습니다.이 프로그램 개발을 ..
-
XCP - 설정application 2025. 4. 13. 15:44
시작하기 전에모니터링의 제약TSMaster로 네트워크(CAN, LIN, FlexRay, Ethernet)의 메시지들를 모니터링 할 수 있다. CAN을 대상으로 설명하자면, CAN 버스(들)의 메시지들을 모니터링 할 수 있다. 메시지의 구조를 알면 (dbc 파일이 있으면), 메시지에 포함된 신호들을 모니터링 할 수 있다. CAN 데이터로 제동 성능 평가하기 :: hsl's tsmaster 사용기 등에서 설명한 것처럼 CAN 신호 모니터링은 차량 성능 평가나 기능 개발에 여러 모로 유용하다. 하지만 dbc와 소프트웨어를 변경하지 않고서는 새로운 신호를 모니터링 할 수 없다는 한계가 있다. 제어기 소프트웨어의 많은 변수들 중에서 그때그때 내가 필요로 하는 변수들을 선택해서 모니터링 할 수 있으면 좋지 않을까?..
-
SecOC 구현application 2025. 2. 11. 19:38
개요SecOC의 작동을 데모하기 위해 TSMaster 미니프로그램을 짠다. 데모의 구성은 아래 그림과 같다.PC에서 TSMaster를 2개 연다. 한 쪽은 센더, 다른 쪽은 리시버 역할을 한다.센더는 메시지에 MAC을 부착하여 전송한다.리시버는 메시지의 MAC을 검사한다.필요한 경우 FV 값을 변경할 수 있다. PC에서 TSMaster를 2개 열어 사용하기TSMaster가 이미 열려있는 상태에서 설명한다.TSMaster 아이콘에서 마우스 우클릭을 하여 팝-업 메뉴를 띄운다. 메뉴에서 TSMaster를 선택한다. 두 번째 TSMaster가 시작된다. 중간에 TSMaster가 이미 실행 중이라는 안내가 나온다. 양쪽 TSMaster 모두 메인 메뉴/ Hardware/ Channel Selection 버튼..
-
SecOC (Secure On-board Communication)application 2025. 2. 9. 12:18
시작하기 전에 SecOC에 관한 글을 작성한다. 아래 내용들을 포함한다.SecOC가 무엇인가?왜 CRC는 사용하지 않는가?SecOC 구현 SecOC는 무엇인가?SecOC는 Secure On-board Communication을 줄임말이다.On-board는 "차량 내"라는 의미이다. "차량 내 통신 보안" 정도로 해석할 수 있다.AUTOSAR에서 발표한 통신 보안을 위한 사양이다.AUTOSAR는 AUTomotive Open System ARchitecture의 줄임말이다. 문맥에 따라 아키텍처, OS를 혹은 AUTOSAR 기구(organization)를 의미한다.AUTOSAR (Automotive Open System Architecture) 다양한 통신 프로토콜에 적용 가능하다고 한다. 나는 CAN(..
-
CRC 리버스 엔지니어링하기application 2025. 2. 9. 12:14
Reverse Engineer CRC목적CRC를 리버스 엔지니어링하는 것이 어렵지 않다는 것을 보여준다.개요데이터 준비데이터 길이가 16 바이트인 CAN 메시지를 가정한다.시작 바이트는 0번이다.0번 부터 10번 바이트까지를 랜덤 바이트로 채운다.11번 바이트에는 alive counter를 넣는다.12번 부터 15번 바이트까지는 4 바이트 CRC로 채운다.왜 4 바이트 CRC인가?AUTOSAR CRC는 1 바이트이거나 4 바이트이다.1 바이트는 4 바이트보다 상대적으로 CRC 알고리즘을 찾는 리버스 엔지니어링이 쉬울 것 같다. (실제 그런지 모르겠다.) 일부러 어려워 보이는 4 바이트를 선택한다. 어려워도 리버스 엔지니어링 된다는 것을 보여주려는 목적이다실험용 메시지 n_message개를를 생성한다.CR..
-
TSMaster API를 사용하여 CAN 메시지 송신하기 (RBS)application 2025. 2. 7. 12:11
시작하기 전에 요즘 절대 다수의 차량 제어기들은 통신을 한다. 이들 중 상당수는 다른 제어기이 보내는 CAN 메시지들을 수신해야 정상 작동 상태가 된다. CAN 메시지들을 공급하는 방법은 크게 두 가지다. 실제 다른 제어기들과 CAN 버스를 직접 연결하는 방법, CAN 버스 통신을 모사(시뮬레이션) 해주는 방법. 전자는 현실적으로 여러가지 어려움이 있다. 후자를 RBS (Remaining/Rest Bus Simulation)이라고 한다. TSMaster GUI에서 TSMaster가 제공하는 기능들을 조작하여 RBS 하는 방법을 CAN 버스 시뮬레이션 (RBS: Remaining Bus Simulation) :: hsl's tsmaster 사용기, 트레이스를 이용한 RBS(Remaining Bus Sim..