분류 전체보기
-
UDS 진단 통신으로 하는 소프트웨어 업데이트 4 - 소프트웨어 전송 (계속)diagnostic 2025. 2. 28. 12:27
소프트웨어 전송 (계속)아래 그림의 빨간 테두리 부분에 관한 설명이다. 이와 관련한 설정은 Request and Transmit Data 탭에서 한다. 설정 화면은 아래 그림과 같다.설정 항목들은 DataFormat Identifier of Request Transmit Data(0x), Enable User Define MaxNumOfBlockLength(0x), Delay Time after Transfer Request, Delay Time after Transfer Data이다. Data Format IdentifierData Format Identifier of "Request Transmit"을 설명하려면 먼저 "Request Transmit" 서비스의 포맷을 설명해야 한다. 포맷은 아래와 ..
-
UDS 진단 통신으로 하는 소프트웨어 업데이트 3 - 소프트웨어 전송diagnostic 2025. 2. 27. 13:04
소프트웨어 전송소트웨어 전송 과정은 아래 그림과 같다. 소프트웨어가 프로그램될 영역 삭제, 다운로드 요청, 프로그램할 소프트웨어 전송 (데이터 전송), 전송 종료, 소프트웨어 번호 (기타 메타 데이터) 쓰기이다. 영역 삭제와 메타 데이터 쓰기는 자동차사, 협력사 특화된 루틴(기능)이다. UDS에는 RoutineControl 이라는 이름으로 서비스 아이디 0x31이 정의되어 있다. 나는 영역 삭제와 메타 데이터 쓰기를 위한 루틴이 정의되어 있다고 가정하고 설명한다. 다운로드 요청 (서비스 아이디 0x34), 데이터 전송 (서비스 아이디 0x36), 전송 종료 (서비스 아이디 0x37)는 각각의 서비스로 분리되어 있지만 실제로는 합쳐져 실행된다. 그래서 TSMaster에는 Combined Services 라..
-
UDS 진단 통신으로 하는 소프트웨어 업데이트 2 - 보안 접속diagnostic 2025. 2. 26. 16:19
보안 접속(Security Access)시드 & 키 보안 접속으로 설명한다. 아래 순서대로 동작한다. 시드 요청 (Request Seed)Diagnostic 창의 왼쪽에 UDS 표준의 서비스들이 나열된 트리 영역에서 SecurityAccess 항목을 선택하고 마우스 우클릭하여 Add New Service를 선택한다. 그리고 아래 그림과 같이 Request Seed를 입력한다.SecurityAccess의 서비스 아이디는 0x27이다. SecurityAccessType은 입력 칸의 오른쪽 끝 '...' 버튼을 클릭하여 Select Sub Function ID 창을 열고 0x01 RequestSeed를 선택한다. RequestSeed와 SendKey는 둘이 한 쌍을 이룬다. 0x01로 시드를 요청한 경우, ..
-
UDS 진단 통신으로 하는 소프트웨어 업데이트 1 - 작업 개요카테고리 없음 2025. 2. 26. 14:42
시작하기 전에진단 통신은 제어기 소프트웨어 업데이트에도 활용될 수 있다. UDS 표준이 만들어진 시기에는 프로그래밍이라고 불렀다. 요즘은 소프트웨어 업데이트가 더 흔하게 사용된다. 여기서는 문맥에 따라 소프트웨어 업데이트와 프로그래밍을 혼용한다.TSMaster의 UDS Diagnostic 모듈을 이용하여 프로그래밍 하는 방법을 설명한다. 개요제어기 소프트웨어 업데이트는 대략 아래의 절차로 이뤄진다.소프트웨어 업데이트 중에 다른 통신에 방해를 받지 않도록 하기 위해서 모든 제어기들에게 CAN 송신 중지를 요청한다. 모든 제어기에 요청하므로 펑셔널 어드레스로 요청한다. (펑셔널 어드레스는 UDS 진단 통신 (2 / 4) - Transport Protocol 설정 :: hsl's tsmaster 사용기 에서..
-
QR 코드 명함카테고리 없음 2025. 2. 23. 13:09
문제 인식종이 명함은 일회용품이다. 매우 많이 만들어진다. 종이 명함의 종이는 나무에서 온 것이다. 명함 제작에 많은 나무들이 잘려나갔을 것이다. 명함으로 잘려나가는 나무를 줄일 수 없을까? 요즘 명함을 받으면 스마트폰 카메라로 스캔하여 데이터를 연락처 앱에 저장하고 명함은 버린다. 버려진 것은 쓰레기가 되어 환경을 파괴한다. 환경 파괴를 줄일 수 없을까?스마트폰의 문자 인식 성능이 좋아졌다. 하지만 여전히 오인식이 적지 않다. 스캔 후에 데이터를 일일이 검토해야 하는 귀찮음이 있다. 그래서 나는 어떤 명함들은 스캔하지 않고 그냥 버린다. 데이터 오인식을 줄일 수 없을까? 상대가 내 명함을 그냥 버리지 않게 할 수는 없을까?오인식이 없음을 내세워 서비스하는 회사가 있다. 사용자가 촬영한 명함이 그 회사로..
-
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..
-
qwen2.5 on Jetson Orin Nano Super FFT Demo 1, 2카테고리 없음 2025. 2. 8. 14:06
USERfast fourier transformation (FFT)에 대해 이해하고 싶습니다. 진폭과 주파수가 다른 sine과 cosine 웨이브들을 각각 5개씩 더한 입력 데이터를 만들고, 이 데이터를 FFT하여 결과에서 입력한 진폭과 주파수를 확인하는 파이썬 예제를 부탁합니다. 그래프는 plotly로 해주세요.ASSISTANT먼저 필요한 패키지를 불러옵니다.import numpy as npfrom scipy.fft import fft, ifftimport matplotlib.pyplot as pltimport plotly.graph_objs as go다음으로, 진폭과 주파수가 다른 sine와 cosine 웨이브들을 각각 5개씩 더한 입력 데이터를 만듭니다.# 설정값 설정fs = 1000 ..
-
deepseek-r1 on Jetson Orin Nano Super FFT Demo - 3카테고리 없음 2025. 2. 8. 12:49
USERfast fourier transformation (FFT)에 대해 이해하고 싶습니다. 진폭과 주파수가 다른 sine과 cosine 웨이브들을 각각 5개씩 더한 입력 데이터를 만들고, 이 데이터를 FFT하여 결과에서 입력한 진폭과 주파수를 확인하는 파이썬 예제를 부탁합니다. 그래프는 plotly로 해주세요.ASSISTANTThought for 103 seconds 부분을 클릭하면 사고 과정을 볼 수 있습니다.Thought for 103 seconds> Okay, I need to create a Python example that demonstrates understanding of the Fast Fourier Transform (FFT). The user wants to generate inp..