Automotive 17

BusLoad Monitoring 위한 CAPL 코드

구현 과정각 채널 별 모든 메시지 주기적으로 송신 각 채널 별 전송 중인 모든 메시지 송신 취소전체 채널 메시지 주기적으로 송신전체 채널 메시지 송신 취소각 채널 별 송신 주기 변경송신 주기 Default로 변경버스로드 모니터링📌 모든 메시지 주기적으로 송신1. variable 영역에 사용하려는 모든 메시지 선언→ 메시지 양이 너무 많은 경우 자동화된 파이썬 스크립트 작성하여 CAPL 코드 내 메시지 선언def print_valid_messages(dbc): capl_vars = "variables\n{\n" for msg in valid_messages: # capl_vars += f" message {dbc}::{msg.name} {dbc}_{msg.name};\n" ..

Automotive/Testing 2025.09.19

[CAPL] 메시지 주기 송신하기

CAPl에는 메시지를 주기적으로 송신해주는 내장 함수가 없기 때문에 메시지를 주기적으로 송신하고싶다면 사용자가 직접 타이머를 이용해 재귀적으로 구현해야한다. 나는 아래와 같이 주기적으로 메시지를 송신하는 타이머를 구현했다.🕒 1. 메시지를 보낼 타이머 설정하기variables { msTimer cycle100msTimer;} variable 영역에 msTimer 타입의 변수를 선언한다.🔁 2. 타이머 이벤트가 발생할 때 실행되는 함수 만들기on timer cycle100msTimer { setCycle100ms();} 타이머가 호출되면 sendCycle100ms 함수를 호출하여 메시지를 송신한다.📤 3. 함수 내부에서 setTimer를 사용해 주기적으로 메시지 송신하기void setCycle..

Automotive/Testing 2025.07.17

Python으로 PPT 작업 자동화 하기 2

🔧 문제 상황1탄에서 파이썬을 활용해 테스트 리포트 자동화를 구현하면서, 이미지를 슬라이드 맨 뒤로 보내는 과정에서 PPT 파일이 손상되는 문제가 발생했다. 이는 python-pptx의 내부 XML 구조를 직접 조작했기 때문으로 보이며, 결과적으로 복구는 가능했지만 자동화의 의미를 퇴색시키는 수작업이 필요했다. 이에 따라, PowerPoint의 공식 COM 인터페이스를 활용한 매크로 방식으로 문제를 해결했다.📌 이전 글 참고 Python으로 PPT 작업 자동화 하기 1🔧 문제 상황 테스팅을 수행하다보면 수 많은 테스트케이스를 기록하고 업로드 하는 것은 필수적이다.현재 안전에 직결되는 유닛의 테스트를 수행하다보니 테스트케이스가 1,000개 가까이 될iilovecode.tistory.com🧠 COM ..

[CANoe] Analysis Filter 만들기

🎯Analysis Filter 사용 목적특정 메시지를 선택적으로 계측하거나 제외하여 데이터를 효율적으로 분석할 수 있다.🛠️ 사용 방법1. Filter Group 추가Analysis Filter -> 우클릭 후 Add Filter Group2. 조건 설정Filter Group 내에서 다음 두 가지 필터를 설정할 수 있다.Stop filer : 계측 하지 않을 메시지Pass filer : 계측하려는 메시지각 필터에 조건을 추가하려면우클릭 -> Add Condition 선택3. 조건 정의 방법조건은 DBC에 정의된 이벤트 또는 직접 생성한 System Variable을 기반으로 설정할 수 있다.✅ 예시특정 CAN 메시지 ID 또는 특정 값 범위를 가진 System Variable만 계측하고 싶을 경우, ..

Automotive/Testing 2025.06.24

[CAPL] Panel 버튼과 CAPL 연결하여 메시지 송신하기

🧩 왜 CAPL과 Panel을 함께 사용할까?CANoe에서 테스트를 수행할 때, 보다 직관적이고 간편하게 메시지를 송수신하기 위해 CAPL 스크립트와 패널 기능을 함께 활용할 수 있다. 특히 반복적인 테스트나 사용자 입력 기반의 시나리오를 구성할 때, 패널의 버튼과 System Variable을 연동하고 CAPL을 통해 메시지를 제어하면 테스트 효율성과 가독성이 크게 향상된다.이번 글에서는 패널에 버튼을 생성하고 System Variable을 연결한 뒤, CAPL을 통해 버튼 클릭 시 메시지를 송신하는 전체 과정을 단계별로 정리하려한다. 🛠️ 1. Panel에 버튼 생성하기1. CANoe -> Home -> Panel -> New Panel 2. Tool Box에서 Button 생성 3. Proper..

Automotive/Testing 2025.06.18

[TRACE32] 리셋 후 디버깅 명령어 정리

