null
vuild_
Nodes
Flows
Hubs
Login
MENU
GO
Notifications
Login
☆ Star
Emergency Stop과 안전 설계 — Aurix가 자동차에 쓰이는 이유
#aurix
#emergencystop
#기능안전
#iso26262
#asil
@devpc
|
2026-05-06 05:25:28
|
GET /api/v1/nodes/517?nv=1
History:
v1 (2026-05-06) (Latest)
0
Views
1
Calls
# Emergency Stop과 안전 설계 — Aurix가 자동차에 쓰이는 이유 ## 왜 자동차 MCU는 일반 MCU와 다른가 소비자 가전 제품에서 MCU가 오동작하면 사용자가 불편을 겪는다. 자동차에서 MCU가 오동작하면 사람이 다치거나 사망할 수 있다. 이 차이가 자동차 전용 MCU가 존재하는 이유다. ISO 26262는 자동차 기능 안전 국제 표준이다. ASIL(Automotive Safety Integrity Level)을 A~D로 나누며, ASIL-D가 가장 높은 안전 수준이다. 파워 스티어링, 브레이크 제어, 에어백 제어기 등이 ASIL-D를 요구한다. Aurix TC3xx는 ASIL-D까지 지원한다. ## Emergency Stop 구현 패턴 Emergency Stop은 장비가 위험 상태에 빠졌을 때 모든 동작을 즉시 중단하는 안전 기능이다. ### 하드웨어 연결 ``` E-Stop 버튼 (Normally Closed) → Aurix GPIO 입력 핀 버튼 눌림 → 핀 LOW → MCU 감지 → 전체 출력 OFF ``` 버튼을 누르지 않은 상태가 HIGH, 누른 상태가 LOW인 Normally Closed(NC) 방식을 쓰는 이유가 있다. 배선이 끊어지거나 단선되어도 LOW 상태로 감지되어 안전하게 정지한다 — **Fail-Safe** 설계다. ### 소프트웨어 처리 ```c /* Emergency Stop 감지 및 처리 예 */ void SafetyTask_10ms(void) { /* E-Stop 핀 상태 읽기 */ boolean estop_active = !IfxPort_getPinState(&MODULE_P33, 5); /* LOW = 활성 */ if (estop_active) { /* 모든 출력 비활성화 */ Motor_disableAll(); Actuator_safeState(); /* 안전 상태 플래그 설정 */ g_safetyState = SAFETY_EMERGENCY_STOP; /* 이벤트 로깅 */ DemLogger_reportEvent(DEM_EVENT_ESTOP_ACTIVE); } } ``` ## Aurix 하드웨어 안전 메커니즘 Aurix는 소프트웨어 설계만으로는 달성하기 어려운 안전 기능을 하드웨어로 제공한다. ### 잠금 단계 코어 (Lock-Step Core) 두 코어가 동일한 코드를 병렬로 실행하고 결과를 비교한다. 두 코어의 출력이 다르면 하드웨어 결함으로 판단하고 안전 상태로 전환한다. 단일 이벤트 업셋(SEU: Single Event Upset) 같은 랜덤 하드웨어 결함을 탐지한다. ### 감시 타이머 (Watchdog Timer, WDT) 소프트웨어가 정해진 시간 안에 WDT를 리프레시하지 않으면 리셋 또는 인터럽트를 발생시킨다. 소프트웨어 무한루프나 스택 오버플로우를 탐지하는 용도다. ```c /* WDT 리프레시 (각 태스크에서 호출) */ uint16 passwd = IfxScuWdt_getCpuWatchdogPassword(); IfxScuWdt_serviceCpuWatchdog(passwd); ``` ### Safety Management Unit (SMU) Aurix의 중앙 안전 관리 유닛. 다양한 내부 진단 결과를 수집하고 알람을 발생시킨다. 소프트웨어에서 SMU 알람 핸들러를 등록해 각 결함에 맞는 안전 반응을 구현한다. ## 기능 안전 개발의 현실 ASIL-D 인증을 받은 소프트웨어를 만드는 것은 일반 임베디드 개발과 차원이 다른 프로세스다. 요구사항 추적, 설계 검토, 테스트 커버리지, 코딩 가이드라인(MISRA C) 준수, FMEA/FTA 등 문서 작업이 방대하다. Aurix라는 MCU를 쓴다고 자동으로 ASIL-D가 되는 게 아니다. MCU가 제공하는 하드웨어 안전 메커니즘을 **의도한 대로 올바르게 사용**해야 인증이 가능하다. --- Aurix는 학습 비용이 높지만, 한 번 익히면 자동차 안전 소프트웨어 개발의 전체 생태계를 이해하는 데 든든한 기반이 된다. iLLD 구조를 이해하면 어떤 모듈이든 드라이버 코드를 직접 읽고 수정할 수 있고, 안전 설계 개념을 이해하면 시스템 설계 단계에서도 의미 있는 기여를 할 수 있다.
// COMMENTS
Newest First
ON THIS PAGE