TC387 FMEDA 수행 시 알아야 할 SM/ESM/SMC 구조와 역할 분담 (ASW 비AUTOSAR, BSW AUTOSAR 기반)
Infineon TC387 MCU를 사용해 FMEDA를 수행할 때, 시스템에 따라 구성되는 Safety Mechanism(SM), Safety Mechanism Configuration(SMC), External Safety Mechanism(ESM)의 이해는 매우 중요합니다.
특히 다음과 같은 아키텍처에서는 역할 분담이 더욱 명확해져야 합니다:
- ASW (Application Software): AUTOSAR 미사용
- BSW (Basic Software): AUTOSAR 기반
- ASW와 BSW 간 통신은 API를 통해 직접 연결
✅ SM/SMC/ESM 용어 정의
분류 | 약어 | 정의 | 예시 |
---|---|---|---|
하드웨어 진단 | SM(HW) | MCU 내부의 하드웨어 기반 진단 기능 | Voltage Monitor, ECC, Clock Monitor, CPU Lockstep |
소프트웨어 진단 | SM(SW) | ASW 또는 BSW에서 구현되는 진단 로직 | CRC 체크, Task Alive 모니터링 |
안전 메커니즘 설정 | SMC(SW) | BSW에서 구성하는 Safety 설정 (MCAL 기반) | SafeTLib Init, WDT Enable 설정, SMC.xml |
외부 하드웨어 진단 | ESM(HW) | MCU 외부 회로 기반 진단 장치 | 외부 Watchdog, Sensor Cross-check 회로 |
외부 소프트웨어 진단 | ESM(SW) | 상위 시스템 또는 ECU 간 중복 진단 로직 | CAN Heartbeat 감지, Gateway Echo 비교 |
✅ 담당자별 역할 정리 (ASW 비AUTOSAR / BSW AUTOSAR 구조)
메커니즘 | System Architect | ASW 개발자 (비AUTOSAR) |
BSW 개발자 (AUTOSAR 기반) |
HW 개발자 | 기능안전 담당자 | 인피니언 |
---|---|---|---|---|---|---|
SM(HW) | 요구 도출 및 기능 흐름 설계 | 필요 시 직접 HW 제어 | 상태 전달용 API 구현 | HW 설정 및 진단기능 활성화 | FMEDA 진단 적용 여부 검토 | Safety Manual 제공 |
SM(SW) | 진단 흐름 기획 | CRC, Timer, Watchdog 감시 구현 | SafeTLib/MCAL 기반 API 제공 | - | DC 계산 및 보고 | SafeTLib, MCAL 함수 제공 |
SMC(SW) | 초기화 전략 구성 | API 사용만 수행 | SMC.xml 구성, API 초기화 구현 | - | 구성 적합성 확인 | 템플릿 및 설정 툴 제공 |
ESM(HW) | 외부 Safety 회로 요구 설계 | Mirror 신호 또는 감지 로직 구현 | 상태 수신 API 제공 | 외부 회로 구성 | FMEDA 상 반영 | 연동 예시 및 안전 규격 제공 |
ESM(SW) | 시스템 연동 흐름 설계 | Heartbeat 감지, 외부 신호 비교 | 통신 연계 지원 (CAN, SPI 등) | - | 중복진단 구성 평가 | 통신 기반 진단 가이드 제공 |
📌 정리 Tip
- ASW가 AUTOSAR를 사용하지 않기 때문에, 진단 로직 구현 책임은 ASW에 더 큽니다. 진단 로직의 직접 구현 또는 SafeTLib API 호출이 필요합니다.
- BSW는 AUTOSAR 기반이므로, SafeTLib나 MCAL 구성 및 SMC 설정은 BSW 개발자가 맡습니다.
- API 연동 문서화가 필수입니다. 각 메커니즘 활성화 여부를 FMEDA 상 명확히 구분해야 진단 커버리지가 인정됩니다.
- SM(HW): 하드웨어 안전 메커니즘 (Hardware Safety Mechanism)
- TC387 칩 내부에 구현된 자체적인 안전 기능입니다. 하드웨어 결함 발생 시 이를 감지하거나 완화하는 역할을 수행합니다.
- 예시: 내장 자가 진단 로직 (BIST), 오류 감지 및 정정 코드 (ECC), 하드웨어 비교기, 전압/전류 모니터링 회로, 클럭 감시 회로 등
- SM(SW): 소프트웨어 안전 메커니즘 (Software Safety Mechanism)
- 소프트웨어 코드를 통해 구현되는 안전 기능입니다. 하드웨어 결함이나 소프트웨어 오류로 인한 위험을 감지하고 대응하는 역할을 합니다.
- 예시: 소프트웨어 기반 자가 진단 루틴, 소프트웨어 리던던시, 안전 관련 파라미터 검증, 타임아웃 감시, 제어 흐름 모니터링 등
- SMC(SW): 안전 메커니즘 컨피규레이션 (Safety Mechanism Configuration)
- 핵심! 인피니언의 정의에 따르면, SMC(SW)는 독립적인 안전 메커니즘이라기보다는 다른 안전 메커니즘(SM(HW), SM(SW))이 효과적으로 동작하기 위한 필수적인 설정 요소로 이해해야 합니다.
- 예시:
- SM(HW)인 MPU (Memory Protection Unit)의 영역 정의, 접근 권한 설정, 보호 위반 시 동작 정의 (소프트웨어 설정)
- SM(SW)인 소프트웨어 기반 타임아웃 감시 기능의 감시 대상, 타임아웃 값, 오류 처리 방식 설정
- ESM(HW): 외부 하드웨어 안전 메커니즘 (External Safety Mechanism - Hardware)
- TC387 칩 외부의 하드웨어 컴포넌트를 이용하여 구현되는 안전 기능입니다. TC387 자체의 결함을 감지하거나 영향을 완화하는 데 사용됩니다.
- 예시: 외부 감시 IC (Watchdog), 외부 메모리 보호 회로 등
- ESM(SW): 외부 소프트웨어 안전 메커니즘 (External Safety Mechanism - Software)
- TC387 칩 외부의 프로세서나 소프트웨어 컴포넌트에서 구현되는 안전 기능입니다. TC387의 동작을 감시하거나 오류 발생 시 안전한 상태로 전환하는 역할을 합니다.
- 예시: 상위 레벨 안전 관리자의 소프트웨어, 별도의 안전 프로세서에서 실행되는 안전 관련 소프트웨어 등
안전 메커니즘 사례 및 BSW 모듈 개발 위치
인피니언 TC387 기반 AUTOSAR 시스템에서 각 안전 메커니즘이 어떻게 구현될 수 있는지 구체적인 사례와 함께 BSW (Basic Software)의 어떤 모듈에서 주로 개발 또는 설정되는지 설명드리겠습니다.
1. SM (HW) - Hardware Safety Mechanism (하드웨어 안전 메커니즘)
- 사례:
- CPU 자가 진단 (CPU Self-Test): TC387 내부의 Lock-Step 코어 비교 로직을 통해 CPU 코어들이 동일한 연산을 수행하고 결과를 비교하여 오류를 감지합니다.
- 메모리 보호 유닛 (Memory Protection Unit - MPU): 특정 메모리 영역에 대한 접근 권한 (읽기, 쓰기, 실행)을 하드웨어적으로 제어하여, 권한 없는 접근으로 인한 데이터 손상이나 오동작을 방지합니다.
- 오류 감지 및 정정 코드 (Error Detection and Correction Code - ECC): 메모리 (플래시, RAM)에서 발생하는 1비트 오류를 감지하고 정정하며, 다중 비트 오류를 감지하여 데이터 무결성을 보장합니다.
- 하드웨어 워치독 타이머 (Hardware Watchdog Timer): 소프트웨어가 정해진 시간 내에 '살아있음' 신호를 보내지 않으면 시스템을 리셋하여 소프트웨어 오류로 인한 시스템 멈춤 상태를 방지합니다.
- 클럭 감시 시스템 (Clock Monitoring System): 시스템 클럭의 주파수 및 안정성을 하드웨어적으로 감시하여 클럭 이상으로 인한 오작동을 감지합니다.
- BSW 모듈 개발/설정 위치:
- MCAL (Microcontroller Abstraction Layer):
- Cpu: CPU 자가 진단 관련 드라이버 및 설정 (Lock-Step 비교 활성화, 오류 콜백 설정 등)
- Mpu: MPU 드라이버 및 설정 (보호 영역 정의, 접근 권한 설정, 위반 시 동작 설정 등)
- EepromEmulation / Flash: ECC 기능 활성화 및 오류 처리 관련 설정 (하드웨어 ECC 사용 설정)
- Wdg: 하드웨어 워치독 드라이버 및 설정 (타임아웃 값 설정, 활성화/비활성화 등)
- Clock: 클럭 감시 시스템 활성화 및 임계값 설정 관련 드라이버 및 설정
- MCAL (Microcontroller Abstraction Layer):
2. SM (SW) - Software Safety Mechanism (소프트웨어 안전 메커니즘)
- 사례:
- 소프트웨어 워치독 (Software Watchdog): BSW 또는 ASW 태스크가 예상 시간 내에 완료되는지 소프트웨어적으로 감시하여, 태스크 지연 또는 멈춤을 감지합니다.
- 소프트웨어 기반 데이터 무결성 검사: 중요 데이터의 주기적인 CRC (Cyclic Redundancy Check) 계산 및 비교를 통해 데이터 손상을 감지합니다.
- 제어 흐름 모니터링 (Control Flow Monitoring): 소프트웨어 함수의 실행 순서가 예상된 흐름을 따르는지 검증하여 예기치 않은 분기나 오류를 감지합니다.
- 리소스 모니터링: CPU 사용률, 메모리 사용량 등을 감시하여 시스템 과부하 또는 메모리 부족과 같은 잠재적인 안전 문제를 감지합니다.
- 안전 관련 파라미터 검증: 런타임 시 안전에 중요한 설정 파라미터의 유효 범위를 검사하여 잘못된 값으로 인한 오작동을 방지합니다.
- BSW 모듈 개발/설정 위치:
- WdgM (Watchdog Manager): 소프트웨어 워치독 로직 구현 및 설정 (감시 대상 태스크 설정, 타임아웃 값 설정, 하드웨어 워치독 트리거링 관리 등)
- Mem (Memory Abstraction Module) / Fee (Flash EEPROM Emulation): 데이터 무결성 검사 (CRC) 관련 기능 구현 및 설정
- ComM (Communication Manager) / CanIf (CAN Interface) 등: 통신 데이터의 무결성 검사 (CRC) 관련 기능 구현 및 설정
- Os (Operating System): 태스크 스케줄링 정보 활용을 통한 제어 흐름 모니터링 로직 구현 (BSW 확장)
- SysMon (System Monitor): 리소스 모니터링 기능 구현 (BSW 확장)
- NvM (Non-Volatile Memory Manager): 안전 관련 파라미터 저장 및 로딩 시 유효성 검사 로직 구현 (BSW 확장)
- BSW Safety Service: 전반적인 소프트웨어 안전 기능을 통합 관리하고 오류 처리 메커니즘 제공
3. SMC (SW) - Software Mechanism for Control (안전 메커니즘 설정)
- 사례:
- 하드웨어 워치독 설정: BSW를 통해 하드웨어 워치독의 타임아웃 값을 설정하거나 활성화/비활성화 시점을 제어합니다.
- MPU 영역 설정: 어떤 메모리 영역을 보호할지, 각 영역에 대한 접근 권한을 어떻게 설정할지를 BSW를 통해 MPU 하드웨어에 프로그래밍합니다.
- ECC 활성화 및 오류 처리 설정: 메모리 컨트롤러의 ECC 기능을 활성화하고, 단일/다중 비트 오류 발생 시 어떤 동작을 수행할지 (예: 인터럽트 발생, 오류 플래그 설정) BSW를 통해 설정합니다.
- 소프트웨어 워치독 감시 대상 설정: WdgM 모듈을 통해 어떤 태스크를 감시할지, 허용 가능한 최대 실행 시간을 어떻게 설정할지를 정의합니다.
- 안전 관련 파라미터 초기값 설정: NvM 모듈을 통해 안전에 중요한 파라미터의 초기값을 설정하고, 런타임 시 업데이트를 관리합니다.
- BSW 모듈 개발/설정 위치:
- MCAL (설정): Cpu, Mpu, EepromEmulation / Flash, Wdg, Clock 각 MCAL 드라이버의 설정 파라미터를 AUTOSAR Configuration Tool을 통해 정의합니다.
- WdgM (설정): 감시 대상 태스크, 타임아웃 값 등 소프트웨어 워치독 관련 파라미터를 AUTOSAR Configuration Tool을 통해 정의합니다.
- NvM (설정): 안전 관련 파라미터의 초기값, 저장/로딩 방식, 유효성 검사 규칙 등을 AUTOSAR Configuration Tool을 통해 정의합니다.
- BSW Safety Service (설정): 전반적인 안전 관련 설정 및 오류 처리 정책을 정의합니다.
4. ESM (HW) - External Safety Mechanism (Hardware) (외부 하드웨어 안전 메커니즘)
- 사례:
- 외부 워치독 IC: TC387 칩 외부에 별도의 워치독 IC를 사용하여 TC387의 동작을 감시하고, 오류 발생 시 독립적으로 시스템을 리셋합니다.
- 안전 센서 인터페이스: 안전 기능을 수행하는 센서 (예: 충돌 감지 센서, 조향각 센서)와 통신하기 위한 전용 하드웨어 인터페이스 및 통신 프로토콜 (예: PSI5, SENT)을 사용합니다.
- 외부 메모리 보호 회로: TC387 외부의 중요한 메모리에 대한 접근을 제어하는 별도의 하드웨어 보호 회로를 사용합니다.
- BSW 모듈 개발/설정 위치:
- Dio (Digital Input/Output): 외부 워치독 IC의 핑 신호 제어 또는 상태 핀 모니터링을 위한 드라이버 및 설정
- Spi (Serial Peripheral Interface) / I2c (Inter-Integrated Circuit): 외부 워치독 IC 또는 안전 센서와의 통신을 위한 드라이버 및 설정
- Port: 외부 핀의 기능 및 연결 설정
- Com (Communication): 안전 센서와의 특정 통신 프로토콜 (PSI5, SENT 등)을 처리하기 위한 드라이버 및 설정 (BSW 확장 또는 별도 모듈)
5. ESM (SW) - External Safety Mechanism (Software) (외부 소프트웨어 안전 메커니즘)
- 사례:
- 안전 코프로세서: TC387과는 별도의 프로세서가 안전 관련 기능을 독립적으로 수행하고, TC387의 동작을 감시하거나 오류 발생 시 안전한 상태로 전환하는 역할을 합니다. 이 코프로세서와의 통신은 BSW를 통해 이루어집니다.
- 상위 레벨 안전 관리자 소프트웨어: AUTOSAR 시스템 외부의 ECU 또는 소프트웨어 컴포넌트가 TC387 기반 시스템의 안전 상태를 감시하고 제어하는 경우, 이를 위한 통신 및 프로토콜 처리가 BSW에서 이루어집니다.
- BSW 모듈 개발/설정 위치:
- Com (Communication): 안전 코프로세서 또는 외부 안전 관리자와의 통신 프로토콜 (CAN, Ethernet 등) 처리 관련 설정 및 드라이버
- CanIf / EthIf (CAN / Ethernet Interface): 실제 통신 인터페이스 드라이버 및 설정
- PduRouter (Protocol Data Unit Router): 통신 메시지 라우팅 설정
- SoAd (Socket Adapter) / TcpIp (TCP/IP Stack): Ethernet 기반 통신 시 관련 모듈 설정 및 드라이버
'Automotive Study' 카테고리의 다른 글
자동차 전장 시스템의 심장, AUTOSAR BSW 모듈 완전 해부! (기능별 핵심 정리) (1) | 2025.04.23 |
---|---|
자동차 전장 기능 안전: TC387 FMEDA 역할 분담 및 안전 메커니즘 이해 (1) | 2025.04.23 |
자동차 브레이크 제어기의 ASW, BSW, MCU 계층 구조 완전 정리 (0) | 2025.04.17 |
제어기에서의 ASW Layer란? AUTOSAR 없이도 안전하게 설계하는 방법 (0) | 2025.04.16 |
Program Flow Monitoring이란? BMS 제어기 사례로 이해하는 흐름 감시 방법 (1) | 2025.04.15 |