1. MCU까지 한번에 리셋하기1️⃣ 시스템 리셋 (MCU Reset)B::sys.reset2️⃣ MCU와 디버거 연결 B::sys.u3️⃣ 디버깅 시작 B::sys.a 📌 사용 목적 MCU를 처음부터 다시 시작하고, 그 상태를 디버깅하고 싶을 때 사용2. 디버거만 재시작하기1️⃣ 시스템 다운 (디버거 연결 끊기)B::sys.d2️⃣ 디버거 연결B::sys.u3️⃣ 실행B::g📌 사용 목적 MCU 상태 유지하며 디버깅 재시작하고 싶을 때 사용ex) OTA 상태 전환 후 디버깅

Automotive/Testing 2025.06.12

CAN Routing

🚗 CAN Routing차량 내 ECU들이 데이터를 어디서 받아서 어디로 보낼 지 결정하는 과정으로 AUTOSAR 구조 내 여러 모듈들이 협력해서 이루어진다.🧩 CAN Routing에 사용되는 주요 모듈1. CAN (Controller Area Network)차량 내 통신을 위한 물리적 네트워크.ECU 간 메시지를 송수신하는 기본 통신 수단.2. CANIf (CAN Interface)CAN 드라이버와 상위 모듈 사이의 인터페이스.메시지 필터링, 버퍼링, 통신 상태 관리 등을 수행.3. CDD_Router (Custom Device Driver Router)OEM 또는 Tier1에서 정의한 커스터마이징된 라우팅 로직을 수행.특정 메시지를 직접 CDD로 전달하거나, PduR로 우회시킬 수 있음.4. Pd..

Automotive/Autosar 2025.06.11

기능 안전 타이밍 분석: FDTI, FRTI, FTTI의 의미와 관계

🚗 기능 안전 타이밍 설계기능 안전에서는 시스템이 고장을 얼마나 빠르게 감지하고, 얼마나 신속하게 안전한 상태로 전환되는지가 핵심적인 설계 요소이다.이러한 시간적 요구사항은 단순한 성능 문제가 아닌, 사고를 예방하고 생명을 보호하기 위한 안전 메커니즘의 기반이 되는데특히 ISO 26262와 같은 기능 안전 표준에서는 고장 발생 시점부터 안전 상태에 도달하기까지의 일련의 시간 구간을 정의하고 있으며, 그 중심에 다음 세 가지 개념이 있다 ⏱️FDTI, FRTI, FTTI의 의미와 관계1. FDTI (Fault Detection Time Interval)고장을 감지하는 데 걸리는 시간시스템 내부의 고장을 진단 메커니즘이 인식하는 데 걸리는 시간예를 들어 센서 이상을 ECU가 감지하는 데 10ms가 걸렸다면..

E2E (End-to-End) Protocol

🚦 End-to-End ProtocolE2E Protocol은 제어기 간 메시지를 주고받을 때, 데이터가 전송 중에 변조되거나 누락되거나 순서가 바뀌지 않도록 오류를 감지하여 데이터 무결성을 보장하는 통신 보호 메커니즘이다.✨ E2E Protocol의 필요성네트워크를 통해 데이터를 주고받는 동안 다음과 같은 문제가 발생할 수 있다: ✅ 데이터 변조: 전송 중 비트가 바뀌는 오류 ✅ 메시지 누락: 특정 메시지가 도착하지 않음 ✅ 메시지 순서 변경: 순서가 뒤바뀌어 수신됨 이러한 문제를 감지하고 대응하기 위해 E2E 프로토콜이 사용된다. 특히 내가 진행 중인 Functional Safety와 같이 안전에 직결되는 기능의 경우 통신과정에서 무결성을 꼭 보장해야 하기에 중요한 역할을 수행한다.🔎 E2E 오류..

Automotive/Autosar 2025.05.27

Python으로 PPT 작업 자동화 하기 1

🔧 문제 상황 테스팅을 수행하다보면 수 많은 테스트케이스를 기록하고 업로드 하는 것은 필수적이다.현재 안전에 직결되는 유닛의 테스트를 수행하다보니 테스트케이스가 1,000개 가까이 될 때 도 있는데 이를 리포트로 만들려면테스트 수행 과정 캡처PPT에 이미지 삽입체크박스나 텍스트로 결과 표시이 모든 작업을 수행해야한다. 최근 Test Report 제출을 위해 수 많은 테스트케이스에 대한 작업을 모두 수동으로 하면서 시간이 너무 오래 걸려 이 과정을 자동화 하면 좋을 것 같다는 생각이 들었고, 빠르게 자동화를 수행하기 위해 파이썬 스크립트를 작성하는 것이 적합하다는 생각에 파이썬을 사용한 자동화 스크립트를 작성하게 되었다.✅ 기대 동작기존에 작업해둔 PPT 템플릿을 열고다음 테스트케이스의 이미지 모두 삽..